This commit was manufactured by cvs2svn to create tag 'v201204161800'.
diff --git a/features/org.eclipse.wst.common_core.feature/.cvsignore b/features/org.eclipse.wst.common_core.feature/.cvsignore
deleted file mode 100644
index 2620caa..0000000
--- a/features/org.eclipse.wst.common_core.feature/.cvsignore
+++ /dev/null
@@ -1,2 +0,0 @@
-build.xml
-org.eclipse.wst.common_core.feature_1.0.0.bin.dist.zip
diff --git a/features/org.eclipse.wst.common_core.feature/.project b/features/org.eclipse.wst.common_core.feature/.project
deleted file mode 100644
index 192f462..0000000
--- a/features/org.eclipse.wst.common_core.feature/.project
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.wst.common_core.feature</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.pde.FeatureBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.FeatureNature</nature>
-	</natures>
-</projectDescription>
diff --git a/features/org.eclipse.wst.common_core.feature/build.properties b/features/org.eclipse.wst.common_core.feature/build.properties
deleted file mode 100644
index 364480b..0000000
--- a/features/org.eclipse.wst.common_core.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_core.feature/eclipse_update_120.jpg b/features/org.eclipse.wst.common_core.feature/eclipse_update_120.jpg
deleted file mode 100644
index bfdf708..0000000
--- a/features/org.eclipse.wst.common_core.feature/eclipse_update_120.jpg
+++ /dev/null
Binary files differ
diff --git a/features/org.eclipse.wst.common_core.feature/epl-v10.html b/features/org.eclipse.wst.common_core.feature/epl-v10.html
deleted file mode 100644
index ed4b196..0000000
--- a/features/org.eclipse.wst.common_core.feature/epl-v10.html
+++ /dev/null
@@ -1,328 +0,0 @@
-<html xmlns:o="urn:schemas-microsoft-com:office:office"
-xmlns:w="urn:schemas-microsoft-com:office:word"
-xmlns="http://www.w3.org/TR/REC-html40">
-
-<head>
-<meta http-equiv=Content-Type content="text/html; charset=windows-1252">
-<meta name=ProgId content=Word.Document>
-<meta name=Generator content="Microsoft Word 9">
-<meta name=Originator content="Microsoft Word 9">
-<link rel=File-List
-href="./Eclipse%20EPL%202003_11_10%20Final_files/filelist.xml">
-<title>Eclipse Public License - Version 1.0</title>
-<!--[if gte mso 9]><xml>
- <o:DocumentProperties>
-  <o:Revision>2</o:Revision>
-  <o:TotalTime>3</o:TotalTime>
-  <o:Created>2004-03-05T23:03:00Z</o:Created>
-  <o:LastSaved>2004-03-05T23:03:00Z</o:LastSaved>
-  <o:Pages>4</o:Pages>
-  <o:Words>1626</o:Words>
-  <o:Characters>9270</o:Characters>
-   <o:Lines>77</o:Lines>
-  <o:Paragraphs>18</o:Paragraphs>
-  <o:CharactersWithSpaces>11384</o:CharactersWithSpaces>
-  <o:Version>9.4402</o:Version>
- </o:DocumentProperties>
-</xml><![endif]--><!--[if gte mso 9]><xml>
- <w:WordDocument>
-  <w:TrackRevisions/>
- </w:WordDocument>
-</xml><![endif]-->
-<style>
-<!--
- /* Font Definitions */
-@font-face
-	{font-family:Tahoma;
-	panose-1:2 11 6 4 3 5 4 4 2 4;
-	mso-font-charset:0;
-	mso-generic-font-family:swiss;
-	mso-font-pitch:variable;
-	mso-font-signature:553679495 -2147483648 8 0 66047 0;}
- /* Style Definitions */
-p.MsoNormal, li.MsoNormal, div.MsoNormal
-	{mso-style-parent:"";
-	margin:0in;
-	margin-bottom:.0001pt;
-	mso-pagination:widow-orphan;
-	font-size:12.0pt;
-	font-family:"Times New Roman";
-	mso-fareast-font-family:"Times New Roman";}
-p
-	{margin-right:0in;
-	mso-margin-top-alt:auto;
-	mso-margin-bottom-alt:auto;
-	margin-left:0in;
-	mso-pagination:widow-orphan;
-	font-size:12.0pt;
-	font-family:"Times New Roman";
-	mso-fareast-font-family:"Times New Roman";}
-p.BalloonText, li.BalloonText, div.BalloonText
-	{mso-style-name:"Balloon Text";
-	margin:0in;
-	margin-bottom:.0001pt;
-	mso-pagination:widow-orphan;
-	font-size:8.0pt;
-	font-family:Tahoma;
-	mso-fareast-font-family:"Times New Roman";}
-@page Section1
-	{size:8.5in 11.0in;
-	margin:1.0in 1.25in 1.0in 1.25in;
-	mso-header-margin:.5in;
-	mso-footer-margin:.5in;
-	mso-paper-source:0;}
-div.Section1
-	{page:Section1;}
--->
-</style>
-</head>
-
-<body lang=EN-US style='tab-interval:.5in'>
-
-<div class=Section1>
-
-<p align=center style='text-align:center'><b>Eclipse Public License - v 1.0</b>
-</p>
-
-<p><span style='font-size:10.0pt'>THE ACCOMPANYING PROGRAM IS PROVIDED UNDER
-THE TERMS OF THIS ECLIPSE PUBLIC LICENSE (&quot;AGREEMENT&quot;). ANY USE,
-REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE
-OF THIS AGREEMENT.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>1. DEFINITIONS</span></b> </p>
-
-<p><span style='font-size:10.0pt'>&quot;Contribution&quot; means:</span> </p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-in the case of the initial Contributor, the initial code and documentation
-distributed under this Agreement, and<br clear=left>
-b) in the case of each subsequent Contributor:</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>i)
-changes to the Program, and</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>ii)
-additions to the Program;</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>where
-such changes and/or additions to the Program originate from and are distributed
-by that particular Contributor. A Contribution 'originates' from a Contributor
-if it was added to the Program by such Contributor itself or anyone acting on
-such Contributor's behalf. Contributions do not include additions to the
-Program which: (i) are separate modules of software distributed in conjunction
-with the Program under their own license agreement, and (ii) are not derivative
-works of the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>&quot;Contributor&quot; means any person or
-entity that distributes the Program.</span> </p>
-
-<p><span style='font-size:10.0pt'>&quot;Licensed Patents &quot; mean patent
-claims licensable by a Contributor which are necessarily infringed by the use
-or sale of its Contribution alone or when combined with the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>&quot;Program&quot; means the Contributions
-distributed in accordance with this Agreement.</span> </p>
-
-<p><span style='font-size:10.0pt'>&quot;Recipient&quot; means anyone who
-receives the Program under this Agreement, including all Contributors.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>2. GRANT OF RIGHTS</span></b> </p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-Subject to the terms of this Agreement, each Contributor hereby grants Recipient
-a non-exclusive, worldwide, royalty-free copyright license to<span
-style='color:red'> </span>reproduce, prepare derivative works of, publicly
-display, publicly perform, distribute and sublicense the Contribution of such
-Contributor, if any, and such derivative works, in source code and object code
-form.</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b)
-Subject to the terms of this Agreement, each Contributor hereby grants
-Recipient a non-exclusive, worldwide,<span style='color:green'> </span>royalty-free
-patent license under Licensed Patents to make, use, sell, offer to sell, import
-and otherwise transfer the Contribution of such Contributor, if any, in source
-code and object code form. This patent license shall apply to the combination
-of the Contribution and the Program if, at the time the Contribution is added
-by the Contributor, such addition of the Contribution causes such combination
-to be covered by the Licensed Patents. The patent license shall not apply to
-any other combinations which include the Contribution. No hardware per se is
-licensed hereunder. </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>c)
-Recipient understands that although each Contributor grants the licenses to its
-Contributions set forth herein, no assurances are provided by any Contributor
-that the Program does not infringe the patent or other intellectual property
-rights of any other entity. Each Contributor disclaims any liability to Recipient
-for claims brought by any other entity based on infringement of intellectual
-property rights or otherwise. As a condition to exercising the rights and
-licenses granted hereunder, each Recipient hereby assumes sole responsibility
-to secure any other intellectual property rights needed, if any. For example,
-if a third party patent license is required to allow Recipient to distribute
-the Program, it is Recipient's responsibility to acquire that license before
-distributing the Program.</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>d)
-Each Contributor represents that to its knowledge it has sufficient copyright
-rights in its Contribution, if any, to grant the copyright license set forth in
-this Agreement. </span></p>
-
-<p><b><span style='font-size:10.0pt'>3. REQUIREMENTS</span></b> </p>
-
-<p><span style='font-size:10.0pt'>A Contributor may choose to distribute the
-Program in object code form under its own license agreement, provided that:</span>
-</p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-it complies with the terms and conditions of this Agreement; and</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b)
-its license agreement:</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>i)
-effectively disclaims on behalf of all Contributors all warranties and
-conditions, express and implied, including warranties or conditions of title
-and non-infringement, and implied warranties or conditions of merchantability
-and fitness for a particular purpose; </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>ii)
-effectively excludes on behalf of all Contributors all liability for damages,
-including direct, indirect, special, incidental and consequential damages, such
-as lost profits; </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>iii)
-states that any provisions which differ from this Agreement are offered by that
-Contributor alone and not by any other party; and</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>iv)
-states that source code for the Program is available from such Contributor, and
-informs licensees how to obtain it in a reasonable manner on or through a
-medium customarily used for software exchange.<span style='color:blue'> </span></span></p>
-
-<p><span style='font-size:10.0pt'>When the Program is made available in source
-code form:</span> </p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-it must be made available under this Agreement; and </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b) a
-copy of this Agreement must be included with each copy of the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>Contributors may not remove or alter any
-copyright notices contained within the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>Each Contributor must identify itself as the
-originator of its Contribution, if any, in a manner that reasonably allows
-subsequent Recipients to identify the originator of the Contribution. </span></p>
-
-<p><b><span style='font-size:10.0pt'>4. COMMERCIAL DISTRIBUTION</span></b> </p>
-
-<p><span style='font-size:10.0pt'>Commercial distributors of software may
-accept certain responsibilities with respect to end users, business partners
-and the like. While this license is intended to facilitate the commercial use
-of the Program, the Contributor who includes the Program in a commercial
-product offering should do so in a manner which does not create potential
-liability for other Contributors. Therefore, if a Contributor includes the
-Program in a commercial product offering, such Contributor (&quot;Commercial
-Contributor&quot;) hereby agrees to defend and indemnify every other
-Contributor (&quot;Indemnified Contributor&quot;) against any losses, damages and
-costs (collectively &quot;Losses&quot;) arising from claims, lawsuits and other
-legal actions brought by a third party against the Indemnified Contributor to
-the extent caused by the acts or omissions of such Commercial Contributor in
-connection with its distribution of the Program in a commercial product
-offering. The obligations in this section do not apply to any claims or Losses
-relating to any actual or alleged intellectual property infringement. In order
-to qualify, an Indemnified Contributor must: a) promptly notify the Commercial
-Contributor in writing of such claim, and b) allow the Commercial Contributor
-to control, and cooperate with the Commercial Contributor in, the defense and
-any related settlement negotiations. The Indemnified Contributor may participate
-in any such claim at its own expense.</span> </p>
-
-<p><span style='font-size:10.0pt'>For example, a Contributor might include the
-Program in a commercial product offering, Product X. That Contributor is then a
-Commercial Contributor. If that Commercial Contributor then makes performance
-claims, or offers warranties related to Product X, those performance claims and
-warranties are such Commercial Contributor's responsibility alone. Under this
-section, the Commercial Contributor would have to defend claims against the
-other Contributors related to those performance claims and warranties, and if a
-court requires any other Contributor to pay any damages as a result, the
-Commercial Contributor must pay those damages.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>5. NO WARRANTY</span></b> </p>
-
-<p><span style='font-size:10.0pt'>EXCEPT AS EXPRESSLY SET FORTH IN THIS
-AGREEMENT, THE PROGRAM IS PROVIDED ON AN &quot;AS IS&quot; BASIS, WITHOUT
-WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING,
-WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT,
-MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely
-responsible for determining the appropriateness of using and distributing the
-Program and assumes all risks associated with its exercise of rights under this
-Agreement , including but not limited to the risks and costs of program errors,
-compliance with applicable laws, damage to or loss of data, programs or
-equipment, and unavailability or interruption of operations. </span></p>
-
-<p><b><span style='font-size:10.0pt'>6. DISCLAIMER OF LIABILITY</span></b> </p>
-
-<p><span style='font-size:10.0pt'>EXCEPT AS EXPRESSLY SET FORTH IN THIS
-AGREEMENT, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR
-ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-(INCLUDING WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY
-OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF
-THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF
-THE POSSIBILITY OF SUCH DAMAGES.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>7. GENERAL</span></b> </p>
-
-<p><span style='font-size:10.0pt'>If any provision of this Agreement is invalid
-or unenforceable under applicable law, it shall not affect the validity or
-enforceability of the remainder of the terms of this Agreement, and without
-further action by the parties hereto, such provision shall be reformed to the
-minimum extent necessary to make such provision valid and enforceable.</span> </p>
-
-<p><span style='font-size:10.0pt'>If Recipient institutes patent litigation
-against any entity (including a cross-claim or counterclaim in a lawsuit)
-alleging that the Program itself (excluding combinations of the Program with
-other software or hardware) infringes such Recipient's patent(s), then such
-Recipient's rights granted under Section 2(b) shall terminate as of the date
-such litigation is filed. </span></p>
-
-<p><span style='font-size:10.0pt'>All Recipient's rights under this Agreement
-shall terminate if it fails to comply with any of the material terms or
-conditions of this Agreement and does not cure such failure in a reasonable
-period of time after becoming aware of such noncompliance. If all Recipient's
-rights under this Agreement terminate, Recipient agrees to cease use and
-distribution of the Program as soon as reasonably practicable. However,
-Recipient's obligations under this Agreement and any licenses granted by
-Recipient relating to the Program shall continue and survive. </span></p>
-
-<p><span style='font-size:10.0pt'>Everyone is permitted to copy and distribute
-copies of this Agreement, but in order to avoid inconsistency the Agreement is
-copyrighted and may only be modified in the following manner. The Agreement
-Steward reserves the right to publish new versions (including revisions) of
-this Agreement from time to time. No one other than the Agreement Steward has
-the right to modify this Agreement. The Eclipse Foundation is the initial
-Agreement Steward. The Eclipse Foundation may assign the responsibility to
-serve as the Agreement Steward to a suitable separate entity. Each new version
-of the Agreement will be given a distinguishing version number. The Program
-(including Contributions) may always be distributed subject to the version of
-the Agreement under which it was received. In addition, after a new version of
-the Agreement is published, Contributor may elect to distribute the Program
-(including its Contributions) under the new version. Except as expressly stated
-in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to
-the intellectual property of any Contributor under this Agreement, whether
-expressly, by implication, estoppel or otherwise. All rights in the Program not
-expressly granted under this Agreement are reserved.</span> </p>
-
-<p><span style='font-size:10.0pt'>This Agreement is governed by the laws of the
-State of New York and the intellectual property laws of the United States of
-America. No party to this Agreement will bring a legal action under this
-Agreement more than one year after the cause of action arose. Each party waives
-its rights to a jury trial in any resulting litigation.</span> </p>
-
-<p class=MsoNormal><![if !supportEmptyParas]>&nbsp;<![endif]><o:p></o:p></p>
-
-</div>
-
-</body>
-
-</html>
\ No newline at end of file
diff --git a/features/org.eclipse.wst.common_core.feature/feature.properties b/features/org.eclipse.wst.common_core.feature/feature.properties
deleted file mode 100644
index 3c68cf8..0000000
--- a/features/org.eclipse.wst.common_core.feature/feature.properties
+++ /dev/null
@@ -1,168 +0,0 @@
-###############################################################################
-# Copyright (c) 2006 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-# feature.properties
-# contains externalized strings for feature.xml
-# "%foo" in feature.xml corresponds to the key "foo" in this file
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# This file should be translated.
-
-# "featureName" property - name of the feature
-featureName=WST Common Core
-
-# "providerName" property - name of the company that provides the feature
-providerName=Eclipse Web Tools Platform
-
-
-# "description" property - description of the feature
-description=WST common core functionality.
-
-# "copyright" property - text of the "Feature Update Copyright"
-copyright=\
-Copyright (c) 2006 IBM Corporation and others.\n\
-All rights reserved. This program and the accompanying materials\n\
-are made available under the terms of the Eclipse Public License v1.0\n\
-which accompanies this distribution, and is available at\n\
-http://www.eclipse.org/legal/epl-v10.html\n\
-\n\
-Contributors:\n\
-    IBM Corporation - initial API and implementation\n
-################ end of copyright property ####################################
-
-# "licenseURL" property - URL of the "Feature License"
-# do not translate value - just change to point to a locale-specific HTML page
-licenseURL=license.html
-
-# "license" property - text of the "Feature Update License"
-# should be plain text version of license agreement pointed to be "licenseURL"
-license=\
-Eclipse Foundation Software User Agreement\n\
-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_core.feature/feature.xml b/features/org.eclipse.wst.common_core.feature/feature.xml
deleted file mode 100644
index 44ad409..0000000
--- a/features/org.eclipse.wst.common_core.feature/feature.xml
+++ /dev/null
@@ -1,83 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature
-      id="org.eclipse.wst.common_core.feature"
-      label="%featureName"
-      version="3.2.5.qualifier"
-      provider-name="%providerName">
-
-   <description>
-      %description
-   </description>
-
-   <copyright>
-      %copyright
-   </copyright>
-
-   <license url="%licenseURL">
-      %license
-   </license>
-
-   <plugin
-         id="org.eclipse.wst.common.emfworkbench.integration"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.wst.common.emf"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.wst.common.environment"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.wst.common.frameworks"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.wst.common.modulecore"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.wst.common.uriresolver"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.wst.validation"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.wst.common.core"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.jem.util"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-</feature>
diff --git a/features/org.eclipse.wst.common_core.feature/license.html b/features/org.eclipse.wst.common_core.feature/license.html
deleted file mode 100644
index c184ca3..0000000
--- a/features/org.eclipse.wst.common_core.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_core.feature/sourceTemplateBundle/about.html b/features/org.eclipse.wst.common_core.feature/sourceTemplateBundle/about.html
deleted file mode 100644
index fe81d46..0000000
--- a/features/org.eclipse.wst.common_core.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_core.feature/sourceTemplateBundle/about.ini b/features/org.eclipse.wst.common_core.feature/sourceTemplateBundle/about.ini
deleted file mode 100644
index fda5a40..0000000
--- a/features/org.eclipse.wst.common_core.feature/sourceTemplateBundle/about.ini
+++ /dev/null
@@ -1,31 +0,0 @@
-# about.ini
-# contains information about a feature
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# "%key" are externalized strings defined in about.properties
-# This file does not need to be translated.
-
-# Property "aboutText" contains blurb for "About" dialog (translated)
-aboutText=%blurb
-
-# Property "windowImage" contains path to window icon (16x16)
-# needed for primary features only
-
-# Property "featureImage" contains path to feature image (32x32)
-featureImage=wtp_prod32.png
-
-# Property "aboutImage" contains path to product image (500x330 or 115x164)
-# needed for primary features only
-
-# Property "appName" contains name of the application (not translated)
-# needed for primary features only
-
-# Property "welcomePage" contains path to welcome page (special XML-based format)
-# optional
-
-# Property "welcomePerspective" contains the id of the perspective in which the
-# welcome page is to be opened.
-# optional
-
-
-
-
diff --git a/features/org.eclipse.wst.common_core.feature/sourceTemplateBundle/about.mappings b/features/org.eclipse.wst.common_core.feature/sourceTemplateBundle/about.mappings
deleted file mode 100644
index a28390a..0000000
--- a/features/org.eclipse.wst.common_core.feature/sourceTemplateBundle/about.mappings
+++ /dev/null
@@ -1,6 +0,0 @@
-# about.mappings
-# contains fill-ins for about.properties
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# This file does not need to be translated.
-
-0=@build@
diff --git a/features/org.eclipse.wst.common_core.feature/sourceTemplateBundle/about.properties b/features/org.eclipse.wst.common_core.feature/sourceTemplateBundle/about.properties
deleted file mode 100644
index 9474fc0..0000000
--- a/features/org.eclipse.wst.common_core.feature/sourceTemplateBundle/about.properties
+++ /dev/null
@@ -1,26 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2005 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-# about.properties
-# contains externalized strings for about.ini
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# fill-ins are supplied by about.mappings
-# This file should be translated.
-#
-# Do not translate any values surrounded by {}
-
-blurb=Web Standard Tools - Common Core\n\
-\n\
-Version: {featureVersion}\n\
-Build id: {0}\n\
-\n\
-(c) Copyright Eclipse contributors and others 2005.  All rights reserved.\n\
-Visit http://www.eclipse.org/webtools
-
diff --git a/features/org.eclipse.wst.common_core.feature/sourceTemplateBundle/build.properties b/features/org.eclipse.wst.common_core.feature/sourceTemplateBundle/build.properties
deleted file mode 100644
index ead512d..0000000
--- a/features/org.eclipse.wst.common_core.feature/sourceTemplateBundle/build.properties
+++ /dev/null
@@ -1,2 +0,0 @@
-bin.includes = about.html, about.ini, about.mappings, about.properties, wtp_prod32.png, plugin.properties, plugin.xml, src/**, META-INF/
-sourcePlugin = true
diff --git a/features/org.eclipse.wst.common_core.feature/sourceTemplateBundle/plugin.properties b/features/org.eclipse.wst.common_core.feature/sourceTemplateBundle/plugin.properties
deleted file mode 100644
index c325b0a..0000000
--- a/features/org.eclipse.wst.common_core.feature/sourceTemplateBundle/plugin.properties
+++ /dev/null
@@ -1,12 +0,0 @@
-###############################################################################
-# Copyright (c) 2005 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-pluginName=Web Standard Tools - Common Core Source
-providerName=Eclipse.org
diff --git a/features/org.eclipse.wst.common_core.feature/sourceTemplateBundle/wtp_prod32.gif b/features/org.eclipse.wst.common_core.feature/sourceTemplateBundle/wtp_prod32.gif
deleted file mode 100644
index eefb44a..0000000
--- a/features/org.eclipse.wst.common_core.feature/sourceTemplateBundle/wtp_prod32.gif
+++ /dev/null
Binary files differ
diff --git a/features/org.eclipse.wst.common_core.feature/sourceTemplateBundle/wtp_prod32.png b/features/org.eclipse.wst.common_core.feature/sourceTemplateBundle/wtp_prod32.png
deleted file mode 100644
index bfceab3..0000000
--- a/features/org.eclipse.wst.common_core.feature/sourceTemplateBundle/wtp_prod32.png
+++ /dev/null
Binary files differ
diff --git a/features/org.eclipse.wst.common_core.feature/sourceTemplateFeature/build.properties b/features/org.eclipse.wst.common_core.feature/sourceTemplateFeature/build.properties
deleted file mode 100644
index f249e9f..0000000
--- a/features/org.eclipse.wst.common_core.feature/sourceTemplateFeature/build.properties
+++ /dev/null
@@ -1,16 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2005 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-bin.includes =\
-epl-v10.html,\
-eclipse_update_120.jpg,\
-feature.xml,\
-feature.properties,\
-license.html
diff --git a/features/org.eclipse.wst.common_core.feature/sourceTemplateFeature/eclipse_update_120.jpg b/features/org.eclipse.wst.common_core.feature/sourceTemplateFeature/eclipse_update_120.jpg
deleted file mode 100644
index bfdf708..0000000
--- a/features/org.eclipse.wst.common_core.feature/sourceTemplateFeature/eclipse_update_120.jpg
+++ /dev/null
Binary files differ
diff --git a/features/org.eclipse.wst.common_core.feature/sourceTemplateFeature/epl-v10.html b/features/org.eclipse.wst.common_core.feature/sourceTemplateFeature/epl-v10.html
deleted file mode 100644
index 022ad29..0000000
--- a/features/org.eclipse.wst.common_core.feature/sourceTemplateFeature/epl-v10.html
+++ /dev/null
@@ -1,328 +0,0 @@
-<html xmlns:o="urn:schemas-microsoft-com:office:office"
-xmlns:w="urn:schemas-microsoft-com:office:word"
-xmlns="http://www.w3.org/TR/REC-html40">
-
-<head>
-<meta http-equiv=Content-Type content="text/html; charset=windows-1252">
-<meta name=ProgId content=Word.Document>
-<meta name=Generator content="Microsoft Word 9">
-<meta name=Originator content="Microsoft Word 9">
-<link rel=File-List
-href="./Eclipse%20EPL%202003_11_10%20Final_files/filelist.xml">
-<title>Eclipse Public License - Version 1.0</title>
-<!--[if gte mso 9]><xml>
- <o:DocumentProperties>
-  <o:Revision>2</o:Revision>
-  <o:TotalTime>3</o:TotalTime>
-  <o:Created>2004-03-05T23:03:00Z</o:Created>
-  <o:LastSaved>2004-03-05T23:03:00Z</o:LastSaved>
-  <o:Pages>4</o:Pages>
-  <o:Words>1626</o:Words>
-  <o:Characters>9270</o:Characters>
-   <o:Lines>77</o:Lines>
-  <o:Paragraphs>18</o:Paragraphs>
-  <o:CharactersWithSpaces>11384</o:CharactersWithSpaces>
-  <o:Version>9.4402</o:Version>
- </o:DocumentProperties>
-</xml><![endif]--><!--[if gte mso 9]><xml>
- <w:WordDocument>
-  <w:TrackRevisions/>
- </w:WordDocument>
-</xml><![endif]-->
-<style>
-<!--
- /* Font Definitions */
-@font-face
-	{font-family:Tahoma;
-	panose-1:2 11 6 4 3 5 4 4 2 4;
-	mso-font-charset:0;
-	mso-generic-font-family:swiss;
-	mso-font-pitch:variable;
-	mso-font-signature:553679495 -2147483648 8 0 66047 0;}
- /* Style Definitions */
-p.MsoNormal, li.MsoNormal, div.MsoNormal
-	{mso-style-parent:"";
-	margin:0in;
-	margin-bottom:.0001pt;
-	mso-pagination:widow-orphan;
-	font-size:12.0pt;
-	font-family:"Times New Roman";
-	mso-fareast-font-family:"Times New Roman";}
-p
-	{margin-right:0in;
-	mso-margin-top-alt:auto;
-	mso-margin-bottom-alt:auto;
-	margin-left:0in;
-	mso-pagination:widow-orphan;
-	font-size:12.0pt;
-	font-family:"Times New Roman";
-	mso-fareast-font-family:"Times New Roman";}
-p.BalloonText, li.BalloonText, div.BalloonText
-	{mso-style-name:"Balloon Text";
-	margin:0in;
-	margin-bottom:.0001pt;
-	mso-pagination:widow-orphan;
-	font-size:8.0pt;
-	font-family:Tahoma;
-	mso-fareast-font-family:"Times New Roman";}
-@page Section1
-	{size:8.5in 11.0in;
-	margin:1.0in 1.25in 1.0in 1.25in;
-	mso-header-margin:.5in;
-	mso-footer-margin:.5in;
-	mso-paper-source:0;}
-div.Section1
-	{page:Section1;}
--->
-</style>
-</head>
-
-<body lang=EN-US style='tab-interval:.5in'>
-
-<div class=Section1>
-
-<p align=center style='text-align:center'><b>Eclipse Public License - v 1.0</b>
-</p>
-
-<p><span style='font-size:10.0pt'>THE ACCOMPANYING PROGRAM IS PROVIDED UNDER
-THE TERMS OF THIS ECLIPSE PUBLIC LICENSE (&quot;AGREEMENT&quot;). ANY USE,
-REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE
-OF THIS AGREEMENT.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>1. DEFINITIONS</span></b> </p>
-
-<p><span style='font-size:10.0pt'>&quot;Contribution&quot; means:</span> </p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-in the case of the initial Contributor, the initial code and documentation
-distributed under this Agreement, and<br clear=left>
-b) in the case of each subsequent Contributor:</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>i)
-changes to the Program, and</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>ii)
-additions to the Program;</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>where
-such changes and/or additions to the Program originate from and are distributed
-by that particular Contributor. A Contribution 'originates' from a Contributor
-if it was added to the Program by such Contributor itself or anyone acting on
-such Contributor's behalf. Contributions do not include additions to the
-Program which: (i) are separate modules of software distributed in conjunction
-with the Program under their own license agreement, and (ii) are not derivative
-works of the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>&quot;Contributor&quot; means any person or
-entity that distributes the Program.</span> </p>
-
-<p><span style='font-size:10.0pt'>&quot;Licensed Patents &quot; mean patent
-claims licensable by a Contributor which are necessarily infringed by the use
-or sale of its Contribution alone or when combined with the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>&quot;Program&quot; means the Contributions
-distributed in accordance with this Agreement.</span> </p>
-
-<p><span style='font-size:10.0pt'>&quot;Recipient&quot; means anyone who
-receives the Program under this Agreement, including all Contributors.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>2. GRANT OF RIGHTS</span></b> </p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-Subject to the terms of this Agreement, each Contributor hereby grants Recipient
-a non-exclusive, worldwide, royalty-free copyright license to<span
-style='color:red'> </span>reproduce, prepare derivative works of, publicly
-display, publicly perform, distribute and sublicense the Contribution of such
-Contributor, if any, and such derivative works, in source code and object code
-form.</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b)
-Subject to the terms of this Agreement, each Contributor hereby grants
-Recipient a non-exclusive, worldwide,<span style='color:green'> </span>royalty-free
-patent license under Licensed Patents to make, use, sell, offer to sell, import
-and otherwise transfer the Contribution of such Contributor, if any, in source
-code and object code form. This patent license shall apply to the combination
-of the Contribution and the Program if, at the time the Contribution is added
-by the Contributor, such addition of the Contribution causes such combination
-to be covered by the Licensed Patents. The patent license shall not apply to
-any other combinations which include the Contribution. No hardware per se is
-licensed hereunder. </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>c)
-Recipient understands that although each Contributor grants the licenses to its
-Contributions set forth herein, no assurances are provided by any Contributor
-that the Program does not infringe the patent or other intellectual property
-rights of any other entity. Each Contributor disclaims any liability to Recipient
-for claims brought by any other entity based on infringement of intellectual
-property rights or otherwise. As a condition to exercising the rights and
-licenses granted hereunder, each Recipient hereby assumes sole responsibility
-to secure any other intellectual property rights needed, if any. For example,
-if a third party patent license is required to allow Recipient to distribute
-the Program, it is Recipient's responsibility to acquire that license before
-distributing the Program.</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>d)
-Each Contributor represents that to its knowledge it has sufficient copyright
-rights in its Contribution, if any, to grant the copyright license set forth in
-this Agreement. </span></p>
-
-<p><b><span style='font-size:10.0pt'>3. REQUIREMENTS</span></b> </p>
-
-<p><span style='font-size:10.0pt'>A Contributor may choose to distribute the
-Program in object code form under its own license agreement, provided that:</span>
-</p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-it complies with the terms and conditions of this Agreement; and</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b)
-its license agreement:</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>i)
-effectively disclaims on behalf of all Contributors all warranties and
-conditions, express and implied, including warranties or conditions of title
-and non-infringement, and implied warranties or conditions of merchantability
-and fitness for a particular purpose; </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>ii)
-effectively excludes on behalf of all Contributors all liability for damages,
-including direct, indirect, special, incidental and consequential damages, such
-as lost profits; </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>iii)
-states that any provisions which differ from this Agreement are offered by that
-Contributor alone and not by any other party; and</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>iv)
-states that source code for the Program is available from such Contributor, and
-informs licensees how to obtain it in a reasonable manner on or through a
-medium customarily used for software exchange.<span style='color:blue'> </span></span></p>
-
-<p><span style='font-size:10.0pt'>When the Program is made available in source
-code form:</span> </p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-it must be made available under this Agreement; and </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b) a
-copy of this Agreement must be included with each copy of the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>Contributors may not remove or alter any
-copyright notices contained within the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>Each Contributor must identify itself as the
-originator of its Contribution, if any, in a manner that reasonably allows
-subsequent Recipients to identify the originator of the Contribution. </span></p>
-
-<p><b><span style='font-size:10.0pt'>4. COMMERCIAL DISTRIBUTION</span></b> </p>
-
-<p><span style='font-size:10.0pt'>Commercial distributors of software may
-accept certain responsibilities with respect to end users, business partners
-and the like. While this license is intended to facilitate the commercial use
-of the Program, the Contributor who includes the Program in a commercial
-product offering should do so in a manner which does not create potential
-liability for other Contributors. Therefore, if a Contributor includes the
-Program in a commercial product offering, such Contributor (&quot;Commercial
-Contributor&quot;) hereby agrees to defend and indemnify every other
-Contributor (&quot;Indemnified Contributor&quot;) against any losses, damages and
-costs (collectively &quot;Losses&quot;) arising from claims, lawsuits and other
-legal actions brought by a third party against the Indemnified Contributor to
-the extent caused by the acts or omissions of such Commercial Contributor in
-connection with its distribution of the Program in a commercial product
-offering. The obligations in this section do not apply to any claims or Losses
-relating to any actual or alleged intellectual property infringement. In order
-to qualify, an Indemnified Contributor must: a) promptly notify the Commercial
-Contributor in writing of such claim, and b) allow the Commercial Contributor
-to control, and cooperate with the Commercial Contributor in, the defense and
-any related settlement negotiations. The Indemnified Contributor may participate
-in any such claim at its own expense.</span> </p>
-
-<p><span style='font-size:10.0pt'>For example, a Contributor might include the
-Program in a commercial product offering, Product X. That Contributor is then a
-Commercial Contributor. If that Commercial Contributor then makes performance
-claims, or offers warranties related to Product X, those performance claims and
-warranties are such Commercial Contributor's responsibility alone. Under this
-section, the Commercial Contributor would have to defend claims against the
-other Contributors related to those performance claims and warranties, and if a
-court requires any other Contributor to pay any damages as a result, the
-Commercial Contributor must pay those damages.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>5. NO WARRANTY</span></b> </p>
-
-<p><span style='font-size:10.0pt'>EXCEPT AS EXPRESSLY SET FORTH IN THIS
-AGREEMENT, THE PROGRAM IS PROVIDED ON AN &quot;AS IS&quot; BASIS, WITHOUT
-WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING,
-WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT,
-MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely
-responsible for determining the appropriateness of using and distributing the
-Program and assumes all risks associated with its exercise of rights under this
-Agreement , including but not limited to the risks and costs of program errors,
-compliance with applicable laws, damage to or loss of data, programs or
-equipment, and unavailability or interruption of operations. </span></p>
-
-<p><b><span style='font-size:10.0pt'>6. DISCLAIMER OF LIABILITY</span></b> </p>
-
-<p><span style='font-size:10.0pt'>EXCEPT AS EXPRESSLY SET FORTH IN THIS
-AGREEMENT, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR
-ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-(INCLUDING WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY
-OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF
-THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF
-THE POSSIBILITY OF SUCH DAMAGES.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>7. GENERAL</span></b> </p>
-
-<p><span style='font-size:10.0pt'>If any provision of this Agreement is invalid
-or unenforceable under applicable law, it shall not affect the validity or
-enforceability of the remainder of the terms of this Agreement, and without
-further action by the parties hereto, such provision shall be reformed to the
-minimum extent necessary to make such provision valid and enforceable.</span> </p>
-
-<p><span style='font-size:10.0pt'>If Recipient institutes patent litigation
-against any entity (including a cross-claim or counterclaim in a lawsuit)
-alleging that the Program itself (excluding combinations of the Program with
-other software or hardware) infringes such Recipient's patent(s), then such
-Recipient's rights granted under Section 2(b) shall terminate as of the date
-such litigation is filed. </span></p>
-
-<p><span style='font-size:10.0pt'>All Recipient's rights under this Agreement
-shall terminate if it fails to comply with any of the material terms or
-conditions of this Agreement and does not cure such failure in a reasonable
-period of time after becoming aware of such noncompliance. If all Recipient's
-rights under this Agreement terminate, Recipient agrees to cease use and
-distribution of the Program as soon as reasonably practicable. However,
-Recipient's obligations under this Agreement and any licenses granted by
-Recipient relating to the Program shall continue and survive. </span></p>
-
-<p><span style='font-size:10.0pt'>Everyone is permitted to copy and distribute
-copies of this Agreement, but in order to avoid inconsistency the Agreement is
-copyrighted and may only be modified in the following manner. The Agreement
-Steward reserves the right to publish new versions (including revisions) of
-this Agreement from time to time. No one other than the Agreement Steward has
-the right to modify this Agreement. The Eclipse Foundation is the initial
-Agreement Steward. The Eclipse Foundation may assign the responsibility to
-serve as the Agreement Steward to a suitable separate entity. Each new version
-of the Agreement will be given a distinguishing version number. The Program
-(including Contributions) may always be distributed subject to the version of
-the Agreement under which it was received. In addition, after a new version of
-the Agreement is published, Contributor may elect to distribute the Program
-(including its Contributions) under the new version. Except as expressly stated
-in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to
-the intellectual property of any Contributor under this Agreement, whether
-expressly, by implication, estoppel or otherwise. All rights in the Program not
-expressly granted under this Agreement are reserved.</span> </p>
-
-<p><span style='font-size:10.0pt'>This Agreement is governed by the laws of the
-State of New York and the intellectual property laws of the United States of
-America. No party to this Agreement will bring a legal action under this
-Agreement more than one year after the cause of action arose. Each party waives
-its rights to a jury trial in any resulting litigation.</span> </p>
-
-<p class=MsoNormal><![if !supportEmptyParas]>&nbsp;<![endif]><o:p></o:p></p>
-
-</div>
-
-</body>
-
-</html>
diff --git a/features/org.eclipse.wst.common_core.feature/sourceTemplateFeature/feature.properties b/features/org.eclipse.wst.common_core.feature/sourceTemplateFeature/feature.properties
deleted file mode 100644
index a242948..0000000
--- a/features/org.eclipse.wst.common_core.feature/sourceTemplateFeature/feature.properties
+++ /dev/null
@@ -1,167 +0,0 @@
-###############################################################################
-# Copyright (c) 2006 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-# feature.properties
-# contains externalized strings for feature.xml
-# "%foo" in feature.xml corresponds to the key "foo" in this file
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# This file should be translated.
-
-# "featureName" property - name of the feature
-featureName=WST Common Core Developer Resources
-# "providerName" property - name of the company that provides the feature
-providerName=Eclipse Web Tools Platform
-
-
-# "description" property - description of the feature
-description=Source code zips for WST common core.
-
-# "copyright" property - text of the "Feature Update Copyright"
-copyright=\
-Copyright (c) 2006 IBM Corporation and others.\n\
-All rights reserved. This program and the accompanying materials\n\
-are made available under the terms of the Eclipse Public License v1.0\n\
-which accompanies this distribution, and is available at\n\
-http://www.eclipse.org/legal/epl-v10.html\n\
-\n\
-Contributors:\n\
-    IBM Corporation - initial API and implementation\n
-################ end of copyright property ####################################
-
-# "licenseURL" property - URL of the "Feature License"
-# do not translate value - just change to point to a locale-specific HTML page
-licenseURL=license.html
-
-# "license" property - text of the "Feature Update License"
-# should be plain text version of license agreement pointed to be "licenseURL"
-license=\
-Eclipse Foundation Software User Agreement\n\
-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_core.feature/sourceTemplateFeature/license.html b/features/org.eclipse.wst.common_core.feature/sourceTemplateFeature/license.html
deleted file mode 100644
index c184ca3..0000000
--- a/features/org.eclipse.wst.common_core.feature/sourceTemplateFeature/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_core.feature/sourceTemplatePlugin/about.html b/features/org.eclipse.wst.common_core.feature/sourceTemplatePlugin/about.html
deleted file mode 100644
index fe81d46..0000000
--- a/features/org.eclipse.wst.common_core.feature/sourceTemplatePlugin/about.html
+++ /dev/null
@@ -1,27 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<html>
-<head>
-<title>About</title>
-<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
-
-<P>June, 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_core.feature/sourceTemplatePlugin/about.ini b/features/org.eclipse.wst.common_core.feature/sourceTemplatePlugin/about.ini
deleted file mode 100644
index fda5a40..0000000
--- a/features/org.eclipse.wst.common_core.feature/sourceTemplatePlugin/about.ini
+++ /dev/null
@@ -1,31 +0,0 @@
-# about.ini
-# contains information about a feature
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# "%key" are externalized strings defined in about.properties
-# This file does not need to be translated.
-
-# Property "aboutText" contains blurb for "About" dialog (translated)
-aboutText=%blurb
-
-# Property "windowImage" contains path to window icon (16x16)
-# needed for primary features only
-
-# Property "featureImage" contains path to feature image (32x32)
-featureImage=wtp_prod32.png
-
-# Property "aboutImage" contains path to product image (500x330 or 115x164)
-# needed for primary features only
-
-# Property "appName" contains name of the application (not translated)
-# needed for primary features only
-
-# Property "welcomePage" contains path to welcome page (special XML-based format)
-# optional
-
-# Property "welcomePerspective" contains the id of the perspective in which the
-# welcome page is to be opened.
-# optional
-
-
-
-
diff --git a/features/org.eclipse.wst.common_core.feature/sourceTemplatePlugin/about.mappings b/features/org.eclipse.wst.common_core.feature/sourceTemplatePlugin/about.mappings
deleted file mode 100644
index a28390a..0000000
--- a/features/org.eclipse.wst.common_core.feature/sourceTemplatePlugin/about.mappings
+++ /dev/null
@@ -1,6 +0,0 @@
-# about.mappings
-# contains fill-ins for about.properties
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# This file does not need to be translated.
-
-0=@build@
diff --git a/features/org.eclipse.wst.common_core.feature/sourceTemplatePlugin/about.properties b/features/org.eclipse.wst.common_core.feature/sourceTemplatePlugin/about.properties
deleted file mode 100644
index 9474fc0..0000000
--- a/features/org.eclipse.wst.common_core.feature/sourceTemplatePlugin/about.properties
+++ /dev/null
@@ -1,26 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2005 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-# about.properties
-# contains externalized strings for about.ini
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# fill-ins are supplied by about.mappings
-# This file should be translated.
-#
-# Do not translate any values surrounded by {}
-
-blurb=Web Standard Tools - Common Core\n\
-\n\
-Version: {featureVersion}\n\
-Build id: {0}\n\
-\n\
-(c) Copyright Eclipse contributors and others 2005.  All rights reserved.\n\
-Visit http://www.eclipse.org/webtools
-
diff --git a/features/org.eclipse.wst.common_core.feature/sourceTemplatePlugin/build.properties b/features/org.eclipse.wst.common_core.feature/sourceTemplatePlugin/build.properties
deleted file mode 100644
index ead512d..0000000
--- a/features/org.eclipse.wst.common_core.feature/sourceTemplatePlugin/build.properties
+++ /dev/null
@@ -1,2 +0,0 @@
-bin.includes = about.html, about.ini, about.mappings, about.properties, wtp_prod32.png, plugin.properties, plugin.xml, src/**, META-INF/
-sourcePlugin = true
diff --git a/features/org.eclipse.wst.common_core.feature/sourceTemplatePlugin/plugin.properties b/features/org.eclipse.wst.common_core.feature/sourceTemplatePlugin/plugin.properties
deleted file mode 100644
index c325b0a..0000000
--- a/features/org.eclipse.wst.common_core.feature/sourceTemplatePlugin/plugin.properties
+++ /dev/null
@@ -1,12 +0,0 @@
-###############################################################################
-# Copyright (c) 2005 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-pluginName=Web Standard Tools - Common Core Source
-providerName=Eclipse.org
diff --git a/features/org.eclipse.wst.common_core.feature/sourceTemplatePlugin/wtp_prod32.gif b/features/org.eclipse.wst.common_core.feature/sourceTemplatePlugin/wtp_prod32.gif
deleted file mode 100644
index eefb44a..0000000
--- a/features/org.eclipse.wst.common_core.feature/sourceTemplatePlugin/wtp_prod32.gif
+++ /dev/null
Binary files differ
diff --git a/features/org.eclipse.wst.common_core.feature/sourceTemplatePlugin/wtp_prod32.png b/features/org.eclipse.wst.common_core.feature/sourceTemplatePlugin/wtp_prod32.png
deleted file mode 100644
index bfceab3..0000000
--- a/features/org.eclipse.wst.common_core.feature/sourceTemplatePlugin/wtp_prod32.png
+++ /dev/null
Binary files differ
diff --git a/features/org.eclipse.wst.common_ui.feature.patch/.cvsignore b/features/org.eclipse.wst.common_ui.feature.patch/.cvsignore
deleted file mode 100644
index c14487c..0000000
--- a/features/org.eclipse.wst.common_ui.feature.patch/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-build.xml
diff --git a/features/org.eclipse.wst.common_ui.feature.patch/.project b/features/org.eclipse.wst.common_ui.feature.patch/.project
deleted file mode 100644
index 0dbb12b..0000000
--- a/features/org.eclipse.wst.common_ui.feature.patch/.project
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.wst.common_ui.feature.patch</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.pde.FeatureBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.FeatureNature</nature>
-	</natures>
-</projectDescription>
diff --git a/features/org.eclipse.wst.common_ui.feature.patch/build.properties b/features/org.eclipse.wst.common_ui.feature.patch/build.properties
deleted file mode 100644
index cb50260..0000000
--- a/features/org.eclipse.wst.common_ui.feature.patch/build.properties
+++ /dev/null
@@ -1,5 +0,0 @@
-bin.includes = feature.xml,\
-               license.html,\
-               feature.properties,\
-               epl-v10.html,\
-               eclipse_update_120.jpg
diff --git a/features/org.eclipse.wst.common_ui.feature.patch/buildnotes_org.eclipse.wst.common_ui.feature.patch.html b/features/org.eclipse.wst.common_ui.feature.patch/buildnotes_org.eclipse.wst.common_ui.feature.patch.html
deleted file mode 100644
index e162821..0000000
--- a/features/org.eclipse.wst.common_ui.feature.patch/buildnotes_org.eclipse.wst.common_ui.feature.patch.html
+++ /dev/null
@@ -1,21 +0,0 @@
-<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
-<html>
-
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-<meta name="Build" content="Build">
-<title>WTP 3.2.5 Patches</title>
-</head>
-
-<body>
-
-<h1>WTP 3.2.5 Patches</h1>
-
-<h2>org.eclipse.wst.common_ui.feature</h2>
-
-<p>Bug <a href='https://bugs.eclipse.org/366065'>366065</a>. Add a new filter rule to include/exclude based on a target runtime</p>
-<p>Bug <a href='https://bugs.eclipse.org/372524'>372524</a>. Remove reference to JBoss</p>
-<p>Bug <a href='https://bugs.eclipse.org/319219'>319219</a>. [Palette] Scroll Bar is missing for Template in customize palette dialog</p>
-<p>Bug <a href='https://bugs.eclipse.org/376096'>376096</a>. Change to warning the severity of message in deployment assembly page when entry cannot be found</p>
-</body>
-</html>
\ No newline at end of file
diff --git a/features/org.eclipse.wst.common_ui.feature.patch/eclipse_update_120.jpg b/features/org.eclipse.wst.common_ui.feature.patch/eclipse_update_120.jpg
deleted file mode 100644
index bfdf708..0000000
--- a/features/org.eclipse.wst.common_ui.feature.patch/eclipse_update_120.jpg
+++ /dev/null
Binary files differ
diff --git a/features/org.eclipse.wst.common_ui.feature.patch/epl-v10.html b/features/org.eclipse.wst.common_ui.feature.patch/epl-v10.html
deleted file mode 100644
index abeecc4..0000000
--- a/features/org.eclipse.wst.common_ui.feature.patch/epl-v10.html
+++ /dev/null
@@ -1,262 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1" ?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
-<title>Eclipse Public License - Version 1.0</title>
-<style type="text/css">
-  body {
-    size: 8.5in 11.0in;
-    margin: 0.25in 0.5in 0.25in 0.5in;
-    tab-interval: 0.5in;
-    }
-  p {  	
-    margin-left: auto;
-    margin-top:  0.5em;
-    margin-bottom: 0.5em;
-    }
-  p.list {
-  	margin-left: 0.5in;
-    margin-top:  0.05em;
-    margin-bottom: 0.05em;
-    }
-  </style>
-
-</head>
-
-<body lang="EN-US">
-
-<h2>Eclipse Public License - v 1.0</h2>
-
-<p>THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE
-PUBLIC LICENSE (&quot;AGREEMENT&quot;). ANY USE, REPRODUCTION OR
-DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS
-AGREEMENT.</p>
-
-<p><b>1. DEFINITIONS</b></p>
-
-<p>&quot;Contribution&quot; means:</p>
-
-<p class="list">a) in the case of the initial Contributor, the initial
-code and documentation distributed under this Agreement, and</p>
-<p class="list">b) in the case of each subsequent Contributor:</p>
-
-<p class="list">i) changes to the Program, and</p>
-<p class="list">ii) additions to the Program;</p>
-<p class="list">where such changes and/or additions to the Program
-originate from and are distributed by that particular Contributor. A
-Contribution 'originates' from a Contributor if it was added to the
-Program by such Contributor itself or anyone acting on such
-Contributor's behalf. Contributions do not include additions to the
-Program which: (i) are separate modules of software distributed in
-conjunction with the Program under their own license agreement, and (ii)
-are not derivative works of the Program.</p>
-
-<p>&quot;Contributor&quot; means any person or entity that distributes
-the Program.</p>
-
-<p>&quot;Licensed Patents&quot; mean patent claims licensable by a
-Contributor which are necessarily infringed by the use or sale of its
-Contribution alone or when combined with the Program.</p>
-
-<p>&quot;Program&quot; means the Contributions distributed in accordance
-with this Agreement.</p>
-
-<p>&quot;Recipient&quot; means anyone who receives the Program under
-this Agreement, including all Contributors.</p>
-
-<p><b>2. GRANT OF RIGHTS</b></p>
-
-<p class="list">a) Subject to the terms of this Agreement, each
-Contributor hereby grants Recipient a non-exclusive, worldwide,
-royalty-free copyright license to reproduce, prepare derivative works
-of, publicly display, publicly perform, distribute and sublicense the
-Contribution of such Contributor, if any, and such derivative works, in
-source code and object code form.</p>
-
-<p class="list">b) Subject to the terms of this Agreement, each
-Contributor hereby grants Recipient a non-exclusive, worldwide,
-royalty-free patent license under Licensed Patents to make, use, sell,
-offer to sell, import and otherwise transfer the Contribution of such
-Contributor, if any, in source code and object code form. This patent
-license shall apply to the combination of the Contribution and the
-Program if, at the time the Contribution is added by the Contributor,
-such addition of the Contribution causes such combination to be covered
-by the Licensed Patents. The patent license shall not apply to any other
-combinations which include the Contribution. No hardware per se is
-licensed hereunder.</p>
-
-<p class="list">c) Recipient understands that although each Contributor
-grants the licenses to its Contributions set forth herein, no assurances
-are provided by any Contributor that the Program does not infringe the
-patent or other intellectual property rights of any other entity. Each
-Contributor disclaims any liability to Recipient for claims brought by
-any other entity based on infringement of intellectual property rights
-or otherwise. As a condition to exercising the rights and licenses
-granted hereunder, each Recipient hereby assumes sole responsibility to
-secure any other intellectual property rights needed, if any. For
-example, if a third party patent license is required to allow Recipient
-to distribute the Program, it is Recipient's responsibility to acquire
-that license before distributing the Program.</p>
-
-<p class="list">d) Each Contributor represents that to its knowledge it
-has sufficient copyright rights in its Contribution, if any, to grant
-the copyright license set forth in this Agreement.</p>
-
-<p><b>3. REQUIREMENTS</b></p>
-
-<p>A Contributor may choose to distribute the Program in object code
-form under its own license agreement, provided that:</p>
-
-<p class="list">a) it complies with the terms and conditions of this
-Agreement; and</p>
-
-<p class="list">b) its license agreement:</p>
-
-<p class="list">i) effectively disclaims on behalf of all Contributors
-all warranties and conditions, express and implied, including warranties
-or conditions of title and non-infringement, and implied warranties or
-conditions of merchantability and fitness for a particular purpose;</p>
-
-<p class="list">ii) effectively excludes on behalf of all Contributors
-all liability for damages, including direct, indirect, special,
-incidental and consequential damages, such as lost profits;</p>
-
-<p class="list">iii) states that any provisions which differ from this
-Agreement are offered by that Contributor alone and not by any other
-party; and</p>
-
-<p class="list">iv) states that source code for the Program is available
-from such Contributor, and informs licensees how to obtain it in a
-reasonable manner on or through a medium customarily used for software
-exchange.</p>
-
-<p>When the Program is made available in source code form:</p>
-
-<p class="list">a) it must be made available under this Agreement; and</p>
-
-<p class="list">b) a copy of this Agreement must be included with each
-copy of the Program.</p>
-
-<p>Contributors may not remove or alter any copyright notices contained
-within the Program.</p>
-
-<p>Each Contributor must identify itself as the originator of its
-Contribution, if any, in a manner that reasonably allows subsequent
-Recipients to identify the originator of the Contribution.</p>
-
-<p><b>4. COMMERCIAL DISTRIBUTION</b></p>
-
-<p>Commercial distributors of software may accept certain
-responsibilities with respect to end users, business partners and the
-like. While this license is intended to facilitate the commercial use of
-the Program, the Contributor who includes the Program in a commercial
-product offering should do so in a manner which does not create
-potential liability for other Contributors. Therefore, if a Contributor
-includes the Program in a commercial product offering, such Contributor
-(&quot;Commercial Contributor&quot;) hereby agrees to defend and
-indemnify every other Contributor (&quot;Indemnified Contributor&quot;)
-against any losses, damages and costs (collectively &quot;Losses&quot;)
-arising from claims, lawsuits and other legal actions brought by a third
-party against the Indemnified Contributor to the extent caused by the
-acts or omissions of such Commercial Contributor in connection with its
-distribution of the Program in a commercial product offering. The
-obligations in this section do not apply to any claims or Losses
-relating to any actual or alleged intellectual property infringement. In
-order to qualify, an Indemnified Contributor must: a) promptly notify
-the Commercial Contributor in writing of such claim, and b) allow the
-Commercial Contributor to control, and cooperate with the Commercial
-Contributor in, the defense and any related settlement negotiations. The
-Indemnified Contributor may participate in any such claim at its own
-expense.</p>
-
-<p>For example, a Contributor might include the Program in a commercial
-product offering, Product X. That Contributor is then a Commercial
-Contributor. If that Commercial Contributor then makes performance
-claims, or offers warranties related to Product X, those performance
-claims and warranties are such Commercial Contributor's responsibility
-alone. Under this section, the Commercial Contributor would have to
-defend claims against the other Contributors related to those
-performance claims and warranties, and if a court requires any other
-Contributor to pay any damages as a result, the Commercial Contributor
-must pay those damages.</p>
-
-<p><b>5. NO WARRANTY</b></p>
-
-<p>EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS
-PROVIDED ON AN &quot;AS IS&quot; BASIS, WITHOUT WARRANTIES OR CONDITIONS
-OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION,
-ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY
-OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely
-responsible for determining the appropriateness of using and
-distributing the Program and assumes all risks associated with its
-exercise of rights under this Agreement , including but not limited to
-the risks and costs of program errors, compliance with applicable laws,
-damage to or loss of data, programs or equipment, and unavailability or
-interruption of operations.</p>
-
-<p><b>6. DISCLAIMER OF LIABILITY</b></p>
-
-<p>EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT
-NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT,
-INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING
-WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF
-LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR
-DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED
-HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.</p>
-
-<p><b>7. GENERAL</b></p>
-
-<p>If any provision of this Agreement is invalid or unenforceable under
-applicable law, it shall not affect the validity or enforceability of
-the remainder of the terms of this Agreement, and without further action
-by the parties hereto, such provision shall be reformed to the minimum
-extent necessary to make such provision valid and enforceable.</p>
-
-<p>If Recipient institutes patent litigation against any entity
-(including a cross-claim or counterclaim in a lawsuit) alleging that the
-Program itself (excluding combinations of the Program with other
-software or hardware) infringes such Recipient's patent(s), then such
-Recipient's rights granted under Section 2(b) shall terminate as of the
-date such litigation is filed.</p>
-
-<p>All Recipient's rights under this Agreement shall terminate if it
-fails to comply with any of the material terms or conditions of this
-Agreement and does not cure such failure in a reasonable period of time
-after becoming aware of such noncompliance. If all Recipient's rights
-under this Agreement terminate, Recipient agrees to cease use and
-distribution of the Program as soon as reasonably practicable. However,
-Recipient's obligations under this Agreement and any licenses granted by
-Recipient relating to the Program shall continue and survive.</p>
-
-<p>Everyone is permitted to copy and distribute copies of this
-Agreement, but in order to avoid inconsistency the Agreement is
-copyrighted and may only be modified in the following manner. The
-Agreement Steward reserves the right to publish new versions (including
-revisions) of this Agreement from time to time. No one other than the
-Agreement Steward has the right to modify this Agreement. The Eclipse
-Foundation is the initial Agreement Steward. The Eclipse Foundation may
-assign the responsibility to serve as the Agreement Steward to a
-suitable separate entity. Each new version of the Agreement will be
-given a distinguishing version number. The Program (including
-Contributions) may always be distributed subject to the version of the
-Agreement under which it was received. In addition, after a new version
-of the Agreement is published, Contributor may elect to distribute the
-Program (including its Contributions) under the new version. Except as
-expressly stated in Sections 2(a) and 2(b) above, Recipient receives no
-rights or licenses to the intellectual property of any Contributor under
-this Agreement, whether expressly, by implication, estoppel or
-otherwise. All rights in the Program not expressly granted under this
-Agreement are reserved.</p>
-
-<p>This Agreement is governed by the laws of the State of New York and
-the intellectual property laws of the United States of America. No party
-to this Agreement will bring a legal action under this Agreement more
-than one year after the cause of action arose. Each party waives its
-rights to a jury trial in any resulting litigation.</p>
-
-</body>
-
-</html>
diff --git a/features/org.eclipse.wst.common_ui.feature.patch/feature.properties b/features/org.eclipse.wst.common_ui.feature.patch/feature.properties
deleted file mode 100644
index d368e85..0000000
--- a/features/org.eclipse.wst.common_ui.feature.patch/feature.properties
+++ /dev/null
@@ -1,176 +0,0 @@
-###############################################################################
-# Copyright (c) 2008 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-# feature.properties
-# contains externalized strings for feature.xml
-# "%foo" in feature.xml corresponds to the key "foo" in this file
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# This file should be translated.
-
-# "featureName" property - name of the feature
-featureName=WTP Patches for org.eclipse.wst.common_ui.feature
-
-# "providerName" property - name of the company that provides the feature
-providerName=Eclipse Web Tools Platform
-
-# "updateSiteName" property - label for the update site
-updateSiteName=The Eclipse Web Tools Platform (WTP) Project update site
-
-# "description" property - description of the feature
-description=\
-Contains fixes described in the following bugzilla(s):\n\
-\n\
-Bug https://bugs.eclipse.org/366065 Add a new filter rule to include/exclude based on a target runtime\n\
-Bug https://bugs.eclipse.org/372524 Remove reference to JBoss\n\
-Bug https://bugs.eclipse.org/319219 [Palette] Scroll Bar is missing for Template in customize palette dialog\n\
-Bug https://bugs.eclipse.org/376096 Change to warning the severity of message in deployment assembly page when entry cannot be found\n\
-\n\
-# "copyright" property - text of the "Feature Update Copyright"
-copyright=\
-Copyright (c) 2010 IBM Corporation and others.\n\
-All rights reserved. This program and the accompanying materials\n\
-are made available under the terms of the Eclipse Public License v1.0\n\
-which accompanies this distribution, and is available at\n\
-http://www.eclipse.org/legal/epl-v10.html\n\
-\n\
-Contributors:\n\
-    IBM Corporation - initial API and implementation\n
-################ end of copyright property ####################################
-
-# "licenseURL" property - URL of the "Feature License"
-# do not translate value - just change to point to a locale-specific HTML page
-licenseURL=license.html
-
-# "license" property - text of the "Feature Update License"
-# should be plain text version of license agreement pointed to be "licenseURL"
-license=\
-Eclipse Foundation Software User Agreement\n\
-April 14, 2010\n\
-\n\
-Usage Of Content\n\
-\n\
-THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR\n\
-OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\
-USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\
-AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\
-NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU\n\
-AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\
-AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\
-OR NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE\n\
-TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\
-OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\
-BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\
-\n\
-Applicable Licenses\n\
-\n\
-Unless otherwise indicated, all Content made available by the\n\
-Eclipse Foundation is provided to you under the terms and conditions of\n\
-the Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is\n\
-provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\
-For purposes of the EPL, "Program" will mean the Content.\n\
-\n\
-Content includes, but is not limited to, source code, object code,\n\
-documentation and other files maintained in the Eclipse Foundation source code\n\
-repository ("Repository") in software modules ("Modules") and made available\n\
-as downloadable archives ("Downloads").\n\
-\n\
-       - Content may be structured and packaged into modules to facilitate delivering,\n\
-         extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\
-         plug-in fragments ("Fragments"), and features ("Features").\n\
-       - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)\n\
-         in a directory named "plugins".\n\
-       - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\
-         Each Feature may be packaged as a sub-directory in a directory named "features".\n\
-         Within a Feature, files named "feature.xml" may contain a list of the names and version\n\
-         numbers of the Plug-ins and/or Fragments associated with that Feature.\n\
-       - Features may also include other Features ("Included Features"). Within a Feature, files\n\
-         named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\
-\n\
-The terms and conditions governing Plug-ins and Fragments should be\n\
-contained in files named "about.html" ("Abouts"). The terms and\n\
-conditions governing Features and Included Features should be contained\n\
-in files named "license.html" ("Feature Licenses"). Abouts and Feature\n\
-Licenses may be located in any directory of a Download or Module\n\
-including, but not limited to the following locations:\n\
-\n\
-       - The top-level (root) directory\n\
-       - Plug-in and Fragment directories\n\
-       - Inside Plug-ins and Fragments packaged as JARs\n\
-       - Sub-directories of the directory named "src" of certain Plug-ins\n\
-       - Feature directories\n\
-\n\
-Note: if a Feature made available by the Eclipse Foundation is installed using the\n\
-Provisioning Technology (as defined below), you must agree to a license ("Feature \n\
-Update License") during the installation process. If the Feature contains\n\
-Included Features, the Feature Update License should either provide you\n\
-with the terms and conditions governing the Included Features or inform\n\
-you where you can locate them. Feature Update Licenses may be found in\n\
-the "license" property of files named "feature.properties" found within a Feature.\n\
-Such Abouts, Feature Licenses, and Feature Update Licenses contain the\n\
-terms and conditions (or references to such terms and conditions) that\n\
-govern your use of the associated Content in that directory.\n\
-\n\
-THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER\n\
-TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\
-SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\
-\n\
-       - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\
-       - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\
-       - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\
-       - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\
-       - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\
-\n\
-IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\
-TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License\n\
-is provided, please contact the Eclipse Foundation to determine what terms and conditions\n\
-govern that particular Content.\n\
-\n\
-\n\Use of Provisioning Technology\n\
-\n\
-The Eclipse Foundation makes available provisioning software, examples of which include,\n\
-but are not limited to, p2 and the Eclipse Update Manager ("Provisioning Technology") for\n\
-the purpose of allowing users to install software, documentation, information and/or\n\
-other materials (collectively "Installable Software"). This capability is provided with\n\
-the intent of allowing such users to install, extend and update Eclipse-based products.\n\
-Information about packaging Installable Software is available at\n\
-http://eclipse.org/equinox/p2/repository_packaging.html ("Specification").\n\
-\n\
-You may use Provisioning Technology to allow other parties to install Installable Software.\n\
-You shall be responsible for enabling the applicable license agreements relating to the\n\
-Installable Software to be presented to, and accepted by, the users of the Provisioning Technology\n\
-in accordance with the Specification. By using Provisioning Technology in such a manner and\n\
-making it available in accordance with the Specification, you further acknowledge your\n\
-agreement to, and the acquisition of all necessary rights to permit the following:\n\
-\n\
-       1. A series of actions may occur ("Provisioning Process") in which a user may execute\n\
-          the Provisioning Technology on a machine ("Target Machine") with the intent of installing,\n\
-          extending or updating the functionality of an Eclipse-based product.\n\
-       2. During the Provisioning Process, the Provisioning Technology may cause third party\n\
-          Installable Software or a portion thereof to be accessed and copied to the Target Machine.\n\
-       3. Pursuant to the Specification, you will provide to the user the terms and conditions that\n\
-          govern the use of the Installable Software ("Installable Software Agreement") and such\n\
-          Installable Software Agreement shall be accessed from the Target Machine in accordance\n\
-          with the Specification. Such Installable Software Agreement must inform the user of the\n\
-          terms and conditions that govern the Installable Software and must solicit acceptance by\n\
-          the end user in the manner prescribed in such Installable Software Agreement. Upon such\n\
-          indication of agreement by the user, the provisioning Technology will complete installation\n\
-          of the Installable Software.\n\
-\n\
-Cryptography\n\
-\n\
-Content may contain encryption software. The country in which you are\n\
-currently may have restrictions on the import, possession, and use,\n\
-and/or re-export to another country, of encryption software. BEFORE\n\
-using any encryption software, please check the country's laws,\n\
-regulations and policies concerning the import, possession, or use, and\n\
-re-export of encryption software, to see if this is permitted.\n\
-\n\
-Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.\n
-########### end of license property ##########################################
diff --git a/features/org.eclipse.wst.common_ui.feature.patch/feature.xml b/features/org.eclipse.wst.common_ui.feature.patch/feature.xml
deleted file mode 100644
index 6950d65..0000000
--- a/features/org.eclipse.wst.common_ui.feature.patch/feature.xml
+++ /dev/null
@@ -1,45 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature
-      id="org.eclipse.wst.common_ui.feature.patch"
-      label="%featureName"
-      version="3.2.5.qualifier"
-      provider-name="%providerName">
-
-   <description>
-      %description
-   </description>
-
-   <copyright>
-      %copyright
-   </copyright>
-
-   <license url="%licenseURL">
-      %license
-   </license>
-
-   <requires>
-      <import feature="org.eclipse.wst.common_ui.feature" version="3.2.5.v201106210700-7C78FPpEdhO_pXpe8kUjodMvUz-MxOK" patch="true"/>
-   </requires>
-
-   <plugin
-         id="org.eclipse.wst.common.snippets"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.wst.common.modulecore.ui"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.wst.validation.ui"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-</feature>
diff --git a/features/org.eclipse.wst.common_ui.feature.patch/license.html b/features/org.eclipse.wst.common_ui.feature.patch/license.html
deleted file mode 100644
index c184ca3..0000000
--- a/features/org.eclipse.wst.common_ui.feature.patch/license.html
+++ /dev/null
@@ -1,107 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1" ?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
-<title>Eclipse Foundation Software User Agreement</title>
-</head>
-
-<body lang="EN-US">
-<h2>Eclipse Foundation Software User Agreement</h2>
-<p>April 14, 2010</p>
-
-<h3>Usage Of Content</h3>
-
-<p>THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS
-   (COLLECTIVELY &quot;CONTENT&quot;).  USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS AGREEMENT AND/OR THE TERMS AND
-   CONDITIONS OF LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU AGREE THAT YOUR USE
-   OF THE CONTENT IS GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR
-   NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND
-   CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT USE THE CONTENT.</p>
-
-<h3>Applicable Licenses</h3>
-
-<p>Unless otherwise indicated, all Content made available by the Eclipse Foundation is provided to you under the terms and conditions of the Eclipse Public License Version 1.0
-   (&quot;EPL&quot;).  A copy of the EPL is provided with this Content and is also available at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-   For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>Content includes, but is not limited to, source code, object code, documentation and other files maintained in the Eclipse Foundation source code
-   repository (&quot;Repository&quot;) in software modules (&quot;Modules&quot;) and made available as downloadable archives (&quot;Downloads&quot;).</p>
-
-<ul>
-       <li>Content may be structured and packaged into modules to facilitate delivering, extending, and upgrading the Content.  Typical modules may include plug-ins (&quot;Plug-ins&quot;), plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;).</li>
-       <li>Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java&trade; ARchive) in a directory named &quot;plugins&quot;.</li>
-       <li>A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.  Each Feature may be packaged as a sub-directory in a directory named &quot;features&quot;.  Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version numbers of the Plug-ins
-      and/or Fragments associated with that Feature.</li>
-       <li>Features may also include other Features (&quot;Included Features&quot;). Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.</li>
-</ul>
-
-<p>The terms and conditions governing Plug-ins and Fragments should be contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and conditions governing Features and
-Included Features should be contained in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;).  Abouts and Feature Licenses may be located in any directory of a Download or Module
-including, but not limited to the following locations:</p>
-
-<ul>
-       <li>The top-level (root) directory</li>
-       <li>Plug-in and Fragment directories</li>
-       <li>Inside Plug-ins and Fragments packaged as JARs</li>
-       <li>Sub-directories of the directory named &quot;src&quot; of certain Plug-ins</li>
-       <li>Feature directories</li>
-</ul>
-
-<p>Note: if a Feature made available by the Eclipse Foundation is installed using the Provisioning Technology (as defined below), you must agree to a license (&quot;Feature Update License&quot;) during the
-installation process.  If the Feature contains Included Features, the Feature Update License should either provide you with the terms and conditions governing the Included Features or
-inform you where you can locate them.  Feature Update Licenses may be found in the &quot;license&quot; property of files named &quot;feature.properties&quot; found within a Feature.
-Such Abouts, Feature Licenses, and Feature Update Licenses contain the terms and conditions (or references to such terms and conditions) that govern your use of the associated Content in
-that directory.</p>
-
-<p>THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.  SOME OF THESE
-OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):</p>
-
-<ul>
-       <li>Common Public License Version 1.0 (available at <a href="http://www.eclipse.org/legal/cpl-v10.html">http://www.eclipse.org/legal/cpl-v10.html</a>)</li>
-       <li>Apache Software License 1.1 (available at <a href="http://www.apache.org/licenses/LICENSE">http://www.apache.org/licenses/LICENSE</a>)</li>
-       <li>Apache Software License 2.0 (available at <a href="http://www.apache.org/licenses/LICENSE-2.0">http://www.apache.org/licenses/LICENSE-2.0</a>)</li>
-       <li>Metro Link Public License 1.00 (available at <a href="http://www.opengroup.org/openmotif/supporters/metrolink/license.html">http://www.opengroup.org/openmotif/supporters/metrolink/license.html</a>)</li>
-       <li>Mozilla Public License Version 1.1 (available at <a href="http://www.mozilla.org/MPL/MPL-1.1.html">http://www.mozilla.org/MPL/MPL-1.1.html</a>)</li>
-</ul>
-
-<p>IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR TO USE OF THE CONTENT.  If no About, Feature License, or Feature Update License is provided, please
-contact the Eclipse Foundation to determine what terms and conditions govern that particular Content.</p>
-
-
-<h3>Use of Provisioning Technology</h3>
-
-<p>The Eclipse Foundation makes available provisioning software, examples of which include, but are not limited to, p2 and the Eclipse
-   Update Manager (&quot;Provisioning Technology&quot;) for the purpose of allowing users to install software, documentation, information and/or
-   other materials (collectively &quot;Installable Software&quot;). This capability is provided with the intent of allowing such users to
-   install, extend and update Eclipse-based products. Information about packaging Installable Software is available at <a
-       href="http://eclipse.org/equinox/p2/repository_packaging.html">http://eclipse.org/equinox/p2/repository_packaging.html</a>
-   (&quot;Specification&quot;).</p>
-
-<p>You may use Provisioning Technology to allow other parties to install Installable Software. You shall be responsible for enabling the
-   applicable license agreements relating to the Installable Software to be presented to, and accepted by, the users of the Provisioning Technology
-   in accordance with the Specification. By using Provisioning Technology in such a manner and making it available in accordance with the
-   Specification, you further acknowledge your agreement to, and the acquisition of all necessary rights to permit the following:</p>
-
-<ol>
-       <li>A series of actions may occur (&quot;Provisioning Process&quot;) in which a user may execute the Provisioning Technology
-       on a machine (&quot;Target Machine&quot;) with the intent of installing, extending or updating the functionality of an Eclipse-based
-       product.</li>
-       <li>During the Provisioning Process, the Provisioning Technology may cause third party Installable Software or a portion thereof to be
-       accessed and copied to the Target Machine.</li>
-       <li>Pursuant to the Specification, you will provide to the user the terms and conditions that govern the use of the Installable
-       Software (&quot;Installable Software Agreement&quot;) and such Installable Software Agreement shall be accessed from the Target
-       Machine in accordance with the Specification. Such Installable Software Agreement must inform the user of the terms and conditions that govern
-       the Installable Software and must solicit acceptance by the end user in the manner prescribed in such Installable Software Agreement. Upon such
-       indication of agreement by the user, the provisioning Technology will complete installation of the Installable Software.</li>
-</ol>
-
-<h3>Cryptography</h3>
-
-<p>Content may contain encryption software. The country in which you are currently may have restrictions on the import, possession, and use, and/or re-export to
-   another country, of encryption software. BEFORE using any encryption software, please check the country's laws, regulations and policies concerning the import,
-   possession, or use, and re-export of encryption software, to see if this is permitted.</p>
-
-<p><small>Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.</small></p>
-</body>
-</html>
diff --git a/features/org.eclipse.wst.common_ui.feature/.cvsignore b/features/org.eclipse.wst.common_ui.feature/.cvsignore
deleted file mode 100644
index e00af7d..0000000
--- a/features/org.eclipse.wst.common_ui.feature/.cvsignore
+++ /dev/null
@@ -1,2 +0,0 @@
-build.xml
-org.eclipse.wst.common_ui.feature_1.0.0.bin.dist.zip
diff --git a/features/org.eclipse.wst.common_ui.feature/.project b/features/org.eclipse.wst.common_ui.feature/.project
deleted file mode 100644
index 221164f..0000000
--- a/features/org.eclipse.wst.common_ui.feature/.project
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.wst.common_ui.feature</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.pde.FeatureBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.FeatureNature</nature>
-	</natures>
-</projectDescription>
diff --git a/features/org.eclipse.wst.common_ui.feature/build.properties b/features/org.eclipse.wst.common_ui.feature/build.properties
deleted file mode 100644
index 7f47694..0000000
--- a/features/org.eclipse.wst.common_ui.feature/build.properties
+++ /dev/null
@@ -1,5 +0,0 @@
-bin.includes = feature.xml,\
-               eclipse_update_120.jpg,\
-               epl-v10.html,\
-               license.html,\
-               feature.properties
diff --git a/features/org.eclipse.wst.common_ui.feature/eclipse_update_120.jpg b/features/org.eclipse.wst.common_ui.feature/eclipse_update_120.jpg
deleted file mode 100644
index bfdf708..0000000
--- a/features/org.eclipse.wst.common_ui.feature/eclipse_update_120.jpg
+++ /dev/null
Binary files differ
diff --git a/features/org.eclipse.wst.common_ui.feature/epl-v10.html b/features/org.eclipse.wst.common_ui.feature/epl-v10.html
deleted file mode 100644
index ed4b196..0000000
--- a/features/org.eclipse.wst.common_ui.feature/epl-v10.html
+++ /dev/null
@@ -1,328 +0,0 @@
-<html xmlns:o="urn:schemas-microsoft-com:office:office"
-xmlns:w="urn:schemas-microsoft-com:office:word"
-xmlns="http://www.w3.org/TR/REC-html40">
-
-<head>
-<meta http-equiv=Content-Type content="text/html; charset=windows-1252">
-<meta name=ProgId content=Word.Document>
-<meta name=Generator content="Microsoft Word 9">
-<meta name=Originator content="Microsoft Word 9">
-<link rel=File-List
-href="./Eclipse%20EPL%202003_11_10%20Final_files/filelist.xml">
-<title>Eclipse Public License - Version 1.0</title>
-<!--[if gte mso 9]><xml>
- <o:DocumentProperties>
-  <o:Revision>2</o:Revision>
-  <o:TotalTime>3</o:TotalTime>
-  <o:Created>2004-03-05T23:03:00Z</o:Created>
-  <o:LastSaved>2004-03-05T23:03:00Z</o:LastSaved>
-  <o:Pages>4</o:Pages>
-  <o:Words>1626</o:Words>
-  <o:Characters>9270</o:Characters>
-   <o:Lines>77</o:Lines>
-  <o:Paragraphs>18</o:Paragraphs>
-  <o:CharactersWithSpaces>11384</o:CharactersWithSpaces>
-  <o:Version>9.4402</o:Version>
- </o:DocumentProperties>
-</xml><![endif]--><!--[if gte mso 9]><xml>
- <w:WordDocument>
-  <w:TrackRevisions/>
- </w:WordDocument>
-</xml><![endif]-->
-<style>
-<!--
- /* Font Definitions */
-@font-face
-	{font-family:Tahoma;
-	panose-1:2 11 6 4 3 5 4 4 2 4;
-	mso-font-charset:0;
-	mso-generic-font-family:swiss;
-	mso-font-pitch:variable;
-	mso-font-signature:553679495 -2147483648 8 0 66047 0;}
- /* Style Definitions */
-p.MsoNormal, li.MsoNormal, div.MsoNormal
-	{mso-style-parent:"";
-	margin:0in;
-	margin-bottom:.0001pt;
-	mso-pagination:widow-orphan;
-	font-size:12.0pt;
-	font-family:"Times New Roman";
-	mso-fareast-font-family:"Times New Roman";}
-p
-	{margin-right:0in;
-	mso-margin-top-alt:auto;
-	mso-margin-bottom-alt:auto;
-	margin-left:0in;
-	mso-pagination:widow-orphan;
-	font-size:12.0pt;
-	font-family:"Times New Roman";
-	mso-fareast-font-family:"Times New Roman";}
-p.BalloonText, li.BalloonText, div.BalloonText
-	{mso-style-name:"Balloon Text";
-	margin:0in;
-	margin-bottom:.0001pt;
-	mso-pagination:widow-orphan;
-	font-size:8.0pt;
-	font-family:Tahoma;
-	mso-fareast-font-family:"Times New Roman";}
-@page Section1
-	{size:8.5in 11.0in;
-	margin:1.0in 1.25in 1.0in 1.25in;
-	mso-header-margin:.5in;
-	mso-footer-margin:.5in;
-	mso-paper-source:0;}
-div.Section1
-	{page:Section1;}
--->
-</style>
-</head>
-
-<body lang=EN-US style='tab-interval:.5in'>
-
-<div class=Section1>
-
-<p align=center style='text-align:center'><b>Eclipse Public License - v 1.0</b>
-</p>
-
-<p><span style='font-size:10.0pt'>THE ACCOMPANYING PROGRAM IS PROVIDED UNDER
-THE TERMS OF THIS ECLIPSE PUBLIC LICENSE (&quot;AGREEMENT&quot;). ANY USE,
-REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE
-OF THIS AGREEMENT.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>1. DEFINITIONS</span></b> </p>
-
-<p><span style='font-size:10.0pt'>&quot;Contribution&quot; means:</span> </p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-in the case of the initial Contributor, the initial code and documentation
-distributed under this Agreement, and<br clear=left>
-b) in the case of each subsequent Contributor:</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>i)
-changes to the Program, and</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>ii)
-additions to the Program;</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>where
-such changes and/or additions to the Program originate from and are distributed
-by that particular Contributor. A Contribution 'originates' from a Contributor
-if it was added to the Program by such Contributor itself or anyone acting on
-such Contributor's behalf. Contributions do not include additions to the
-Program which: (i) are separate modules of software distributed in conjunction
-with the Program under their own license agreement, and (ii) are not derivative
-works of the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>&quot;Contributor&quot; means any person or
-entity that distributes the Program.</span> </p>
-
-<p><span style='font-size:10.0pt'>&quot;Licensed Patents &quot; mean patent
-claims licensable by a Contributor which are necessarily infringed by the use
-or sale of its Contribution alone or when combined with the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>&quot;Program&quot; means the Contributions
-distributed in accordance with this Agreement.</span> </p>
-
-<p><span style='font-size:10.0pt'>&quot;Recipient&quot; means anyone who
-receives the Program under this Agreement, including all Contributors.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>2. GRANT OF RIGHTS</span></b> </p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-Subject to the terms of this Agreement, each Contributor hereby grants Recipient
-a non-exclusive, worldwide, royalty-free copyright license to<span
-style='color:red'> </span>reproduce, prepare derivative works of, publicly
-display, publicly perform, distribute and sublicense the Contribution of such
-Contributor, if any, and such derivative works, in source code and object code
-form.</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b)
-Subject to the terms of this Agreement, each Contributor hereby grants
-Recipient a non-exclusive, worldwide,<span style='color:green'> </span>royalty-free
-patent license under Licensed Patents to make, use, sell, offer to sell, import
-and otherwise transfer the Contribution of such Contributor, if any, in source
-code and object code form. This patent license shall apply to the combination
-of the Contribution and the Program if, at the time the Contribution is added
-by the Contributor, such addition of the Contribution causes such combination
-to be covered by the Licensed Patents. The patent license shall not apply to
-any other combinations which include the Contribution. No hardware per se is
-licensed hereunder. </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>c)
-Recipient understands that although each Contributor grants the licenses to its
-Contributions set forth herein, no assurances are provided by any Contributor
-that the Program does not infringe the patent or other intellectual property
-rights of any other entity. Each Contributor disclaims any liability to Recipient
-for claims brought by any other entity based on infringement of intellectual
-property rights or otherwise. As a condition to exercising the rights and
-licenses granted hereunder, each Recipient hereby assumes sole responsibility
-to secure any other intellectual property rights needed, if any. For example,
-if a third party patent license is required to allow Recipient to distribute
-the Program, it is Recipient's responsibility to acquire that license before
-distributing the Program.</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>d)
-Each Contributor represents that to its knowledge it has sufficient copyright
-rights in its Contribution, if any, to grant the copyright license set forth in
-this Agreement. </span></p>
-
-<p><b><span style='font-size:10.0pt'>3. REQUIREMENTS</span></b> </p>
-
-<p><span style='font-size:10.0pt'>A Contributor may choose to distribute the
-Program in object code form under its own license agreement, provided that:</span>
-</p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-it complies with the terms and conditions of this Agreement; and</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b)
-its license agreement:</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>i)
-effectively disclaims on behalf of all Contributors all warranties and
-conditions, express and implied, including warranties or conditions of title
-and non-infringement, and implied warranties or conditions of merchantability
-and fitness for a particular purpose; </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>ii)
-effectively excludes on behalf of all Contributors all liability for damages,
-including direct, indirect, special, incidental and consequential damages, such
-as lost profits; </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>iii)
-states that any provisions which differ from this Agreement are offered by that
-Contributor alone and not by any other party; and</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>iv)
-states that source code for the Program is available from such Contributor, and
-informs licensees how to obtain it in a reasonable manner on or through a
-medium customarily used for software exchange.<span style='color:blue'> </span></span></p>
-
-<p><span style='font-size:10.0pt'>When the Program is made available in source
-code form:</span> </p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-it must be made available under this Agreement; and </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b) a
-copy of this Agreement must be included with each copy of the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>Contributors may not remove or alter any
-copyright notices contained within the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>Each Contributor must identify itself as the
-originator of its Contribution, if any, in a manner that reasonably allows
-subsequent Recipients to identify the originator of the Contribution. </span></p>
-
-<p><b><span style='font-size:10.0pt'>4. COMMERCIAL DISTRIBUTION</span></b> </p>
-
-<p><span style='font-size:10.0pt'>Commercial distributors of software may
-accept certain responsibilities with respect to end users, business partners
-and the like. While this license is intended to facilitate the commercial use
-of the Program, the Contributor who includes the Program in a commercial
-product offering should do so in a manner which does not create potential
-liability for other Contributors. Therefore, if a Contributor includes the
-Program in a commercial product offering, such Contributor (&quot;Commercial
-Contributor&quot;) hereby agrees to defend and indemnify every other
-Contributor (&quot;Indemnified Contributor&quot;) against any losses, damages and
-costs (collectively &quot;Losses&quot;) arising from claims, lawsuits and other
-legal actions brought by a third party against the Indemnified Contributor to
-the extent caused by the acts or omissions of such Commercial Contributor in
-connection with its distribution of the Program in a commercial product
-offering. The obligations in this section do not apply to any claims or Losses
-relating to any actual or alleged intellectual property infringement. In order
-to qualify, an Indemnified Contributor must: a) promptly notify the Commercial
-Contributor in writing of such claim, and b) allow the Commercial Contributor
-to control, and cooperate with the Commercial Contributor in, the defense and
-any related settlement negotiations. The Indemnified Contributor may participate
-in any such claim at its own expense.</span> </p>
-
-<p><span style='font-size:10.0pt'>For example, a Contributor might include the
-Program in a commercial product offering, Product X. That Contributor is then a
-Commercial Contributor. If that Commercial Contributor then makes performance
-claims, or offers warranties related to Product X, those performance claims and
-warranties are such Commercial Contributor's responsibility alone. Under this
-section, the Commercial Contributor would have to defend claims against the
-other Contributors related to those performance claims and warranties, and if a
-court requires any other Contributor to pay any damages as a result, the
-Commercial Contributor must pay those damages.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>5. NO WARRANTY</span></b> </p>
-
-<p><span style='font-size:10.0pt'>EXCEPT AS EXPRESSLY SET FORTH IN THIS
-AGREEMENT, THE PROGRAM IS PROVIDED ON AN &quot;AS IS&quot; BASIS, WITHOUT
-WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING,
-WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT,
-MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely
-responsible for determining the appropriateness of using and distributing the
-Program and assumes all risks associated with its exercise of rights under this
-Agreement , including but not limited to the risks and costs of program errors,
-compliance with applicable laws, damage to or loss of data, programs or
-equipment, and unavailability or interruption of operations. </span></p>
-
-<p><b><span style='font-size:10.0pt'>6. DISCLAIMER OF LIABILITY</span></b> </p>
-
-<p><span style='font-size:10.0pt'>EXCEPT AS EXPRESSLY SET FORTH IN THIS
-AGREEMENT, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR
-ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-(INCLUDING WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY
-OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF
-THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF
-THE POSSIBILITY OF SUCH DAMAGES.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>7. GENERAL</span></b> </p>
-
-<p><span style='font-size:10.0pt'>If any provision of this Agreement is invalid
-or unenforceable under applicable law, it shall not affect the validity or
-enforceability of the remainder of the terms of this Agreement, and without
-further action by the parties hereto, such provision shall be reformed to the
-minimum extent necessary to make such provision valid and enforceable.</span> </p>
-
-<p><span style='font-size:10.0pt'>If Recipient institutes patent litigation
-against any entity (including a cross-claim or counterclaim in a lawsuit)
-alleging that the Program itself (excluding combinations of the Program with
-other software or hardware) infringes such Recipient's patent(s), then such
-Recipient's rights granted under Section 2(b) shall terminate as of the date
-such litigation is filed. </span></p>
-
-<p><span style='font-size:10.0pt'>All Recipient's rights under this Agreement
-shall terminate if it fails to comply with any of the material terms or
-conditions of this Agreement and does not cure such failure in a reasonable
-period of time after becoming aware of such noncompliance. If all Recipient's
-rights under this Agreement terminate, Recipient agrees to cease use and
-distribution of the Program as soon as reasonably practicable. However,
-Recipient's obligations under this Agreement and any licenses granted by
-Recipient relating to the Program shall continue and survive. </span></p>
-
-<p><span style='font-size:10.0pt'>Everyone is permitted to copy and distribute
-copies of this Agreement, but in order to avoid inconsistency the Agreement is
-copyrighted and may only be modified in the following manner. The Agreement
-Steward reserves the right to publish new versions (including revisions) of
-this Agreement from time to time. No one other than the Agreement Steward has
-the right to modify this Agreement. The Eclipse Foundation is the initial
-Agreement Steward. The Eclipse Foundation may assign the responsibility to
-serve as the Agreement Steward to a suitable separate entity. Each new version
-of the Agreement will be given a distinguishing version number. The Program
-(including Contributions) may always be distributed subject to the version of
-the Agreement under which it was received. In addition, after a new version of
-the Agreement is published, Contributor may elect to distribute the Program
-(including its Contributions) under the new version. Except as expressly stated
-in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to
-the intellectual property of any Contributor under this Agreement, whether
-expressly, by implication, estoppel or otherwise. All rights in the Program not
-expressly granted under this Agreement are reserved.</span> </p>
-
-<p><span style='font-size:10.0pt'>This Agreement is governed by the laws of the
-State of New York and the intellectual property laws of the United States of
-America. No party to this Agreement will bring a legal action under this
-Agreement more than one year after the cause of action arose. Each party waives
-its rights to a jury trial in any resulting litigation.</span> </p>
-
-<p class=MsoNormal><![if !supportEmptyParas]>&nbsp;<![endif]><o:p></o:p></p>
-
-</div>
-
-</body>
-
-</html>
\ No newline at end of file
diff --git a/features/org.eclipse.wst.common_ui.feature/feature.properties b/features/org.eclipse.wst.common_ui.feature/feature.properties
deleted file mode 100644
index e10fba2..0000000
--- a/features/org.eclipse.wst.common_ui.feature/feature.properties
+++ /dev/null
@@ -1,168 +0,0 @@
-###############################################################################
-# Copyright (c) 2006 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-# feature.properties
-# contains externalized strings for feature.xml
-# "%foo" in feature.xml corresponds to the key "foo" in this file
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# This file should be translated.
-
-# "featureName" property - name of the feature
-featureName=WST Common UI
-
-# "providerName" property - name of the company that provides the feature
-providerName=Eclipse Web Tools Platform
-
-
-# "description" property - description of the feature
-description=WST common UI functionality.
-
-# "copyright" property - text of the "Feature Update Copyright"
-copyright=\
-Copyright (c) 2006 IBM Corporation and others.\n\
-All rights reserved. This program and the accompanying materials\n\
-are made available under the terms of the Eclipse Public License v1.0\n\
-which accompanies this distribution, and is available at\n\
-http://www.eclipse.org/legal/epl-v10.html\n\
-\n\
-Contributors:\n\
-    IBM Corporation - initial API and implementation\n
-################ end of copyright property ####################################
-
-# "licenseURL" property - URL of the "Feature License"
-# do not translate value - just change to point to a locale-specific HTML page
-licenseURL=license.html
-
-# "license" property - text of the "Feature Update License"
-# should be plain text version of license agreement pointed to be "licenseURL"
-license=\
-Eclipse Foundation Software User Agreement\n\
-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_ui.feature/feature.xml b/features/org.eclipse.wst.common_ui.feature/feature.xml
deleted file mode 100644
index 8271990..0000000
--- a/features/org.eclipse.wst.common_ui.feature/feature.xml
+++ /dev/null
@@ -1,80 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature
-      id="org.eclipse.wst.common_ui.feature"
-      label="%featureName"
-      version="3.2.5.qualifier"
-      provider-name="%providerName">
-
-   <description>
-      %description
-   </description>
-
-   <copyright>
-      %copyright
-   </copyright>
-
-   <license url="%licenseURL">
-      %license
-   </license>
-
-   <includes
-         id="org.eclipse.wst.common_core.feature"
-         version="0.0.0"/>
-
-   <plugin
-         id="org.eclipse.wst.common.frameworks.ui"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.wst.common.infopop"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.wst.common.snippets"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.wst.common.ui"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.wst.common.modulecore.ui"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.wst.internet.cache"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.wst.validation.ui"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.wst.validation.infopop"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-</feature>
diff --git a/features/org.eclipse.wst.common_ui.feature/license.html b/features/org.eclipse.wst.common_ui.feature/license.html
deleted file mode 100644
index c184ca3..0000000
--- a/features/org.eclipse.wst.common_ui.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_ui.feature/sourceTemplateBundle/about.html b/features/org.eclipse.wst.common_ui.feature/sourceTemplateBundle/about.html
deleted file mode 100644
index fe81d46..0000000
--- a/features/org.eclipse.wst.common_ui.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_ui.feature/sourceTemplateBundle/about.ini b/features/org.eclipse.wst.common_ui.feature/sourceTemplateBundle/about.ini
deleted file mode 100644
index fda5a40..0000000
--- a/features/org.eclipse.wst.common_ui.feature/sourceTemplateBundle/about.ini
+++ /dev/null
@@ -1,31 +0,0 @@
-# about.ini
-# contains information about a feature
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# "%key" are externalized strings defined in about.properties
-# This file does not need to be translated.
-
-# Property "aboutText" contains blurb for "About" dialog (translated)
-aboutText=%blurb
-
-# Property "windowImage" contains path to window icon (16x16)
-# needed for primary features only
-
-# Property "featureImage" contains path to feature image (32x32)
-featureImage=wtp_prod32.png
-
-# Property "aboutImage" contains path to product image (500x330 or 115x164)
-# needed for primary features only
-
-# Property "appName" contains name of the application (not translated)
-# needed for primary features only
-
-# Property "welcomePage" contains path to welcome page (special XML-based format)
-# optional
-
-# Property "welcomePerspective" contains the id of the perspective in which the
-# welcome page is to be opened.
-# optional
-
-
-
-
diff --git a/features/org.eclipse.wst.common_ui.feature/sourceTemplateBundle/about.mappings b/features/org.eclipse.wst.common_ui.feature/sourceTemplateBundle/about.mappings
deleted file mode 100644
index a28390a..0000000
--- a/features/org.eclipse.wst.common_ui.feature/sourceTemplateBundle/about.mappings
+++ /dev/null
@@ -1,6 +0,0 @@
-# about.mappings
-# contains fill-ins for about.properties
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# This file does not need to be translated.
-
-0=@build@
diff --git a/features/org.eclipse.wst.common_ui.feature/sourceTemplateBundle/about.properties b/features/org.eclipse.wst.common_ui.feature/sourceTemplateBundle/about.properties
deleted file mode 100644
index 40314ea..0000000
--- a/features/org.eclipse.wst.common_ui.feature/sourceTemplateBundle/about.properties
+++ /dev/null
@@ -1,26 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2005 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-# about.properties
-# contains externalized strings for about.ini
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# fill-ins are supplied by about.mappings
-# This file should be translated.
-#
-# Do not translate any values surrounded by {}
-
-blurb=Web Standard Tools - Common UI\n\
-\n\
-Version: {featureVersion}\n\
-Build id: {0}\n\
-\n\
-(c) Copyright Eclipse contributors and others 2005.  All rights reserved.\n\
-Visit http://www.eclipse.org/webtools
-
diff --git a/features/org.eclipse.wst.common_ui.feature/sourceTemplateBundle/build.properties b/features/org.eclipse.wst.common_ui.feature/sourceTemplateBundle/build.properties
deleted file mode 100644
index 30a575c..0000000
--- a/features/org.eclipse.wst.common_ui.feature/sourceTemplateBundle/build.properties
+++ /dev/null
@@ -1,3 +0,0 @@
-
-bin.includes = about.html, about.ini, about.mappings, about.properties, wtp_prod32.png, plugin.properties, plugin.xml, src/**, META-INF/
-sourcePlugin = true
diff --git a/features/org.eclipse.wst.common_ui.feature/sourceTemplateBundle/plugin.properties b/features/org.eclipse.wst.common_ui.feature/sourceTemplateBundle/plugin.properties
deleted file mode 100644
index 4c0b73c..0000000
--- a/features/org.eclipse.wst.common_ui.feature/sourceTemplateBundle/plugin.properties
+++ /dev/null
@@ -1,12 +0,0 @@
-###############################################################################
-# Copyright (c) 2005 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-pluginName=Web Standard Tools - Common UI Source
-providerName=Eclipse.org
diff --git a/features/org.eclipse.wst.common_ui.feature/sourceTemplateBundle/wtp_prod32.gif b/features/org.eclipse.wst.common_ui.feature/sourceTemplateBundle/wtp_prod32.gif
deleted file mode 100644
index eefb44a..0000000
--- a/features/org.eclipse.wst.common_ui.feature/sourceTemplateBundle/wtp_prod32.gif
+++ /dev/null
Binary files differ
diff --git a/features/org.eclipse.wst.common_ui.feature/sourceTemplateBundle/wtp_prod32.png b/features/org.eclipse.wst.common_ui.feature/sourceTemplateBundle/wtp_prod32.png
deleted file mode 100644
index bfceab3..0000000
--- a/features/org.eclipse.wst.common_ui.feature/sourceTemplateBundle/wtp_prod32.png
+++ /dev/null
Binary files differ
diff --git a/features/org.eclipse.wst.common_ui.feature/sourceTemplateFeature/build.properties b/features/org.eclipse.wst.common_ui.feature/sourceTemplateFeature/build.properties
deleted file mode 100644
index e4a7dd7..0000000
--- a/features/org.eclipse.wst.common_ui.feature/sourceTemplateFeature/build.properties
+++ /dev/null
@@ -1,16 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2005 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-bin.includes = epl-v10.html,\
-               eclipse_update_120.jpg,\
-               feature.properties,\
-               license.html,\
-               feature.xml
-generate.feature@org.eclipse.wst.common_core.feature.source=org.eclipse.wst.common_core.feature
diff --git a/features/org.eclipse.wst.common_ui.feature/sourceTemplateFeature/eclipse_update_120.jpg b/features/org.eclipse.wst.common_ui.feature/sourceTemplateFeature/eclipse_update_120.jpg
deleted file mode 100644
index bfdf708..0000000
--- a/features/org.eclipse.wst.common_ui.feature/sourceTemplateFeature/eclipse_update_120.jpg
+++ /dev/null
Binary files differ
diff --git a/features/org.eclipse.wst.common_ui.feature/sourceTemplateFeature/epl-v10.html b/features/org.eclipse.wst.common_ui.feature/sourceTemplateFeature/epl-v10.html
deleted file mode 100644
index 022ad29..0000000
--- a/features/org.eclipse.wst.common_ui.feature/sourceTemplateFeature/epl-v10.html
+++ /dev/null
@@ -1,328 +0,0 @@
-<html xmlns:o="urn:schemas-microsoft-com:office:office"
-xmlns:w="urn:schemas-microsoft-com:office:word"
-xmlns="http://www.w3.org/TR/REC-html40">
-
-<head>
-<meta http-equiv=Content-Type content="text/html; charset=windows-1252">
-<meta name=ProgId content=Word.Document>
-<meta name=Generator content="Microsoft Word 9">
-<meta name=Originator content="Microsoft Word 9">
-<link rel=File-List
-href="./Eclipse%20EPL%202003_11_10%20Final_files/filelist.xml">
-<title>Eclipse Public License - Version 1.0</title>
-<!--[if gte mso 9]><xml>
- <o:DocumentProperties>
-  <o:Revision>2</o:Revision>
-  <o:TotalTime>3</o:TotalTime>
-  <o:Created>2004-03-05T23:03:00Z</o:Created>
-  <o:LastSaved>2004-03-05T23:03:00Z</o:LastSaved>
-  <o:Pages>4</o:Pages>
-  <o:Words>1626</o:Words>
-  <o:Characters>9270</o:Characters>
-   <o:Lines>77</o:Lines>
-  <o:Paragraphs>18</o:Paragraphs>
-  <o:CharactersWithSpaces>11384</o:CharactersWithSpaces>
-  <o:Version>9.4402</o:Version>
- </o:DocumentProperties>
-</xml><![endif]--><!--[if gte mso 9]><xml>
- <w:WordDocument>
-  <w:TrackRevisions/>
- </w:WordDocument>
-</xml><![endif]-->
-<style>
-<!--
- /* Font Definitions */
-@font-face
-	{font-family:Tahoma;
-	panose-1:2 11 6 4 3 5 4 4 2 4;
-	mso-font-charset:0;
-	mso-generic-font-family:swiss;
-	mso-font-pitch:variable;
-	mso-font-signature:553679495 -2147483648 8 0 66047 0;}
- /* Style Definitions */
-p.MsoNormal, li.MsoNormal, div.MsoNormal
-	{mso-style-parent:"";
-	margin:0in;
-	margin-bottom:.0001pt;
-	mso-pagination:widow-orphan;
-	font-size:12.0pt;
-	font-family:"Times New Roman";
-	mso-fareast-font-family:"Times New Roman";}
-p
-	{margin-right:0in;
-	mso-margin-top-alt:auto;
-	mso-margin-bottom-alt:auto;
-	margin-left:0in;
-	mso-pagination:widow-orphan;
-	font-size:12.0pt;
-	font-family:"Times New Roman";
-	mso-fareast-font-family:"Times New Roman";}
-p.BalloonText, li.BalloonText, div.BalloonText
-	{mso-style-name:"Balloon Text";
-	margin:0in;
-	margin-bottom:.0001pt;
-	mso-pagination:widow-orphan;
-	font-size:8.0pt;
-	font-family:Tahoma;
-	mso-fareast-font-family:"Times New Roman";}
-@page Section1
-	{size:8.5in 11.0in;
-	margin:1.0in 1.25in 1.0in 1.25in;
-	mso-header-margin:.5in;
-	mso-footer-margin:.5in;
-	mso-paper-source:0;}
-div.Section1
-	{page:Section1;}
--->
-</style>
-</head>
-
-<body lang=EN-US style='tab-interval:.5in'>
-
-<div class=Section1>
-
-<p align=center style='text-align:center'><b>Eclipse Public License - v 1.0</b>
-</p>
-
-<p><span style='font-size:10.0pt'>THE ACCOMPANYING PROGRAM IS PROVIDED UNDER
-THE TERMS OF THIS ECLIPSE PUBLIC LICENSE (&quot;AGREEMENT&quot;). ANY USE,
-REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE
-OF THIS AGREEMENT.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>1. DEFINITIONS</span></b> </p>
-
-<p><span style='font-size:10.0pt'>&quot;Contribution&quot; means:</span> </p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-in the case of the initial Contributor, the initial code and documentation
-distributed under this Agreement, and<br clear=left>
-b) in the case of each subsequent Contributor:</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>i)
-changes to the Program, and</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>ii)
-additions to the Program;</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>where
-such changes and/or additions to the Program originate from and are distributed
-by that particular Contributor. A Contribution 'originates' from a Contributor
-if it was added to the Program by such Contributor itself or anyone acting on
-such Contributor's behalf. Contributions do not include additions to the
-Program which: (i) are separate modules of software distributed in conjunction
-with the Program under their own license agreement, and (ii) are not derivative
-works of the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>&quot;Contributor&quot; means any person or
-entity that distributes the Program.</span> </p>
-
-<p><span style='font-size:10.0pt'>&quot;Licensed Patents &quot; mean patent
-claims licensable by a Contributor which are necessarily infringed by the use
-or sale of its Contribution alone or when combined with the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>&quot;Program&quot; means the Contributions
-distributed in accordance with this Agreement.</span> </p>
-
-<p><span style='font-size:10.0pt'>&quot;Recipient&quot; means anyone who
-receives the Program under this Agreement, including all Contributors.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>2. GRANT OF RIGHTS</span></b> </p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-Subject to the terms of this Agreement, each Contributor hereby grants Recipient
-a non-exclusive, worldwide, royalty-free copyright license to<span
-style='color:red'> </span>reproduce, prepare derivative works of, publicly
-display, publicly perform, distribute and sublicense the Contribution of such
-Contributor, if any, and such derivative works, in source code and object code
-form.</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b)
-Subject to the terms of this Agreement, each Contributor hereby grants
-Recipient a non-exclusive, worldwide,<span style='color:green'> </span>royalty-free
-patent license under Licensed Patents to make, use, sell, offer to sell, import
-and otherwise transfer the Contribution of such Contributor, if any, in source
-code and object code form. This patent license shall apply to the combination
-of the Contribution and the Program if, at the time the Contribution is added
-by the Contributor, such addition of the Contribution causes such combination
-to be covered by the Licensed Patents. The patent license shall not apply to
-any other combinations which include the Contribution. No hardware per se is
-licensed hereunder. </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>c)
-Recipient understands that although each Contributor grants the licenses to its
-Contributions set forth herein, no assurances are provided by any Contributor
-that the Program does not infringe the patent or other intellectual property
-rights of any other entity. Each Contributor disclaims any liability to Recipient
-for claims brought by any other entity based on infringement of intellectual
-property rights or otherwise. As a condition to exercising the rights and
-licenses granted hereunder, each Recipient hereby assumes sole responsibility
-to secure any other intellectual property rights needed, if any. For example,
-if a third party patent license is required to allow Recipient to distribute
-the Program, it is Recipient's responsibility to acquire that license before
-distributing the Program.</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>d)
-Each Contributor represents that to its knowledge it has sufficient copyright
-rights in its Contribution, if any, to grant the copyright license set forth in
-this Agreement. </span></p>
-
-<p><b><span style='font-size:10.0pt'>3. REQUIREMENTS</span></b> </p>
-
-<p><span style='font-size:10.0pt'>A Contributor may choose to distribute the
-Program in object code form under its own license agreement, provided that:</span>
-</p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-it complies with the terms and conditions of this Agreement; and</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b)
-its license agreement:</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>i)
-effectively disclaims on behalf of all Contributors all warranties and
-conditions, express and implied, including warranties or conditions of title
-and non-infringement, and implied warranties or conditions of merchantability
-and fitness for a particular purpose; </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>ii)
-effectively excludes on behalf of all Contributors all liability for damages,
-including direct, indirect, special, incidental and consequential damages, such
-as lost profits; </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>iii)
-states that any provisions which differ from this Agreement are offered by that
-Contributor alone and not by any other party; and</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>iv)
-states that source code for the Program is available from such Contributor, and
-informs licensees how to obtain it in a reasonable manner on or through a
-medium customarily used for software exchange.<span style='color:blue'> </span></span></p>
-
-<p><span style='font-size:10.0pt'>When the Program is made available in source
-code form:</span> </p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-it must be made available under this Agreement; and </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b) a
-copy of this Agreement must be included with each copy of the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>Contributors may not remove or alter any
-copyright notices contained within the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>Each Contributor must identify itself as the
-originator of its Contribution, if any, in a manner that reasonably allows
-subsequent Recipients to identify the originator of the Contribution. </span></p>
-
-<p><b><span style='font-size:10.0pt'>4. COMMERCIAL DISTRIBUTION</span></b> </p>
-
-<p><span style='font-size:10.0pt'>Commercial distributors of software may
-accept certain responsibilities with respect to end users, business partners
-and the like. While this license is intended to facilitate the commercial use
-of the Program, the Contributor who includes the Program in a commercial
-product offering should do so in a manner which does not create potential
-liability for other Contributors. Therefore, if a Contributor includes the
-Program in a commercial product offering, such Contributor (&quot;Commercial
-Contributor&quot;) hereby agrees to defend and indemnify every other
-Contributor (&quot;Indemnified Contributor&quot;) against any losses, damages and
-costs (collectively &quot;Losses&quot;) arising from claims, lawsuits and other
-legal actions brought by a third party against the Indemnified Contributor to
-the extent caused by the acts or omissions of such Commercial Contributor in
-connection with its distribution of the Program in a commercial product
-offering. The obligations in this section do not apply to any claims or Losses
-relating to any actual or alleged intellectual property infringement. In order
-to qualify, an Indemnified Contributor must: a) promptly notify the Commercial
-Contributor in writing of such claim, and b) allow the Commercial Contributor
-to control, and cooperate with the Commercial Contributor in, the defense and
-any related settlement negotiations. The Indemnified Contributor may participate
-in any such claim at its own expense.</span> </p>
-
-<p><span style='font-size:10.0pt'>For example, a Contributor might include the
-Program in a commercial product offering, Product X. That Contributor is then a
-Commercial Contributor. If that Commercial Contributor then makes performance
-claims, or offers warranties related to Product X, those performance claims and
-warranties are such Commercial Contributor's responsibility alone. Under this
-section, the Commercial Contributor would have to defend claims against the
-other Contributors related to those performance claims and warranties, and if a
-court requires any other Contributor to pay any damages as a result, the
-Commercial Contributor must pay those damages.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>5. NO WARRANTY</span></b> </p>
-
-<p><span style='font-size:10.0pt'>EXCEPT AS EXPRESSLY SET FORTH IN THIS
-AGREEMENT, THE PROGRAM IS PROVIDED ON AN &quot;AS IS&quot; BASIS, WITHOUT
-WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING,
-WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT,
-MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely
-responsible for determining the appropriateness of using and distributing the
-Program and assumes all risks associated with its exercise of rights under this
-Agreement , including but not limited to the risks and costs of program errors,
-compliance with applicable laws, damage to or loss of data, programs or
-equipment, and unavailability or interruption of operations. </span></p>
-
-<p><b><span style='font-size:10.0pt'>6. DISCLAIMER OF LIABILITY</span></b> </p>
-
-<p><span style='font-size:10.0pt'>EXCEPT AS EXPRESSLY SET FORTH IN THIS
-AGREEMENT, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR
-ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-(INCLUDING WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY
-OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF
-THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF
-THE POSSIBILITY OF SUCH DAMAGES.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>7. GENERAL</span></b> </p>
-
-<p><span style='font-size:10.0pt'>If any provision of this Agreement is invalid
-or unenforceable under applicable law, it shall not affect the validity or
-enforceability of the remainder of the terms of this Agreement, and without
-further action by the parties hereto, such provision shall be reformed to the
-minimum extent necessary to make such provision valid and enforceable.</span> </p>
-
-<p><span style='font-size:10.0pt'>If Recipient institutes patent litigation
-against any entity (including a cross-claim or counterclaim in a lawsuit)
-alleging that the Program itself (excluding combinations of the Program with
-other software or hardware) infringes such Recipient's patent(s), then such
-Recipient's rights granted under Section 2(b) shall terminate as of the date
-such litigation is filed. </span></p>
-
-<p><span style='font-size:10.0pt'>All Recipient's rights under this Agreement
-shall terminate if it fails to comply with any of the material terms or
-conditions of this Agreement and does not cure such failure in a reasonable
-period of time after becoming aware of such noncompliance. If all Recipient's
-rights under this Agreement terminate, Recipient agrees to cease use and
-distribution of the Program as soon as reasonably practicable. However,
-Recipient's obligations under this Agreement and any licenses granted by
-Recipient relating to the Program shall continue and survive. </span></p>
-
-<p><span style='font-size:10.0pt'>Everyone is permitted to copy and distribute
-copies of this Agreement, but in order to avoid inconsistency the Agreement is
-copyrighted and may only be modified in the following manner. The Agreement
-Steward reserves the right to publish new versions (including revisions) of
-this Agreement from time to time. No one other than the Agreement Steward has
-the right to modify this Agreement. The Eclipse Foundation is the initial
-Agreement Steward. The Eclipse Foundation may assign the responsibility to
-serve as the Agreement Steward to a suitable separate entity. Each new version
-of the Agreement will be given a distinguishing version number. The Program
-(including Contributions) may always be distributed subject to the version of
-the Agreement under which it was received. In addition, after a new version of
-the Agreement is published, Contributor may elect to distribute the Program
-(including its Contributions) under the new version. Except as expressly stated
-in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to
-the intellectual property of any Contributor under this Agreement, whether
-expressly, by implication, estoppel or otherwise. All rights in the Program not
-expressly granted under this Agreement are reserved.</span> </p>
-
-<p><span style='font-size:10.0pt'>This Agreement is governed by the laws of the
-State of New York and the intellectual property laws of the United States of
-America. No party to this Agreement will bring a legal action under this
-Agreement more than one year after the cause of action arose. Each party waives
-its rights to a jury trial in any resulting litigation.</span> </p>
-
-<p class=MsoNormal><![if !supportEmptyParas]>&nbsp;<![endif]><o:p></o:p></p>
-
-</div>
-
-</body>
-
-</html>
diff --git a/features/org.eclipse.wst.common_ui.feature/sourceTemplateFeature/feature.properties b/features/org.eclipse.wst.common_ui.feature/sourceTemplateFeature/feature.properties
deleted file mode 100644
index cdd43ac..0000000
--- a/features/org.eclipse.wst.common_ui.feature/sourceTemplateFeature/feature.properties
+++ /dev/null
@@ -1,169 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2005 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-# feature.properties
-# contains externalized strings for feature.xml
-# "%foo" in feature.xml corresponds to the key "foo" in this file
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# This file should be translated.
-
-# "featureName" property - name of the feature
-featureName=WST Common UI Developer Resources
-
-# "providerName" property - name of the company that provides the feature
-providerName=Eclipse Web Tools Platform
-
-
-# "description" property - description of the feature
-description=Source code zips for WST Common UI.
-
-
-# "copyright" property - text of the "Feature Update Copyright"
-copyright=\
-Copyright (c) 2006 IBM Corporation and others.\n\
-All rights reserved. This program and the accompanying materials\n\
-are made available under the terms of the Eclipse Public License v1.0\n\
-which accompanies this distribution, and is available at\n\
-http://www.eclipse.org/legal/epl-v10.html\n\
-\n\
-Contributors:\n\
-    IBM Corporation - initial API and implementation\n
-################ end of copyright property ####################################
-
-# "licenseURL" property - URL of the "Feature License"
-# do not translate value - just change to point to a locale-specific HTML page
-licenseURL=license.html
-
-# "license" property - text of the "Feature Update License"
-# should be plain text version of license agreement pointed to be "licenseURL"
-license=\
-Eclipse Foundation Software User Agreement\n\
-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_ui.feature/sourceTemplateFeature/license.html b/features/org.eclipse.wst.common_ui.feature/sourceTemplateFeature/license.html
deleted file mode 100644
index c184ca3..0000000
--- a/features/org.eclipse.wst.common_ui.feature/sourceTemplateFeature/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_ui.feature/sourceTemplatePlugin/about.html b/features/org.eclipse.wst.common_ui.feature/sourceTemplatePlugin/about.html
deleted file mode 100644
index fe81d46..0000000
--- a/features/org.eclipse.wst.common_ui.feature/sourceTemplatePlugin/about.html
+++ /dev/null
@@ -1,27 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<html>
-<head>
-<title>About</title>
-<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
-
-<P>June, 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_ui.feature/sourceTemplatePlugin/about.ini b/features/org.eclipse.wst.common_ui.feature/sourceTemplatePlugin/about.ini
deleted file mode 100644
index fda5a40..0000000
--- a/features/org.eclipse.wst.common_ui.feature/sourceTemplatePlugin/about.ini
+++ /dev/null
@@ -1,31 +0,0 @@
-# about.ini
-# contains information about a feature
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# "%key" are externalized strings defined in about.properties
-# This file does not need to be translated.
-
-# Property "aboutText" contains blurb for "About" dialog (translated)
-aboutText=%blurb
-
-# Property "windowImage" contains path to window icon (16x16)
-# needed for primary features only
-
-# Property "featureImage" contains path to feature image (32x32)
-featureImage=wtp_prod32.png
-
-# Property "aboutImage" contains path to product image (500x330 or 115x164)
-# needed for primary features only
-
-# Property "appName" contains name of the application (not translated)
-# needed for primary features only
-
-# Property "welcomePage" contains path to welcome page (special XML-based format)
-# optional
-
-# Property "welcomePerspective" contains the id of the perspective in which the
-# welcome page is to be opened.
-# optional
-
-
-
-
diff --git a/features/org.eclipse.wst.common_ui.feature/sourceTemplatePlugin/about.mappings b/features/org.eclipse.wst.common_ui.feature/sourceTemplatePlugin/about.mappings
deleted file mode 100644
index a28390a..0000000
--- a/features/org.eclipse.wst.common_ui.feature/sourceTemplatePlugin/about.mappings
+++ /dev/null
@@ -1,6 +0,0 @@
-# about.mappings
-# contains fill-ins for about.properties
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# This file does not need to be translated.
-
-0=@build@
diff --git a/features/org.eclipse.wst.common_ui.feature/sourceTemplatePlugin/about.properties b/features/org.eclipse.wst.common_ui.feature/sourceTemplatePlugin/about.properties
deleted file mode 100644
index 40314ea..0000000
--- a/features/org.eclipse.wst.common_ui.feature/sourceTemplatePlugin/about.properties
+++ /dev/null
@@ -1,26 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2005 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-# about.properties
-# contains externalized strings for about.ini
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# fill-ins are supplied by about.mappings
-# This file should be translated.
-#
-# Do not translate any values surrounded by {}
-
-blurb=Web Standard Tools - Common UI\n\
-\n\
-Version: {featureVersion}\n\
-Build id: {0}\n\
-\n\
-(c) Copyright Eclipse contributors and others 2005.  All rights reserved.\n\
-Visit http://www.eclipse.org/webtools
-
diff --git a/features/org.eclipse.wst.common_ui.feature/sourceTemplatePlugin/build.properties b/features/org.eclipse.wst.common_ui.feature/sourceTemplatePlugin/build.properties
deleted file mode 100644
index 30a575c..0000000
--- a/features/org.eclipse.wst.common_ui.feature/sourceTemplatePlugin/build.properties
+++ /dev/null
@@ -1,3 +0,0 @@
-
-bin.includes = about.html, about.ini, about.mappings, about.properties, wtp_prod32.png, plugin.properties, plugin.xml, src/**, META-INF/
-sourcePlugin = true
diff --git a/features/org.eclipse.wst.common_ui.feature/sourceTemplatePlugin/plugin.properties b/features/org.eclipse.wst.common_ui.feature/sourceTemplatePlugin/plugin.properties
deleted file mode 100644
index 4c0b73c..0000000
--- a/features/org.eclipse.wst.common_ui.feature/sourceTemplatePlugin/plugin.properties
+++ /dev/null
@@ -1,12 +0,0 @@
-###############################################################################
-# Copyright (c) 2005 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-pluginName=Web Standard Tools - Common UI Source
-providerName=Eclipse.org
diff --git a/features/org.eclipse.wst.common_ui.feature/sourceTemplatePlugin/wtp_prod32.gif b/features/org.eclipse.wst.common_ui.feature/sourceTemplatePlugin/wtp_prod32.gif
deleted file mode 100644
index eefb44a..0000000
--- a/features/org.eclipse.wst.common_ui.feature/sourceTemplatePlugin/wtp_prod32.gif
+++ /dev/null
Binary files differ
diff --git a/features/org.eclipse.wst.common_ui.feature/sourceTemplatePlugin/wtp_prod32.png b/features/org.eclipse.wst.common_ui.feature/sourceTemplatePlugin/wtp_prod32.png
deleted file mode 100644
index bfceab3..0000000
--- a/features/org.eclipse.wst.common_ui.feature/sourceTemplatePlugin/wtp_prod32.png
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.jst.common.ui/.classpath b/plugins/org.eclipse.jst.common.ui/.classpath
deleted file mode 100644
index 64c5e31..0000000
--- a/plugins/org.eclipse.jst.common.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.ui/.project b/plugins/org.eclipse.jst.common.ui/.project
deleted file mode 100644
index b886d27..0000000
--- a/plugins/org.eclipse.jst.common.ui/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.jst.common.ui</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-	</natures>
-</projectDescription>
diff --git a/plugins/org.eclipse.jst.common.ui/.settings/org.eclipse.jdt.core.prefs b/plugins/org.eclipse.jst.common.ui/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index bf02908..0000000
--- a/plugins/org.eclipse.jst.common.ui/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,74 +0,0 @@
-#Fri Sep 11 19:24:47 PDT 2009
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.5
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=ignore
-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=ignore
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=error
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=error
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=error
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=error
-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=error
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning
-org.eclipse.jdt.core.compiler.problem.nullReference=ignore
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=error
-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=ignore
-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=error
-org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=error
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=ignore
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
-org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=ignore
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=error
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore
-org.eclipse.jdt.core.compiler.problem.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=error
-org.eclipse.jdt.core.compiler.problem.unusedLocal=ignore
-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=error
-org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=ignore
-org.eclipse.jdt.core.compiler.source=1.5
diff --git a/plugins/org.eclipse.jst.common.ui/META-INF/MANIFEST.MF b/plugins/org.eclipse.jst.common.ui/META-INF/MANIFEST.MF
deleted file mode 100644
index 464aa07..0000000
--- a/plugins/org.eclipse.jst.common.ui/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,22 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %Bundle-Name.0
-Bundle-Vendor: %provider
-Bundle-SymbolicName: org.eclipse.jst.common.ui;singleton:=true
-Bundle-Version: 1.0.5.qualifier
-Bundle-Localization: plugin
-Bundle-Activator: org.eclipse.jst.common.ui.internal.JstCommonUIPlugin
-Require-Bundle: org.eclipse.ui;bundle-version="[3.5.0,4.0.0)",
- org.eclipse.core.runtime;bundle-version="[3.5.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.wst.common.modulecore;bundle-version="[1.1.300,2.0.0)",
- org.eclipse.wst.common.modulecore.ui;bundle-version="[1.0.0,2.0.0)",
- org.eclipse.core.resources;bundle-version="[3.5.0,4.0.0)",
- org.eclipse.jst.common.frameworks;bundle-version="1.1.400",
- org.eclipse.wst.common.frameworks;bundle-version="1.2.0",
- org.eclipse.ui.ide;bundle-version="[3.2.0,4.0.0)"
-Bundle-ActivationPolicy: lazy
-Bundle-RequiredExecutionEnvironment: J2SE-1.5
-Export-Package: org.eclipse.jst.common.ui.internal,
- org.eclipse.jst.common.ui.internal.assembly.wizard
diff --git a/plugins/org.eclipse.jst.common.ui/about.html b/plugins/org.eclipse.jst.common.ui/about.html
deleted file mode 100644
index b6ed5b0..0000000
--- a/plugins/org.eclipse.jst.common.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>August, 2009</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.ui/build.properties b/plugins/org.eclipse.jst.common.ui/build.properties
deleted file mode 100644
index 4b147f0..0000000
--- a/plugins/org.eclipse.jst.common.ui/build.properties
+++ /dev/null
@@ -1,18 +0,0 @@
-###############################################################################
-# Copyright (c) 2009 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-# IBM Corporation - initial API and implementation
-###############################################################################
-source.. = src/
-output.. = bin/
-bin.includes = plugin.xml,\
-               .,\
-               icons/,\
-               META-INF/,\
-               about.html,\
-               plugin.properties
diff --git a/plugins/org.eclipse.jst.common.ui/icons/jar_obj.gif b/plugins/org.eclipse.jst.common.ui/icons/jar_obj.gif
deleted file mode 100644
index 2fa1d77..0000000
--- a/plugins/org.eclipse.jst.common.ui/icons/jar_obj.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.jst.common.ui/icons/manifest-classpath-banner.png b/plugins/org.eclipse.jst.common.ui/icons/manifest-classpath-banner.png
deleted file mode 100644
index 7c3e208..0000000
--- a/plugins/org.eclipse.jst.common.ui/icons/manifest-classpath-banner.png
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.jst.common.ui/icons/util-wiz-icon.gif b/plugins/org.eclipse.jst.common.ui/icons/util-wiz-icon.gif
deleted file mode 100644
index 2038b22..0000000
--- a/plugins/org.eclipse.jst.common.ui/icons/util-wiz-icon.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.jst.common.ui/plugin.properties b/plugins/org.eclipse.jst.common.ui/plugin.properties
deleted file mode 100644
index f0ba4b0..0000000
--- a/plugins/org.eclipse.jst.common.ui/plugin.properties
+++ /dev/null
@@ -1,16 +0,0 @@
-###############################################################################
-# Copyright (c) 2009 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-# IBM Corporation - initial API and implementation
-###############################################################################
-provider=Eclipse.org
-
-Bundle-Name.0 = Common JST UI Plug-in
-Archive=Archives from Workspace
-External_Archive=Archives from File System
-Variable=Archive via Path Variable
diff --git a/plugins/org.eclipse.jst.common.ui/plugin.xml b/plugins/org.eclipse.jst.common.ui/plugin.xml
deleted file mode 100644
index 16e598f..0000000
--- a/plugins/org.eclipse.jst.common.ui/plugin.xml
+++ /dev/null
@@ -1,29 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.4"?>
-<plugin>
-
-    <extension
-          point="org.eclipse.wst.common.modulecore.ui.referenceWizardFragment">
-       <referenceFragment
-             class="org.eclipse.jst.common.ui.internal.assembly.wizard.JarReferenceWizardFragment"
-             icon="icons/jar_obj.gif"
-             id="org.eclipse.jst.common.ui.jarReference"
-             name="%Archive">
-       </referenceFragment>
-       <referenceFragment
-             class="org.eclipse.jst.common.ui.internal.assembly.wizard.ExternalJarReferenceWizardFragment"
-             icon="icons/jar_obj.gif"
-             id="org.eclipse.jst.common.ui.externalJarReference"
-             name="%External_Archive">
-       </referenceFragment>
-       <referenceFragment
-             class="org.eclipse.jst.common.ui.internal.assembly.wizard.VariableReferenceWizardFragment"
-             icon="icons/jar_obj.gif"
-             id="org.eclipse.jst.common.ui.variableReference"
-             name="%Variable">
-       </referenceFragment>
-    </extension>
-    <extension point="org.eclipse.wst.common.modulecore.ui.virtualComponentLabelProvider">
-       <provider class="org.eclipse.jst.common.ui.internal.assembly.wizard.ClasspathContainerRefLabelProvider" weight="3"/>
-    </extension>       
-</plugin>
diff --git a/plugins/org.eclipse.jst.common.ui/src/org/eclipse/jst/common/ui/internal/IJstCommonUIConstants.java b/plugins/org.eclipse.jst.common.ui/src/org/eclipse/jst/common/ui/internal/IJstCommonUIConstants.java
deleted file mode 100644
index bb14fb7..0000000
--- a/plugins/org.eclipse.jst.common.ui/src/org/eclipse/jst/common/ui/internal/IJstCommonUIConstants.java
+++ /dev/null
@@ -1,19 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.common.ui.internal;
-
-
-/**
- * @author: Aidyl Kareh
- */
-public interface IJstCommonUIConstants {
-	public static final String DIALOGSTORE_LASTEXTARCHIVE= JstCommonUIPlugin.PLUGIN_ID + ".lastextarchive"; //$NON-NLS-1$
-}
diff --git a/plugins/org.eclipse.jst.common.ui/src/org/eclipse/jst/common/ui/internal/IJstCommonUIContextIds.java b/plugins/org.eclipse.jst.common.ui/src/org/eclipse/jst/common/ui/internal/IJstCommonUIContextIds.java
deleted file mode 100644
index a04afad..0000000
--- a/plugins/org.eclipse.jst.common.ui/src/org/eclipse/jst/common/ui/internal/IJstCommonUIContextIds.java
+++ /dev/null
@@ -1,22 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2010 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.common.ui.internal;
-
-/**
- * @author: Aidyl Kareh
- */
-public interface IJstCommonUIContextIds {
-	//	 New references wizards
-	public static final String DEPLOYMENT_ASSEMBLY_NEW_VARIABLE_REFERENCE_P1 = JstCommonUIPlugin.PLUGIN_ID + ".DEPLOYMENT_ASSEMBLY_NEW_VARIABLE_REFERENCE_P1"; //$NON-NLS-1$
-	public static final String DEPLOYMENT_ASSEMBLY_NEW_EXTERNAL_ARCHIVE_REFERENCE_P1 = JstCommonUIPlugin.PLUGIN_ID + ".DEPLOYMENT_ASSEMBLY_NEW_EXTERNAL_ARCHIVE_REFERENCE_P1"; //$NON-NLS-1$
-	public static final String DEPLOYMENT_ASSEMBLY_NEW_ARCHIVE_REFERENCE_P1 = JstCommonUIPlugin.PLUGIN_ID + ".DEPLOYMENT_ASSEMBLY_NEW_ARCHIVE_REFERENCE_P1"; //$NON-NLS-1$
-	public static final String DEPLOYMENT_ASSEMBLY_PREFERENCE_PAGE_MANIFEST_ENTRIES_TAB = JstCommonUIPlugin.PLUGIN_ID + ".DEPLOYMENT_ASSEMBLY_PREFERENCE_PAGE_MANIFEST_ENTRIES_TAB"; //$NON-NLS-1$
-}
diff --git a/plugins/org.eclipse.jst.common.ui/src/org/eclipse/jst/common/ui/internal/JstCommonUIPlugin.java b/plugins/org.eclipse.jst.common.ui/src/org/eclipse/jst/common/ui/internal/JstCommonUIPlugin.java
deleted file mode 100644
index 57b9ef0..0000000
--- a/plugins/org.eclipse.jst.common.ui/src/org/eclipse/jst/common/ui/internal/JstCommonUIPlugin.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.common.ui.internal;
-
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-import org.osgi.framework.BundleContext;
-
-/**
- * The activator class controls the plug-in life cycle
- */
-public class JstCommonUIPlugin extends AbstractUIPlugin {
-
-	// The plug-in ID
-	public static final String PLUGIN_ID = "org.eclipse.jst.common.ui"; //$NON-NLS-1$
-
-	// The shared instance
-	private static JstCommonUIPlugin plugin;
-	
-	/**
-	 * The constructor
-	 */
-	public JstCommonUIPlugin() {
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * @see org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext)
-	 */
-	public void start(BundleContext context) throws Exception {
-		super.start(context);
-		plugin = this;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * @see org.eclipse.ui.plugin.AbstractUIPlugin#stop(org.osgi.framework.BundleContext)
-	 */
-	public void stop(BundleContext context) throws Exception {
-		plugin = null;
-		super.stop(context);
-	}
-
-	/**
-	 * Returns the shared instance
-	 *
-	 * @return the shared instance
-	 */
-	public static JstCommonUIPlugin getDefault() {
-		return plugin;
-	}
-
-}
diff --git a/plugins/org.eclipse.jst.common.ui/src/org/eclipse/jst/common/ui/internal/Messages.java b/plugins/org.eclipse.jst.common.ui/src/org/eclipse/jst/common/ui/internal/Messages.java
deleted file mode 100644
index e45fd48..0000000
--- a/plugins/org.eclipse.jst.common.ui/src/org/eclipse/jst/common/ui/internal/Messages.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.common.ui.internal;
-
-import org.eclipse.osgi.util.NLS;
-
-public class Messages extends NLS {
-	private static final String BUNDLE_NAME = "org.eclipse.jst.common.ui.internal"; //$NON-NLS-1$
-	public static String ArchiveTitle;
-	public static String ArchiveDescription;
-	public static String ExternalArchiveTitle;
-	public static String ExternalArchiveDescription;
-	public static String ArchiveDialogNewTitle;
-	public static String ArchiveDialogNewDescription;
-	public static String Browse;
-	public static String VariableReferenceTitle;
-	public static String VariableReferenceDescription;
-	public static String AddManifestEntryTaskWizardTitle;
-	public static String AddManifestEntryTaskWizardDesc;
-	public static String ParentProject;
-	public static String CustomEntryButton;
-	public static String Add;
-	public static String Remove;
-	public static String MoveUp;
-	public static String MoveDown;
-	public static String ManifestEntryColumn;
-	public static String ManifestEntrySourceColumn;
-	public static String ConfigureParentLink;
-	public static String InvalidArchivesWarning;
-	
-	static {
-		// initialize resource bundle
-		NLS.initializeMessages(BUNDLE_NAME + ".messages", Messages.class); //$NON-NLS-1$
-	}
-
-	private Messages() {
-	}
-}
diff --git a/plugins/org.eclipse.jst.common.ui/src/org/eclipse/jst/common/ui/internal/assembly/wizard/AddManifestEntryTaskWizard.java b/plugins/org.eclipse.jst.common.ui/src/org/eclipse/jst/common/ui/internal/assembly/wizard/AddManifestEntryTaskWizard.java
deleted file mode 100644
index 65ee3d2..0000000
--- a/plugins/org.eclipse.jst.common.ui/src/org/eclipse/jst/common/ui/internal/assembly/wizard/AddManifestEntryTaskWizard.java
+++ /dev/null
@@ -1,238 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2010 Red Hat and Others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    Rob Stryker - initial implementation and ongoing maintenance
- *    Konstantin Komissarchik - misc. UI cleanup
- ******************************************************************************/
-package org.eclipse.jst.common.ui.internal.assembly.wizard;
-
-import java.lang.reflect.InvocationTargetException;
-import java.util.ArrayList;
-import java.util.Arrays;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.jface.preference.PreferenceDialog;
-import org.eclipse.jface.viewers.ArrayContentProvider;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-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.jst.common.internal.modulecore.util.JavaModuleComponentUtility;
-import org.eclipse.jst.common.ui.internal.JstCommonUIPlugin;
-import org.eclipse.jst.common.ui.internal.Messages;
-import org.eclipse.jst.common.ui.internal.assembly.wizard.ManifestModuleDependencyControl.ManifestLabelProvider;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.ModifyEvent;
-import org.eclipse.swt.events.ModifyListener;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Link;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.internal.IWorkbenchGraphicConstants;
-import org.eclipse.ui.internal.WorkbenchImages;
-import org.eclipse.ui.internal.dialogs.PropertyDialog;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-import org.eclipse.wst.common.componentcore.ComponentCore;
-import org.eclipse.wst.common.componentcore.internal.impl.TaskModel;
-import org.eclipse.wst.common.componentcore.resources.IVirtualReference;
-import org.eclipse.wst.common.componentcore.ui.internal.taskwizard.IWizardHandle;
-import org.eclipse.wst.common.componentcore.ui.internal.taskwizard.TaskWizard;
-import org.eclipse.wst.common.componentcore.ui.internal.taskwizard.WizardFragment;
-
-public class AddManifestEntryTaskWizard extends TaskWizard {
-	public static final String PARENT_PROJECT = "PARENT_PROJECT"; // data model key //$NON-NLS-1$
-	public static final String CHILD_PROJECT = "CHILD_PROJECT"; // data model key //$NON-NLS-1$
-	public static final String CURRENT_REFERENCES = "CURRENT_REFERENCES"; // data model key for return val //$NON-NLS-1$
-	public static final String RETURNED_REFERENCES = "RETURNED_REFERENCES"; // data model key for return val //$NON-NLS-1$
-	public AddManifestEntryTaskWizard() {
-		super(Messages.AddManifestEntryTaskWizardTitle, new ManifestRootFragment());
-	}
-	
-	public static class ManifestRootFragment extends WizardFragment {
-		private TableViewer viewer;
-		private Button addCustom;
-		private Text customEntryText;
-		protected IProject parentProject, childProject;
-		private IVirtualReference[] selected;
-		private ShowPossibleManifestEntryContentProvider contentProvider;
-		private Link parentContainerLink;
-		public boolean hasComposite() {
-			return true;
-		}
-		private void updateWidgets() throws InvocationTargetException {
-		
-			viewer.setInput(ResourcesPlugin.getWorkspace());
-			viewer.refresh();
-		}
-		
-		private static GridLayout glayout( final int columns )
-		{
-			final GridLayout gl = new GridLayout( columns, false );
-			gl.marginWidth = 0;
-			gl.marginHeight = 0;
-			
-			return gl;
-		}
-		
-		public Composite createComposite(Composite parent, IWizardHandle handle) {
-			parentProject = (IProject)getTaskModel().getObject(PARENT_PROJECT);
-			childProject = (IProject)getTaskModel().getObject(CHILD_PROJECT);
-			handle.setTitle(Messages.AddManifestEntryTaskWizardTitle);
-			handle.setDescription(NLS.bind(Messages.AddManifestEntryTaskWizardDesc, parentProject.getName()));
-			handle.setImageDescriptor(WorkbenchImages.getImageDescriptor(IWorkbenchGraphicConstants.IMG_WIZBAN_EXPORT_WIZ));
-			handle.setImageDescriptor( AbstractUIPlugin.imageDescriptorFromPlugin( JstCommonUIPlugin.PLUGIN_ID, "icons/manifest-classpath-banner.png" ) );
-			
-			Composite root = new Composite(parent, SWT.NONE);
-			root.setLayout(glayout(1));
-			
-			viewer = ManifestModuleDependencyControl.createManifestReferenceTableViewer(root, SWT.MULTI);
-			final GridData gData = new GridData(GridData.FILL_BOTH);
-			gData.heightHint = 350;
-			viewer.getTable().setLayoutData(gData);
-			contentProvider = new ShowPossibleManifestEntryContentProvider(parentProject, childProject, getTaskModel());
-			viewer.setContentProvider(contentProvider);
-			viewer.setLabelProvider(new ManifestLabelProvider());
-			viewer.setInput(ResourcesPlugin.getWorkspace());
-			viewer.addSelectionChangedListener(new ISelectionChangedListener() {
-				public void selectionChanged(SelectionChangedEvent event) {
-					viewerSelectionChanged();
-				}
-			});
-			
-			final Composite customEntryComposite = new Composite(root,SWT.NONE);
-			customEntryComposite.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-			customEntryComposite.setLayout(glayout(2));
-			
-			customEntryText = new Text(customEntryComposite, SWT.BORDER);
-			customEntryText.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-			customEntryText.addModifyListener(new ModifyListener() {
-				public void modifyText(ModifyEvent e) {
-					if(customEntryText.getText() == null || customEntryText.getText().trim().length() == 0 || new Path(customEntryText.getText().trim()).makeRelative().toString().length() == 0)
-						addCustom.setEnabled(false);
-					else
-						addCustom.setEnabled(true);
-				} 
-			});
-			
-			addCustom = new Button(customEntryComposite, SWT.PUSH);
-			addCustom.setLayoutData(new GridData());
-			addCustom.setText(Messages.CustomEntryButton);
-			addCustom.addSelectionListener(new SelectionListener() {
-				public void widgetSelected(SelectionEvent e) {
-					addCustomPressed();
-				}
-				public void widgetDefaultSelected(SelectionEvent e) {
-				}
-			});
-			addCustom.setEnabled(false);
-			
-			createConfigLink(root);
-			parentContainerLink.setLayoutData(new GridData());
-			
-			return root;
-		}
-		
-		private void addCustomPressed() {
-			IVirtualReference ref = ManifestModuleDependencyControl.createDummyReference(
-					new Path(customEntryText.getText()).toString(), parentProject, ComponentCore.createComponent(parentProject));
-			contentProvider.addPossibleReference(ref);
-			customEntryText.setText(""); //$NON-NLS-1$
-			addCustom.setEnabled(false);
-			viewer.refresh();
-		}
-		
-		private void viewerSelectionChanged() {
-			IStructuredSelection sel = (IStructuredSelection)viewer.getSelection();
-			Object[] obj = sel.toArray();
-			IVirtualReference[] ret = new IVirtualReference[obj.length];
-			for( int i = 0; i < ret.length; i++ ) {
-				ret[i] = (IVirtualReference)obj[i];
-			}
-			selected = ret;
-		}
-		
-		private void createConfigLink(Composite aGroup){
-			parentContainerLink = new Link(aGroup,SWT.None);
-			parentContainerLink.setText("<A>"+ //$NON-NLS-1$
-					Messages.ConfigureParentLink+"</A>"); //$NON-NLS-1$
-			parentContainerLink.addSelectionListener(new SelectionListener() {
-				
-				public void doLinkActivated(Link e) {
-					IProject parentProject = ManifestRootFragment.this.parentProject;
-					PreferenceDialog dialog = PropertyDialog.createDialogOn(ManifestRootFragment.this.getPage().getControl().getShell(),
-							"org.eclipse.wst.common.componentcore.ui.DeploymentAssemblyPage", parentProject); //$NON-NLS-1$
-					if (dialog != null) {
-						dialog.open();
-					}
-					try {
-						updateWidgets();
-					} catch (InvocationTargetException ie) {
-
-					}
-				}
-
-				public void widgetDefaultSelected(SelectionEvent e) {
-					doLinkActivated((Link) e.widget);					
-				}
-
-				public void widgetSelected(SelectionEvent e) {
-					doLinkActivated((Link) e.widget);					
-				}
-			});
-			
-		}
-		
-		
-		// just return the selected refs
-		public void performFinish(IProgressMonitor monitor) throws CoreException {
-			getTaskModel().putObject(RETURNED_REFERENCES, selected);
-		}
-	}
-	
-	public static class ShowPossibleManifestEntryContentProvider extends ArrayContentProvider {
-		private IProject parent, child;
-		private TaskModel model;
-		private IVirtualReference[] possible;
-		public ShowPossibleManifestEntryContentProvider(IProject parent, IProject child, TaskModel taskModel) {
-			this.parent = parent;
-			this.child = child;
-			this.model = taskModel;
-		}
-		public Object[] getElements(Object inputElement) {
-			if( possible == null ) {
-				IVirtualReference[] current = (IVirtualReference[])model.getObject(CURRENT_REFERENCES);
-				possible = JavaModuleComponentUtility.findPossibleManifestEntries(parent, child, current);
-			}
-			return possible;
-		}
-		public void addPossibleReference(IVirtualReference ref) {
-			ArrayList<IVirtualReference> newRefs = new ArrayList<IVirtualReference>();
-			newRefs.addAll(Arrays.asList(possible));
-			newRefs.add(ref);
-			possible = newRefs.toArray(new IVirtualReference[newRefs.size()]);
-		}
-		@Override
-		public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
-			if (newInput != null) {
-				possible = null;
-				viewer.refresh();
-			}
-		}
-		
-	}
-}
diff --git a/plugins/org.eclipse.jst.common.ui/src/org/eclipse/jst/common/ui/internal/assembly/wizard/ClasspathContainerRefLabelProvider.java b/plugins/org.eclipse.jst.common.ui/src/org/eclipse/jst/common/ui/internal/assembly/wizard/ClasspathContainerRefLabelProvider.java
deleted file mode 100644
index 2238a8c..0000000
--- a/plugins/org.eclipse.jst.common.ui/src/org/eclipse/jst/common/ui/internal/assembly/wizard/ClasspathContainerRefLabelProvider.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2009 Red Hat
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    Rob Stryker - initial implementation and ongoing maintenance
- ******************************************************************************/
-package org.eclipse.jst.common.ui.internal.assembly.wizard;
-
-import java.net.MalformedURLException;
-import java.net.URL;
-
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jst.common.internal.modulecore.ClasspathContainerVirtualComponent;
-import org.eclipse.jst.common.ui.internal.JstCommonUIPlugin;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.wst.common.componentcore.resources.IVirtualComponent;
-import org.eclipse.wst.common.componentcore.ui.internal.propertypage.IVirtualComponentLabelProvider;
-
-public class ClasspathContainerRefLabelProvider implements
-		IVirtualComponentLabelProvider {
-
-	public ClasspathContainerRefLabelProvider() {
-		// TODO Auto-generated constructor stub
-	}
-
-	public boolean canHandle(IVirtualComponent component) {
-		return (component instanceof ClasspathContainerVirtualComponent);
-	}
-
-	public String getSourceText(IVirtualComponent component) {
-		return ((ClasspathContainerVirtualComponent)component).getClasspathContainerPath();
-	}
-
-	private Image image;
-	public Image getSourceImage(IVirtualComponent component) {
-		if( image == null ) {
-			try {
-				URL url = new URL( JstCommonUIPlugin.getDefault().getBundle().getEntry("/"), "icons/util-wiz-icon.gif"); //$NON-NLS-1$ //$NON-NLS-2$
-				ImageDescriptor imageDescriptor = null;
-				if (url != null)
-					imageDescriptor = ImageDescriptor.createFromURL(url);
-				if( imageDescriptor != null ) 
-					image = imageDescriptor.createImage();
-			} catch( MalformedURLException murle ) {
-				// do nothing
-			}
-		}
-		return image;
-	}
-	
-	public void dispose() {
-		image.dispose();
-	}
-}
diff --git a/plugins/org.eclipse.jst.common.ui/src/org/eclipse/jst/common/ui/internal/assembly/wizard/ExternalJarReferenceWizardFragment.java b/plugins/org.eclipse.jst.common.ui/src/org/eclipse/jst/common/ui/internal/assembly/wizard/ExternalJarReferenceWizardFragment.java
deleted file mode 100644
index 4e824c2..0000000
--- a/plugins/org.eclipse.jst.common.ui/src/org/eclipse/jst/common/ui/internal/assembly/wizard/ExternalJarReferenceWizardFragment.java
+++ /dev/null
@@ -1,123 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2009 Red Hat
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    Rob Stryker - initial implementation and ongoing maintenance
- ******************************************************************************/
-package org.eclipse.jst.common.ui.internal.assembly.wizard;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-
-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.jst.common.ui.internal.IJstCommonUIConstants;
-import org.eclipse.jst.common.ui.internal.IJstCommonUIContextIds;
-import org.eclipse.jst.common.ui.internal.JstCommonUIPlugin;
-import org.eclipse.jst.common.ui.internal.Messages;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.FileDialog;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.wst.common.componentcore.ComponentCore;
-import org.eclipse.wst.common.componentcore.internal.resources.VirtualArchiveComponent;
-import org.eclipse.wst.common.componentcore.internal.resources.VirtualReference;
-import org.eclipse.wst.common.componentcore.resources.IVirtualComponent;
-import org.eclipse.wst.common.componentcore.resources.IVirtualReference;
-import org.eclipse.wst.common.componentcore.ui.internal.taskwizard.IWizardHandle;
-import org.eclipse.wst.common.componentcore.ui.propertypage.IReferenceWizardConstants;
-
-public class ExternalJarReferenceWizardFragment extends JarReferenceWizardFragment {	
-	public Composite createComposite(Composite parent, IWizardHandle handle) {
-		Composite c = super.createComposite(parent, handle);
-		handle.setTitle(Messages.ExternalArchiveTitle);
-		handle.setDescription(Messages.ExternalArchiveDescription);
-		PlatformUI.getWorkbench().getHelpSystem().setHelp(c, IJstCommonUIContextIds.DEPLOYMENT_ASSEMBLY_NEW_EXTERNAL_ARCHIVE_REFERENCE_P1);
-		return c;
-	}
-
-	protected void buttonPressed() {
-		selected = chooseExternalArchiveEntries(add.getShell());
-		
-		if(selected != null) {
-			removeInvalidArchiveFiles();
-		
-			for(IPath path: selected) {
-				if(!archives.containsKey(path)) {
-					archives.put(path, path);
-				}
-			}
-			
-			viewer.refresh();
-			if(archives != null && archives.size() > 0) {
-				isComplete = true;
-			} else {
-				isComplete = false;
-			}
-			handle.update();
-		}
-	}
-
-	public void performFinish(IProgressMonitor monitor) throws CoreException {
-		IVirtualComponent rootComponent = (IVirtualComponent)getTaskModel().getObject(IReferenceWizardConstants.ROOT_COMPONENT);
-		String runtimeLoc = (String)getTaskModel().getObject(IReferenceWizardConstants.DEFAULT_LIBRARY_LOCATION);
-		if (archives != null && archives.size() > 0) {
-			ArrayList<IVirtualReference> refList = new ArrayList<IVirtualReference>();
-			Iterator iterator = archives.values().iterator();
-			while(iterator.hasNext()) {
-	    		IPath path = (Path)iterator.next();
-				// IPath fullPath = project.getFile(selected[i]).getFullPath();
-				String type = VirtualArchiveComponent.LIBARCHIVETYPE
-						+ IPath.SEPARATOR;
-				IVirtualComponent archive = ComponentCore
-						.createArchiveComponent(rootComponent.getProject(),
-								type + path.toString());
-				VirtualReference ref = new VirtualReference(rootComponent, archive);
-				ref.setArchiveName(path.lastSegment());
-				if (runtimeLoc != null) {
-					ref.setRuntimePath(new Path(runtimeLoc).makeAbsolute());
-				}
-				refList.add(ref);
-			}
-			IVirtualReference[] finalRefs = refList.toArray(new IVirtualReference[refList.size()]);
-			getTaskModel().putObject(IReferenceWizardConstants.FINAL_REFERENCE, finalRefs);
-		}
-	}
-	
-	private static IPath[] chooseExternalArchiveEntries(Shell shell) {
-		String lastUsedPath= JstCommonUIPlugin.getDefault().getDialogSettings().get(IJstCommonUIConstants.DIALOGSTORE_LASTEXTARCHIVE);
-		if (lastUsedPath == null) {
-			lastUsedPath= ""; //$NON-NLS-1$
-		}
-		
-		FileDialog dialog= new FileDialog(shell, SWT.MULTI);
-		dialog.setText(Messages.ArchiveDialogNewTitle);
-		String [] extensions = new String[] {"*.jar;*.war;*.rar;*.zip", "*.*"};  //$NON-NLS-1$//$NON-NLS-2$
-		dialog.setFilterExtensions(extensions);
-		dialog.setFilterPath(lastUsedPath);
-
-		String res= dialog.open();
-		if (res == null) {
-			return null;
-		}
-		String[] fileNames= dialog.getFileNames();
-		int nChosen= fileNames.length;
-
-		IPath filterPath= Path.fromOSString(dialog.getFilterPath());
-		IPath[] elems= new IPath[nChosen];
-		for (int i= 0; i < nChosen; i++) {
-			elems[i]= filterPath.append(fileNames[i]).makeAbsolute();
-		}
-		
-		JstCommonUIPlugin.getDefault().getDialogSettings().put(IJstCommonUIConstants.DIALOGSTORE_LASTEXTARCHIVE, dialog.getFilterPath());
-		
-		return elems;
-	}
-}
diff --git a/plugins/org.eclipse.jst.common.ui/src/org/eclipse/jst/common/ui/internal/assembly/wizard/JarReferenceWizardFragment.java b/plugins/org.eclipse.jst.common.ui/src/org/eclipse/jst/common/ui/internal/assembly/wizard/JarReferenceWizardFragment.java
deleted file mode 100644
index a2c87ca..0000000
--- a/plugins/org.eclipse.jst.common.ui/src/org/eclipse/jst/common/ui/internal/assembly/wizard/JarReferenceWizardFragment.java
+++ /dev/null
@@ -1,402 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2010 Red Hat and Others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    Rob Stryker - initial implementation and ongoing maintenance
- *    Konstantin Komissarchik - misc. UI cleanup
- ******************************************************************************/
-package org.eclipse.jst.common.ui.internal.assembly.wizard;
-
-import java.io.File;
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.Map;
-import java.util.zip.ZipException;
-import java.util.zip.ZipFile;
-
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IFolder;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IWorkspaceRoot;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jdt.internal.ui.JavaPlugin;
-import org.eclipse.jdt.internal.ui.JavaPluginImages;
-import org.eclipse.jdt.internal.ui.viewsupport.FilteredElementTreeSelectionDialog;
-import org.eclipse.jdt.internal.ui.wizards.TypedElementSelectionValidator;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.layout.GridDataFactory;
-import org.eclipse.jface.viewers.ITreeContentProvider;
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.jface.viewers.TreeViewer;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.jface.viewers.ViewerFilter;
-import org.eclipse.jface.window.Window;
-import org.eclipse.jst.common.ui.internal.IJstCommonUIContextIds;
-import org.eclipse.jst.common.ui.internal.JstCommonUIPlugin;
-import org.eclipse.jst.common.ui.internal.Messages;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.TreeItem;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.model.WorkbenchContentProvider;
-import org.eclipse.ui.model.WorkbenchLabelProvider;
-import org.eclipse.ui.views.navigator.ResourceComparator;
-import org.eclipse.wst.common.componentcore.ComponentCore;
-import org.eclipse.wst.common.componentcore.internal.resources.VirtualArchiveComponent;
-import org.eclipse.wst.common.componentcore.internal.resources.VirtualReference;
-import org.eclipse.wst.common.componentcore.resources.IVirtualComponent;
-import org.eclipse.wst.common.componentcore.resources.IVirtualReference;
-import org.eclipse.wst.common.componentcore.ui.ModuleCoreUIPlugin;
-import org.eclipse.wst.common.componentcore.ui.internal.taskwizard.IWizardHandle;
-import org.eclipse.wst.common.componentcore.ui.internal.taskwizard.WizardFragment;
-import org.eclipse.wst.common.componentcore.ui.propertypage.IReferenceWizardConstants;
-
-public class JarReferenceWizardFragment extends WizardFragment {
-	protected LabelProvider labelProvider = null;
-	protected ITreeContentProvider contentProvider = null;
-	protected TreeViewer viewer;
-	protected Button add, remove;
-	protected IPath[] paths;
-	protected IWizardHandle handle;
-	protected IPath[] selected = new IPath[]{};
-	protected Map <IPath, IPath> archives = new HashMap<IPath, IPath>();
-	boolean isComplete = false;
-
-	public boolean isComplete() {
-		return isComplete;
-	}
-	
-	public boolean hasComposite() {
-		return true;
-	}
-
-	public Composite createComposite(Composite parent, IWizardHandle handle) {
-		this.handle = handle;
-		handle.setTitle(Messages.ArchiveTitle);
-		handle.setDescription(Messages.ArchiveDescription);
-		handle.setImageDescriptor(JavaPluginImages.DESC_WIZBAN_ADD_LIBRARY);
-				
-		Composite c = new Composite(parent, SWT.NONE);
-		PlatformUI.getWorkbench().getHelpSystem().setHelp(c, IJstCommonUIContextIds.DEPLOYMENT_ASSEMBLY_NEW_ARCHIVE_REFERENCE_P1);
-		c.setLayout(new GridLayout(2, false));
-		viewer = new TreeViewer(c, SWT.MULTI | SWT.BORDER);
-		viewer.getTree().setLayoutData(new GridData(GridData.FILL_BOTH));
-		viewer.setContentProvider(getContentProvider());
-		viewer.setLabelProvider(getLabelProvider());
-		viewer.setInput(ResourcesPlugin.getWorkspace());
-
-		Composite buttonColumn = new Composite(c, SWT.NONE);
-		buttonColumn.setLayoutData(new GridData(GridData.FILL_VERTICAL));
-		
-		final GridLayout gl = new GridLayout();
-		gl.marginWidth = 0;
-		gl.marginHeight = 0;
-		
-		buttonColumn.setLayout( gl );
-		
-		add = new Button(buttonColumn, SWT.NONE);
-		add.setText(Messages.Add);
-		GridDataFactory.defaultsFor(add).applyTo(add);
-		
-		remove = new Button(buttonColumn, SWT.NONE);
-		remove.setText(Messages.Remove);
-		GridDataFactory.defaultsFor(remove).applyTo(remove);
-
-		add.addSelectionListener(new SelectionListener() {
-			public void widgetSelected(SelectionEvent e) {
-				buttonPressed();
-			}
-
-			public void widgetDefaultSelected(SelectionEvent e) {
-				widgetSelected(e);
-			}
-		});
-		
-		remove.addSelectionListener(new SelectionListener() {
-			public void widgetSelected(SelectionEvent e) {
-				removeButtonPressed();
-			}
-
-			public void widgetDefaultSelected(SelectionEvent e) {
-				widgetSelected(e);
-			}
-		});
-		return c;
-	}
-
-	protected void buttonPressed() {
-		IProject project = (IProject)getTaskModel().getObject(IReferenceWizardConstants.PROJECT);
-		selected = chooseEntries(
-				add.getShell(), 
-				project.getFullPath());
-
-		if(selected != null) {
-			removeInvalidArchiveFiles();
-		
-			for(IPath path: selected) {
-				if(!archives.containsKey(path)) {
-					archives.put(path, path);
-				}
-			}
-			
-			viewer.refresh();
-			if(archives != null && archives.size() > 0) {
-				isComplete = true;
-			} else {
-				isComplete = false;
-			}
-			handle.update();
-		}
-	}
-	
-	protected void removeButtonPressed() {
-		TreeItem[] toRemove = viewer.getTree().getSelection();
-		
-		if(toRemove != null && toRemove.length > 0) {
-			for(int i = 0; i < toRemove.length; i++) {
-				Path path = (Path) toRemove[i].getData();
-				if(archives.containsKey(path)) {
-					archives.remove(path);
-				}
-			}
-			
-			viewer.refresh();
-			if(archives != null && archives.size() > 0) {
-				isComplete = true;
-			} else {
-				isComplete = false;
-			}
-			handle.update();
-		}
-	}
-
-	public void performFinish(IProgressMonitor monitor) throws CoreException {
-		IVirtualComponent rootComponent = (IVirtualComponent)getTaskModel().getObject(IReferenceWizardConstants.ROOT_COMPONENT);
-		String runtimeLoc = (String)getTaskModel().getObject(IReferenceWizardConstants.DEFAULT_LIBRARY_LOCATION);
-		if (archives != null && archives.size() > 0) {
-			ArrayList<IVirtualReference> refList = new ArrayList<IVirtualReference>();
-			Iterator iterator = archives.values().iterator();
-			while(iterator.hasNext()) {
-	    		IPath path = (Path)iterator.next();
-				// IPath fullPath = project.getFile(selected[i]).getFullPath();
-				String type = VirtualArchiveComponent.LIBARCHIVETYPE
-						+ IPath.SEPARATOR;
-				IVirtualComponent archive = ComponentCore
-						.createArchiveComponent(rootComponent.getProject(),
-								type + path.makeRelative().toString());
-				VirtualReference ref = new VirtualReference(rootComponent, archive);
-				ref.setArchiveName(path.lastSegment());
-				if (runtimeLoc != null) {
-					ref.setRuntimePath(new Path(runtimeLoc).makeAbsolute());
-				}
-				refList.add(ref);
-			}
-			IVirtualReference[] finalRefs = refList.toArray(new IVirtualReference[refList.size()]);
-			getTaskModel().putObject(IReferenceWizardConstants.FINAL_REFERENCE, finalRefs);
-		}
-	}
-
-	protected LabelProvider getLabelProvider() {
-		if (labelProvider == null) {
-			labelProvider = new LabelProvider() {
-				public Image getImage(Object element) {
-					return ModuleCoreUIPlugin.getInstance().getImage("jar_obj");
-				}
-
-				public String getText(Object element) {
-					return element == null ? "" : element.toString();//$NON-NLS-1$
-				}
-			};
-		}
-		return labelProvider;
-	}
-
-	protected ITreeContentProvider getContentProvider() {
-		if (contentProvider == null) {
-			contentProvider = new ITreeContentProvider() {
-				public Object[] getElements(Object inputElement) {
-					return archives == null ? new Object[]{} : archives.values().toArray();
-				}
-				public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
-				}
-				public void dispose() {
-				}
-				public boolean hasChildren(Object element) {
-					return false;
-				}
-				public Object getParent(Object element) {
-					return null;
-				}
-				public Object[] getChildren(Object parentElement) {
-					return null;
-				}
-			};
-		}
-		return contentProvider;
-	}
-	
-	private static IPath[] chooseEntries(Shell shell, IPath initialSelection) {
-		Class[] acceptedClasses= new Class[] { IFile.class };
-		TypedElementSelectionValidator validator= new TypedElementSelectionValidator(acceptedClasses, true);
-		IWorkspaceRoot root= ResourcesPlugin.getWorkspace().getRoot();
-
-		FilteredElementTreeSelectionDialog dialog =  new FilteredElementTreeSelectionDialog(shell, new WorkbenchLabelProvider(), new WorkbenchContentProvider());
-		dialog.setHelpAvailable(false);
-		dialog.setValidator(validator);
-		dialog.setTitle(Messages.ArchiveDialogNewTitle);
-		dialog.setMessage(Messages.ArchiveDialogNewDescription);
-		dialog.addFilter(getDialogViewerFilter());
-		dialog.setInput(root);
-		dialog.setComparator(new ResourceComparator(ResourceComparator.NAME));
-		dialog.setInitialFilter("*.jar,*.war,*.rar,*.zip"); //$NON-NLS-1$
-		dialog.create();		
-
-		if (dialog.open() == Window.OK) {
-			Object[] elements= dialog.getResult();
-			IPath[] res= new IPath[elements.length];
-			for (int i= 0; i < res.length; i++) {
-				IResource elem= (IResource)elements[i];
-				res[i]= elem.getFullPath();
-			}
-			return res;
-		}
-		return null;
-	}
-	
-	protected void removeInvalidArchiveFiles(){
-		// Tries to open archive to verify it's valid
-		// If it is not a valid archive, a dialog is shown informing the user of the invalid archives
-		ArrayList<IPath> invalidArchiveFiles = new ArrayList<IPath>();
-		ArrayList<IPath> validArchiveFiles = new ArrayList<IPath>();
-		ZipFile zipFile = null;
-		for(IPath path:selected){
-			try {
-				String osPath = null;
-				if(path.segmentCount() > 1){
-					IFile file = ResourcesPlugin.getWorkspace().getRoot().getFile(path);
-					if(file.exists()) {
-						IPath loc = file.getLocation();
-						if(loc != null) { 
-							osPath = loc.toOSString();
-						}
-					}
-				}
-				if(osPath == null){
-					osPath = path.toOSString();
-				}
-				zipFile = new ZipFile(new File(osPath));
-				validArchiveFiles.add(path);
-			} catch (ZipException e1){
-				invalidArchiveFiles.add(path);
-			} catch (IOException e2){
-				invalidArchiveFiles.add(path);
-			}finally {
-				if (zipFile != null){
-					try {
-						zipFile.close();
-					} catch (IOException e) {
-						JstCommonUIPlugin.getDefault().getLog().log(new Status(IStatus.ERROR, JstCommonUIPlugin.PLUGIN_ID, e.getMessage(), e));
-					}
-				}
-			}
-		}
-		if(invalidArchiveFiles.size() > 0) {
-			selected = validArchiveFiles.toArray(new IPath[validArchiveFiles.size()]);
-			showInvalidArchiveFilesAsWarning(invalidArchiveFiles);
-		}
-	}
-	
-	private void showInvalidArchiveFilesAsWarning(ArrayList<IPath>invalidArchiveFiles) {
-		String message = Messages.InvalidArchivesWarning;
-		boolean first = true;
-		for(IPath path: invalidArchiveFiles) {
-			if(!first) {
-				message += ", \'"; //$NON-NLS-1$
-			} else {
-				message += "\'"; //$NON-NLS-1$
-				first = false;
-			}
-			message += path.lastSegment() + "\'"; //$NON-NLS-1$
-		}
-		MessageDialog.openWarning(PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell(), "Warning", message); //$NON-NLS-1$
-	}
-	
-	private static ViewerFilter getDialogViewerFilter() {
-		return new ViewerFilter() {
-			private final String[] excludedExtensions= { "txt", "css", "dll", "htm", "html", "class", "java", "classpath",      //$NON-NLS-1$//$NON-NLS-2$//$NON-NLS-3$ //$NON-NLS-4$//$NON-NLS-5$ //$NON-NLS-6$//$NON-NLS-7$ //$NON-NLS-8$
-				"compatibility", "component", "container", "cvsignore", "del", "dnx", //$NON-NLS-1$//$NON-NLS-2$//$NON-NLS-3$ //$NON-NLS-4$//$NON-NLS-5$ //$NON-NLS-6$
-				"dtd", "mf", "project", "properties", "psf", "rc", "runtime", "sh", //$NON-NLS-1$//$NON-NLS-2$//$NON-NLS-3$ //$NON-NLS-4$//$NON-NLS-5$ //$NON-NLS-6$//$NON-NLS-7$ //$NON-NLS-8$
-				"spec", "sql", "tld", "xmi", "xml", "xsd", "gif", "jpg", "js", "vsd", //$NON-NLS-1$//$NON-NLS-2$//$NON-NLS-3$ //$NON-NLS-4$//$NON-NLS-5$ //$NON-NLS-6$//$NON-NLS-7$ //$NON-NLS-8$ //$NON-NLS-9$ //$NON-NLS-10$
-				"png", "bat", "xsl", "factorypath"}; //$NON-NLS-1$//$NON-NLS-2$//$NON-NLS-3$ //$NON-NLS-4$ 
-
-			private HashMap<String,String> excludedExtensionsMap = null;
-
-			@Override
-			public boolean select(Viewer viewer, Object parent, Object element) {
-				if(excludedExtensionsMap == null) {
-					initializeExludeMap();
-				}
-				if (element instanceof IFile) {
-					IFile file = (IFile) element;
-					String ext = file.getFileExtension();
-					if(ext != null) {
-						ext = ext.toLowerCase();
-						if(excludedExtensionsMap.get(ext) != null) {
-							return false;
-						}
-					}
-					return true;
-				} else if (element instanceof IContainer) { // IProject, IFolder
-					// ignore closed projects
-					if (element instanceof IProject && !((IProject)element).isOpen())
-						return false;
-					// ignore .settings folder
-					if (element instanceof IFolder) {
-						IFolder folder = (IFolder) element;
-						if (folder.getName().equals(".settings"))
-							return false;
-					}
-					try {
-						IResource[] resources= ((IContainer)element).members();
-						for (int i= 0; i < resources.length; i++) {
-							// Only show containers that contain an archive
-							if (select(viewer, parent, resources[i])) {
-								return true;
-							}
-						}
-					} catch (CoreException e) {
-						JavaPlugin.log(e.getStatus());
-					}
-				}
-				return false;
-			}
-			
-			private void initializeExludeMap() {
-				excludedExtensionsMap = new HashMap<String, String>();
-				for(int i = 0; i < excludedExtensions.length; i++)
-				excludedExtensionsMap.put(excludedExtensions[i], excludedExtensions[i]);
-			}
-		};
-	}
-}
diff --git a/plugins/org.eclipse.jst.common.ui/src/org/eclipse/jst/common/ui/internal/assembly/wizard/ManifestModuleDependencyControl.java b/plugins/org.eclipse.jst.common.ui/src/org/eclipse/jst/common/ui/internal/assembly/wizard/ManifestModuleDependencyControl.java
deleted file mode 100644
index 9d7db98..0000000
--- a/plugins/org.eclipse.jst.common.ui/src/org/eclipse/jst/common/ui/internal/assembly/wizard/ManifestModuleDependencyControl.java
+++ /dev/null
@@ -1,677 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2010 Red Hat and Others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    Rob Stryker - initial implementation and ongoing maintenance
- *    Konstantin Komissarchik - misc. UI cleanup
- ******************************************************************************/
-package org.eclipse.jst.common.ui.internal.assembly.wizard;
-
-import java.text.Collator;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.core.commands.ExecutionException;
-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.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.jface.layout.GridDataFactory;
-import org.eclipse.jface.viewers.BaseLabelProvider;
-import org.eclipse.jface.viewers.ColumnWeightData;
-import org.eclipse.jface.viewers.IBaseLabelProvider;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.IStructuredContentProvider;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.ITableLabelProvider;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.jface.viewers.TableLayout;
-import org.eclipse.jface.viewers.TableViewer;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.jface.viewers.ViewerComparator;
-import org.eclipse.jface.window.Window;
-import org.eclipse.jface.wizard.WizardDialog;
-import org.eclipse.jst.common.internal.modulecore.util.ArchiveManifest;
-import org.eclipse.jst.common.internal.modulecore.util.JavaModuleComponentUtility;
-import org.eclipse.jst.common.internal.modulecore.util.ManifestUtilities;
-import org.eclipse.jst.common.internal.modulecore.util.UpdateManifestDataModelProperties;
-import org.eclipse.jst.common.internal.modulecore.util.UpdateManifestDataModelProvider;
-import org.eclipse.jst.common.ui.internal.IJstCommonUIContextIds;
-import org.eclipse.jst.common.ui.internal.Messages;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.ModifyEvent;
-import org.eclipse.swt.events.ModifyListener;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Combo;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Table;
-import org.eclipse.swt.widgets.TableColumn;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.wst.common.componentcore.ComponentCore;
-import org.eclipse.wst.common.componentcore.internal.resources.AbstractResourceListVirtualComponent;
-import org.eclipse.wst.common.componentcore.resources.IVirtualComponent;
-import org.eclipse.wst.common.componentcore.resources.IVirtualFile;
-import org.eclipse.wst.common.componentcore.resources.IVirtualFolder;
-import org.eclipse.wst.common.componentcore.resources.IVirtualReference;
-import org.eclipse.wst.common.componentcore.ui.ModuleCoreUIPlugin;
-import org.eclipse.wst.common.componentcore.ui.internal.propertypage.DependencyPageExtensionManager;
-import org.eclipse.wst.common.componentcore.ui.internal.propertypage.IVirtualComponentLabelProvider;
-import org.eclipse.wst.common.componentcore.ui.propertypage.AbstractIModuleDependenciesControl;
-import org.eclipse.wst.common.componentcore.ui.propertypage.ModuleAssemblyRootPage;
-import org.eclipse.wst.common.frameworks.datamodel.DataModelFactory;
-import org.eclipse.wst.common.frameworks.datamodel.IDataModel;
-
-public class ManifestModuleDependencyControl extends AbstractIModuleDependenciesControl {
-	
-	protected IProject project;
-	protected IVirtualComponent rootComponent;
-	protected IProject parentProject;
-	protected ModuleAssemblyRootPage propPage;
-	protected Button addButton, removeButton, moveUpButton, moveDownButton;
-	protected Combo parentSelection;
-	protected TableViewer manifestEntryViewer;
-	private ArrayList<IVirtualReference> list = new ArrayList<IVirtualReference>();
-	private String previousManifest = null;
-	
-	public ManifestModuleDependencyControl(final IProject project,
-			final ModuleAssemblyRootPage page) {
-		this.project = project;
-		this.propPage = page;
-		rootComponent = ComponentCore.createComponent(project);
-	}
-
-	private static GridLayout glayout( final int columns )
-	{
-		final GridLayout gl = new GridLayout( columns, false );
-		gl.marginWidth = 0;
-		gl.marginHeight = 0;
-		
-		return gl;
-	}
-	
-	public Composite createContents(Composite parent) {
-		Composite root = new Composite(parent, SWT.NONE);
-		PlatformUI.getWorkbench().getHelpSystem().setHelp(root, IJstCommonUIContextIds.DEPLOYMENT_ASSEMBLY_PREFERENCE_PAGE_MANIFEST_ENTRIES_TAB);
-		root.setLayout(glayout(1));
-		
-		final Composite parentSelectionComposite = new Composite( root, SWT.NONE );
-		parentSelectionComposite.setLayoutData( new GridData( GridData.FILL_HORIZONTAL ) );
-		parentSelectionComposite.setLayout( glayout( 2 ) );
-		
-		Label l = new Label(parentSelectionComposite, SWT.NONE);
-		l.setText(Messages.ParentProject);
-		l.setLayoutData(new GridData());
-		
-		parentSelection = new Combo(parentSelectionComposite, SWT.READ_ONLY);
-		parentSelection.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		parentSelection.setItems(getPossibleParentProjects());
-		parentSelection.addModifyListener(new ModifyListener(){
-			public void modifyText(ModifyEvent e) {
-				refreshViewerFromNewParentProject();
-			}
-		});
-		
-		final Composite manifestEntryViewerComposite = new Composite( root, SWT.NONE );
-		final GridData manifestEntryViewerCompositeLayoutData = new GridData( GridData.FILL_BOTH );
-		manifestEntryViewerComposite.setLayoutData( manifestEntryViewerCompositeLayoutData );
-		manifestEntryViewerComposite.setLayout( glayout( 2 ) );
-		
-		manifestEntryViewer = createManifestReferenceTableViewer(manifestEntryViewerComposite, SWT.SINGLE);
-		GridData data = new GridData(GridData.FILL_BOTH);
-		int numlines = Math.min(10, manifestEntryViewer.getTable().getItemCount());
-		data.heightHint = manifestEntryViewer.getTable().getItemHeight() * numlines;
-		manifestEntryViewer.getTable().setLayoutData(data);
-		
-		Composite buttonColumn = new Composite(manifestEntryViewerComposite, SWT.NONE);
-		buttonColumn.setLayoutData(new GridData(GridData.FILL_VERTICAL));
-		buttonColumn.setLayout(glayout( 1 ));
-		
-		addButton = new Button(buttonColumn, SWT.PUSH);
-		addButton.setText(Messages.Add);
-		GridDataFactory.defaultsFor(addButton).applyTo(addButton);
-		
-		removeButton = new Button(buttonColumn, SWT.PUSH);
-		removeButton.setText(Messages.Remove);
-		GridDataFactory.defaultsFor(removeButton).applyTo(removeButton);
-		
-		moveUpButton = new Button(buttonColumn, SWT.PUSH);
-		moveUpButton.setText(Messages.MoveUp);
-		GridDataFactory.defaultsFor(moveUpButton).applyTo(moveUpButton);
-		
-		moveDownButton = new Button(buttonColumn, SWT.PUSH);
-		moveDownButton.setText(Messages.MoveDown);
-		GridDataFactory.defaultsFor(moveDownButton).applyTo(moveDownButton);
-		
-		IFile manifest = getManifestIFile(rootComponent);
-		if(manifest == null) {
-			addButton.setEnabled(false);
-		} else {
-			addButton.setEnabled(true);
-			previousManifest = manifest.getFullPath().toOSString();
-		}
-		removeButton.setEnabled(false);
-		moveUpButton.setEnabled(false);
-		moveDownButton.setEnabled(false);
-		
-		addButton.addSelectionListener(new SelectionListener() {
-			public void widgetSelected(SelectionEvent e) {
-				addPressed();
-			}
-			public void widgetDefaultSelected(SelectionEvent e) {
-			}
-		});
-		removeButton.addSelectionListener(new SelectionListener() {
-			public void widgetSelected(SelectionEvent e) {
-				removePressed();
-			}
-			public void widgetDefaultSelected(SelectionEvent e) {
-			}
-		});
-		moveUpButton.addSelectionListener(new SelectionListener() {
-			public void widgetSelected(SelectionEvent e) {
-				moveUp();
-			}
-			public void widgetDefaultSelected(SelectionEvent e) {
-			}
-		});
-		moveDownButton.addSelectionListener(new SelectionListener() {
-			public void widgetSelected(SelectionEvent e) {
-				moveDown();
-			}
-			public void widgetDefaultSelected(SelectionEvent e) {
-			}
-		});
-		
-		manifestEntryViewer.setLabelProvider(new ManifestLabelProvider());
-		manifestEntryViewer.setContentProvider(new ManifestContentProvider());
-		manifestEntryViewer.setInput(ResourcesPlugin.getWorkspace());
-		parentSelection.select(0);
-		
-		manifestEntryViewer.addSelectionChangedListener(new ISelectionChangedListener() {
-			public void selectionChanged(SelectionChangedEvent event) {
-				viewerSelectionChanged();
-			}
-		});
-
-		//ensure the buttons are properly updated when table sort mode toggled
-		manifestEntryViewer.getTable().getColumn(0).addSelectionListener(new SelectionListener() {
-			public void widgetSelected(SelectionEvent e) {
-				updateButtons();
-			}
-			
-			public void widgetDefaultSelected(SelectionEvent e) {
-				// do nothing
-			}
-		});
-
-		//ensure the buttons are properly updated when table sort mode toggled
-		manifestEntryViewer.getTable().getColumn(1).addSelectionListener(new SelectionListener() {
-			public void widgetSelected(SelectionEvent e) {
-				updateButtons();
-			}
-			
-			public void widgetDefaultSelected(SelectionEvent e) {
-				//do nothing
-			}
-		});
-		return root;
-	}
-	
-	protected void viewerSelectionChanged() {
-		updateButtons();
-	}
-	
-	protected void updateButtons() {
-		if(!addButton.isEnabled()) {
-			removeButton.setEnabled(false);
-			moveUpButton.setEnabled(false);
-			moveDownButton.setEnabled(false);
-		} else {
-			int index = manifestEntryViewer.getTable().getSelectionIndex();
-			int size = manifestEntryViewer.getTable().getItems().length;
-			boolean sorted = manifestEntryViewer.getTable().getSortDirection() != SWT.NONE;
-			removeButton.setEnabled(index != -1);
-			moveUpButton.setEnabled(index != -1 && index != 0 && !sorted);
-			moveDownButton.setEnabled(index != -1 && index != size-1 && !sorted);
-		}
-	}
-	
-	protected void moveUp() {
-		int index = manifestEntryViewer.getTable().getSelectionIndex();
-		IVirtualReference ref = list.remove(index);
-		list.add(index-1,ref);
-		refreshViewer();
-		updateButtons();
-	}
-	protected void moveDown() {
-		int index = manifestEntryViewer.getTable().getSelectionIndex();
-		IVirtualReference ref = list.remove(index);
-		list.add(index+1,ref);
-		refreshViewer();
-		updateButtons();
-	}
-	
-	protected void addPressed() {
-		AddManifestEntryTaskWizard wizard = new AddManifestEntryTaskWizard();
-		wizard.getTaskModel().putObject(AddManifestEntryTaskWizard.CHILD_PROJECT, project);
-		wizard.getTaskModel().putObject(AddManifestEntryTaskWizard.PARENT_PROJECT, parentProject);
-		wizard.getTaskModel().putObject(AddManifestEntryTaskWizard.CURRENT_REFERENCES, list.toArray(new IVirtualReference[list.size()]));
-		WizardDialog wd = new WizardDialog(addButton.getShell(), wizard);
-		if( wd.open() != Window.CANCEL) {
-			IVirtualReference[] ret = (IVirtualReference[])wizard.getTaskModel().getObject(AddManifestEntryTaskWizard.RETURNED_REFERENCES);
-			if (ret != null)
-				list.addAll(Arrays.asList(ret));
-			refreshViewer();
-			updateButtons();
-		}
-	}
-
-	protected void removePressed() {
-		IStructuredSelection sel = (IStructuredSelection)manifestEntryViewer.getSelection();
-		Iterator i = sel.iterator();
-		while(i.hasNext()) {
-			list.remove(i.next());
-		}
-		refreshViewer();
-		updateButtons();
-	}
-	
-	public static class ManifestLabelProvider extends BaseLabelProvider implements ITableLabelProvider {
-		private IVirtualComponentLabelProvider[] delegates;
-		protected void getDelegates() {
-			if( delegates == null )
-				delegates = DependencyPageExtensionManager.loadDelegates();
-		}
-		public Image getColumnImage(Object element, int columnIndex) {
-			getDelegates();
-			if( columnIndex == 1 ) {
-				if( element instanceof IVirtualReference ) {
-					for( int i = 0; i < delegates.length; i++ )
-						if( delegates[i].canHandle(((IVirtualReference)element).getReferencedComponent()))
-							return delegates[i].getSourceImage(((IVirtualReference)element).getReferencedComponent());
-				}
-			}
-			return ModuleCoreUIPlugin.getInstance().getImage("jar_obj");
-		}
-		
-		public String getColumnText(Object element, int columnIndex) {
-			if( element instanceof IVirtualReference ) {
-				IVirtualReference ref = (IVirtualReference)element;
-				if( columnIndex == 0 && ref.getArchiveName() != null) {
-					if(ref.getRuntimePath().toString().length() > 0)
-						return ref.getRuntimePath().append(ref.getArchiveName()).toString();
-					else
-						return ref.getArchiveName();
-				}
-				if( columnIndex == 1 )
-					return handleSourceText(ref.getReferencedComponent());
-			}
-			return null;
-		}
-		
-		private String handleSourceText(IVirtualComponent component) {
-			getDelegates();
-			for( int i = 0; i < delegates.length; i++ )
-				if( delegates[i].canHandle(component))
-					return delegates[i].getSourceText(component);
-
-			// default impl
-			if( component.isBinary() ) {
-				IPath p = (IPath)component.getAdapter(IPath.class);
-				return p == null ? null : p.toString();
-			}
-			return component.getProject().getName();
-		}
-	}
-	
-	
-	private class ManifestContentProvider implements IStructuredContentProvider {
-		public void dispose() {
-		}
-		public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
-		}
-		public Object[] getElements(Object inputElement) {
-			return refsForCurrentProject == null ? new Object[]{} : refsForCurrentProject;
-		}
-	}
-	
-	/**
-	 * Provides three possible sorts for each column based on the text labels.
-	 * First click on any column will enable forward sorting for that column,
-	 * second click on a column will enable backwards sorting, and third click
-	 * will disable sorting.
-	 * @author jsholl
-	 */
-	private static class TableViewerColumnSortToggler {
-		private int sortDirection = 0;
-		private int sortColumn = 0;
-		private TableViewer tableViewer;
-		
-		private TableViewerColumnSortToggler(TableViewer tableViewer){
-			this.tableViewer = tableViewer;
-		}
-		
-		private void toggleSort(int column){
-			if(sortColumn == column){
-				//cycle through sort options
-				switch(sortDirection){
-				case SWT.NONE:
-					sortDirection = SWT.UP;
-					break;
-				case SWT.UP:
-					sortDirection = SWT.DOWN;
-					break;
-				case SWT.DOWN:
-					sortDirection = SWT.NONE;
-					break;
-				}
-			} else {
-				//clicked on a different column reset cycle
-				sortColumn = column;
-				sortDirection = SWT.UP;
-			}
-			
-			ViewerComparator comparator = getViewerComparator(column, sortDirection);
-			tableViewer.setComparator(comparator);
-			
-			Table table = tableViewer.getTable();
-			TableColumn sortColumn = tableViewer.getTable().getColumn(column);
-			table.setSortColumn(sortColumn);
-			table.setSortDirection(sortDirection);
-		}
-		
-		private ViewerComparator getViewerComparator(final int columnIndex, final int sortDirection) {
-			if(sortDirection == SWT.NONE){
-				return null;
-			}
-			return new ViewerComparator() {
-				Collator collator = Collator.getInstance();
-				public int compare(Viewer viewerLocal, Object e1, Object e2) {
-					IBaseLabelProvider baseLabelProvider = tableViewer.getLabelProvider();
-					if(baseLabelProvider instanceof ITableLabelProvider){
-						ITableLabelProvider tableLabelProvider = (ITableLabelProvider)baseLabelProvider;
-						String text1 = tableLabelProvider.getColumnText(e1, columnIndex);
-						if(text1 != null){
-							String text2 = tableLabelProvider.getColumnText(e2, columnIndex);
-							int comp = collator.compare(text1, text2);
-							if(sortDirection == SWT.DOWN){
-								comp = -comp;
-							}
-							return comp;
-						}
-					}
-					return 0;
-				}
-			};
-		}
-	};
-	
-	public static TableViewer createManifestReferenceTableViewer(Composite parent, int style) {
-		int flags = SWT.BORDER | style;
-
-		Table table = new Table(parent, flags);
-		TableViewer viewer = new TableViewer(table);
-		final TableViewerColumnSortToggler sortController = new TableViewerColumnSortToggler(viewer);
-		
-		// set up table layout
-		TableLayout tableLayout = new org.eclipse.jface.viewers.TableLayout();
-		tableLayout.addColumnData(new ColumnWeightData(200, true));
-		tableLayout.addColumnData(new ColumnWeightData(200, true));
-		table.setLayout(tableLayout);
-		table.setHeaderVisible(true);
-		table.setLinesVisible(true);
-		
-		// table columns
-		TableColumn fileNameColumn = new TableColumn(table, SWT.NONE, 0);
-		fileNameColumn.setText(Messages.ManifestEntryColumn);
-		fileNameColumn.setResizable(true);
-		fileNameColumn.addSelectionListener(new SelectionListener() {
-			public void widgetSelected(SelectionEvent e) {
-				sortController.toggleSort(0);
-			}
-			public void widgetDefaultSelected(SelectionEvent e) {
-				//do nothing
-			}
-		});
-
-		TableColumn projectColumn = new TableColumn(table, SWT.NONE, 1);
-		projectColumn.setText(Messages.ManifestEntrySourceColumn);
-		projectColumn.setResizable(true);
-		projectColumn.addSelectionListener(new SelectionListener() {
-			public void widgetSelected(SelectionEvent e) {
-				sortController.toggleSort(1);
-			}
-			public void widgetDefaultSelected(SelectionEvent e) {
-				//do nothing
-			}
-		});
-		
-		tableLayout.layout(table, true);
-		return viewer;
-	}
-
-	private IVirtualReference[] refsForCurrentProject;
-	protected void refreshViewerFromNewParentProject() {
-		list.clear();
-		String parentString = parentSelection.getText();
-		refsForCurrentProject = new IVirtualReference[]{};
-		if( parentString != null && !"".equals(parentString)) { //$NON-NLS-1$
-			parentProject = ResourcesPlugin.getWorkspace().getRoot().getProject(parentString);
-			IVirtualReference[] current  = JavaModuleComponentUtility.findCurrentManifestEntries(parentProject, project);
-			refsForCurrentProject = sortRefsForCurrentProject(addMissingDummyEntries(current));
-			for( int i = 0; i < refsForCurrentProject.length; i++ ) {
-				list.add(refsForCurrentProject[i]);
-			}
-		}
-		manifestEntryViewer.refresh();
-	}
-	
-	private IVirtualReference[] sortRefsForCurrentProject(IVirtualReference[] currentRefs) {
-		IFile manifestFile = getManifestIFile(rootComponent);
-		if (manifestFile == null)
-			return currentRefs;
-		
-		HashMap<String, IVirtualReference> unsortedRefMap = new HashMap<String, IVirtualReference>();
-		for (int i = 0; i < currentRefs.length; i++) {
-			IVirtualReference ref = currentRefs[i];
-			String entryName;
-			if(ref.getRuntimePath().toString().length() > 0)
-				entryName = ref.getRuntimePath().append(ref.getArchiveName()).toString();
-			else
-				entryName = ref.getArchiveName();
-			unsortedRefMap.put(entryName, ref);
-		}
-		List<IVirtualReference> sortedRefs = new ArrayList<IVirtualReference>();
-		ArchiveManifest manifest = ManifestUtilities.getManifest(manifestFile);
-		String[] entries = manifest.getClassPathTokenized();
-		for (int i = 0; i < entries.length; i++) {
-			IVirtualReference ref = unsortedRefMap.get(entries[i]);
-			if (ref != null) {
-				sortedRefs.add(ref);
-			}
-		}
-		return sortedRefs.toArray(new IVirtualReference[sortedRefs.size()]);
-	}
-	
-	protected void refreshViewer() {
-		refsForCurrentProject = list.toArray(new IVirtualReference[list.size()]);
-		GridData data = new GridData(GridData.FILL_BOTH);
-		int numlines = Math.min(10, manifestEntryViewer.getTable().getItemCount());
-		data.heightHint = manifestEntryViewer.getTable().getItemHeight() * numlines;
-		manifestEntryViewer.getTable().setLayoutData(data);
-		manifestEntryViewer.refresh();
-	}
-	
-	protected IVirtualReference[] addMissingDummyEntries(IVirtualReference[] current) {
-		IFile manifestFile = getManifestIFile(rootComponent);
-		if( manifestFile != null ) {
-			ArrayList<IVirtualReference> refs = new ArrayList<IVirtualReference>();
-			refs.addAll(Arrays.asList(current));
-			ArchiveManifest manifest = ManifestUtilities.getManifest(manifestFile);
-			String[] entries = manifest.getClassPathTokenized();
-			String[] unusedEntries = findUnusedEntries(current, entries);
-			for( int i = 0; i < unusedEntries.length; i++ ) {
-				refs.add(createDummyReference(unusedEntries[i]));
-			}
-			return refs.toArray(new IVirtualReference[refs.size()]);
-		}
-		return current;
-	}
-	
-	
-	public static class DummyVirtualComponent extends AbstractResourceListVirtualComponent {
-		private static final String DUMMY_FIRST_SEGMENT = "dummyVirtualComponent"; //$NON-NLS-1$
-		public DummyVirtualComponent(IProject p, IVirtualComponent referencingComponent) {
-			super(p, referencingComponent);
-		}
-
-		protected String getFirstIdSegment() {
-			return DUMMY_FIRST_SEGMENT;
-		}
-
-		protected IContainer[] getUnderlyingContainers() {
-			return new IContainer[]{};
-		}
-
-		protected IResource[] getLooseResources() {
-			return new IResource[]{};
-		}
-	}
-	
-	private IVirtualReference createDummyReference(String path) {
-		return createDummyReference(path, parentProject, ComponentCore.createComponent(parentProject));
-	}
-	
-	public static IVirtualReference createDummyReference(String path, IProject project, IVirtualComponent rootComponent) {
-		IVirtualComponent comp = new DummyVirtualComponent(project, rootComponent);
-		IVirtualReference ref = ComponentCore.createReference(rootComponent, comp);
-		if(path.indexOf("\\") > 0) {
-			ref.setRuntimePath(new Path(""));
-			ref.setArchiveName(path);
-			return ref;
-		}
-		IPath path2 = new Path(path.trim());
-		IPath runtimePath = path2.segmentCount() > 1 ? path2.removeLastSegments(1) : new Path("/"); //$NON-NLS-1$
-		runtimePath = runtimePath.makeRelative();
-		ref.setRuntimePath(runtimePath);
-		ref.setArchiveName(path2.lastSegment());
-		return ref;
-	}
-	
-	private String[] findUnusedEntries(IVirtualReference[] current, String[] entries) {
-		ArrayList<String> list = new ArrayList<String>();
-		list.addAll(Arrays.asList(entries));
-		for( int i = 0; i < current.length; i++ ) {
-			String currentEntry = current[i].getRuntimePath().append(current[i].getArchiveName()).toString();
-			list.remove(currentEntry);
-		}
-		return list.toArray(new String[list.size()]);
-	}
-	
-	/**
-	 * Clients who find this unacceptable should override
-	 * @param root
-	 * @return
-	 */
-	public IFile getManifestIFile(IVirtualComponent root) {
-		IVirtualFolder rootFolder = root.getRootFolder();
-		IVirtualFile vf = rootFolder.getFile(new Path("META-INF/MANIFEST.MF"));
-		if( vf.exists() )
-			return vf.getUnderlyingFile();
-		return null;
-	}
-	
-	protected String[] getPossibleParentProjects() {
-		IProject[] projects = JavaModuleComponentUtility.findParentProjects(project);
-		String[] strings = new String[projects.length];
-		for( int i = 0; i < projects.length; i++ ) {
-			strings[i] = projects[i].getName();
-		}
-		return strings;
-	}
-
-
-	public boolean performOk() {
-		if(addButton != null && addButton.isEnabled()) {
-			IDataModel updateManifestDataModel = DataModelFactory.createDataModel(new UpdateManifestDataModelProvider());
-			updateManifestDataModel.setProperty(UpdateManifestDataModelProperties.PROJECT_NAME, project.getName());
-			updateManifestDataModel.setBooleanProperty(UpdateManifestDataModelProperties.MERGE, false);
-			updateManifestDataModel.setProperty(UpdateManifestDataModelProperties.MANIFEST_FILE, getManifestIFile(rootComponent));
-			ArrayList<String> asStrings = new ArrayList<String>();
-			Iterator<IVirtualReference> i = list.iterator();
-			IVirtualReference tmp;
-			while(i.hasNext()) {
-				tmp = i.next();
-				if(tmp.getArchiveName() != null) {
-					if(tmp.getRuntimePath().toString().length() > 0 )
-						asStrings.add(tmp.getRuntimePath().append(tmp.getArchiveName()).toString());
-					else
-						asStrings.add(tmp.getArchiveName());
-				}
-			}
-			updateManifestDataModel.setProperty(UpdateManifestDataModelProperties.JAR_LIST, asStrings);
-			try {
-				updateManifestDataModel.getDefaultOperation().execute(new NullProgressMonitor(), null );
-			} catch (ExecutionException e) {
-				// TODO log J2EEUIPlugin.logError(e);
-			}
-		}
-
-		return true;
-	}
-
-	public void performDefaults() {
-		refreshViewerFromNewParentProject();
-	}
-
-	public boolean performCancel() {
-		return false;
-	}
-
-	public void setVisible(boolean visible) {
-	}
-
-	public void dispose() {
-	}
-
-	public void performApply() {
-		IFile manifest = getManifestIFile(rootComponent);
-		if(manifest == null) {
-			previousManifest = null;
-			addButton.setEnabled(false);
-			performDefaults();
-		} else {
-			if(previousManifest == null) {
-				performDefaults();
-			} else {
-				String currentManifest = manifest.getFullPath().toOSString();
-				if(!previousManifest.equals(currentManifest)) {
-					performDefaults();
-				}
-			}
-			previousManifest = manifest.getFullPath().toOSString();
-			addButton.setEnabled(true);
-			
-		}
-		updateButtons();
-		performOk();
-	}
-
-}
diff --git a/plugins/org.eclipse.jst.common.ui/src/org/eclipse/jst/common/ui/internal/assembly/wizard/VariableReferenceWizardFragment.java b/plugins/org.eclipse.jst.common.ui/src/org/eclipse/jst/common/ui/internal/assembly/wizard/VariableReferenceWizardFragment.java
deleted file mode 100644
index 283cdcc..0000000
--- a/plugins/org.eclipse.jst.common.ui/src/org/eclipse/jst/common/ui/internal/assembly/wizard/VariableReferenceWizardFragment.java
+++ /dev/null
@@ -1,300 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2010 Red Hat and Others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    Rob Stryker - initial implementation and ongoing maintenance
- *    Konstantin Komissarchik - misc. UI cleanup
- ******************************************************************************/
-
-package org.eclipse.jst.common.ui.internal.assembly.wizard;
-
-import java.io.File;
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.zip.ZipException;
-import java.util.zip.ZipFile;
-
-import org.eclipse.core.resources.IFile;
-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.jdt.core.JavaCore;
-import org.eclipse.jdt.internal.ui.JavaPluginImages;
-import org.eclipse.jdt.internal.ui.wizards.buildpaths.CPVariableElement;
-import org.eclipse.jdt.internal.ui.wizards.buildpaths.CPVariableElementLabelProvider;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.ITreeContentProvider;
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.jface.viewers.TreeViewer;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.jst.common.ui.internal.IJstCommonUIContextIds;
-import org.eclipse.jst.common.ui.internal.JstCommonUIPlugin;
-import org.eclipse.jst.common.ui.internal.Messages;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.layout.FormAttachment;
-import org.eclipse.swt.layout.FormData;
-import org.eclipse.swt.layout.FormLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.ui.ISharedImages;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.wst.common.componentcore.ComponentCore;
-import org.eclipse.wst.common.componentcore.internal.resources.VirtualArchiveComponent;
-import org.eclipse.wst.common.componentcore.internal.resources.VirtualReference;
-import org.eclipse.wst.common.componentcore.resources.IVirtualComponent;
-import org.eclipse.wst.common.componentcore.resources.IVirtualReference;
-import org.eclipse.wst.common.componentcore.ui.internal.taskwizard.IWizardHandle;
-import org.eclipse.wst.common.componentcore.ui.internal.taskwizard.WizardFragment;
-import org.eclipse.wst.common.componentcore.ui.propertypage.IReferenceWizardConstants;
-
-public class VariableReferenceWizardFragment extends WizardFragment {
-	protected LabelProvider labelProvider = null;
-	protected ITreeContentProvider contentProvider = null;
-	protected TreeViewer viewer;
-	protected IPath[] paths;
-	protected IWizardHandle handle;
-	protected Object selected = null;
-	boolean isComplete = false;
-
-	public boolean isComplete() {
-		return isComplete;
-	}
-	
-	public boolean hasComposite() {
-		return true;
-	}
-
-	@Override
-	public Composite createComposite(Composite parent, IWizardHandle handle) {
-		this.handle = handle;
-		handle.setTitle(Messages.VariableReferenceTitle);
-		handle.setDescription(Messages.VariableReferenceDescription);
-		handle.setImageDescriptor(JavaPluginImages.DESC_WIZBAN_ADD_LIBRARY);
-				
-		Composite c = new Composite(parent, SWT.NONE);
-		PlatformUI.getWorkbench().getHelpSystem().setHelp(c, IJstCommonUIContextIds.DEPLOYMENT_ASSEMBLY_NEW_VARIABLE_REFERENCE_P1);
-		c.setLayout(new FormLayout());
-		viewer = new TreeViewer(c, SWT.SINGLE | SWT.BORDER);
-		viewer.setContentProvider(getContentProvider());
-		viewer.setLabelProvider(getLabelProvider());
-		viewer.setInput(ResourcesPlugin.getWorkspace());
-		viewer.addSelectionChangedListener(new ISelectionChangedListener() {
-			public void selectionChanged(SelectionChangedEvent event) {
-				handleNewSelection();
-			}
-		});
-		FormData fd = new FormData();
-		fd.width = 390;
-		fd.height = 185;
-		fd.left = new FormAttachment(0, 5);
-		fd.top = new FormAttachment(0, 5);
-		fd.right = new FormAttachment(100, -5);
-		fd.bottom = new FormAttachment(100, -5);
-		viewer.getTree().setLayoutData(fd);
-		return c;
-	}
-	
-	protected void handleNewSelection() {
-		isComplete = true;
-		IStructuredSelection sel = (IStructuredSelection)viewer.getSelection();
-		Object o = sel.getFirstElement();
-		if( o == null ) {
-			isComplete = false;
-			selected = null;
-		} else {
-			selected = o;
-			IPath p = null;
-			if( o instanceof CPVariableElement) {
-				p = ((CPVariableElement)o).getPath();
-			} else if( o instanceof ExtendedVariable) {
-				p = ((ExtendedVariable)o).element.getPath().append(((ExtendedVariable)o).pathAfterElement);
-			}
-			if(p == null || p.isEmpty() || p.toFile().isDirectory() || !isValidArchive(p)) {
-				isComplete = false;
-			}
-		}
-		handle.update();
-	}
-	
-	protected LabelProvider getLabelProvider() {
-		if (labelProvider == null) {
-			labelProvider= new VariablesLabelProvider();
-		}
-		return labelProvider;
-	}
-	
-	public static class VariablesLabelProvider extends LabelProvider {
-		private CPVariableElementLabelProvider delegate = new CPVariableElementLabelProvider(false);
-		public Image getImage(Object element) {
-			if( element instanceof CPVariableElement)
-				return delegate.getImage(element);
-			if( element instanceof ExtendedVariable) {
-				if(((ExtendedVariable)element).isFolder()) 
-					return PlatformUI.getWorkbench().getSharedImages().getImage(ISharedImages.IMG_OBJ_FOLDER);
-				return PlatformUI.getWorkbench().getSharedImages().getImage(ISharedImages.IMG_OBJ_FILE);
-			}
-			return null;
-		}
-		public String getText(Object element) {
-			if( element instanceof CPVariableElement)
-				return delegate.getText(element);
-			if( element instanceof ExtendedVariable) 
-				return ((ExtendedVariable)element).pathAfterElement.lastSegment();
-			return element == null ? "" : element.toString();//$NON-NLS-1$
-		}	
-	}
-	
-	public static class ExtendedVariable {
-		public CPVariableElement element;
-		public IPath pathAfterElement;
-		public ExtendedVariable(CPVariableElement e, IPath p) {
-			element = e;
-			pathAfterElement = p;
-		}
-		public boolean isFolder() {
-			return element.getPath().append(pathAfterElement).toFile().isDirectory();
-		}
-	}
-	
-	private CPVariableElement[] elements;
-	private CPVariableElement[] initializeElements() {
-		String[] entries= JavaCore.getClasspathVariableNames();
-		ArrayList elements= new ArrayList(entries.length);
-		for (int i= 0; i < entries.length; i++) {
-			String name= entries[i];
-			IPath entryPath= JavaCore.getClasspathVariable(name);
-			if (entryPath != null) {
-				elements.add(new CPVariableElement(name, entryPath));
-			}
-		}
-		return (CPVariableElement[]) elements.toArray(new CPVariableElement[elements.size()]);
-	}
-
-	
-	protected ITreeContentProvider getContentProvider() {
-		if (contentProvider == null) {
-			contentProvider = new ITreeContentProvider() {
-				public Object[] getElements(Object inputElement) {
-					if( elements == null )
-						elements = initializeElements();
-					return elements;
-				}
-				public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
-				}
-				public void dispose() {
-				}
-				public boolean hasChildren(Object element) {
-					return getChildren(element).length > 0;
-				}
-				public Object getParent(Object element) {
-					return null;
-				}
-				public Object[] getChildren(Object parentElement) {
-					if( parentElement instanceof CPVariableElement) {
-						if(((CPVariableElement)parentElement).getPath().toFile().isDirectory()) {
-							String[] names = ((CPVariableElement)parentElement).getPath().toFile().list();
-							ExtendedVariable[] extensions = new ExtendedVariable[names.length];
-							for( int i = 0; i < extensions.length; i++ )
-								extensions[i] = new ExtendedVariable((CPVariableElement)parentElement, new Path(names[i]));
-							return extensions;
-						}
-					}
-					if( parentElement instanceof ExtendedVariable) {
-						ExtendedVariable p1 = (ExtendedVariable)parentElement;
-						IPath parentLoc = p1.element.getPath();
-						parentLoc = parentLoc.append(p1.pathAfterElement);
-						String[] names = parentLoc.toFile().list();
-						if( names != null ) {
-							ExtendedVariable[] extensions = new ExtendedVariable[names.length];
-							for( int i = 0; i < extensions.length; i++ )
-								extensions[i] = new ExtendedVariable(p1.element, p1.pathAfterElement.append(names[i]));
-							return extensions;
-						}
-					}
-					return new Object[]{};
-				}
-			};
-		}
-		return contentProvider;
-	}
-
-	public void performFinish(IProgressMonitor monitor) throws CoreException {
-		IVirtualComponent rootComponent = (IVirtualComponent)getTaskModel().getObject(IReferenceWizardConstants.ROOT_COMPONENT);
-		String runtimeLoc = (String)getTaskModel().getObject(IReferenceWizardConstants.DEFAULT_LIBRARY_LOCATION);
-		if (selected != null ) {
-			ArrayList<IVirtualReference> refList = new ArrayList<IVirtualReference>();
-//			for (int i = 0; i < selected.length; i++) {
-				IPath variablePath = getVariablePath(selected);
-				IPath resolvedPath = JavaCore.getResolvedVariablePath(variablePath);
-				java.io.File file = new java.io.File(resolvedPath.toOSString());
-				if (file.isFile() && file.exists()) {
-					String type = VirtualArchiveComponent.VARARCHIVETYPE
-							+ IPath.SEPARATOR;
-					IVirtualComponent archive = ComponentCore
-							.createArchiveComponent(rootComponent.getProject(),
-									type + variablePath.toString());
-					VirtualReference ref = new VirtualReference(rootComponent, archive);
-					ref.setArchiveName(resolvedPath.lastSegment());
-					if (runtimeLoc != null) {
-						ref.setRuntimePath(new Path(runtimeLoc).makeAbsolute());
-					}
-					refList.add(ref);
-				}
-//			}
-			IVirtualReference[] finalRefs = refList.toArray(new IVirtualReference[refList.size()]);
-			getTaskModel().putObject(IReferenceWizardConstants.FINAL_REFERENCE, finalRefs);
-		}
-	}
-	
-	private IPath getVariablePath(Object selected) {
-		if( selected instanceof ExtendedVariable) {
-			ExtendedVariable s1 = (ExtendedVariable)selected;
-			return new Path(s1.element.getName()).append(s1.pathAfterElement);
-		}
-		return new Path(((CPVariableElement)selected).getName());
-	}
-	
-	private boolean isValidArchive(IPath path) {
-		boolean valid = true;
-		ZipFile zipFile = null;
-		try {
-			String osPath = null;
-			if(path.segmentCount() > 1){
-				IFile file = ResourcesPlugin.getWorkspace().getRoot().getFile(path);
-				if(file.exists()) {
-					IPath loc = file.getLocation();
-					if(loc != null) { 
-						osPath = loc.toOSString();
-					}
-				}
-			}
-			if(osPath == null){
-				osPath = path.toOSString();
-			}
-			zipFile = new ZipFile(new File(osPath));
-		} catch (ZipException e1){
-			valid = false;
-		} catch (IOException e2){
-			valid = false;
-		}finally {
-			if (zipFile != null){
-				try {
-					zipFile.close();
-				} catch (IOException e) {
-					JstCommonUIPlugin.getDefault().getLog().log(new Status(IStatus.ERROR, JstCommonUIPlugin.PLUGIN_ID, e.getMessage(), e));
-				}
-			}
-		}
-		return valid;
-	}
-}
diff --git a/plugins/org.eclipse.jst.common.ui/src/org/eclipse/jst/common/ui/internal/messages.properties b/plugins/org.eclipse.jst.common.ui/src/org/eclipse/jst/common/ui/internal/messages.properties
deleted file mode 100644
index 82ed8ed..0000000
--- a/plugins/org.eclipse.jst.common.ui/src/org/eclipse/jst/common/ui/internal/messages.properties
+++ /dev/null
@@ -1,21 +0,0 @@
-ArchiveTitle=Archives from Workspace
-ArchiveDescription=Select archives to include in the deployment assembly.
-ArchiveDialogNewTitle=Archive Selection
-ArchiveDialogNewDescription=&Select archives to include in the deployment assembly:
-ExternalArchiveTitle=Archives from File System
-ExternalArchiveDescription=Select archives to include in the deployment assembly.
-Browse=Br&owse...
-VariableReferenceTitle=Archive via Path Variable
-VariableReferenceDescription=Select archive to include in the deployment assembly.
-AddManifestEntryTaskWizardTitle=Add Manifest Entries
-AddManifestEntryTaskWizardDesc=Add manifest entries that should be accessible at runtime.
-ParentProject=&Parent project: 
-CustomEntryButton=&Add Custom Entry
-Add=A&dd...
-Remove=&Remove
-MoveUp=Move &Up
-MoveDown=Move Do&wn
-ManifestEntryColumn=Manifest Entry
-ManifestEntrySourceColumn=Source
-ConfigureParentLink=Configure available manifest entries...
-InvalidArchivesWarning=The following files were not added because they are not archive files or are corrupted: 
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.frameworks/.classpath b/plugins/org.eclipse.wst.common.frameworks/.classpath
deleted file mode 100644
index f34d912..0000000
--- a/plugins/org.eclipse.wst.common.frameworks/.classpath
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="src/"/>
-	<classpathentry kind="src" path="src-non_workbench/"/>
-	<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.frameworks/.cvsignore b/plugins/org.eclipse.wst.common.frameworks/.cvsignore
deleted file mode 100644
index 59285f6..0000000
--- a/plugins/org.eclipse.wst.common.frameworks/.cvsignore
+++ /dev/null
@@ -1,10 +0,0 @@
-bin
-build.xml
-temp.folder
-common_core.jar
-common.jar
-common_coresrc.zip
-commonsrc.zip
-@dot
-src.zip
-javaCompiler...args
diff --git a/plugins/org.eclipse.wst.common.frameworks/.options b/plugins/org.eclipse.wst.common.frameworks/.options
deleted file mode 100644
index 2eaab8a..0000000
--- a/plugins/org.eclipse.wst.common.frameworks/.options
+++ /dev/null
@@ -1,3 +0,0 @@
-org.eclipse.wtp.common/debug/logtrace=false
-org.eclipse.wtp.common/debug/logtracefile=false
-org.eclipse.wtp.common/debug/loglevel=WARNING
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.frameworks/.project b/plugins/org.eclipse.wst.common.frameworks/.project
deleted file mode 100644
index 30f458a..0000000
--- a/plugins/org.eclipse.wst.common.frameworks/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.wst.common.frameworks</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-		<nature>org.eclipse.pde.PluginNature</nature>
-	</natures>
-</projectDescription>
diff --git a/plugins/org.eclipse.wst.common.frameworks/.settings/org.eclipse.jdt.core.prefs b/plugins/org.eclipse.wst.common.frameworks/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 037a4e5..0000000
--- a/plugins/org.eclipse.wst.common.frameworks/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,95 +0,0 @@
-#Mon Jun 08 15:35:45 EDT 2009
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
-org.eclipse.jdt.core.compiler.problem.comparingIdentical=error
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=error
-org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=error
-org.eclipse.jdt.core.compiler.problem.unusedLocal=error
-org.eclipse.jdt.core.compiler.problem.emptyStatement=error
-org.eclipse.jdt.core.compiler.problem.unusedLabel=error
-org.eclipse.jdt.core.compiler.problem.unusedParameter=warning
-org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning
-org.eclipse.jdt.core.incompatibleJDKLevel=ignore
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=error
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning
-org.eclipse.jdt.core.builder.cleanOutputFolder=clean
-org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=error
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=enabled
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
-org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=error
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
-org.eclipse.jdt.core.compiler.problem.redundantNullCheck=error
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.builder.recreateModifiedClassFileInOutputFolder=ignore
-org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=*.launch
-org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled
-org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=error
-org.eclipse.jdt.core.builder.invalidClasspath=abort
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=warning
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=error
-org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=error
-org.eclipse.jdt.core.codeComplete.argumentSuffixes=
-org.eclipse.jdt.core.codeComplete.argumentPrefixes=
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore
-org.eclipse.jdt.core.compiler.problem.potentialNullReference=error
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=error
-org.eclipse.jdt.core.compiler.problem.nullReference=error
-org.eclipse.jdt.core.compiler.source=1.5
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
-org.eclipse.jdt.core.builder.duplicateResourceTask=warning
-org.eclipse.jdt.core.compiler.problem.fieldHiding=error
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=error
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=error
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=error
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=warning
-org.eclipse.jdt.core.classpath.exclusionPatterns=enabled
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=error
-org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=error
-eclipse.preferences.version=1
-org.eclipse.jdt.core.incompleteClasspath=error
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=error
-org.eclipse.jdt.core.compiler.problem.deadCode=error
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=enabled
-org.eclipse.jdt.core.compiler.problem.fatalOptionalError=enabled
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=error
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeUncheckedExceptions=disabled
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=warning
-org.eclipse.jdt.core.codeComplete.fieldPrefixes=
-org.eclipse.jdt.core.compiler.problem.fallthroughCase=error
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
-org.eclipse.jdt.core.compiler.problem.autoboxing=warning
-org.eclipse.jdt.core.circularClasspath=error
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=error
-org.eclipse.jdt.core.codeComplete.fieldSuffixes=
-org.eclipse.jdt.core.codeComplete.localSuffixes=
-org.eclipse.jdt.core.compiler.problem.parameterAssignment=error
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=error
-org.eclipse.jdt.core.codeComplete.localPrefixes=
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.maxProblemPerUnit=100
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=error
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.compliance=1.5
-org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.codeComplete.staticFieldPrefixes=
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
-instance/org.eclipse.core.net/org.eclipse.core.net.hasMigrated=true
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
-org.eclipse.jdt.core.codeComplete.staticFieldSuffixes=
diff --git a/plugins/org.eclipse.wst.common.frameworks/META-INF/MANIFEST.MF b/plugins/org.eclipse.wst.common.frameworks/META-INF/MANIFEST.MF
deleted file mode 100644
index be31f31..0000000
--- a/plugins/org.eclipse.wst.common.frameworks/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,25 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %pluginName
-Bundle-SymbolicName: org.eclipse.wst.common.frameworks; singleton:=true
-Bundle-Version: 1.2.2.qualifier
-Bundle-Activator: org.eclipse.wst.common.frameworks.internal.plugin.WTPCommonPlugin
-Bundle-Vendor: %provider
-Bundle-Localization: plugin
-Export-Package: org.eclipse.wst.common.frameworks.datamodel,
- org.eclipse.wst.common.frameworks.datamodel.properties,
- org.eclipse.wst.common.frameworks.internal;x-internal:=true,
- org.eclipse.wst.common.frameworks.internal.activities;x-internal:=true,
- org.eclipse.wst.common.frameworks.internal.datamodel;x-internal:=true,
- org.eclipse.wst.common.frameworks.internal.enablement;x-internal:=true,
- org.eclipse.wst.common.frameworks.internal.enablement.nonui;x-internal:=true,
- org.eclipse.wst.common.frameworks.internal.operations;x-internal:=true,
- org.eclipse.wst.common.frameworks.internal.plugin;x-internal:=true
-Require-Bundle: org.eclipse.core.resources;bundle-version="[3.4.0,4.0.0)",
- org.eclipse.core.runtime;bundle-version="[3.4.0,4.0.0)",
- org.eclipse.core.commands;bundle-version="[3.4.0,4.0.0)",
- org.eclipse.wst.common.environment;bundle-version="[1.0.200,2.0.0)";visibility:=reexport,
- org.eclipse.emf.ecore;bundle-version="[2.4.0,3.0.0)",
- org.eclipse.wst.common.core;bundle-version="[1.2.0,2.0.0)"
-Eclipse-LazyStart: true
-Bundle-RequiredExecutionEnvironment: J2SE-1.5
diff --git a/plugins/org.eclipse.wst.common.frameworks/about.html b/plugins/org.eclipse.wst.common.frameworks/about.html
deleted file mode 100644
index 2199df3..0000000
--- a/plugins/org.eclipse.wst.common.frameworks/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.frameworks/build.properties b/plugins/org.eclipse.wst.common.frameworks/build.properties
deleted file mode 100644
index 4701114..0000000
--- a/plugins/org.eclipse.wst.common.frameworks/build.properties
+++ /dev/null
@@ -1,22 +0,0 @@
-###############################################################################
-# Copyright (c) 2003, 2005 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-# IBM Corporation - initial API and implementation
-###############################################################################
-bin.includes = plugin.xml,\
-               .options,\
-               META-INF/,\
-               plugin.properties,\
-               about.html,\
-               .
-jars.compile.order = .
-src.includes = schema/,\
-               component.xml
-output.. = bin/
-source.. = src-non_workbench/,\
-           src/
diff --git a/plugins/org.eclipse.wst.common.frameworks/component.xml b/plugins/org.eclipse.wst.common.frameworks/component.xml
deleted file mode 100644
index 761526a..0000000
--- a/plugins/org.eclipse.wst.common.frameworks/component.xml
+++ /dev/null
@@ -1,31 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<component  xmlns="http://eclipse.org/wtp/releng/tools/component-model" name="org.eclipse.wst.common.frameworks">
-  <description url=""></description>
-  <component-depends unrestricted="true"></component-depends>
-  <plugin id="org.eclipse.wst.common.frameworks" fragment="false"/>
-  <plugin id="org.eclipse.wst.common.frameworks.ui" fragment="false"/>
-  <plugin id="org.eclipse.wst.common.environment" fragment="false"/>
-
-  <package name="org.eclipse.wst.common.environment">
-    <type name="Choice" subclass="false" instantiate="false" />
-    <type name="EnvironmentException" subclass="false" instantiate="false" />
-    <type name="EnvironmentService" subclass="false" instantiate="false" />
-    <type name="IEnvironment" implement="false" />
-    <type name="ILog" implement="false" />
-    <type name="IStatusHandler" implement="false" />
-    <type name="NullStatusHandler" subclass="false" instantiate="false" />
-    <type name="StatusException" subclass="false" instantiate="false" />
-  </package>
- 
-  <package name="org.eclipse.wst.common.environment.uri">
-    <type name="IURI" implement="false" />
-    <type name="IURIFactory" implement="false" />
-    <type name="IURIFilter" implement="false" />
-    <type name="IURIScheme" implement="false" />
-    <type name="IURIVisitor" implement="false" />
-    <type name="SimpleURIFactory" subclass="false" instantiate="false" />
-    <type name="URIException" subclass="false" instantiate="false" />
-  </package>
-
-  <package name="org.eclipse.wst.common.frameworks.datamodel"></package>
-</component>
diff --git a/plugins/org.eclipse.wst.common.frameworks/plugin.properties b/plugins/org.eclipse.wst.common.frameworks/plugin.properties
deleted file mode 100644
index d56d20d..0000000
--- a/plugins/org.eclipse.wst.common.frameworks/plugin.properties
+++ /dev/null
@@ -1,16 +0,0 @@
-###############################################################################
-# Copyright (c) 2003, 2006 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-# IBM Corporation - initial API and implementation
-###############################################################################
-provider=Eclipse.org
-pluginName=Common Frameworks
-OperationExtension=OperationExtension
-Function_Extension_Group=Function Extension Group
-WTPActivityBridgeHelper=WTPActivityBridgeHelper
-DataModelProvider=DataModelProvider
diff --git a/plugins/org.eclipse.wst.common.frameworks/plugin.xml b/plugins/org.eclipse.wst.common.frameworks/plugin.xml
deleted file mode 100644
index b817e73..0000000
--- a/plugins/org.eclipse.wst.common.frameworks/plugin.xml
+++ /dev/null
@@ -1,38 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin>
-
-   <extension-point id="OperationExtension" name="%OperationExtension" schema="schema/OperationExtension.exsd"/>
-   <extension-point id="functionGroup" name="%Function_Extension_Group" schema="schema/functionGroup.exsd"/>
-   <extension-point id="WTPActivityBridgeHelper" name="%WTPActivityBridgeHelper" schema="schema/WTPActivityBridgeHelper.exsd"/>
-   <extension-point id="DataModelProviderExtension" name="%DataModelProvider" schema="schema/DataModelProviderExtension.exsd"/>
-   
-   <extension
-         id="context.Sensitive.Class.saveHandler"
-         name="Save Handler - Headless Context Class"
-         point="org.eclipse.wst.common.core.uiContextSensitiveClass">
-      <uiContextSensitiveClass
-            key="saveHandler"
-            context="Headless"
-            className="org.eclipse.wst.common.frameworks.internal.SaveHandlerHeadless">
-      </uiContextSensitiveClass>
-   </extension>
-   <extension
-         id="org.eclipse.wst.common.frameworks.internal.enablement"
-         point="org.eclipse.wst.common.core.uiContextSensitiveClass">
-      <uiContextSensitiveClass
-            key="org.eclipse.wst.common.frameworks.internal.EnablementDetermination"
-            context="Headless"
-            className="org.eclipse.wst.common.frameworks.internal.enablement.EnablementManager">
-      </uiContextSensitiveClass>
-   </extension>
-   <extension 
-       point="org.eclipse.wst.common.core.uiContextSensitiveClass">
-       <uiContextSensitiveClass
-          key="ISimpleValidateEditContext"
-          className="org.eclipse.wst.common.frameworks.internal.SimpleValidateEditContextHeadless"
-          context="Headless">
-      </uiContextSensitiveClass>
-  </extension>
-
-</plugin>
diff --git a/plugins/org.eclipse.wst.common.frameworks/prepareforpii.xml b/plugins/org.eclipse.wst.common.frameworks/prepareforpii.xml
deleted file mode 100644
index 638c7dc..0000000
--- a/plugins/org.eclipse.wst.common.frameworks/prepareforpii.xml
+++ /dev/null
@@ -1,37 +0,0 @@
-<project name="PrepareForPII" default="main" basedir=".">
-		
-	<!-- Setup temp variables -->
-	<target name="init">
-		<property name="nlsDir" value="d:/NLS/Corona/0526"/>
-		<property name="plugin" value="com.ibm.wtp.common"/>
-		<property name="plugindir" value="d:/workspaceCorona/${plugin}"/>
-		<property name="outputDir" value="${nlsDir}/${plugin}"/>
-		
-	
-	</target>
-
-	<!-- Create the destination dir -->
-	<target name="nlsDir" depends="init">
-		<mkdir dir="${nlsDir}"/>
-	</target>
-	
-	<!-- Create the destination dir -->
-	<target name="plugindir" depends="nlsDir">
-		<delete dir="${outputDir}"/>
-		<mkdir dir="${outputDir}"/>
-	</target>
-
-	<!-- Move the files to the correct locations in the workspace. -->
-	<target name="main" depends="plugindir">
-	
-		<messageIdGen folderPath = "${plugindir}" componentId = "E" />
-		
-		<copy todir = "${outputDir}/src" >
-			 <fileset dir="${plugindir}/src">
-           	  <include name="**/*.properties"/>
-  			 </fileset>
-  		</copy>
-
-  		
-	</target>
-</project>
diff --git a/plugins/org.eclipse.wst.common.frameworks/schema/DataModelProviderExtension.exsd b/plugins/org.eclipse.wst.common.frameworks/schema/DataModelProviderExtension.exsd
deleted file mode 100644
index 301984a..0000000
--- a/plugins/org.eclipse.wst.common.frameworks/schema/DataModelProviderExtension.exsd
+++ /dev/null
@@ -1,153 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.wst.common.frameworks">
-<annotation>
-      <appInfo>
-         <meta.schema plugin="org.eclipse.wst.common.frameworks" id="DataModelProviderExtension" name="Data Model Provider"/>
-      </appInfo>
-      <documentation>
-         This can be used to extend an existing data model provider with a custom data model provider.
-      </documentation>
-   </annotation>
-
-   <element name="extension">
-      <complexType>
-         <sequence>
-            <element ref="DataModelProvider" minOccurs="0" maxOccurs="1"/>
-            <element ref="ProviderDefinesType" minOccurs="0" maxOccurs="1"/>
-            <element ref="ProviderImplementsType" minOccurs="0" maxOccurs="1"/>
-         </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="DataModelProvider">
-      <complexType>
-         <attribute name="id" type="string">
-            <annotation>
-               <documentation>
-                  an optional identifier for the data model provider extension
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="class" type="string" use="required">
-            <annotation>
-               <documentation>
-                  required fully qualified classname of the data model provider to extend
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="ProviderDefinesType">
-      <complexType>
-         <attribute name="providerType" type="string" use="required">
-            <annotation>
-               <documentation>
-                  the type the data model provider defines
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="providerID" type="string" use="required">
-            <annotation>
-               <documentation>
-                  required identifier for the defined type
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="ProviderImplementsType">
-      <complexType>
-         <attribute name="providerType" type="string" use="required">
-            <annotation>
-               <documentation>
-                  fully qualified type the data model provider implements
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="providerID" type="string" use="required">
-            <annotation>
-               <documentation>
-                  required identifier for the implemented type
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="since"/>
-      </appInfo>
-      <documentation>
-         &lt;b&gt;This extension point is part of an interim API that is still under development and expected to change significantly before reaching stability. It is being made available at this early stage to solicit feedback from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken (repeatedly) as the API evolves.&lt;/b&gt;
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="examples"/>
-      </appInfo>
-      <documentation>
-         
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="apiInfo"/>
-      </appInfo>
-      <documentation>
-         
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="implementation"/>
-      </appInfo>
-      <documentation>
-         
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="copyright"/>
-      </appInfo>
-      <documentation>
-         Copyright (c) 2005 IBM Corporation and others.&lt;br&gt;
-All rights reserved. This program and the accompanying materials are made 
-available under the terms of the Eclipse Public License v1.0 which accompanies 
-this distribution, and is available at &lt;a
-href=&quot;http://www.eclipse.org/legal/epl-v10.html&quot;&gt;http://www.eclipse.org/legal/epl-v10.html&lt;/a&gt;
-      </documentation>
-   </annotation>
-
-</schema>
diff --git a/plugins/org.eclipse.wst.common.frameworks/schema/OperationExtension.exsd b/plugins/org.eclipse.wst.common.frameworks/schema/OperationExtension.exsd
deleted file mode 100644
index d6f1ea2..0000000
--- a/plugins/org.eclipse.wst.common.frameworks/schema/OperationExtension.exsd
+++ /dev/null
@@ -1,119 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>

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

-<schema targetNamespace="org.eclipse.wst.common.frameworks">

-<annotation>

-      <appInfo>

-         <meta.schema plugin="org.eclipse.wst.common.frameworks" id="OperationExtension" name="Operation Extension"/>

-      </appInfo>

-      <documentation>

-         This is the methodology for extending an existing operation by adding either a pre operation to be executed prior, or a post operation to be executed after the original operation.

-      </documentation>

-   </annotation>

-

-   <element name="extension">

-      <complexType>

-         <sequence>

-            <element ref="operationExtension"/>

-         </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" use="required">

-            <annotation>

-               <documentation>

-                  an optional identifier of the extension instance

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  an optional name of the extension instance

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <element name="operationExtension">

-      <complexType>

-         <sequence>

-         </sequence>

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

-            <annotation>

-               <documentation>

-                  optional fully qualified name of the pre-operation class

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  optional fully qualified name of the post-operation class

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  required id of the operation to extend

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

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

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

-         

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

-         

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

-         

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

-         Copyright (c) 2005 IBM Corporation and others.&lt;br&gt;

-All rights reserved. This program and the accompanying materials are made 

-available under the terms of the Eclipse Public License v1.0 which accompanies 

-this distribution, and is available at &lt;a

-href=&quot;http://www.eclipse.org/legal/epl-v10.html&quot;&gt;http://www.eclipse.org/legal/epl-v10.html&lt;/a&gt;

-      </documentation>

-   </annotation>

-

-</schema>

diff --git a/plugins/org.eclipse.wst.common.frameworks/schema/WTPActivityBridgeHelper.exsd b/plugins/org.eclipse.wst.common.frameworks/schema/WTPActivityBridgeHelper.exsd
deleted file mode 100644
index 67d50e7..0000000
--- a/plugins/org.eclipse.wst.common.frameworks/schema/WTPActivityBridgeHelper.exsd
+++ /dev/null
@@ -1,103 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>

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

-<schema targetNamespace="org.eclipse.wst.common.frameworks">

-<annotation>

-      <appInfo>

-         <meta.schema plugin="org.eclipse.wst.common.frameworks" id="WTPActivityBridgeHelper" name="WTP Activity Bridge Helper"/>

-      </appInfo>

-      <documentation>

-         This is used to declare an activity bridge helper which is useful when enabling capabilities.

-      </documentation>

-   </annotation>

-

-   <element name="extension">

-      <complexType>

-         <sequence>

-            <element ref="WTPActivityBridgeHelper"/>

-         </sequence>

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

-            <annotation>

-               <documentation>

-                  a fully qualified identifier of the target extension point

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  an optional identifier of the extension instance

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  an optional name of the extension instance

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <element name="WTPActivityBridgeHelper">

-      <complexType>

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

-            <annotation>

-               <documentation>

-                  fully qualified class name for the WTPActivityBridgeHelper class

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

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

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

-         

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

-         

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

-         

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

-         Copyright (c) 2005 IBM Corporation and others.&lt;br&gt;

-All rights reserved. This program and the accompanying materials are made 

-available under the terms of the Eclipse Public License v1.0 which accompanies 

-this distribution, and is available at &lt;a

-href=&quot;http://www.eclipse.org/legal/epl-v10.html&quot;&gt;http://www.eclipse.org/legal/epl-v10.html&lt;/a&gt;

-      </documentation>

-   </annotation>

-

-</schema>

diff --git a/plugins/org.eclipse.wst.common.frameworks/schema/functionGroup.exsd b/plugins/org.eclipse.wst.common.frameworks/schema/functionGroup.exsd
deleted file mode 100644
index 1809594..0000000
--- a/plugins/org.eclipse.wst.common.frameworks/schema/functionGroup.exsd
+++ /dev/null
@@ -1,186 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>

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

-<schema targetNamespace="org.eclipse.wst.common.frameworks">

-<annotation>

-      <appInfo>

-         <meta.schema plugin="org.eclipse.wst.common.frameworks" id="functionGroup" name="Function Extension Group"/>

-      </appInfo>

-      <documentation>

-         A functionGroup provides a grouping of related function that can be contributed to the tools.  For example, a third party component may want to contribute actions, editor pages, edit model resources, and many other functions specific to a given product.  By associating all these functions with a group id, a mechanism is exposed for users to selectively enable and disable baskets of function.  Extension points that allow for a &quot;groupID&quot; attribute generally will hide those functions when the group id is disabled.

-      </documentation>

-   </annotation>

-

-   <element name="extension">

-      <complexType>

-         <choice>

-            <element ref="functionGroup" minOccurs="1" maxOccurs="unbounded"/>

-            <element ref="functionGroupPatternBinding" minOccurs="1" maxOccurs="unbounded"/>

-         </choice>

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

-            <annotation>

-               <documentation>

-                  a fully qualified identifier of the target extension point

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  an optional identifier of the extension instance

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  an optional name of the extension instance

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <element name="functionGroup">

-      <annotation>

-         <documentation>

-            Extension point definition for a group.

-         </documentation>

-      </annotation>

-      <complexType>

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

-            <annotation>

-               <documentation>

-                  A unique id for the group.

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  A human readable name.

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  A short description of the group.

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  Optional path to an icon image.

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  Optional url for the function group.

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  Ordering magnitude of plugins

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  Class used to determine plugin enablement

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <element name="functionGroupPatternBinding">

-      <annotation>

-         <documentation>

-            This element allows one to bind function groups to patterns.

-         </documentation>

-      </annotation>

-      <complexType>

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

-            <annotation>

-               <documentation>

-                  The unique identifier of the function group to bind.

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  The pattern to be bound. Patterns are regular expressions which match unique identifiers.

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

-         1.0

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

-         &lt;pre&gt;

-   &lt;extension

-         point=&quot;org.eclipse.wst.common.frameworks.functionGroup&quot;&gt;

-      &lt;functionGroup

-            name=&quot;Acme Co. Function Extension&quot;

-            functionGroupID=&quot;com.acme.acmepro&quot;

-            description=&quot;The AcmePro Extensions add integration to the Acme Web Server.&quot;

-            enabledByDefault=&quot;true&quot;

-            icon=&quot;...&quot;

-            url=&quot;http://www.acme.com/&quot;/&gt;

-   &lt;/extension&gt;

-&lt;/pre&gt;

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

-         

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

-         

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

-         Copyright (c) 2005 IBM Corporation and others.&lt;br&gt;

-All rights reserved. This program and the accompanying materials are made 

-available under the terms of the Eclipse Public License v1.0 which accompanies 

-this distribution, and is available at &lt;a

-href=&quot;http://www.eclipse.org/legal/epl-v10.html&quot;&gt;http://www.eclipse.org/legal/epl-v10.html&lt;/a&gt;

-      </documentation>

-   </annotation>

-

-</schema>

diff --git a/plugins/org.eclipse.wst.common.frameworks/src-non_workbench/org/eclipse/wst/common/frameworks/internal/enablement/nonui/IWFTWrappedException.java b/plugins/org.eclipse.wst.common.frameworks/src-non_workbench/org/eclipse/wst/common/frameworks/internal/enablement/nonui/IWFTWrappedException.java
deleted file mode 100644
index d92bafd..0000000
--- a/plugins/org.eclipse.wst.common.frameworks/src-non_workbench/org/eclipse/wst/common/frameworks/internal/enablement/nonui/IWFTWrappedException.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.common.frameworks.internal.enablement.nonui;
-
-/**
- * Common interface for ArchiveRuntime and ArchiveWrapped exceptions, which can contain nested
- * exceptions
- */
-public interface IWFTWrappedException {
-	/**
-	 * Return the messages from this and all nested exceptions, in order from outermost to innermost
-	 */
-	public String[] getAllMessages();
-
-	/**
-	 * Return the messages from this and all nested exceptions, in order from outermost to
-	 * innermost, concatenated as one
-	 */
-	public String getConcatenatedMessages();
-
-	public Exception getInnerMostNestedException();
-
-	public String getMessage();
-
-	public java.lang.Exception getNestedException();
-
-	public void printStackTrace();
-
-	public void printStackTrace(java.io.PrintStream s);
-
-	public void printStackTrace(java.io.PrintWriter s);
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.frameworks/src-non_workbench/org/eclipse/wst/common/frameworks/internal/enablement/nonui/WFTWrappedException.java b/plugins/org.eclipse.wst.common.frameworks/src-non_workbench/org/eclipse/wst/common/frameworks/internal/enablement/nonui/WFTWrappedException.java
deleted file mode 100644
index 70990f5..0000000
--- a/plugins/org.eclipse.wst.common.frameworks/src-non_workbench/org/eclipse/wst/common/frameworks/internal/enablement/nonui/WFTWrappedException.java
+++ /dev/null
@@ -1,96 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.common.frameworks.internal.enablement.nonui;
-
-//import com.ibm.etools.wft.nls.WFTUtilsResourceHandler;
-
-
-
-/**
- * Insert the type's description here. Creation date: (04/03/01 11:12:51 AM)
- * 
- * @author: Administrator
- */
-public class WFTWrappedException extends java.lang.reflect.InvocationTargetException {
-	/**
-	 * Comment for <code>serialVersionUID</code>
-	 */
-	private static final long serialVersionUID = -6885044277377784429L;
-
-	/**
-	 * WFTWrappedException constructor comment.
-	 */
-	protected WFTWrappedException() {
-		super();
-	}
-
-	/**
-	 * WFTWrappedException constructor comment.
-	 * 
-	 * @param target
-	 *            java.lang.Throwable
-	 */
-	public WFTWrappedException(Throwable target) {
-		super(target);
-	}
-
-	/**
-	 * WFTWrappedException constructor comment.
-	 * 
-	 * @param target
-	 *            java.lang.Throwable
-	 * @param s
-	 *            java.lang.String
-	 */
-	public WFTWrappedException(Throwable target, String s) {
-		super(target, s);
-	}
-
-	/**
-	 * Print out a stack trace to the system err.
-	 */
-	@Override
-	public void printStackTrace() {
-		printStackTrace(System.err);
-	}
-
-	/**
-	 * Prints the exception to System.err. If we have a nested exception, print its stack.
-	 */
-	@Override
-	public void printStackTrace(java.io.PrintStream s) {
-		if (getTargetException() != null) {
-			s.println(this);
-			//TODO add this back in
-			// s.println(WFTUtilsResourceHandler.getString("Stack_trace_of_nested_exce_ERROR_"));
-			// //$NON-NLS-1$ = "Stack trace of nested exception:"
-			getTargetException().printStackTrace(s);
-		} else {
-			super.printStackTrace(s);
-		}
-	}
-
-	/**
-	 * Prints the exception to System.err. If we have a nested exception, print its stack.
-	 */
-	@Override
-	public void printStackTrace(java.io.PrintWriter s) {
-		if (getTargetException() != null) {
-			s.println(this);
-			//TODO add this back in
-			// s.println(WFTUtilsResourceHandler.getString("Stack_trace_of_nested_exce_ERROR_"));
-			// //$NON-NLS-1$ = "Stack trace of nested exception:"
-			getTargetException().printStackTrace(s);
-		} else {
-			super.printStackTrace(s);
-		}
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.frameworks/src-non_workbench/org/eclipse/wst/common/frameworks/internal/enablement/nonui/WorkbenchUtil.java b/plugins/org.eclipse.wst.common.frameworks/src-non_workbench/org/eclipse/wst/common/frameworks/internal/enablement/nonui/WorkbenchUtil.java
deleted file mode 100644
index 67cac79..0000000
--- a/plugins/org.eclipse.wst.common.frameworks/src-non_workbench/org/eclipse/wst/common/frameworks/internal/enablement/nonui/WorkbenchUtil.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/***************************************************************************************************
- * Copyright (c) 2003, 2004 IBM Corporation and others. All rights reserved. This program and the
- * accompanying materials are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: IBM Corporation - initial API and implementation
- **************************************************************************************************/
-package org.eclipse.wst.common.frameworks.internal.enablement.nonui;
-
-public class WorkbenchUtil {
-
-	protected static boolean WorkbenchRunning = false;
-
-	private WorkbenchUtil() {
-		super();
-	}
-
-	/**
-	 * workbenchIsRunning() - test whether or not we are running in the workbench environment.
-	 * 
-	 * @see JavaPlugin.startup()
-	 */
-	public static boolean workbenchIsRunning() {
-		return WorkbenchRunning;
-	}
-
-	/**
-	 * Set to true if you are running in a Workbench environment.
-	 * 
-	 * @see JavaPlugin.startup()
-	 */
-	public static void setWorkbenchIsRunning(boolean aBoolean) {
-		WorkbenchRunning = aBoolean;
-	}
-
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/datamodel/AbstractDataModelOperation.java b/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/datamodel/AbstractDataModelOperation.java
deleted file mode 100644
index 00f877f..0000000
--- a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/datamodel/AbstractDataModelOperation.java
+++ /dev/null
@@ -1,190 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.common.frameworks.datamodel;
-
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.core.commands.operations.AbstractOperation;
-import org.eclipse.core.resources.IWorkspace;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.jobs.ISchedulingRule;
-import org.eclipse.wst.common.environment.IEnvironment;
-
-/**
- * <p>
- * Abstract implementation for an IDataModelOperation.
- * </p>
- * 
- * @see org.eclipse.wst.common.frameworks.datamodel.IDataModelOperation
- * 
- * @since 1.0
- */
-public abstract class AbstractDataModelOperation extends AbstractOperation implements IDataModelOperation {
-
-	/**
-	 * <p>
-	 * Convenience IStatus.OK.
-	 * </p>
-	 */
-	protected static final IStatus OK_STATUS = IDataModelProvider.OK_STATUS;
-
-	private String id;
-	private IEnvironment environment;
-
-	/**
-	 * <p>
-	 * The IDataModel used by this IDataModelOperation
-	 * </p>
-	 */
-	protected IDataModel model;
-
-	/**
-	 * <p>
-	 * Default constructor.
-	 * </p>
-	 */
-	public AbstractDataModelOperation() {
-		super(""); //$NON-NLS-1$
-		this.id = getClass().getName();
-	}
-
-	/**
-	 * <p>
-	 * Constructor taking an IDataModel
-	 * </p>
-	 * 
-	 * @param model
-	 *            the IDataModel used to drive this operation
-	 */
-	public AbstractDataModelOperation(IDataModel model) {
-		super(""); //$NON-NLS-1$ // TODO add a label property to IDataModel???
-		this.model = model;
-		this.id = getClass().getName();
-	}
-
-	/**
-	 * <p>
-	 * Default implementation of setID().
-	 * <p>
-	 * 
-	 * @see IDataModelOperation#setID(String)
-	 */
-	public void setID(String id) {
-		this.id = id;
-	}
-
-	/**
-	 * <p>
-	 * Default implementation of getID().
-	 * </p>
-	 * 
-	 * @see IDataModelOperation#getID()
-	 */
-	public String getID() {
-		return id;
-	}
-
-	/**
-	 * <p>
-	 * Default implementation of setDataModel()
-	 * </p>
-	 * 
-	 * @see IDataModelOperation#setDataModel(IDataModel)
-	 */
-	public void setDataModel(IDataModel model) {
-		this.model = model;
-	}
-
-	/**
-	 * <p>
-	 * Default implementation of getDataModel()
-	 * </p>
-	 * 
-	 * @see IDataModelOperation#getDataModel()
-	 */
-	public IDataModel getDataModel() {
-		return model;
-	}
-
-	/**
-	 * <p>
-	 * Default implementation of getSchedulingRule() returns
-	 * <code>ResourcesPlugin.getWorkspace().getRoot()</code>.
-	 * </p>
-	 * 
-	 * @see IDataModelOperation#getSchedulingRule()
-	 */
-	public ISchedulingRule getSchedulingRule() {
-		return ResourcesPlugin.getWorkspace().getRoot();
-	}
-
-	/**
-	 * <p>
-	 * Default implementation of getOperationExecutionFlags() returns
-	 * <code>IWorkspace.AVOID_UPDATE</code>.
-	 * </p>
-	 * 
-	 * @see IDataModelOperation#getOperationExecutionFlags()
-	 */
-	public int getOperationExecutionFlags() {
-		return IWorkspace.AVOID_UPDATE;
-	}
-
-	/**
-	 * <p>
-	 * The framework will set the environment on this operation before it is executed. The operation
-	 * can then use the environment to report status, log information, and access resources in an
-	 * environment neutral way.
-	 * </p>
-	 * 
-	 * @param env
-	 *            the environment.
-	 * 
-	 */
-	public final void setEnvironment(IEnvironment env) {
-		environment = env;
-	}
-
-	/**
-	 * <p>
-	 * An operation can call this method to get the environment that has been set by the operations
-	 * framework.
-	 * </p>
-	 * 
-	 * @return returns an environment.
-	 */
-	public final IEnvironment getEnvironment() {
-		return environment;
-	}
-
-	/**
-	 * <p>
-	 * Default empty implementation of redo.
-	 * </p>
-	 */
-	@Override
-	public IStatus redo(IProgressMonitor monitor, IAdaptable info) throws ExecutionException {
-		return Status.OK_STATUS;
-	}
-
-	/**
-	 * <p>
-	 * Default empty implementation of undo.
-	 * </p>
-	 */
-	@Override
-	public IStatus undo(IProgressMonitor monitor, IAdaptable info) throws ExecutionException {
-		return Status.OK_STATUS;
-	}
-}
diff --git a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/datamodel/AbstractDataModelProvider.java b/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/datamodel/AbstractDataModelProvider.java
deleted file mode 100644
index 57f3302..0000000
--- a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/datamodel/AbstractDataModelProvider.java
+++ /dev/null
@@ -1,327 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.common.frameworks.datamodel;
-
-import java.util.Collections;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Set;
-
-import org.eclipse.core.runtime.IStatus;
-
-/**
- * <p>
- * A default implementation of <code>IDataModelProvider</code>.
- * </p>
- * 
- * @see org.eclipse.wst.common.frameworks.datamodel.IDataModelProvider
- * @since 1.0
- */
-public abstract class AbstractDataModelProvider implements IDataModelProvider {
-
-	/**
-	 * <p>
-	 * The IDataModel for this provider.
-	 * </p>
-	 */
-	protected IDataModel model = null;
-
-	public Set getPropertyNames() {
-		return new HashSet();
-	}
-	
-	/**
-	 * <p>
-	 * A default implementation of init(). Subclasses should override as necessary.
-	 * </p>
-	 * 
-	 * @see IDataModelProvider#init()
-	 */
-	public void init() {
-	}
-
-	/**
-	 * </p>
-	 * An implemenation of setDataModel().
-	 * </p>
-	 * 
-	 * @see IDataModelProvider#setDataModel(IDataModel)
-	 */
-	public final void setDataModel(IDataModel dataModel) {
-		this.model = dataModel;
-	}
-
-	/**
-	 * <p>
-	 * An implemenation of getDataModel().
-	 * </p>
-	 * 
-	 * @see IDataModelProvider#getDataModel()
-	 */
-	public final IDataModel getDataModel() {
-		return model;
-	}
-
-
-	/**
-	 * </p>
-	 * A default impleneation of propertySet(). Subclasses should override as necessary.
-	 * </p>
-	 * 
-	 * @param propertyName
-	 *            the name of the property that has been set
-	 * @param propertyValue
-	 *            the value the property has been set
-	 * 
-	 * @see IDataModelProvider#propertySet(String, Object)
-	 */
-	public boolean propertySet(String propertyName, Object propertyValue) {
-		return true;
-	}
-
-	/**
-	 * <p>
-	 * A default implemenation of getDefaultProperty(). Subclasses should override as necessary.
-	 * </p>
-	 * 
-	 * @param propertyName
-	 *            the specified property
-	 * 
-	 * @see IDataModelProvider#getDefaultProperty(String)
-	 */
-	public Object getDefaultProperty(String propertyName) {
-		if(ALLOW_EXTENSIONS.equals(propertyName)){
-			return Boolean.TRUE;
-		} else if(RESTRICT_EXTENSIONS.equals(propertyName)){
-			return Collections.EMPTY_LIST;
-		}
-		return null;
-	}
-
-	/**
-	 * <p>
-	 * A default implemenation of isPropertyEnabled(). Subclasses should override as necessary.
-	 * </p>
-	 * 
-	 * @param propertyName
-	 *            the specified property
-	 * @see IDataModelProvider#isPropertyEnabled(String)
-	 */
-	public boolean isPropertyEnabled(String propertyName) {
-		return true;
-	}
-
-	/**
-	 * <p>
-	 * A default implemenation of validate(). Subclasses should override as necessary.
-	 * </p>
-	 * 
-	 * @param name
-	 *            the name of the property or nested IDataModel being validated.
-	 * 
-	 * @see IDataModelProvider#validate(String)
-	 */
-	public IStatus validate(String name) {
-		return null;
-	}
-
-	/**
-	 * <p>
-	 * A default implemenation of getPropertyDescriptor(). Subclasses should override as necessary.
-	 * </p>
-	 * 
-	 * @param propertyName
-	 *            the specified property
-	 * @see IDataModelProvider#getPropertyDescriptor(String)
-	 */
-	public DataModelPropertyDescriptor getPropertyDescriptor(String propertyName) {
-		return null;
-	}
-
-	/**
-	 * <p>
-	 * A default implemenation of getValidPropertyDescriptors(). Subclasses should override as
-	 * necessary.
-	 * </p>
-	 * 
-	 * @param propertyName
-	 *            the specified property
-	 * @see IDataModelProvider#getValidPropertyDescriptors(String)
-	 */
-	public DataModelPropertyDescriptor[] getValidPropertyDescriptors(String propertyName) {
-		return null;
-	}
-
-	/**
-	 * <p>
-	 * A default implemenation of getExtendedContext(). Subclasses should override as necessary.
-	 * </p>
-	 * 
-	 * @see IDataModelProvider#getExtendedContext()
-	 */
-	public List getExtendedContext() {
-		return null;
-	}
-
-	/**
-	 * <p>
-	 * A default implemenation of getDefaultOperation(). Subclasses should override as necessary.
-	 * </p>
-	 * 
-	 * @see IDataModelProvider#getDefaultOperation()
-	 */
-	public IDataModelOperation getDefaultOperation() {
-		return null;
-	}
-
-	/**
-	 * <p>
-	 * A default implemenation of getName(). Subclasses should override as necessary.
-	 * </p>
-	 * 
-	 * @see IDataModelProvider#getID()
-	 */
-	public String getID() {
-		return this.getClass().getName();
-	}
-
-	/**
-	 * <p>
-	 * A default implemenation of dispose(). Subclasses should override as necessary.
-	 * </p>
-	 * 
-	 * @see IDataModelProvider#dispose()
-	 */
-	public void dispose() {
-	}
-
-	/**
-	 * <p>
-	 * Convenience method for getting a property from the backing IDataModel.
-	 * </p>
-	 * 
-	 * @param propertyName
-	 *            the property name
-	 * @return the property value
-	 * 
-	 * @see IDataModel#getProperty(String)
-	 */
-	protected final Object getProperty(String propertyName) {
-		return model.getProperty(propertyName);
-	}
-
-	/**
-	 * <p>
-	 * Convenience method for setting a property on the backing IDataModel.
-	 * </p>
-	 * 
-	 * @param propertyName
-	 *            the property name
-	 * @param propertyValue
-	 *            the property value
-	 * 
-	 * @see IDataModel#setProperty(String, Object)
-	 */
-	protected final void setProperty(String propertyName, Object propertyValue) {
-		model.setProperty(propertyName, propertyValue);
-	}
-
-	/**
-	 * <p>
-	 * Convenience method for getting a boolean property from the backing IDataModel.
-	 * </p>
-	 * 
-	 * @param propertyName
-	 *            the property name
-	 * @return the boolean value of the property
-	 * 
-	 * @see IDataModel#getBooleanProperty(String)
-	 */
-	protected final boolean getBooleanProperty(String propertyName) {
-		return model.getBooleanProperty(propertyName);
-	}
-
-	/**
-	 * <p>
-	 * Convenience method for setting a boolean property on the backing IDataModel.
-	 * </p>
-	 * 
-	 * @param propertyName
-	 *            the property name
-	 * @param propertyValue
-	 *            the boolean property value
-	 * 
-	 * @see IDataModel#setBooleanProperty(String, boolean)
-	 */
-	protected final void setBooleanProperty(String propertyName, boolean propertyValue) {
-		model.setBooleanProperty(propertyName, propertyValue);
-	}
-
-	/**
-	 * <p>
-	 * Convenience method for getting an int property from the backing IDataModel.
-	 * </p>
-	 * 
-	 * @param propertyName
-	 *            the property name
-	 * @return the int value of the property
-	 * 
-	 * @see IDataModel#getIntProperty(String)
-	 */
-	protected final int getIntProperty(String propertyName) {
-		return model.getIntProperty(propertyName);
-	}
-
-	/**
-	 * <p>
-	 * Convenience method for setting an int property on the backing IDataModel.
-	 * </p>
-	 * 
-	 * @param propertyName
-	 *            the property name
-	 * @param propertyValue
-	 *            the int property value
-	 * 
-	 * @see IDataModel#setIntProperty(String, int)
-	 */
-	protected final void setIntProperty(String propertyName, int propertyValue) {
-		model.setIntProperty(propertyName, propertyValue);
-	}
-
-	/**
-	 * <p>
-	 * Convenience method for getting a String property from the backing IDataModel.
-	 * </p>
-	 * 
-	 * @param propertyName
-	 *            the property name
-	 * @return the String value of the property
-	 * 
-	 * @see IDataModel#getStringProperty(String)
-	 */
-	protected final String getStringProperty(String propertyName) {
-		return model.getStringProperty(propertyName);
-	}
-
-	/**
-	 * <p>
-	 * Convenience method for checking if a property is set from the backing IDataModel.
-	 * </p>
-	 * 
-	 * @param propertyName
-	 *            the property name
-	 * @return <code>true</code> if the property is set, <code>false</code> otherwise.
-	 */
-	protected final boolean isPropertySet(String propertyName) {
-		return model.isPropertySet(propertyName);
-	}
-
-}
diff --git a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/datamodel/DataModelEvent.java b/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/datamodel/DataModelEvent.java
deleted file mode 100644
index 402b0bc..0000000
--- a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/datamodel/DataModelEvent.java
+++ /dev/null
@@ -1,162 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.common.frameworks.datamodel;
-
-/**
- * <p>
- * This event is used to communicate property changes from IDataModels to their IDataModelListeners.
- * </p>
- * <p>
- * This class may be instantiated; it is not intended to be subclassed.
- * </p>
- * 
- * @see org.eclipse.wst.common.frameworks.datamodel.IDataModel#addListener(IDataModelListener)
- * @see org.eclipse.wst.common.frameworks.datamodel.IDataModelListener
- * 
- * @since 1.0
- */
-public final class DataModelEvent {
-
-	/**
-	 * <p>
-	 * A flag used to specify the property's value has changed.
-	 * </p>
-	 * 
-	 * @see IDataModel#getProperty(String)
-	 * @see #getFlag()
-	 */
-	public static final int VALUE_CHG = 1;
-
-	/**
-	 * Internal. Clients should not use.
-	 */
-	static final int DEFAULT_CHG = 2;
-
-	/**
-	 * <p>
-	 * A flag used to specify the property's enablment has changed.
-	 * </p>
-	 * 
-	 * @see IDataModel#isPropertyEnabled(String)
-	 * @see #getFlag()
-	 */
-	public static final int ENABLE_CHG = 3;
-
-	/**
-	 * <p>
-	 * A flag used to specify the property's valid values have changed.
-	 * </p>
-	 * 
-	 * @see IDataModel#getValidPropertyDescriptors(String)
-	 * @see #getFlag()
-	 */
-	public static final int VALID_VALUES_CHG = 4;
-
-
-	private IDataModel dataModel;
-	private String propertyName;
-	private int flag;
-
-	/**
-	 * <p>
-	 * Constructor for DataModelEvent.
-	 * </p>
-	 * 
-	 * @param dataModel
-	 *            the IDataModel whose property has changed
-	 * @param propertyName
-	 *            the name of the changed property
-	 * @param flag
-	 *            contains a flag specifiying the event type
-	 */
-	public DataModelEvent(IDataModel dataModel, String propertyName, int flag) {
-		this.dataModel = dataModel;
-		this.propertyName = propertyName;
-		this.flag = flag;
-	}
-
-	/**
-	 * <p>
-	 * Returns the IDataModel whose property has changed.
-	 * </p>
-	 * 
-	 * @return the IDataModel whose property has changed.
-	 */
-	public IDataModel getDataModel() {
-		return dataModel;
-	}
-
-	/**
-	 * <p>
-	 * Returns the name of the changed property.
-	 * </p>
-	 * 
-	 * @return the name of the changed property.
-	 */
-	public String getPropertyName() {
-		return propertyName;
-	}
-
-	/**
-	 * <p>
-	 * Returns the flag indicating the event type. Valid types are:
-	 * <ul>
-	 * <li><code>PROPERTY_CHG</code></li>
-	 * <li><code>VALID_VALUES_CHG</code></li>
-	 * <li><code>ENABLE_CHG</code></li>
-	 * </ul>
-	 * </p>
-	 * 
-	 * @return the flag indicating the event type.
-	 */
-	public int getFlag() {
-		return flag;
-	}
-
-	/**
-	 * <p>
-	 * Convenience method to return the IDataModel's property. This is equavalent to:
-	 * <code>getDataModel().getProperty(getPropertyName())</code>.
-	 * </p>
-	 * 
-	 * @return the dataModel's property.
-	 * @see IDataModel#getProperty(String)
-	 */
-	public Object getProperty() {
-		return dataModel.getProperty(propertyName);
-	}
-
-	/**
-	 * <p>
-	 * Convenience method to return the IDataModel property's enablement state. This is equavalent
-	 * to: <code>getDataModel().isPropertyEnabled(getPropertyName())</code>.
-	 * </p>
-	 * 
-	 * @return the dataModel property's enablement state.
-	 * @see IDataModel#isPropertyEnabled(String)
-	 */
-	public boolean isPropertyEnabled() {
-		return dataModel.isPropertyEnabled(propertyName);
-	}
-
-	/**
-	 * <p>
-	 * Convenience method to return the IDataModel property's valid property descriptors. This is
-	 * equavalent to: <code>getDataModel().getValidPropertyDescriptors(getPropertyName())</code>.
-	 * </p>
-	 * 
-	 * @return the dataModel property's valid property descriptors.
-	 * @see IDataModel#getValidPropertyDescriptors(String)
-	 */
-	public DataModelPropertyDescriptor[] getValidPropertyDescriptors() {
-		return dataModel.getValidPropertyDescriptors(propertyName);
-	}
-}
diff --git a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/datamodel/DataModelFactory.java b/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/datamodel/DataModelFactory.java
deleted file mode 100644
index 3682a6d..0000000
--- a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/datamodel/DataModelFactory.java
+++ /dev/null
@@ -1,135 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.common.frameworks.datamodel;
-
-import org.eclipse.wst.common.frameworks.internal.datamodel.DataModelExtensionReader;
-import org.eclipse.wst.common.frameworks.internal.datamodel.DataModelImpl;
-import org.eclipse.wst.common.frameworks.internal.plugin.WTPCommonPlugin;
-
-/**
- * <p>
- * DataModelFactory is used to create IDataModel instances.
- * </p>
- * 
- * @since 1.0
- */
-public class DataModelFactory {
-
-	private static DataModelExtensionReader reader;
-
-	private DataModelFactory() {
-	}
-
-	/**
-	 * <p>
-	 * Looks up the appropriate IDataModelProvider by the specified id and constructs a new
-	 * IDataModel. If the IDataModelProvider is not found then a RuntimeException is logged and null
-	 * is returned.
-	 * </p>
-	 * 
-	 * @param dataModelProviderID
-	 *            the id of the IDataModelProvider
-	 * @return a new IDataModel
-	 */
-	public static IDataModel createDataModel(String dataModelProviderID) {
-		IDataModelProvider provider = loadProvider(dataModelProviderID);
-		if (provider == null)
-			return null;
-		return createDataModel(provider);
-	}
-
-	private static IDataModelProvider loadProvider(String id) {
-		if (null == reader) {
-			reader = new DataModelExtensionReader();
-		}
-		return reader.getProvider(id);
-	}
-
-	/**
-	 * <p>
-	 * Looks up the appropriate dataModelProviderIDs by the specified dataModelProviderKindID.
-	 * </p>
-	 * 
-	 * @param dataModelProviderKindID
-	 *            the String id of the dataModelProviderKindID
-	 * 
-	 * @return the array of valid dataModelProviderIDs or an empty array if there are none.
-	 */
-	public static String[] getDataModelProviderIDsForKind(String dataModelProviderKindID) {
-		String[] validProviderIDs = loadProviderForProviderKind(dataModelProviderKindID);
-		return null != validProviderIDs ? validProviderIDs : new String[0];
-	}
-
-
-	private static String[] loadProviderForProviderKind(String providerKind) {
-		if (null == reader) {
-			reader = new DataModelExtensionReader();
-		}
-		return reader.getProviderDescriptorsForProviderKind(providerKind);
-	}
-
-	/**
-	 * <p>
-	 * Builds an {@link IDataModel} using the specified Class. This Class will
-	 * normally be a sub interface of {@link IDataModelProperties}. If the
-	 * Class it is an {@link IDataModelProperties}.class then this method will
-	 * attempt to use the {@link IDataModelProperties#_provider_class} field to
-	 * load the {@link IDataModelProvider} with which to back the
-	 * {@link IDataModel}. If this fails, or if the Class is not an interface,
-	 * then this method is equavalent to
-	 * <code>createDataModel(aClass.getName())</code>.
-	 * </p>
-	 * 
-	 * @param aClass
-	 *            an {@link IDataModelProperties}.class or the class whose name
-	 *            is the id of the IDataModelProvider
-	 * @return a new IDataModel
-	 */
-	public static IDataModel createDataModel(Class aClass) {
-		if(aClass.isInterface()){
-				try{
-					Class clazz = (Class)aClass.getField("_provider_class").get(null); //$NON-NLS-1$
-					if(clazz != null){
-						IDataModelProvider provider = (IDataModelProvider)clazz.newInstance();
-						return createDataModel(provider);
-					}
-				} catch (NoSuchFieldException e) {
-					//ignore; the interface may not have defined the field and is relying on extensions.
-				} catch (IllegalArgumentException e) {
-					WTPCommonPlugin.logError(e);
-				} catch (SecurityException e) {
-					WTPCommonPlugin.logError(e);
-				} catch (IllegalAccessException e) {
-					WTPCommonPlugin.logError(e);
-				} catch (InstantiationException e) {
-					WTPCommonPlugin.logError(e);
-				}  
-		}
-		return createDataModel(aClass.getName());
-	}
-
-	/**
-	 * <p>
-	 * Creates a new IDataModel using the the specified instance of an IDataModelProvider.
-	 * </p>
-	 * 
-	 * @param provider
-	 * @return a new IDataModel
-	 */
-	public static IDataModel createDataModel(IDataModelProvider provider) {
-		if (null == provider) {
-			throw new NullPointerException();
-		}
-		DataModelImpl dataModel = new DataModelImpl(provider);
-		return dataModel;
-	}
-
-}
diff --git a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/datamodel/DataModelPropertyDescriptor.java b/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/datamodel/DataModelPropertyDescriptor.java
deleted file mode 100644
index dc757df..0000000
--- a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/datamodel/DataModelPropertyDescriptor.java
+++ /dev/null
@@ -1,141 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.common.frameworks.datamodel;
-
-/**
- * <p>
- * A DataModelPropertyDescriptor provides a human readible description for an IDataModel
- * propertyValue.
- * </p>
- * 
- * @see org.eclipse.wst.common.frameworks.datamodel.IDataModel#getPropertyDescriptor(String)
- * @see org.eclipse.wst.common.frameworks.datamodel.IDataModel#getValidPropertyDescriptors(String)
- * 
- * @since 1.0
- */
-public final class DataModelPropertyDescriptor {
-
-	/**
-	 * <p>
-	 * A convenience method which returns an array of DataModelPropertyDescriptors. If
-	 * <code>values</code> is <code>null</code> then a 0 length array is returned. Otherwise for
-	 * each <code>values[i]</code> in the array, a new DataModelPropertyDescriptors is created
-	 * using <code>new DataModelPropertyDescriptors(values[i]);</code>.
-	 * </p>
-	 * 
-	 * @param values
-	 *            the array of property values
-	 * @return the constructed DataModelPropertyDescriptors array
-	 */
-	public static DataModelPropertyDescriptor[] createDescriptors(Object[] values) {
-		if (null == values) {
-			return new DataModelPropertyDescriptor[0];
-		}
-		DataModelPropertyDescriptor[] descriptors = new DataModelPropertyDescriptor[values.length];
-		for (int i = 0; i < descriptors.length; i++) {
-			descriptors[i] = new DataModelPropertyDescriptor(values[i]);
-		}
-		return descriptors;
-	}
-
-	/**
-	 * <p>
-	 * A convenience method which returns an array of DataModelPropertyDescriptors. If
-	 * <code>values</code> is <code>null</code> then a 0 length array is returned. Otherwise for
-	 * each <code>values[i]</code> and <code>descriptions[i]</code> in the arrays, a new
-	 * DataModelPropertyDescriptor is created using
-	 * <code>new DataModelPropertyDescriptor(values[i], descriptions[i]);</code>. Both arrays
-	 * must be the same length.
-	 * </p>
-	 * 
-	 * @param values
-	 *            the array of property values
-	 * @param descriptions
-	 *            the array of property descriptions cooresponding the values array
-	 * @return the constructed DataModelPropertyDescriptors array
-	 */
-	public static DataModelPropertyDescriptor[] createDescriptors(Object[] values, String[] descriptions) {
-		if (null == values) {
-			return new DataModelPropertyDescriptor[0];
-		}
-		DataModelPropertyDescriptor[] descriptors = new DataModelPropertyDescriptor[values.length];
-		for (int i = 0; i < descriptors.length; i++) {
-			descriptors[i] = new DataModelPropertyDescriptor(values[i], descriptions[i]);
-		}
-		return descriptors;
-
-	}
-
-	private Object propertyValue;
-	private String propertyDescription;
-
-	/**
-	 * <p>
-	 * This is equavalent to calling <code>DataModelPropertyDescriptor(propertyValue, null)</code>.
-	 * </p>
-	 * 
-	 * @param propertyValue
-	 *            the propery value
-	 */
-	public DataModelPropertyDescriptor(Object propertyValue) {
-		this.propertyValue = propertyValue;
-	}
-
-	/**
-	 * <p>
-	 * Creates a new DataModelPropertyDescriptor with the specified propertyValue and
-	 * propertyDescription.
-	 * </p>
-	 * 
-	 * @param propertyValue
-	 *            the property value
-	 * @param propertyDescription
-	 *            the human readible proeprty descriptionF
-	 */
-	public DataModelPropertyDescriptor(Object propertyValue, String propertyDescription) {
-		this.propertyValue = propertyValue;
-		this.propertyDescription = propertyDescription;
-	}
-
-	/**
-	 * <p>
-	 * Returns the property value.
-	 * </p>
-	 * 
-	 * @return the property value
-	 */
-	public Object getPropertyValue() {
-		return propertyValue;
-	}
-
-	/**
-	 * <p>
-	 * Returns a human readible property description. If a non null description has been specified,
-	 * then it will be returned. Otherwise, the property value's <code>toString()</code> will be
-	 * returned if it is not null. Otherwise the empty String (<code>""</code>) will be
-	 * returned. <code>null</code> will never be returned.
-	 * </p>
-	 * 
-	 * @return the human readible property description, never <code>null</code>
-	 */
-	public String getPropertyDescription() {
-		if (null != propertyDescription) {
-			return propertyDescription;
-		}
-		String str = (null != propertyValue) ? propertyValue.toString() : null;
-		return (null != str) ? str : ""; //$NON-NLS-1$
-	}
-	
-	@Override
-	public String toString(){
-		return getPropertyDescription();
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/datamodel/IDataModel.java b/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/datamodel/IDataModel.java
deleted file mode 100644
index fa31c67..0000000
--- a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/datamodel/IDataModel.java
+++ /dev/null
@@ -1,747 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.common.frameworks.datamodel;
-
-import java.util.Collection;
-import java.util.List;
-
-import org.eclipse.core.runtime.IStatus;
-
-/**
- * <p>
- * IDataModels are the core piece of a framework used to simplify data collection, operation
- * execution, and Wizard generation.
- * </p>
- * <p>
- * IDataModels are primarily an intelligent mechanism for managing data. Each IDataModel tracks
- * specific Objects known as "properties". Each property may be set or get using its property name.
- * A Collection of property names for an IDataModel instance may be retreived using
- * <code>getAllProperties()</code>. In addition to getting/setting properties, IDataModels may
- * also provide default values for unset properties, human readable descriptors for properties,
- * enumerations of valid property values, validation for properties, and enablement for properties.
- * </p>
- * <p>
- * IDataModels may also be nested (and unnested) recursively within another. When one IDataModel is
- * nested within another, then client code may access all properties on the former through the
- * latter. This is especially useful when the same IDataModel (tracking the same properties) may be
- * used within the context of several different broader scenarios. Nesting may apply to any
- * IDataModel, and may be abitraryly deep (even cylical if you dare). Nesting offers flexibility,
- * especially for extension by 3rd party clients.
- * </p>
- * <p>
- * Each IDataModel may also supply an IDataModelOperation (a subclass of
- * org.eclipse.core.commands.operations.IUndoableOperation) for execution. When executed within the
- * IDataModel framework all these operations are inherently and abitrarily extendable.
- * </p>
- * <p>
- * Each IDataModel may also indirectly supply a DataModelWizard. This indirection is necessary to
- * spilt UI dependencies from the core IDataModel framework. DataModelWizards are also inherently
- * extendable.
- * </p>
- * <p>
- * IDataModels are not meant to be instantiated directly, rather they are built from an
- * IDataModelProvider. Clients wishing to define their own IDataModel must do so by implementing an
- * IDataModelProvider. Clients wishing to utilize an IDataModel must create it using the
- * DataModelFactory with the associated IDataModelProvider.
- * </p>
- * 
- * <p>
- * This interface is not intended to be implemented by clients.
- * </p>
- * 
- * @see org.eclipse.wst.common.frameworks.datamodel.IDataModelProvider
- * @see org.eclipse.wst.common.frameworks.datamodel.DataModelFactory
- * 
- * @since 1.0
- */
-public interface IDataModel {
-
-	/**
-	 * <p>
-	 * Returns the unique ID which identifies this IDataModel instance. The same ID should be used
-	 * by the default operation (if any) for clients to extend or instantiate directly, the
-	 * DataModelWizard (if any) for clients to extend or instantiate directly.
-	 * </p>
-	 * <p>
-	 * Note, this is not the same as a hashcode. Multiple IDataModel instances created with the same
-	 * IDataModelProvider type will all have the same ID.
-	 * </p>
-	 * <p>
-	 * An IDataModel implementor defines this in IDataModelProvider.
-	 * </p>
-	 * 
-	 * @see IDataModelProvider#getID()
-	 * 
-	 * @return the unique ID for this IDataModel
-	 */
-	public String getID();
-
-	/**
-	 * <p>
-	 * Returns the default operation to execute against this IDataModel. The returned operation is
-	 * derived from the operation supplied by the backing IDataModelProvider. The returned type is
-	 * IDataModelManagerOperation which adds additional functionality to the returned
-	 * IDataModelOperation.
-	 * </p>
-	 * <p>
-	 * An IDataModel implementor defines this in IDataModelProvider.
-	 * </p>
-	 * 
-	 * @see IDataModelProvider#getDefaultOperation()
-	 * 
-	 * @return the default operation
-	 */
-	public IDataModelOperation getDefaultOperation();
-
-	/**
-	 * <p>
-	 * This method only pertains to IDataModels for extedended operations. The returned extended
-	 * context is used by the IDataModelOperation framework to determine whether a particular
-	 * extended operation should execute. The returned list is should contain Objects adaptable to
-	 * IProject. This IDataModel's function groups are looked up through the extension mechanism. If
-	 * a function group is defined, it is first checked for enablement. Then each adapted IProject
-	 * is inspected to verify it handles the function group. If all these conditions are met, then
-	 * the extended operation associated with this IDataModel is executed; otherwise it is skipped.
-	 * If no function group is defined, or no extended context is defined (i.e. this method returns
-	 * an empty list, or the objects in the returned list are not adaptable to IProject) then the
-	 * extended operation will execute (it will never be skipped).
-	 * </p>
-	 * <p>
-	 * An IDataModel implementor defines this in IDataModelProvider.
-	 * </p>
-	 * <p>
-	 * This method should not be called by clients.
-	 * </p>
-	 * 
-	 * @return a List of Objects adaptable to IProject
-	 * 
-	 * @see IDataModelProvider#getExtendedContext()
-	 */
-	public List getExtendedContext();
-
-	/**
-	 * <p>
-	 * Returns the property value for the specified propertyName.
-	 * </p>
-	 * <p>
-	 * If the specified propertyName is not a property then a RuntimeException will be thrown.
-	 * </p>
-	 * <p>
-	 * Before the property is returned, first the owning IDataModel must be located. If the
-	 * specified propertyName is a base property {@link #isBaseProperty(String)}, then this
-	 * IDataModel is the owner. Otherwise, a recursive search through the nested IDataModels is
-	 * conducted to locate the owning IDataModel. If more than one nested IDataModel defines the
-	 * property, then the first one located is considered the owning IDataModel.
-	 * </p>
-	 * <p>
-	 * Once the owning IDataModel is found the property is checked to see if it is set
-	 * {@link #isPropertySet(String)}. If the property is set, the set value is returned. If the
-	 * property is not set, its default is returned {@link #getDefaultProperty(String)}.
-	 * </p>
-	 * <p>
-	 * There are convenience methods for getting primitive <code>int</code> and
-	 * <code>boolean</code> types as well as Strings.
-	 * <ul>
-	 * <li>{@link #getIntProperty(String)}</li>
-	 * <li>{@link #getBooleanProperty(String)}</li>
-	 * <li>{@link #getStringProperty(String)}</li>
-	 * </ul>
-	 * </p>
-	 * 
-	 * @param propertyName
-	 *            the property name
-	 * @return the property
-	 * 
-	 * @see #setProperty(String, Object)
-	 * @see #getBooleanProperty(String)
-	 * @see #getIntProperty(String)
-	 * @see #getStringProperty(String)
-	 */
-	public Object getProperty(String propertyName);
-
-	/**
-	 * <p>
-	 * Returns the default property value for the specified propertyName.
-	 * </p>
-	 * <p>
-	 * An IDataModel implementor defines this in IDataModelProvider.
-	 * </p>
-	 * 
-	 * @see IDataModelProvider#getDefaultProperty(String)
-	 */
-	public Object getDefaultProperty(String propertyName);
-
-	/**
-	 * <p>
-	 * A convenience method for getting ints. If the property is set then this method is equavalent
-	 * to:
-	 * </p>
-	 * <p>
-	 * <code>((Integer)getProperty(propertyName)).intValue();</code>
-	 * </p>
-	 * <p>
-	 * <code>-1</code> is returned if a call to getProperty(propertyName) returns
-	 * <code>null</code>.
-	 * </p>
-	 * 
-	 * @param propertyName
-	 *            the property name
-	 * @return the int value of the property
-	 * @see #setProperty(String, Object)
-	 * @see #setIntProperty(String, int)
-	 */
-	public int getIntProperty(String propertyName);
-
-	/**
-	 * <p>
-	 * A convenience method for getting booleans. If the property is set then this method is
-	 * equavalent to:
-	 * </p>
-	 * <p>
-	 * <code>((Boolean)getProperty(propertyName)).booleanValue();</code>
-	 * </p>
-	 * <p>
-	 * <code>false</code> is returned if a call to getProperty(propertyName) returns
-	 * <code>null</code>.
-	 * </p>
-	 * 
-	 * @param propertyName
-	 *            the property name
-	 * @return the boolean value of the property
-	 * @see #setProperty(String, Object)
-	 * @see #setBooleanProperty(String, boolean)
-	 */
-	public boolean getBooleanProperty(String propertyName);
-
-	/**
-	 * <p>
-	 * A convenience method for getting Strings. If the property is set then this method is
-	 * equavalent to:
-	 * </p>
-	 * <p>
-	 * <code>(String)getProperty(propertyName)</code>
-	 * </p>
-	 * <p>
-	 * <code>""</code> is returned if a call to getProperty(propertyName) returns
-	 * <code>null</code>.
-	 * </p>
-	 * 
-	 * @param propertyName
-	 * @see #setProperty(String, Object)
-	 */
-	public String getStringProperty(String propertyName);
-
-	/**
-	 * <p>
-	 * Sets the specified propertyName to the specified propertyValue. Subsequent calls to
-	 * {@link #getProperty(String)} will return the same propertyValue.
-	 * </p>
-	 * <p>
-	 * When a propertyValue other than <code>null</code> is set, then the property is considered
-	 * "set" (see {@link #isPropertySet(String)}), conversly, a propertyValue of <code>null</code>
-	 * is considered "unset".
-	 * </p>
-	 * <p>
-	 * If the specified propertyName is not a property (see {@link #isProperty(String)}) then a
-	 * RuntimeException will be thrown.
-	 * </p>
-	 * <p>
-	 * There are convenience methods for setting primitive <code>int</code> and
-	 * <code>boolean</code> types as well as Strings.
-	 * <ul>
-	 * <li>{@link #setIntProperty(String, int)}</li>
-	 * <li>{@link #setBooleanProperty(String, boolean)}</li>
-	 * <li>{@link #setStringProperty(String, String)}</li>
-	 * </ul>
-	 * </p>
-	 * <p>
-	 * An IDataModel implementor may define additional post set logic in
-	 * {@link IDataModelProvider#propertySet(String, Object)}.
-	 * </p>
-	 * 
-	 * @param propertyName
-	 *            the name of the property to set
-	 * @param propertyValue
-	 *            the value to set the property
-	 * 
-	 * 
-	 * @see #getProperty(String)
-	 * @see #isPropertySet(String)
-	 * @see #isProperty(String)
-	 * @see IDataModelProvider#propertySet(String, Object)
-	 */
-	public void setProperty(String propertyName, Object propertyValue);
-
-	/**
-	 * <p>
-	 * A convenience method for setting ints. This method is equavalent to:
-	 * <p>
-	 * <code>setProperty(propertyName, new Integer(propertyValue));</code>
-	 * </p>
-	 * 
-	 * @param propertyName
-	 *            the name of the property
-	 * @param propertyValue
-	 *            the <code>int</code> value of the property
-	 * @see #setProperty(String, Object)
-	 * @see #getIntProperty(String)
-	 */
-	public void setIntProperty(String propertyName, int propertyValue);
-
-	/**
-	 * <p>
-	 * A convenience method for setting booleans. This method is equavalent to:
-	 * <p>
-	 * <code>setProperty(propertyName, (value) ? Boolean.TRUE : Boolean.FALSE);</code>
-	 * </p>
-	 * 
-	 * @param propertyName
-	 *            the name of the property
-	 * @param propertyValue
-	 *            the <code>boolean</code> value of the property
-	 * @see #setProperty(String, Object)
-	 * @see #getBooleanProperty(String)
-	 */
-	public void setBooleanProperty(String propertyName, boolean propertyValue);
-
-	/**
-	 * <p>
-	 * A convenience method for setting Strings. This method is equavalent to:
-	 * <p>
-	 * <code>setProperty(propertyName, propertyValue);</code>
-	 * </p>
-	 * 
-	 * @param propertyName
-	 *            the name of the property
-	 * @param propertyValue
-	 *            the value of the property
-	 * @see #setProperty(String, Object)
-	 * @see #getStringProperty(String)
-	 */
-	public void setStringProperty(String propertyName, String propertyValue);
-
-	/**
-	 * <p>
-	 * This method is used to nest the specified IDataModel within this IDataModel. The
-	 * <code>nestedModelName</code> argument should be a unique String to identify this particular
-	 * nested IDataModel. The same String is required when accessing the nested IDataModel using
-	 * either {@link #getNestedModel(String)} or {@link #removeNestedModel(String)}. If the
-	 * specified nested IDataModel has already been nested under this IDataModel or it is the same
-	 * instance as this IDataModel, then calling this method will have no effect.
-	 * </p>
-	 * 
-	 * @param nestedModelName
-	 *            the name of the IDataModel to be nested
-	 * @param dataModel
-	 *            the IDataModel to be nested
-	 * @return <code>true</code> if the nesting was successful, <code>false</code> otherwise.
-	 * 
-	 * @see #getNestedModel(String)
-	 * @see #removeNestedModel(String)
-	 */
-	public boolean addNestedModel(String nestedModelName, IDataModel dataModel);
-
-	/**
-	 * <p>
-	 * Remove the specified nestedModel.
-	 * </p>
-	 * 
-	 * @param nestedModelName
-	 *            the name of the nested IDataModel to remove.
-	 * @return the IDataModel removed, or <code>null</code> if the nested model does not exist or
-	 *         if the specified name is null.
-	 */
-	public IDataModel removeNestedModel(String nestedModelName);
-
-	/**
-	 * <p>
-	 * Returns <code>true</code> if a nested model exists (at the top level only) with the
-	 * specified name and <code>false</code> otherwise.
-	 * </p>
-	 * 
-	 * @param nestedModelName
-	 *            the name of the nested IDataModel to check.
-	 * @return Returns <code>true</code> if a nested model exists (at the top level only) with the
-	 *         specified name and <code>false</code> otherwise.
-	 */
-	public boolean isNestedModel(String nestedModelName);
-
-	/**
-	 * <p>
-	 * Returns the nested IDataModel identified the by the specified name. A RuntimeException is
-	 * thrown if there is no such nested IDataModel (i.e. isNestedModel() would return
-	 * <code>false</code>).
-	 * </p>
-	 * 
-	 * @param nestedModelName
-	 *            the name of the nested IDataModel to get.
-	 * @return the nested IDataModel
-	 */
-	public IDataModel getNestedModel(String nestedModelName);
-
-	/**
-	 * <p>
-	 * Returns a Collection of all nested IDataModels, or an empty Collection if none exist.
-	 * </p>
-	 * 
-	 * @return a Collection of all nested IDataModels, or an empty Collection if none exist.
-	 */
-	public Collection getNestedModels();
-
-	/**
-	 * <p>
-	 * Returns a Collection of all nested IDataModels names, or an empty Collection if none exist.
-	 * </p>
-	 * 
-	 * @return a Collection of all nested IDataModels names, or an empty Collection if none exist.
-	 */
-	public Collection getNestedModelNames();
-
-	/**
-	 * <p>
-	 * Returns a Collection of all nesting (the inverse of nested) IDataModels, or an empty
-	 * Collection if none exist.
-	 * </p>
-	 * 
-	 * @return a Collection of all nesting (the inverse of nested) IDataModels, or an empty
-	 *         Collection if none exist.
-	 */
-	public Collection getNestingModels();
-
-	/**
-	 * <p>
-	 * Returns a Collection of all base properties (not including nested properties), or an empty
-	 * Collection if none exist.
-	 * </p>
-	 * 
-	 * @return a Collection of all base properties (not including nested properties), or an empty
-	 *         Collection if none exist.
-	 */
-	public Collection getBaseProperties();
-
-	/**
-	 * <p>
-	 * Returns a Collection of all properties of recursively nested IDataModels, or an empty
-	 * Collection if none exist.
-	 * </p>
-	 * 
-	 * @return a Collection of all properties of recursively nested IDataModels, or an empty
-	 *         Collection if none exist.
-	 */
-	public Collection getNestedProperties();
-
-	/**
-	 * <p>
-	 * Returns a Collection of all properties (the union of getBaseProperties() and
-	 * getNestedProperties()), or an empty Collection if none exist.
-	 * </p>
-	 * 
-	 * @return a Collection of all properties (the union of getBaseProperties() and
-	 *         getNestedProperties()), or an empty Collection if none exist.
-	 */
-	public Collection getAllProperties();
-
-	/**
-	 * <p>
-	 * Returns <code>true</code> if the specified propertyName is a valid propertyName for this
-	 * root IDataModel only. Nested IDataModels are not checked, though it is possible for a nested
-	 * IDataModel to contain the same property.
-	 * </p>
-	 * 
-	 * @param propertyName
-	 *            the property name to check
-	 * @return <code>true</code> if this property is a base property, <code>false</code>
-	 *         otherwise.
-	 * 
-	 * @see #isProperty(String)
-	 * @see #isNestedProperty(String)
-	 */
-	public boolean isBaseProperty(String propertyName);
-
-	/**
-	 * <p>
-	 * Returns <code>true</code> if the specified propertyName is a valid propertyName for this
-	 * DataModel or any of its (recursively) nested IDataModels.
-	 * </p>
-	 * 
-	 * @param propertyName
-	 *            the property name to check
-	 * @return <code>true</code> if this is a property, <code>false</code> otherwise.
-	 * 
-	 * @see #isBaseProperty(String)
-	 */
-	public boolean isProperty(String propertyName);
-
-	/**
-	 * <p>
-	 * Returns <code>true</code> if the specified propertyName is a valid propertyName for any of
-	 * its (recursively) nested IDataModels. The root IDataModel is not checked, though it is
-	 * possible for the root IDataModel to contain the same property.
-	 * </p>
-	 * 
-	 * @param propertyName
-	 *            the property name to check
-	 * @return <code>true</code> if the property is nested, <code>false</code> otherwise.
-	 * @see #isBaseProperty(String)
-	 */
-	public boolean isNestedProperty(String propertyName);
-
-	/**
-	 * <p>
-	 * Returns <code>true</code> if the specified property has been set on the IDataModel. If it
-	 * has not been set, then a call to get the same property will return the default value.
-	 * </p>
-	 * 
-	 * @param propertyName
-	 *            the property name to check
-	 * @return <code>true</code> if the property is set, <code>false</code> otherwise.
-	 */
-	public boolean isPropertySet(String propertyName);
-
-	/**
-	 * <p>
-	 * Returns <code>true</code> if the specified property is enabled and <code>false</code>
-	 * otherwise.
-	 * </p>
-	 * <p>
-	 * An IDataModel implementor defines this in IDataModelProvider.
-	 * </p>
-	 * 
-	 * @see IDataModelProvider#isPropertyEnabled(String)
-	 * 
-	 * @param propertyName
-	 *            the property name to check
-	 * @return <code>true</code> if the specified property is enabled and <code>false</code>
-	 *         otherwise.
-	 */
-	public boolean isPropertyEnabled(String propertyName);
-
-	/**
-	 * <p>
-	 * Returns <code>false</code> if the the IStatus returned by validateProperty(String) is ERROR
-	 * and <code>true</code> otherwise.
-	 * </p>
-	 * 
-	 * @param propertyName
-	 *            the property name to check
-	 * @return <code>false</code> if the the IStatus returned by validateProperty(String) is ERROR
-	 *         and <code>true</code> otherwise.
-	 */
-	public boolean isPropertyValid(String propertyName);
-
-	/**
-	 * <p>
-	 * Returns an IStatus for the specified property. Retuns an IStatus.OK if the returned value is
-	 * valid with respect itself, other properites, and broader context of the IDataModel.
-	 * IStatus.ERROR is returned if the returned value is invalid. IStatus.WARNING may also be
-	 * returned if the value is not optimal.
-	 * </p>
-	 * <p>
-	 * An IDataModel implementor defines this in IDataModelProvider.
-	 * </p>
-	 * 
-	 * @see IDataModelProvider#validate(String)
-	 */
-	public IStatus validateProperty(String propertyName);
-
-	/**
-	 * <p>
-	 * Returns <code>false</code> if the IStatus returned by validate(true) is ERROR and
-	 * <code>true</code> otherwise.
-	 * </p>
-	 * 
-	 * @return <code>false</code> if the IStatus returned by validate(true) is ERROR and
-	 *         <code>true</code> otherwise.
-	 */
-	public boolean isValid();
-
-	/**
-	 * <p>
-	 * Equavalent to calling <code>validate(true)</code>.
-	 * </p>
-	 * 
-	 * @return an IStatus
-	 */
-	public IStatus validate();
-
-	/**
-	 * <p>
-	 * Iterates over all base properties and nested models IDs and calls validate(String). This
-	 * method returns when any call to validate(String) returns an IStatus error and
-	 * stopAtFirstFailure is set to true.
-	 * <p>
-	 * 
-	 * @param stopAtFirstFailure
-	 *            whether validation should stop at the first failure
-	 * @return an IStatus
-	 */
-	public IStatus validate(boolean stopAtFirstFailure);
-
-
-
-	/**
-	 * <p>
-	 * Returns a DataModelPropertyDescriptor for the specified property. The
-	 * <code>getPropertyValue()</code> method on the returned DataModelPropertyDescriptor will be
-	 * the same value as returned by <code>getPropertyValue(propertyName)</code>.
-	 * </p>
-	 * <p>
-	 * Following the example introduced in {@link #getValidPropertyDescriptors(String)}, suppose
-	 * the <code>SHIRT_SIZE</code> property is currently set to 1. A call to this method would
-	 * return a DataModelPropertyDescriptor whose <code>getPropertyValue()</code> returns
-	 * <code>1</code> and whose <code>getPropertyDescription()</code> returns <code>small</code>.
-	 * </p>
-	 * <p>
-	 * Also, note that even if a particular property is not confined to a finite set of values as
-	 * defined by {@link #getValidPropertyDescriptors(String)}this method will always return a
-	 * valid DataModelPropertyDescriptor.
-	 * </p>
-	 * 
-	 * <p>
-	 * An IDataModel implementor defines this in IDataModelProvider.
-	 * </p>
-	 * 
-	 * @param propertyName
-	 * @return the DataModelPropertyDescriptor for the specified property
-	 * 
-	 * @see #getValidPropertyDescriptors(String)
-	 */
-	public DataModelPropertyDescriptor getPropertyDescriptor(String propertyName);
-
-	/**
-	 * <p>
-	 * Returns a DataModelPropertyDescriptor array consisting of all valid
-	 * DataModelPropertyDescriptors for the specified property. Each
-	 * {@link DataModelPropertyDescriptor} contains a value and a human readible description for the
-	 * value. The set of all values in the returned array are those values which are valid for the
-	 * IDataModel. This value set only makes sense when valid property values conform to a well
-	 * defined finite set. If no such value set exists for the property, then a 0 length array is
-	 * returned. <code>null</code> is never returned.
-	 * </p>
-	 * <p>
-	 * As an example, suppose there is a property called <code>SHIRT_SIZE</code> which is an
-	 * <code>Integer</code> type. Also suppse that valid shirt sizes are only small, medium, or
-	 * large. However, the actual values representing small, medium, and large are 1, 2, and 3
-	 * respectively. A call to <code>getValidPropertyDescriptors(SHIRT_SIZE)</code> would return a
-	 * DataModelPropertyDescriptor array where the value, description pairs would be {(1, small),
-	 * (2, medium), (3, large)}.
-	 * </p>
-	 * <p>
-	 * An IDataModel implementor defines this in IDataModelProvider.
-	 * </p>
-	 * 
-	 * @param propertyName
-	 *            then name of the property to check
-	 * @return the array of valid DataModelPropertyDescriptors
-	 * @see #getPropertyDescriptor(String)
-	 */
-	public DataModelPropertyDescriptor[] getValidPropertyDescriptors(String propertyName);
-
-	/**
-	 * <p>
-	 * Adds the specified IDataModelListener to listen for DataModelEvents. If the specified
-	 * listener has already been added, calling this method will have no effect.
-	 * </p>
-	 * 
-	 * @param dataModelListener
-	 *            the new listener to add.
-	 * 
-	 * @see #removeListener(IDataModelListener)
-	 */
-	public void addListener(IDataModelListener dataModelListener);
-
-	/**
-	 * <p>
-	 * Remove the specified IDataModelListener. If the specified listener is not a registered
-	 * listenr on this IDataModel, then calling this method will have no effect.
-	 * </p>
-	 * 
-	 * @param dataModelListener
-	 *            the listener to remove.
-	 * @see #addListener(IDataModelListener)
-	 */
-	public void removeListener(IDataModelListener dataModelListener);
-
-	/**
-	 * <p>
-	 * A constant used for notification.
-	 * </p>
-	 * 
-	 * @see DataModelEvent#VALUE_CHG
-	 * @see #notifyPropertyChange(String, int)
-	 */
-	public static final int VALUE_CHG = DataModelEvent.VALUE_CHG;
-	/**
-	 * <p>
-	 * A constant used for notification. This contant is different from the others because it does
-	 * not map to an event type on DataModelEvent. When notifying with this type, a check is first
-	 * done to see whether the property is set. If the property is <empf>NOT</emph> set, then a
-	 * <code>VALUE_CHG</code> is fired, otherwise nothing happens.
-	 * </p>
-	 * 
-	 * @see #notifyPropertyChange(String, int)
-	 */
-	public static final int DEFAULT_CHG = DataModelEvent.DEFAULT_CHG;
-	/**
-	 * <p>
-	 * A constant used for notification.
-	 * </p>
-	 * 
-	 * @see DataModelEvent#ENABLE_CHG
-	 * @see #notifyPropertyChange(String, int)
-	 */
-	public static final int ENABLE_CHG = DataModelEvent.ENABLE_CHG;
-	/**
-	 * <p>
-	 * A constant used for notification.
-	 * </p>
-	 * 
-	 * @see DataModelEvent#VALID_VALUES_CHG
-	 * @see #notifyPropertyChange(String, int)
-	 */
-	public static final int VALID_VALUES_CHG = DataModelEvent.VALID_VALUES_CHG;
-
-	/**
-	 * <p>
-	 * Notify all listeners of a property change. <code>eventType</code> specifies the type of
-	 * change. Acceptible values for eventType are <code>VALUE_CHG</code>,
-	 * <code>DEFAULT_CHG</code>, <code>ENABLE_CHG</code>, <code>VALID_VALUES_CHG</code>. If
-	 * the eventType is <code>DEFAULT_CHG</code> and the specified property is set, then this
-	 * method will do nothing.
-	 * </p>
-	 * <p>
-	 * Typically this method should only be invoked by an IDataModelProvider from its propertySet
-	 * implementation.
-	 * </p>
-	 * 
-	 * @param propertyName
-	 *            the name of the property changing
-	 * @param eventType
-	 *            the type of event to fire
-	 * 
-	 * @see #VALUE_CHG
-	 * @see #DEFAULT_CHG
-	 * @see #ENABLE_CHG
-	 * @see #VALID_VALUES_CHG
-	 * @see DataModelEvent
-	 */
-	public void notifyPropertyChange(String propertyName, int eventType);
-
-	/**
-	 * <p>
-	 * A typical dispose method used to clean up any resources not handled by general garbage
-	 * collection.
-	 * </p>
-	 * 
-	 */
-	public void dispose();
-
-}
diff --git a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/datamodel/IDataModelListener.java b/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/datamodel/IDataModelListener.java
deleted file mode 100644
index d50aa4a..0000000
--- a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/datamodel/IDataModelListener.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.common.frameworks.datamodel;
-
-/**
- * <p>
- * The interface required when listening for DataModelEvents from an IDataModel.
- * </p>
- * 
- * @see org.eclipse.wst.common.frameworks.datamodel.IDataModel#addListener(IDataModelListener)
- * @see org.eclipse.wst.common.frameworks.datamodel.DataModelEvent
- * 
- * @since 1.0
- */
-public interface IDataModelListener {
-
-	/**
-	 * <p>
-	 * Sent when DataModelEvents occur.
-	 * </p>
-	 * 
-	 * @param event
-	 *            the DataModelEvent
-	 */
-	public void propertyChanged(DataModelEvent event);
-}
diff --git a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/datamodel/IDataModelOperation.java b/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/datamodel/IDataModelOperation.java
deleted file mode 100644
index de532a9..0000000
--- a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/datamodel/IDataModelOperation.java
+++ /dev/null
@@ -1,123 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.common.frameworks.datamodel;
-
-import org.eclipse.core.commands.operations.IUndoableOperation;
-import org.eclipse.core.runtime.jobs.ISchedulingRule;
-import org.eclipse.wst.common.environment.IEnvironment;
-
-/**
- * <p>
- * IDataModelOperation defines an IDataModel driven undoable operation. Every IDataModelOperation
- * may be extended by third party clients using the extended operation framework.
- * </p>
- * 
- * <p>
- * This interface is not intended to be implemented by clients. Clients should subclass
- * {@link AbstractDataModelOperation}.
- * </p>
- * 
- * @see org.eclipse.wst.common.frameworks.datamodel.IDataModel
- * 
- * @since 1.0
- */
-public interface IDataModelOperation extends IUndoableOperation {
-
-	/**
-	 * <p>
-	 * Sets the unique operation id. Typically, clients should not invoke this method.
-	 * </p>
-	 * 
-	 * @param id
-	 *            the unique operation id
-	 */
-	public void setID(String id);
-
-	/**
-	 * <p>
-	 * Returns the unique operation id.
-	 * </p>
-	 * 
-	 * @return the unique operation id
-	 */
-	public String getID();
-
-	/**
-	 * <p>
-	 * Sets the IDataModel for this operation.
-	 * </p>
-	 * 
-	 * @param model
-	 *            the IDataModel used to run this operation
-	 */
-	public void setDataModel(IDataModel model);
-
-	/**
-	 * <p>
-	 * Returns this operation's IDataModel.
-	 * </p>
-	 * 
-	 * @return this operation's IDataModel.
-	 */
-	public IDataModel getDataModel();
-
-	/**
-	 * <p>
-	 * Returns the ISchedulingRule used for executing this job using
-	 * {@link org.eclipse.core.resources.IWorkspace#run(org.eclipse.core.resources.IWorkspaceRunnable, ISchedulingRule, int, org.eclipse.core.runtime.IProgressMonitor)}.
-	 * If <code>null</code> is returned, then IWorkspace.getRoot() is used as the ISchedulingRule
-	 * during execution.
-	 * </p>
-	 * 
-	 * @return the ISchedulingRule
-	 * 
-	 * @see #getOperationExecutionFlags()
-	 * @see org.eclipse.core.resources.IWorkspace#run(org.eclipse.core.resources.IWorkspaceRunnable, ISchedulingRule, int,
-	 *      org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	public ISchedulingRule getSchedulingRule();
-
-	/**
-	 * <p>
-	 * Returns the OperationExecutionFlags used for executing this Operation as a workspace job.
-	 * {@link org.eclipse.core.resources.IWorkspace#run(org.eclipse.core.resources.IWorkspaceRunnable, ISchedulingRule, int, org.eclipse.core.runtime.IProgressMonitor)}.
-	 * </p>
-	 * 
-	 * @return the OperationExecutionFlags
-	 * 
-	 * @see #getSchedulingRule()
-	 * @seeorg.eclipse.core.resources.IWorkspace#run(org.eclipse.core.resources.IWorkspaceRunnable, ISchedulingRule, int,
-	 *      org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	public int getOperationExecutionFlags();
-
-	/**
-	 * <p>
-	 * The framework will set the environment on this operation before it is executed. The operation
-	 * can then use the environment to report status, log information, and access resources in an
-	 * environment neutral way.
-	 * <p>
-	 * 
-	 * @param environment
-	 *            the IEnvironment to set.
-	 */
-	public void setEnvironment(IEnvironment environment);
-
-	/**
-	 * Returns the IEvironment set in {@link #setEnvironment(IEnvironment)}}
-	 * 
-	 * @return the set IEnvironment
-	 * 
-	 * @see #setEnvironment(IEnvironment)
-	 */
-	public IEnvironment getEnvironment();
-
-}
diff --git a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/datamodel/IDataModelProperties.java b/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/datamodel/IDataModelProperties.java
deleted file mode 100644
index f9be08e..0000000
--- a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/datamodel/IDataModelProperties.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.common.frameworks.datamodel;
-
-/**
- * <p>
- * IDataModelProperties provides the base interface for all Data Model
- * Properties interfaces. Sub interface classes (e.g.
- * <code>some.company.IFooDataModelProperties.class</code>) should be used to
- * create instances of IDataModels using the
- * {@link DataModelFactory#createDataModel(Class)} method. In order for this
- * mechanism to work, the backing {@link IDataModelProvider} class must be
- * registerd to support the sub IDataModelProperties interface in one of two
- * ways. This registration should be performed by the model developer.
- * </p>
- * <p>
- * The first way to register the correct {@link IDataModelProvider} class is for
- * the interface to define a public static Class _provider_class field
- * which is set to the {@link IDataModelProvider} class, e.g.
- * </p>
- * <p>
- * <code>public static final Class _provider_class = some.company.FooDataModelProvider.class</code>
- * </p>
- * The above mechanism is recommended whenever the {@link IDataModelProperties} and
- * {@link IDataModelProvider} classes are both defined in the same plugin scope.
- * A second mechanism using the DataModelProviderExtension extension point is
- * available when the {@link IDataModelProvider} class is definend outside the
- * {@link IDataModelProperties} plugin scope.
- * 
- * <p>
- * This interface is not intended to be implemented by clients.
- * </p>
- * 
- * @see org.eclipse.wst.common.frameworks.datamodel.IDataModelProvider
- * @see org.eclipse.wst.common.frameworks.datamodel.DataModelFactory
- * 
- * @since 1.0
- */
-public interface IDataModelProperties {
-
-	/**
-	 * A boolean property defaults to Boolean.TRUE. If this is set to Boolean.FALSE no extended
-	 * operations will be executed.
-	 */
-	public static final String ALLOW_EXTENSIONS = "IDataModelProperties.ALLOW_EXTENSIONS"; //$NON-NLS-1$
-	
-	/**
-	 * A List containing String objects, defautls to an empty List. If this list contains elements
-	 * and ALLOW_EXTENSIONS is set to Boolean.TRUE, then only extended operations not identified in
-	 * this list will be executed. These strings should either be the operation id or the fully
-	 * qualified operation class name.
-	 */
-	public static final String RESTRICT_EXTENSIONS = "IDataModelProperties.RESTRICT_EXTENSIONS"; //$NON-NLS-1$
-	
-}
diff --git a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/datamodel/IDataModelProvider.java b/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/datamodel/IDataModelProvider.java
deleted file mode 100644
index c6abfd9..0000000
--- a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/datamodel/IDataModelProvider.java
+++ /dev/null
@@ -1,123 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.common.frameworks.datamodel;
-
-import java.util.List;
-import java.util.Set;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-
-/**
- * IDataModelProviders are used by the DataMdoelFactory to construct IDataModels.
- * 
- * <p>
- * This interface is not intended to be implemented by clients. Clients should subclass
- * {@link AbstractDataModelProvider}.
- * </p>
- * 
- * @since 1.0
- */
-public interface IDataModelProvider extends IDataModelProperties {
-
-	public static IStatus OK_STATUS = new Status(IStatus.OK, "org.eclipse.wst.common.frameworks.internal", 0, "OK", null); //$NON-NLS-1$ //$NON-NLS-2$
-
-	public void setDataModel(IDataModel dataModel);
-
-	/**
-	 * <p>
-	 * Returns the backing IDataModel for this provider.
-	 * </p>
-	 * 
-	 * @return the backing IDataModel
-	 */
-	public IDataModel getDataModel();
-
-	/**
-	 * <p>
-	 * Returns a list of property names for which this provider is responsible. This method is
-	 * called only once during initialization.
-	 * </p>
-	 * 
-	 * @return the array of valid property names.
-	 */
-	public Set getPropertyNames();
-
-	/**
-	 * <p>
-	 * Providers should perform additional initialization here.
-	 * </p>
-	 */
-	public void init();
-
-	/**
-	 * <p>
-	 * This is where the provider should define how default properties should be computed.
-	 * </p>
-	 * 
-	 * @param propertyName
-	 *            the specified property
-	 * @return the default property value
-	 */
-	public Object getDefaultProperty(String propertyName);
-
-
-	/**
-	 * <p>
-	 * This is where the provider should define how property enablements are computed.
-	 * </p>
-	 * 
-	 * @param propertyName
-	 *            the specified property
-	 * @return <code>true</code> if the property is enabled, <code>false</code> otherwise.
-	 */
-	public boolean isPropertyEnabled(String propertyName);
-
-	/**
-	 * IDataModelProviders should perform property validation here. All calls to
-	 * IDataModel.validateProperty(String) are routed to the appropriate IDatModelProvider. When
-	 * IDataModel.validate() or IDataModel.validate(boolean) are called to validate the entire
-	 * IDataModel, any nested model names are also passed through to the IDataModelProvider for a
-	 * chance to validate the nested IDataModel in an appropriate manner.
-	 * 
-	 * @param name
-	 * @return an IStatus
-	 */
-	public IStatus validate(String name);
-
-	/**
-	 * <p>
-	 * This is a special callback hook for the IDataModel provider to be notified of a setProperty()
-	 * call invoked on the backing IDataModel. This method is called after the actual value has been
-	 * stored by the IDataModel but before any general notifications are fired to its listeners.
-	 * Thus this IDataModelProvider may react to updates apropriately by setting other properties,
-	 * notifying default changes, notifying valid value changes, etc.
-	 * </p>
-	 * 
-	 * @param propertyName
-	 * @param propertyValue
-	 * @return <code>true</code> to fire a VALUE_CHG DataModelEvent.
-	 */
-	public boolean propertySet(String propertyName, Object propertyValue);
-
-	public DataModelPropertyDescriptor getPropertyDescriptor(String propertyName);
-
-	public DataModelPropertyDescriptor[] getValidPropertyDescriptors(String propertyName);
-
-	public List getExtendedContext();
-
-	public IDataModelOperation getDefaultOperation();
-
-	public String getID();
-
-	public void dispose();
-
-}
diff --git a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/datamodel/package.xml b/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/datamodel/package.xml
deleted file mode 100644
index 855e7a4..0000000
--- a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/datamodel/package.xml
+++ /dev/null
@@ -1,20 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<html>
-    <head>
-        <meta
-            name="root"
-            content="../../../../../../" />
-        <title>Component creation and Referenced Component api overview</title>
-    </head>
-
-    <body>  
-		<abstract>
-        This package includes API  for Data Model Provider framework for builing executable
-        and undoable operations using data models, their providers and provider interfaces that
-        contain the properties used by the providers to set and retrieve these propertiese. 
-		</abstract>
-
-	<a href="#top">top</a>
-    </body>
-</html>    
-    
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/datamodel/properties/package.xml b/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/datamodel/properties/package.xml
deleted file mode 100644
index caaf774..0000000
--- a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/datamodel/properties/package.xml
+++ /dev/null
@@ -1,19 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<html>
-    <head>
-        <meta
-            name="root"
-            content="../../../../../../../" />
-        <title>Component creation and Referenced Component api overview</title>
-    </head>
-
-    <body>  
-		<abstract>
-        This package includes API that defines the propeties that can be set on a flexible
-        project datamodel to drive the the wizard and operations.
-		</abstract>
-
-	<a href="#top">top</a>
-    </body>
-</html>    
-    
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/AbstractRegistryDescriptor.java b/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/AbstractRegistryDescriptor.java
deleted file mode 100644
index d4069c5..0000000
--- a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/AbstractRegistryDescriptor.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-/*
- * Created on Feb 12, 2004
- *
- */
-package org.eclipse.wst.common.frameworks.internal;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.wst.common.frameworks.internal.enablement.FunctionGroupRegistry;
-import org.eclipse.wst.common.frameworks.internal.enablement.IEnablementIdentifier;
-import org.eclipse.wst.common.frameworks.internal.enablement.IEnablementManager;
-import org.eclipse.wst.common.frameworks.internal.enablement.Identifiable;
-
-
-/**
- * @author schacher
- * 
- * Common superclass for enablement-aware (e.g., using function groups or activiities) extension
- * points.
- */
-public abstract class AbstractRegistryDescriptor extends ConfigurationElementWrapper implements Identifiable {
-
-	protected Integer priority;
-
-	public AbstractRegistryDescriptor(IConfigurationElement anElement) {
-		super(anElement);
-	}
-
-	public IEnablementIdentifier getEnablementIdentifier(IProject project) {
-		return IEnablementManager.INSTANCE.getIdentifier(getID(), project);
-	}
-
-	public abstract String getID();
-
-	public int getPriority() {
-		if (priority == null)
-			priority = new Integer(FunctionGroupRegistry.getInstance().getFunctionPriority(getID()));
-		return priority.intValue();
-	}
-
-	public boolean isEnabled(IProject p) {
-		IEnablementIdentifier id = getEnablementIdentifier(p);
-		return id.isEnabled();
-	}
-}
diff --git a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/AdaptabilityUtility.java b/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/AdaptabilityUtility.java
deleted file mode 100644
index 9e8a19d..0000000
--- a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/AdaptabilityUtility.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.common.frameworks.internal;
-
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.Platform;
-
-/**
- * @author mdelder
- *  
- */
-public class AdaptabilityUtility {
-
-
-	public static Object getAdapter(Object element, Class adapter) {
-		if (element == null)
-			return null;
-		else if (element instanceof IAdaptable)
-			return ((IAdaptable) element).getAdapter(adapter);
-		else
-			return Platform.getAdapterManager().getAdapter(element, adapter);
-	}
-
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/ConfigurationElementWrapper.java b/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/ConfigurationElementWrapper.java
deleted file mode 100644
index 1f3572a..0000000
--- a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/ConfigurationElementWrapper.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-/*
- * Created on Oct 20, 2003
- *
- * To change the template for this generated file go to
- * Window>Preferences>Java>Code Generation>Code and Comments
- */
-package org.eclipse.wst.common.frameworks.internal;
-
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IExtension;
-
-/**
- * @author schacher
- * 
- * To change the template for this generated type comment go to Window>Preferences>Java>Code
- * Generation>Code and Comments
- */
-public class ConfigurationElementWrapper {
-
-	protected IConfigurationElement element;
-
-	/**
-	 *  
-	 */
-	public ConfigurationElementWrapper(IConfigurationElement element) {
-		super();
-		this.element = element;
-	}
-
-
-
-	/**
-	 * @return Returns the element.
-	 */
-	protected IConfigurationElement getElement() {
-		return element;
-	}
-
-	/**
-	 * Return the plugin id of the configuration element
-	 * 
-	 * @return
-	 */
-	public String getPluginId() {
-		String pluginId = null;
-
-		if (element != null) {
-			IExtension extension = element.getDeclaringExtension();
-
-			if (extension != null) {
-				pluginId = extension.getNamespace();
-				// TODO jsholl is this correct???
-			}
-		}
-
-		return pluginId;
-	}
-
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/DoNotUseMeThisWillBeDeletedPost15.java b/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/DoNotUseMeThisWillBeDeletedPost15.java
deleted file mode 100644
index 6073321..0000000
--- a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/DoNotUseMeThisWillBeDeletedPost15.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.common.frameworks.internal;
-
-/**
- * Other things to delete:
- * 
- * The wtpuiAction extension point and schema in org.eclipse.wst.common.frameworks.ui
- */
-
-
-/**
- * This has been slated for removal post WTP 1.5. Do not use this class/interface/method/field
- * 
- * @deprecated
- * 
- */
-
-/**
- * This interface is being used to track code slated for removal. Any class or interface
- * implementing or extending this interface respectively should not be used. All such classes and
- * interfaces have been deprecated and are no longer supported and will be deleted post WTP 1.5.
- * 
- * Any method or field with javadoc referencing this interface should not be used and will be
- * deleted post WTP 1.5
- * 
- * @deprecated
- */
-public interface DoNotUseMeThisWillBeDeletedPost15 {
-}
diff --git a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/ExceptionHelper.java b/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/ExceptionHelper.java
deleted file mode 100644
index 517d65b..0000000
--- a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/ExceptionHelper.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.wst.common.frameworks.internal;
-
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * Utility class to factor common code for implementers of IArchiveWrappedException
- */
-public class ExceptionHelper {
-	/**
-	 * Utility class; cannot be instantiated
-	 */
-	private ExceptionHelper() {
-		super();
-	}
-
-	/**
-	 * Return the messages from
-	 * 
-	 * @exception and
-	 *                all nested exceptions, in order from outermost to innermost
-	 */
-	public static java.lang.String[] getAllMessages(IWrappedException exception) {
-		List messages = new ArrayList(4);
-		messages.add(exception.getMessage());
-		Exception nested = exception.getNestedException();
-		while (nested != null) {
-			messages.add(nested.getMessage());
-			if (nested instanceof IWrappedException)
-				nested = ((IWrappedException) nested).getNestedException();
-			else
-				nested = null;
-		}
-		return (String[]) messages.toArray(new String[messages.size()]);
-	}
-
-	/**
-	 * Return the messages from
-	 * 
-	 * @exception and
-	 *                all nested exceptions, in order from outermost to innermost, concatenated as
-	 *                one
-	 */
-	public static String getConcatenatedMessages(IWrappedException exception) {
-		String[] messages = getAllMessages(exception);
-		StringBuffer sb = new StringBuffer(256);
-		for (int i = 0; i < messages.length; i++) {
-			sb.append(messages[i]);
-			if (i < messages.length - 1)
-				sb.append('\n');
-		}
-		return sb.toString();
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/HashUtil.java b/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/HashUtil.java
deleted file mode 100644
index f2da27a..0000000
--- a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/HashUtil.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.common.frameworks.internal;
-
-public class HashUtil {
-
-	public static int SEED = 11;
-	private static int MULTI = 31;
-	
-	public static int hash(int seed, int i){
-		return seed * MULTI + i;
-	}
-	
-	public static int hash(int seed, Object obj){
-		return hash(seed, null != obj ? obj.hashCode() : SEED);
-	}
-	
-	public static int hash(int seed, boolean b){
-		return hash(seed, b ? 1 : SEED);
-	}
-}
diff --git a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/ISaveHandler.java b/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/ISaveHandler.java
deleted file mode 100644
index f67ce31..0000000
--- a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/ISaveHandler.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.wst.common.frameworks.internal;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.IProgressMonitor;
-
-/**
- * Defines the API for coping with attempts to overwrite read-only files or save failures
- */
-public interface ISaveHandler {
-	public void access();
-
-	public void handleSaveFailed(SaveFailedException ex, IProgressMonitor monitor);
-
-	public void release();
-
-	public boolean shouldContinueAndMakeFileEditable(IFile aFile);
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/ISimpleValidateEditContext.java b/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/ISimpleValidateEditContext.java
deleted file mode 100644
index 5b21d8e..0000000
--- a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/ISimpleValidateEditContext.java
+++ /dev/null
@@ -1,22 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.common.frameworks.internal;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.IStatus;
-
-public interface ISimpleValidateEditContext {
-
-	public static final String CLASS_KEY = "ISimpleValidateEditContext"; //$NON-NLS-1$
-	
-	public IStatus validateEdit(IFile [] files);
-
-}
diff --git a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/IWrappedException.java b/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/IWrappedException.java
deleted file mode 100644
index 7b3f3ae..0000000
--- a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/IWrappedException.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.wst.common.frameworks.internal;
-
-/**
- * Common interface for ArchiveRuntime and ArchiveWrapped exceptions, which can contain nested
- * exceptions
- */
-public interface IWrappedException {
-	/**
-	 * Return the messages from this and all nested exceptions, in order from outermost to innermost
-	 */
-	public String[] getAllMessages();
-
-	/**
-	 * Return the messages from this and all nested exceptions, in order from outermost to
-	 * innermost, concatenated as one
-	 */
-	public String getConcatenatedMessages();
-
-	public Exception getInnerMostNestedException();
-
-	public String getMessage();
-
-	public java.lang.Exception getNestedException();
-
-	public void printStackTrace();
-
-	public void printStackTrace(java.io.PrintStream s);
-
-	public void printStackTrace(java.io.PrintWriter s);
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/Messages.java b/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/Messages.java
deleted file mode 100644
index d8756a9..0000000
--- a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/Messages.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-/*
- * Created on Nov 21, 2003
- *
- * To change the template for this generated file go to
- * Window>Preferences>Java>Code Generation>Code and Comments
- */
-package org.eclipse.wst.common.frameworks.internal;
-
-import java.text.MessageFormat;
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-/**
- * @author DABERG
- * 
- * To change the template for this generated type comment go to Window>Preferences>Java>Code
- * Generation>Code and Comments
- */
-public abstract class Messages {
-	//Resource bundle.
-	protected ResourceBundle resourceBundle;
-
-	/**
-	 * The constructor.
-	 */
-	public Messages() {
-		initializeBundle();
-	}
-
-	protected abstract void initializeBundle();
-
-	/**
-	 * Returns the string from the resource bundle, or 'key' if not found.
-	 */
-	protected String doGetResourceString(String key) {
-		try {
-			return (resourceBundle != null ? resourceBundle.getString(key) : key);
-		} catch (MissingResourceException e) {
-			return "!" + key + "!"; //$NON-NLS-1$ //$NON-NLS-2$
-		}
-	}
-
-	protected String doGetResourceString(String key, Object[] args) {
-		String pattern = doGetResourceString(key);
-		if (pattern != null)
-			return MessageFormat.format(pattern, args);
-		return null;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/SaveFailedException.java b/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/SaveFailedException.java
deleted file mode 100644
index 7763509..0000000
--- a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/SaveFailedException.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.wst.common.frameworks.internal;
-
-/**
- * Runtime exception that could get thrown during save of an edit model; clients should use
- * {@link #getConcatenatedMessages}to get all the messages of this and all nested exceptions to
- * report the failure.
- */
-public class SaveFailedException extends WrappedRuntimeException {
-	/**
-	 * Comment for <code>serialVersionUID</code>
-	 */
-	private static final long serialVersionUID = -4640018901910731240L;
-
-	/**
-	 * SaveFailedException constructor comment.
-	 */
-	public SaveFailedException() {
-		super();
-	}
-
-	/**
-	 * SaveFailedException constructor comment.
-	 * 
-	 * @param e
-	 *            java.lang.Exception
-	 */
-	public SaveFailedException(Exception e) {
-		super(e);
-	}
-
-	/**
-	 * SaveFailedException constructor comment.
-	 * 
-	 * @param s
-	 *            java.lang.String
-	 */
-	public SaveFailedException(String s) {
-		super(s);
-	}
-
-	/**
-	 * SaveFailedException constructor comment.
-	 * 
-	 * @param s
-	 *            java.lang.String
-	 * @param e
-	 *            java.lang.Exception
-	 */
-	public SaveFailedException(String s, Exception e) {
-		super(s, e);
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/SaveHandlerHeadless.java b/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/SaveHandlerHeadless.java
deleted file mode 100644
index 2ae150f..0000000
--- a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/SaveHandlerHeadless.java
+++ /dev/null
@@ -1,86 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.wst.common.frameworks.internal;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.wst.common.frameworks.internal.enablement.nonui.IWFTWrappedException;
-import org.eclipse.wst.common.frameworks.internal.plugin.WTPCommonPlugin;
-
-/**
- * Insert the type's description here. Creation date: (10/19/2001 11:40:59 AM)
- * 
- * @author: Administrator
- */
-public class SaveHandlerHeadless implements ISaveHandler {
-	/**
-	 * HeadlessSaveHandler constructor comment.
-	 */
-	public SaveHandlerHeadless() {
-		super();
-	}
-
-	/**
-	 * access method comment.
-	 */
-	public void access() {
-	}
-
-	/**
-	 * handleSaveFailed method comment.
-	 */
-	public void handleSaveFailed(SaveFailedException ex, org.eclipse.core.runtime.IProgressMonitor monitor) {
-		throw ex;
-	}
-
-	public static boolean isFailedWriteFileFailure(IWFTWrappedException ex) {
-		Exception nested = ex.getInnerMostNestedException();
-		if (nested == null)
-			return false;
-
-		return isFailedWriteFileFailure(nested);
-	}
-
-	public static boolean isFailedWriteFileFailure(Exception ex) {
-		if (ex instanceof IWFTWrappedException)
-			return isFailedWriteFileFailure((IWFTWrappedException) ex);
-		else if (ex instanceof CoreException)
-			return isFailedWriteFileFailure((CoreException) ex);
-		return false;
-	}
-
-	public static boolean isFailedWriteFileFailure(CoreException ex) {
-		org.eclipse.core.runtime.IStatus status = ex.getStatus();
-		if (status == null)
-			return false;
-		Throwable nested = status.getException();
-		if (nested instanceof CoreException)
-			return isFailedWriteFileFailure((CoreException) nested);
-		return status.getCode() == org.eclipse.core.resources.IResourceStatus.FAILED_WRITE_LOCAL;
-	}
-
-	/**
-	 * release method comment.
-	 */
-	public void release() {
-	}
-
-	/**
-	 * shouldContinueAndMakeFileEditable method comment.
-	 */
-	public boolean shouldContinueAndMakeFileEditable(org.eclipse.core.resources.IFile aFile) {
-		if (aFile == null)
-			return false;
-		String error = WTPResourceHandler.getString("Unable_to_save_read-only_f_ERROR_", new Object[]{aFile.getFullPath()}); //$NON-NLS-1$ = "Unable to save read-only file: "
-		WTPCommonPlugin.logError(error);
-		return false;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/SaveHandlerRegister.java b/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/SaveHandlerRegister.java
deleted file mode 100644
index 7aaef00..0000000
--- a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/SaveHandlerRegister.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.common.frameworks.internal;
-
-import org.eclipse.wst.common.core.util.UIContextDetermination;
-
-/**
- * A registry for the default ISaveHandler to use when saving edit models
- */
-public class SaveHandlerRegister {
-	private static ISaveHandler saveHandler;
-
-	/**
-	 * This is a utility class and should not be instantiated
-	 */
-	protected SaveHandlerRegister() {
-		super();
-	}
-
-	public static ISaveHandler getSaveHandler() {
-		if (saveHandler == null)
-			saveHandler = (ISaveHandler) UIContextDetermination.createInstance("saveHandler"); //$NON-NLS-1$
-		return saveHandler;
-	}
-}
diff --git a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/SimpleValidateEdit.java b/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/SimpleValidateEdit.java
deleted file mode 100644
index f8d6acb..0000000
--- a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/SimpleValidateEdit.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.common.frameworks.internal;
-
-import java.util.List;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.wst.common.core.util.UIContextDetermination;
-
-public class SimpleValidateEdit {
-
-	/**
-	 * @param files must contain only {@link IFile}s
-	 * @return
-	 */
-	public static boolean validateEdit(List files){
-		if(files == null || files.size() == 0){
-			return true;
-		}
-		return validateEdit( (IFile [])files.toArray(new IFile[files.size()]));
-	}
-	
-	public static boolean validateEdit(IFile[] files) {
-		if(files == null || files.length == 0){
-			return true;
-		}
-		ISimpleValidateEditContext validator = (ISimpleValidateEditContext) UIContextDetermination.createInstance(ISimpleValidateEditContext.CLASS_KEY);
-		if (validator != null) {
-			IStatus status = validator.validateEdit(files);
-			if (status != null)
-				return status.isOK();
-		}
-		return true;
-	}
-
-}
diff --git a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/SimpleValidateEditContextHeadless.java b/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/SimpleValidateEditContextHeadless.java
deleted file mode 100644
index eb8fe65..0000000
--- a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/SimpleValidateEditContextHeadless.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.common.frameworks.internal;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.wst.common.frameworks.datamodel.IDataModelProvider;
-
-public class SimpleValidateEditContextHeadless implements ISimpleValidateEditContext {
-
-	public IStatus validateEdit(IFile[] files) {
-		final List filesList = new ArrayList();
-		for(int i=0;i<files.length; i++){
-			if(files[i].exists() && files[i].isReadOnly()){
-				filesList.add(files[i]);
-			}
-		}
-		if(filesList.size() > 0){
-			IFile [] filesToValidate = (IFile [])filesList.toArray(new IFile[filesList.size()]);
-			return validateEditImpl(filesToValidate);
-		}
-		return IDataModelProvider.OK_STATUS;
-	}
-
-	protected IStatus validateEditImpl(IFile[] filesToValidate) {
-		return ResourcesPlugin.getWorkspace().validateEdit(filesToValidate, null);
-	}
-
-}
diff --git a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/WTPPlugin.java b/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/WTPPlugin.java
deleted file mode 100644
index 7f798ba..0000000
--- a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/WTPPlugin.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.common.frameworks.internal;
-
-import java.util.ResourceBundle;
-
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.Plugin;
-import org.eclipse.wst.common.frameworks.internal.enablement.nonui.WorkbenchUtil;
-import org.osgi.framework.BundleContext;
-
-public abstract class WTPPlugin extends Plugin {
-	protected static WTPPlugin instance = null; 
-	public ResourceBundle resourceBundle;
-
-	/**
-	 * @param descriptor
-	 */
-	public WTPPlugin() {
-		super();
-		instance = this;
-	}
-
-	public static boolean isPlatformCaseSensitive() {
-		return Platform.OS_MACOSX.equals(Platform.getOS()) ? false : new
-				java.io.File("a").compareTo(new java.io.File("A")) != 0;  //$NON-NLS-1$//$NON-NLS-2$
-	}
-
-	public abstract String getPluginID();
-	
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.core.runtime.Plugin#startup()
-	 */
-	@Override
-	public void start(BundleContext context) throws Exception  {
-		super.start(context);
-		WorkbenchUtil.setWorkbenchIsRunning(true);
-	}
-	
-}
diff --git a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/WTPProjectUtilities.java b/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/WTPProjectUtilities.java
deleted file mode 100644
index ab74ed3..0000000
--- a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/WTPProjectUtilities.java
+++ /dev/null
@@ -1,161 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-/*
- * Created on Nov 4, 2003
- *
- * To change the template for this generated file go to
- * Window&gt;Preferences&gt;Java&gt;Code Generation&gt;Code and Comments
- */
-package org.eclipse.wst.common.frameworks.internal;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IProjectDescription;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.wst.common.frameworks.internal.plugin.WTPCommonPlugin;
-
-
-/**
- * @author jsholl
- * 
- * To change the template for this generated type comment go to
- * Window&gt;Preferences&gt;Java&gt;Code Generation&gt;Code and Comments
- */
-public class WTPProjectUtilities {
-
-	/**
-	 * Adds a old nauture to a project, FIRST, this is used to make project backward compatible
-	 */
-	public static void addOldNatureToProject(IProject proj, String natureId) throws CoreException {
-		IProjectDescription description = proj.getDescription();
-		String[] prevNatures = description.getNatureIds();
-
-		//check if the old nature does not exist
-		boolean addNature = true;
-		for (int i = 0; i < prevNatures.length; i++) {
-			String nature = prevNatures[i];
-			if (nature.equals(natureId)) {
-				addNature = false;
-				break;
-			}
-		}
-		if (addNature) {
-			String[] newNatures = new String[prevNatures.length + 1];
-			System.arraycopy(prevNatures, 0, newNatures, 1, prevNatures.length);
-			newNatures[0] = natureId;
-			description.setNatureIds(newNatures);
-			proj.setDescription(description, IResource.AVOID_NATURE_CONFIG, null);
-		}
-	}
-
-	/**
-	 * Adds a nature in the project in the index specified
-	 */
-	public static void addOldNatureToProject(IProject proj, String natureId, int index) throws CoreException {
-		IProjectDescription description = proj.getDescription();
-		String[] prevNatures = description.getNatureIds();
-
-		//check if the old nature does not exist
-		boolean addNature = true;
-		for (int i = 0; i < prevNatures.length; i++) {
-			String nature = prevNatures[i];
-			if (nature.equals(natureId)) {
-				addNature = false;
-				break;
-			}
-		}
-		if (addNature) {
-			String[] newNatures = new String[prevNatures.length + 1];
-			System.arraycopy(prevNatures, 0, newNatures, 0, index);
-
-			newNatures[index] = natureId;
-			System.arraycopy(prevNatures, index, newNatures, index + 1, prevNatures.length - index);
-			description.setNatureIds(newNatures);
-			proj.setDescription(description, IResource.AVOID_NATURE_CONFIG, null);
-		}
-	}
-
-	/**
-	 * Adds a nauture to a project, FIRST
-	 */
-	public static void addNatureToProject(IProject proj, String natureId) throws CoreException {
-		IProjectDescription description = proj.getDescription();
-		String[] prevNatures = description.getNatureIds();
-		String[] newNatures = new String[prevNatures.length + 1];
-		System.arraycopy(prevNatures, 0, newNatures, 1, prevNatures.length);
-		newNatures[0] = natureId;
-		description.setNatureIds(newNatures);
-		proj.setDescription(description, null);
-	}
-
-	/**
-	 * Adds a nature to a project, LAST
-	 */
-	public static void addNatureToProjectLast(IProject proj, String natureId) throws CoreException {
-		IProjectDescription description = proj.getDescription();
-		String[] prevNatures = description.getNatureIds();
-		String[] newNatures = new String[prevNatures.length + 1];
-		System.arraycopy(prevNatures, 0, newNatures, 0, prevNatures.length);
-		newNatures[prevNatures.length] = natureId;
-		description.setNatureIds(newNatures);
-		proj.setDescription(description, null);
-	}
-
-	/**
-	 * remove a nature from the project
-	 */
-	public static void removeNatureFromProject(IProject project, String natureId) throws CoreException {
-		IProjectDescription description = project.getDescription();
-		String[] prevNatures = description.getNatureIds();
-		int size = prevNatures.length;
-		int newsize = 0;
-		String[] newNatures = new String[size];
-		boolean matchfound = false;
-		for (int i = 0; i < size; i++) {
-			if (prevNatures[i].equals(natureId)) {
-				matchfound = true;
-				continue;
-			}
-			newNatures[newsize++] = prevNatures[i];
-		}
-		if (!matchfound)
-			throw new CoreException(new Status(IStatus.ERROR, WTPCommonPlugin.PLUGIN_ID, 0, "The nature id " + natureId + " does not exist on the project " + project.getName(), null)); //$NON-NLS-1$ //$NON-NLS-2$
-		String[] temp = newNatures;
-		newNatures = new String[newsize];
-		System.arraycopy(temp, 0, newNatures, 0, newsize);
-		description.setNatureIds(newNatures);
-		if (ResourcesPlugin.getWorkspace().getNatureDescriptor(natureId) == null) {
-			// The nature does not exist, so do not attempt to de-configure it while removing it.
-			project.setDescription(description, IResource.AVOID_NATURE_CONFIG | IResource.KEEP_HISTORY, null);
-		} else {
-			project.setDescription(description, null);
-		}
-	}
-
-	public static IProject getProject(Object object) {
-		IProject result = null;
-
-		if (object instanceof IProject)
-			result = (IProject) object;
-		else if (object instanceof IResource)
-			result = ((IResource) object).getProject();
-		else if (object instanceof IAdaptable)
-			result = (IProject) ((IAdaptable) object).getAdapter(IProject.class);
-
-		return result;
-	}
-
-
-}
diff --git a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/WTPResourceHandler.java b/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/WTPResourceHandler.java
deleted file mode 100644
index 6d82d66..0000000
--- a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/WTPResourceHandler.java
+++ /dev/null
@@ -1,71 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.wst.common.frameworks.internal;
-
-import java.text.MessageFormat;
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-/**
- * @author Administrator
- * 
- *  
- */
-public class WTPResourceHandler {
-
-	private static ResourceBundle fgResourceBundle;
-
-	/**
-	 * Returns the resource bundle used by all classes in this Project
-	 */
-	public static ResourceBundle getResourceBundle() {
-		try {
-			return ResourceBundle.getBundle("wtp_common"); //$NON-NLS-1$
-		} catch (MissingResourceException e) {
-			// does nothing - this method will return null and
-			// getString(String) will return the key
-			// it was called with
-		}
-		return null;
-	}
-
-	public static String getString(String key) {
-		if (fgResourceBundle == null) {
-			fgResourceBundle = getResourceBundle();
-		}
-
-		if (fgResourceBundle != null) {
-			try {
-				return fgResourceBundle.getString(key);
-			} catch (MissingResourceException e) {
-				return "!" + key + "!"; //$NON-NLS-2$//$NON-NLS-1$
-			}
-		}
-		return "!" + key + "!"; //$NON-NLS-2$//$NON-NLS-1$
-	}
-
-	public static String getString(String key, Object[] args) {
-
-		try {
-			return MessageFormat.format(getString(key), args);
-		} catch (IllegalArgumentException e) {
-			return getString(key);
-		}
-
-	}
-
-	public static String getString(String key, Object[] args, int x) {
-
-		return getString(key);
-	}
-
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/WrappedException.java b/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/WrappedException.java
deleted file mode 100644
index 3c182d1..0000000
--- a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/WrappedException.java
+++ /dev/null
@@ -1,84 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.wst.common.frameworks.internal;
-
-public class WrappedException extends java.lang.reflect.InvocationTargetException {
-	/**
-	 * Comment for <code>serialVersionUID</code>
-	 */
-	private static final long serialVersionUID = -9221925581603648538L;
-
-	/**
-	 * WFTWrappedException constructor comment.
-	 */
-	protected WrappedException() {
-		super();
-	}
-
-	/**
-	 * WFTWrappedException constructor comment.
-	 * 
-	 * @param target
-	 *            java.lang.Throwable
-	 */
-	public WrappedException(Throwable target) {
-		super(target);
-	}
-
-	/**
-	 * WFTWrappedException constructor comment.
-	 * 
-	 * @param target
-	 *            java.lang.Throwable
-	 * @param s
-	 *            java.lang.String
-	 */
-	public WrappedException(Throwable target, String s) {
-		super(target, s);
-	}
-
-	/**
-	 * Print out a stack trace to the system err.
-	 */
-	@Override
-	public void printStackTrace() {
-		printStackTrace(System.err);
-	}
-
-	/**
-	 * Prints the exception to System.err. If we have a nested exception, print its stack.
-	 */
-	@Override
-	public void printStackTrace(java.io.PrintStream s) {
-		if (getTargetException() != null) {
-			s.println(this);
-			s.println("Stack trace of nested exception:"); //$NON-NLS-1$
-			getTargetException().printStackTrace(s);
-		} else {
-			super.printStackTrace(s);
-		}
-	}
-
-	/**
-	 * Prints the exception to System.err. If we have a nested exception, print its stack.
-	 */
-	@Override
-	public void printStackTrace(java.io.PrintWriter s) {
-		if (getTargetException() != null) {
-			s.println(this);
-			s.println("Stack trace of nested exception:"); //$NON-NLS-1$
-			getTargetException().printStackTrace(s);
-		} else {
-			super.printStackTrace(s);
-		}
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/WrappedRuntimeException.java b/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/WrappedRuntimeException.java
deleted file mode 100644
index 7e9895f..0000000
--- a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/WrappedRuntimeException.java
+++ /dev/null
@@ -1,128 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.wst.common.frameworks.internal;
-
-public class WrappedRuntimeException extends RuntimeException implements IWrappedException {
-	/**
-	 * Comment for <code>serialVersionUID</code>
-	 */
-	private static final long serialVersionUID = 2684637746275620101L;
-	/** The exception which necessitated this runtime exception, if one exists */
-	protected Exception nestedException;
-
-	public WrappedRuntimeException() {
-		super();
-	}
-
-	public WrappedRuntimeException(Exception e) {
-		super();
-		setNestedException(e);
-	}
-
-	public WrappedRuntimeException(String s) {
-		super(s);
-	}
-
-	public WrappedRuntimeException(String s, Exception e) {
-		super(s);
-		setNestedException(e);
-	}
-
-	/**
-	 * Return the messages from this and all nested exceptions, in order from outermost to innermost
-	 */
-	public java.lang.String[] getAllMessages() {
-		return ExceptionHelper.getAllMessages(this);
-	}
-
-	/**
-	 * Return the messages from this and all nested exceptions, in order from outermost to
-	 * innermost, concatenated as one
-	 */
-	public java.lang.String getConcatenatedMessages() {
-		return ExceptionHelper.getConcatenatedMessages(this);
-	}
-
-	/**
-	 * getInnerMostNestedException method comment.
-	 */
-	public java.lang.Exception getInnerMostNestedException() {
-		Exception n = getNestedException();
-		if (n == null)
-			return this;
-		else if (n instanceof IWrappedException)
-			return ((IWrappedException) n).getInnerMostNestedException();
-		else
-			return n;
-	}
-
-	/**
-	 * @return java.lang.Exception
-	 */
-	public java.lang.Exception getNestedException() {
-		return nestedException;
-	}
-
-	/**
-	 * Added to provide compatibility for the Java 1.4.2 addition of
-	 * <code>Throwable.getCause()</code>.
-	 * @return The nested exception held by the receiver.
-	 */
-	@Override
-	public java.lang.Throwable getCause() {
-		return getNestedException();
-	}
-	
-	/**
-	 * Print out a stack trace to the system err.
-	 */
-	@Override
-	public void printStackTrace() {
-		printStackTrace(System.err);
-	}
-
-	/**
-	 * Prints the exception to System.err. If we have a nested exception, print its stack.
-	 */
-	@Override
-	public void printStackTrace(java.io.PrintStream s) {
-		if (nestedException != null) {
-			s.println(this);
-			s.println("Stack trace of nested exception:"); //$NON-NLS-1$
-			nestedException.printStackTrace(s);
-		} else {
-			super.printStackTrace(s);
-		}
-	}
-
-	/**
-	 * Prints the exception to System.err. If we have a nested exception, print its stack.
-	 */
-	@Override
-	public void printStackTrace(java.io.PrintWriter s) {
-		if (nestedException != null) {
-			s.println(this);
-			s.println("Stack trace of nested exception:"); //$NON-NLS-1$
-			nestedException.printStackTrace(s);
-		} else {
-			super.printStackTrace(s);
-		}
-	}
-
-	/**
-	 * @param newNestedException
-	 *            java.lang.Exception
-	 */
-	public void setNestedException(java.lang.Exception newNestedException) {
-		nestedException = newNestedException;
-	}
-}
diff --git a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/activities/WTPActivityBridge.java b/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/activities/WTPActivityBridge.java
deleted file mode 100644
index 6c7fa23..0000000
--- a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/activities/WTPActivityBridge.java
+++ /dev/null
@@ -1,106 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-/*
- * Created on May 4, 2004
- *
- * TODO To change the template for this generated file go to
- * Window - Preferences - Java - Code Generation - Code and Comments
- */
-package org.eclipse.wst.common.frameworks.internal.activities;
-
-import java.util.Collections;
-import java.util.Set;
-
-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.Platform;
-import org.eclipse.wst.common.frameworks.internal.plugin.WTPCommonPlugin;
-
-/**
- * @author jsholl
- * 
- * TODO To change the template for this generated type comment go to Window - Preferences - Java -
- * Code Generation - Code and Comments
- */
-public class WTPActivityBridge {
-	private static final String PLUGIN_ID = "org.eclipse.wst.common.frameworks"; //$NON-NLS-1$
-	private static final String EXTENSION_POINT = "WTPActivityBridgeHelper"; //$NON-NLS-1$
-	private static final String LISTENER_CLASS = "class"; //$NON-NLS-1$
-
-	private static WTPActivityBridge INSTANCE = null;
-	private WTPActivityBridgeHelper[] listeners;
-
-	public static WTPActivityBridge getInstance() {
-		if (null == INSTANCE) {
-			INSTANCE = new WTPActivityBridge();
-		}
-		return INSTANCE;
-	}
-
-	private WTPActivityBridge() {
-		loadExtensionPoints();
-	}
-
-	public void enableActivity(String activityID, boolean enabled) {
-		for (int i = 0; i < listeners.length; i++) {
-			listeners[i].enableActivity(activityID, enabled);
-		}
-	}
-
-	public Set getEnabledActivityIds() {
-		if(listeners.length > 0){
-			return listeners[0].getEnabledActivityIds();
-		}
-		return Collections.EMPTY_SET;
-	}
-
-	public void setEnabledActivityIds(Set activityIDs) {
-		for (int i = 0; i < listeners.length; i++) {
-			listeners[i].setEnabledActivityIds(activityIDs);
-		}
-	}
-
-	public Set getActivityIDsFromContribution(String localID, String pluginID) {
-		if(listeners.length > 0) {
-			return listeners[0].getActivityIDsFromContribution(localID, pluginID);
-		}
-		return Collections.EMPTY_SET;
-	}
-
-	private void loadExtensionPoints() {
-		IExtensionPoint point = Platform.getExtensionRegistry().getExtensionPoint(PLUGIN_ID, EXTENSION_POINT);
-		if (point == null)
-			return;
-		IConfigurationElement[] elements = point.getConfigurationElements();
-		listeners = new WTPActivityBridgeHelper[elements.length];
-		for (int i = 0; i < elements.length; i++) {
-			if (null == elements[i].getAttribute(LISTENER_CLASS)) {
-				logError(elements[i], "No " + LISTENER_CLASS + " defined."); //$NON-NLS-1$ //$NON-NLS-2$
-			}
-			try {
-				listeners[i] = (WTPActivityBridgeHelper) elements[i].createExecutableExtension(LISTENER_CLASS);
-			} catch (CoreException e) {
-				logError(elements[i], "Error loading " + LISTENER_CLASS + ":" + elements[i].getAttribute(LISTENER_CLASS)); //$NON-NLS-1$ //$NON-NLS-2$
-				e.printStackTrace();
-			}
-		}
-	}
-
-	public static void logError(IConfigurationElement element, String text) {
-		IExtension extension = element.getDeclaringExtension();
-		StringBuffer buf = new StringBuffer();
-		buf.append("Plugin " + extension.getNamespace() + ", extension " + extension.getExtensionPointUniqueIdentifier()); //$NON-NLS-1$ //$NON-NLS-2$
-		buf.append("\n" + text); //$NON-NLS-1$
-		WTPCommonPlugin.logError(buf.toString());
-	}
-}
diff --git a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/activities/WTPActivityBridgeHelper.java b/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/activities/WTPActivityBridgeHelper.java
deleted file mode 100644
index 4378df1..0000000
--- a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/activities/WTPActivityBridgeHelper.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-/*
- * Created on May 4, 2004
- *
- * TODO To change the template for this generated file go to
- * Window - Preferences - Java - Code Generation - Code and Comments
- */
-package org.eclipse.wst.common.frameworks.internal.activities;
-
-import java.util.Set;
-
-/**
- * @author jsholl
- * 
- * TODO To change the template for this generated type comment go to Window - Preferences - Java -
- * Code Generation - Code and Comments
- */
-public interface WTPActivityBridgeHelper {
-
-	public void enableActivity(String activityID, boolean enabled);
-
-	public Set getEnabledActivityIds();
-
-	public void setEnabledActivityIds(Set activityIDs);
-
-	public Set getActivityIDsFromContribution(String localID, String pluginID);
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/datamodel/DataModelExtensionReader.java b/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/datamodel/DataModelExtensionReader.java
deleted file mode 100644
index 5b1fe15..0000000
--- a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/datamodel/DataModelExtensionReader.java
+++ /dev/null
@@ -1,165 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.common.frameworks.internal.datamodel;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.wst.common.core.util.RegistryReader;
-import org.eclipse.wst.common.frameworks.datamodel.IDataModelProvider;
-import org.eclipse.wst.common.frameworks.internal.plugin.WTPCommonPlugin;
-
-public class DataModelExtensionReader extends RegistryReader {
-
-	private static final String EXTENSION = "DataModelProviderExtension"; //$NON-NLS-1$
-
-	private static final String PROVIDER_ELEMENT = "DataModelProvider"; //$NON-NLS-1$
-	private static final String DEFINES_TYPE_ELEMENT = "ProviderDefinesType"; //$NON-NLS-1$
-	private static final String IMPLEMENTS_TYPE_ELEMENT = "ProviderImplementsType"; //$NON-NLS-1$
-
-	private static final String ATTRIBUTE_ID = "id"; //$NON-NLS-1$
-	private static final String ATTRIBUTE_CLASS = "class"; //$NON-NLS-1$
-	private static final String ATTRIBUTE_PROVIDER_TYPE = "providerType"; //$NON-NLS-1$
-	private static final String ATTRIBUTE_PROVIDER_ID = "providerID"; //$NON-NLS-1$
-//	private static final String ATTRIBUTE_FG = "functionGroupID"; //$NON-NLS-1$
-
-	private HashMap providerExtensions;
-	private HashMap definesExtensions;
-	private HashMap implementsExtensions;
-
-	private boolean hasInitialized = false;
-
-	public DataModelExtensionReader() {
-		super(WTPCommonPlugin.PLUGIN_ID, EXTENSION);
-	}
-
-	@Override
-	public boolean readElement(IConfigurationElement element) {
-		if (element.getName().equals(PROVIDER_ELEMENT)) {
-			String id = element.getAttribute(ATTRIBUTE_ID);
-			if (null == id || id.trim().length() == 0) {
-				WTPCommonPlugin.logError(new RuntimeException("Extension:" + EXTENSION + " Element:" + PROVIDER_ELEMENT + " is missing " + ATTRIBUTE_ID)); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-			}
-			String className = element.getAttribute(ATTRIBUTE_CLASS);
-			if (null == className || className.trim().length() == 0) {
-				WTPCommonPlugin.logError(new RuntimeException("Extension:" + EXTENSION + " Element:" + PROVIDER_ELEMENT + " is missing " + ATTRIBUTE_CLASS)); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-			}
-			addProviderExtension(id, element);
-		} else if (element.getName().equals(DEFINES_TYPE_ELEMENT)) {
-			String type = element.getAttribute(ATTRIBUTE_PROVIDER_TYPE);
-			if (null == type || type.trim().length() == 0) {
-				WTPCommonPlugin.logError(new RuntimeException("Extension:" + EXTENSION + " Element:" + DEFINES_TYPE_ELEMENT + " is missing " + ATTRIBUTE_PROVIDER_TYPE)); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-			}
-			String id = element.getAttribute(ATTRIBUTE_PROVIDER_ID);
-			if (null == id || id.trim().length() == 0) {
-				WTPCommonPlugin.logError(new RuntimeException("Extension:" + EXTENSION + " Element:" + DEFINES_TYPE_ELEMENT + " is missing " + ATTRIBUTE_PROVIDER_ID)); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-			}
-			addDefinesExtension(type, id);
-		} else if (element.getName().equals(IMPLEMENTS_TYPE_ELEMENT)) {
-			String type = element.getAttribute(ATTRIBUTE_PROVIDER_TYPE);
-			if (null == type || type.trim().length() == 0) {
-				WTPCommonPlugin.logError(new RuntimeException("Extension:" + EXTENSION + " Element:" + DEFINES_TYPE_ELEMENT + " is missing " + ATTRIBUTE_PROVIDER_TYPE)); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-			}
-			String id = element.getAttribute(ATTRIBUTE_PROVIDER_ID);
-			if (null == id || id.trim().length() == 0) {
-				WTPCommonPlugin.logError(new RuntimeException("Extension:" + EXTENSION + " Element:" + DEFINES_TYPE_ELEMENT + " is missing " + ATTRIBUTE_PROVIDER_ID)); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-			}
-			addImplementsExtension(type, id);
-		}
-		return true;
-	}
-
-	private void addProviderExtension(String id, IConfigurationElement element) {
-		if (providerExtensions.containsKey(id)) {
-			WTPCommonPlugin.logError(new RuntimeException("Duplicate " + PROVIDER_ELEMENT + " " + ATTRIBUTE_ID + " " + id)); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-		}
-		providerExtensions.put(id, element);
-	}
-
-	private void addDefinesExtension(String type, String id) {
-		if (definesExtensions.containsKey(type)) {
-			WTPCommonPlugin.logError(new RuntimeException("Duplicate " + PROVIDER_ELEMENT + " " + ATTRIBUTE_PROVIDER_TYPE + " " + type)); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-		}
-		definesExtensions.put(type, id);
-	}
-
-	private void addImplementsExtension(String type, String id) {
-		List cache;
-		if (implementsExtensions.containsKey(type))
-			cache = (List) implementsExtensions.get(type);
-		else
-			cache = new ArrayList();
-		cache.add(id);
-		implementsExtensions.put(type, cache);
-	}
-
-	protected IConfigurationElement getProviderExtension(String id) {
-		readRegistryIfNecessary();
-		IConfigurationElement element = (IConfigurationElement) providerExtensions.get(id);
-		if (null == element) {
-			WTPCommonPlugin.logError(new RuntimeException("Extension:" + EXTENSION + " Element:" + PROVIDER_ELEMENT + " not found for " + ATTRIBUTE_ID + ": " + id)); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
-		}
-		return element;
-	}
-
-	protected String getDefinesExtension(String providerType) {
-		readRegistryIfNecessary();
-		String element = (String) definesExtensions.get(providerType);
-		if (null == element) {
-			WTPCommonPlugin.logError(new RuntimeException("Extension:" + EXTENSION + " Element:" + DEFINES_TYPE_ELEMENT + " not found for " + ATTRIBUTE_PROVIDER_TYPE + ": " + providerType)); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
-		}
-		return element;
-	}
-
-	public String[] getProviderDescriptorsForProviderKind(String providerType) {
-		readRegistryIfNecessary();
-		List providerList = new ArrayList();
-		providerList.add(getDefinesExtension(providerType));
-		if (implementsExtensions.containsKey(providerType)) {
-			List implementsIds = (List) implementsExtensions.get(providerType);
-			if (implementsIds != null && !implementsIds.isEmpty()) {
-				providerList.addAll(implementsIds);
-			}
-		}
-		String[] providerArray = new String[providerList.size()];
-		for (int i = 0; i < providerArray.length; i++) {
-			providerArray[i] = (String) providerList.get(i);
-		}
-		return providerArray;
-	}
-
-	private void readRegistryIfNecessary() {
-		if (!hasInitialized) {
-			providerExtensions = new HashMap();
-			definesExtensions = new HashMap();
-			implementsExtensions = new HashMap();
-			readRegistry();
-			hasInitialized = true;
-		}
-	}
-
-	public IDataModelProvider getProvider(String id) {
-		IDataModelProvider provider = null;
-		IConfigurationElement element = getProviderExtension(id);
-		if (element == null)
-			return null;
-		try {
-			provider = (IDataModelProvider) element.createExecutableExtension(ATTRIBUTE_CLASS);
-		} catch (CoreException e) {
-			WTPCommonPlugin.logError(e);
-		}
-		return provider;
-	}
-
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/datamodel/DataModelImpl.java b/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/datamodel/DataModelImpl.java
deleted file mode 100644
index 434e312..0000000
--- a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/datamodel/DataModelImpl.java
+++ /dev/null
@@ -1,471 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.common.frameworks.internal.datamodel;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.HashSet;
-import java.util.Hashtable;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.MultiStatus;
-import org.eclipse.wst.common.frameworks.datamodel.AbstractDataModelOperation;
-import org.eclipse.wst.common.frameworks.datamodel.DataModelEvent;
-import org.eclipse.wst.common.frameworks.datamodel.DataModelPropertyDescriptor;
-import org.eclipse.wst.common.frameworks.datamodel.IDataModel;
-import org.eclipse.wst.common.frameworks.datamodel.IDataModelListener;
-import org.eclipse.wst.common.frameworks.datamodel.IDataModelOperation;
-import org.eclipse.wst.common.frameworks.datamodel.IDataModelProperties;
-import org.eclipse.wst.common.frameworks.datamodel.IDataModelProvider;
-import org.eclipse.wst.common.frameworks.internal.WTPResourceHandler;
-
-public final class DataModelImpl implements IDataModel, IDataModelListener {
-
-	private static final String PROPERTY_NOT_LOCATED_ = WTPResourceHandler.getString("20"); //$NON-NLS-1$
-	private static final String NESTED_MODEL_NOT_LOCATED = WTPResourceHandler.getString("21"); //$NON-NLS-1$
-
-	private static final DataModelPropertyDescriptor[] NO_DESCRIPTORS = new DataModelPropertyDescriptor[0];
-
-	private Collection basePropertyNames;
-	private Collection allPropertyNames;
-	private Collection nestedPropertyNames; // lazily initialzed when nested models added
-	private Map propertyValues = new Hashtable();
-	private Map nestedModels;
-	private Set nestingModels;
-	private List listeners;
-
-	private IDataModelProvider provider;
-
-	public DataModelImpl(IDataModelProvider dataModelProvider) {
-		init(dataModelProvider);
-	}
-
-	private void init(IDataModelProvider dataModelProvider) {
-		this.provider = dataModelProvider;
-		dataModelProvider.setDataModel(this);
-		Collection propertyNames = dataModelProvider.getPropertyNames();
-		HashSet properties = new HashSet();
-		properties.addAll(propertyNames);
-
-		properties.add(IDataModelProperties.ALLOW_EXTENSIONS);
-		properties.add(IDataModelProperties.RESTRICT_EXTENSIONS);
-		basePropertyNames = Collections.unmodifiableCollection(properties);
-		allPropertyNames = new HashSet();
-		allPropertyNames.addAll(basePropertyNames);
-		dataModelProvider.init();
-	}
-
-	public boolean isBaseProperty(String propertyName) {
-		return basePropertyNames.contains(propertyName);
-	}
-
-	public Collection getBaseProperties() {
-		return Collections.unmodifiableCollection(basePropertyNames);
-	}
-
-	public boolean isProperty(String propertyName) {
-		return allPropertyNames.contains(propertyName);
-	}
-
-	public Collection getAllProperties() {
-		return Collections.unmodifiableCollection(allPropertyNames);
-	}
-
-	public boolean isNestedProperty(String propertyName) {
-		return null != nestedPropertyNames && nestedPropertyNames.contains(propertyName);
-	}
-
-	public Collection getNestedProperties() {
-		return Collections.unmodifiableCollection(nestedPropertyNames);
-	}
-
-	private void checkValidPropertyName(String propertyName) {
-		if (!isProperty(propertyName)) {
-			throw new RuntimeException(PROPERTY_NOT_LOCATED_ + propertyName);
-		}
-	}
-
-	private DataModelImpl getOwningDataModel(String propertyName) {
-		checkValidPropertyName(propertyName);
-		return searchNestedModels(propertyName);
-	}
-
-	private DataModelImpl searchNestedModels(String propertyName) {
-		if (isBaseProperty(propertyName)) {
-			return this;
-		} else if (nestedModels != null) {
-			DataModelImpl dataModel = null;
-			Object[] keys = nestedModels.keySet().toArray();
-			for (int i = 0; i < keys.length; i++) {
-				dataModel = (DataModelImpl) nestedModels.get(keys[i]);
-				if (dataModel.isProperty(propertyName)) {
-					return dataModel.searchNestedModels(propertyName);
-				}
-			}
-		}
-		throw new RuntimeException(PROPERTY_NOT_LOCATED_ + propertyName);
-	}
-
-	public Object getProperty(String propertyName) {
-		DataModelImpl dataModel = getOwningDataModel(propertyName);
-		if (dataModel.propertyValues.containsKey(propertyName)) {
-			return dataModel.propertyValues.get(propertyName);
-		}
-		return dataModel.provider.getDefaultProperty(propertyName);
-	}
-
-	public Object getDefaultProperty(String propertyName) {
-		DataModelImpl dataModel = getOwningDataModel(propertyName);
-		return dataModel.provider.getDefaultProperty(propertyName);
-	}
-
-	public int getIntProperty(String propertyName) {
-		Object prop = getProperty(propertyName);
-		if (prop == null)
-			return -1;
-		return ((Integer) prop).intValue();
-	}
-
-	public boolean getBooleanProperty(String propertyName) {
-		Object prop = getProperty(propertyName);
-		if (prop == null)
-			return false;
-		return ((Boolean) prop).booleanValue();
-	}
-
-	public String getStringProperty(String propertyName) {
-		Object prop = getProperty(propertyName);
-		if (prop == null)
-			return ""; //$NON-NLS-1$
-		return (String) prop;
-	}
-
-	public boolean isPropertySet(String propertyName) {
-		DataModelImpl dataModel = getOwningDataModel(propertyName);
-		return dataModel.propertyValues.containsKey(propertyName);
-	}
-
-	public boolean isPropertyEnabled(String propertyName) {
-		DataModelImpl dataModel = getOwningDataModel(propertyName);
-		return dataModel.provider.isPropertyEnabled(propertyName);
-	}
-
-
-	public void setProperty(String propertyName, Object propertyValue) {
-		DataModelImpl dataModel = getOwningDataModel(propertyName);
-		dataModel.internalSetProperty(propertyName, propertyValue);
-	}
-
-	private void internalSetProperty(String propertyName, Object propertyValue) {
-		Object oldValue = propertyValues.get(propertyName);
-		if (valueChanged(propertyValue, oldValue)) {
-			if (null != propertyValue)
-				propertyValues.put(propertyName, propertyValue);
-			else if (propertyValues.containsKey(propertyName))
-				propertyValues.remove(propertyName);
-			if (provider.propertySet(propertyName, propertyValue)) {
-				notifyPropertyChange(propertyName, DataModelEvent.VALUE_CHG);
-			}
-		}
-	}
-
-	private boolean valueChanged(Object o1, Object o2) {
-		return o1 != o2 && ((o1 != null && !o1.equals(o2)) || !o2.equals(o1));
-	}
-
-	public void setIntProperty(String propertyName, int value) {
-		setProperty(propertyName, new Integer(value));
-	}
-
-	public void setBooleanProperty(String propertyName, boolean value) {
-		setProperty(propertyName, (value) ? Boolean.TRUE : Boolean.FALSE);
-	}
-
-	public void setStringProperty(String propertyName, String value) {
-		setProperty(propertyName, value);
-	}
-
-	public boolean addNestedModel(String modelName, IDataModel dataModel) {
-		if (this == dataModel) {
-			return false;
-		}
-		if (null == nestedModels) {
-			nestedModels = new Hashtable();
-			nestedPropertyNames = new HashSet();
-		}
-		DataModelImpl nestedDataModel = (DataModelImpl) dataModel;
-		if (null == nestedDataModel.nestingModels) {
-			nestedDataModel.nestingModels = new HashSet();
-		}
-		if (nestedDataModel.nestingModels.contains(this)) {
-			return false;
-		}
-		nestedDataModel.nestingModels.add(this);
-
-		nestedModels.put(modelName, nestedDataModel);
-
-		addNestedProperties(nestedDataModel.allPropertyNames);
-		nestedDataModel.addListener(this);
-		return true;
-	}
-
-	private void addNestedProperties(Collection nestedProperties) {
-		boolean propertiesAdded = allPropertyNames.addAll(nestedProperties);
-		propertiesAdded = nestedPropertyNames.addAll(nestedProperties) || propertiesAdded;
-		// Pass the new properties up the nesting chain
-		if (propertiesAdded && nestingModels != null) {
-			Iterator iterator = nestingModels.iterator();
-			while (iterator.hasNext()) {
-				((DataModelImpl) iterator.next()).addNestedProperties(nestedProperties);
-			}
-		}
-	}
-
-	public Collection getNestedModels() {
-		return nestedModels != null ? Collections.unmodifiableCollection(nestedModels.values()) : Collections.EMPTY_SET;
-	}
-
-	public Collection getNestedModelNames() {
-		return nestedModels != null ? Collections.unmodifiableCollection(nestedModels.keySet()) : Collections.EMPTY_SET;
-	}
-
-	public Collection getNestingModels() {
-		return nestingModels != null ? Collections.unmodifiableCollection(nestingModels) : Collections.EMPTY_SET;
-	}
-
-	public IDataModel removeNestedModel(String modelName) {
-		if (!isNestedModel(modelName)) {
-			return null;
-		}
-		DataModelImpl model = (DataModelImpl) nestedModels.remove(modelName);
-		model.nestingModels.remove(this);
-		removeNestedProperties(model.allPropertyNames);
-		model.removeListener(this);
-		if (nestedModels.isEmpty()) {
-			nestedModels = null;
-		}
-		return model;
-	}
-
-	private void removeNestedProperties(Collection nestedProperties) {
-		Iterator iterator = nestedProperties.iterator();
-		String property = null;
-		boolean keepProperty = false;
-		Set nestedPropertiesToRemove = null;
-		while (iterator.hasNext()) {
-			keepProperty = false;
-			property = (String) iterator.next();
-			if (basePropertyNames.contains(property)) {
-				keepProperty = true;
-			}
-			if (!keepProperty && nestedModels != null) {
-				Iterator nestedModelsIterator = nestedModels.values().iterator();
-				while (!keepProperty && nestedModelsIterator.hasNext()) {
-					DataModelImpl nestedModel = (DataModelImpl) nestedModelsIterator.next();
-					if (nestedModel.isProperty(property)) {
-						keepProperty = true;
-					}
-				}
-			}
-			if (!keepProperty) {
-				if (null == nestedPropertiesToRemove) {
-					nestedPropertiesToRemove = new HashSet();
-				}
-				nestedPropertiesToRemove.add(property);
-			}
-		}
-
-		if (null != nestedPropertiesToRemove) {
-			allPropertyNames.removeAll(nestedPropertiesToRemove);
-			nestedPropertyNames.removeAll(nestedPropertiesToRemove);
-			if (nestingModels != null) {
-				Iterator nestingModelsIterator = nestingModels.iterator();
-				while (nestingModelsIterator.hasNext()) {
-					((DataModelImpl) nestingModelsIterator.next()).removeNestedProperties(nestedPropertiesToRemove);
-				}
-			}
-		}
-	}
-
-	public boolean isNestedModel(String modelName) {
-		return modelName != null && null != nestedModels && nestedModels.containsKey(modelName);
-	}
-
-	public IDataModel getNestedModel(String modelName) {
-		IDataModel dataModel = (null != nestedModels && null != modelName) ? (IDataModel) nestedModels.get(modelName) : null;
-		if (null == dataModel) {
-			throw new RuntimeException(NESTED_MODEL_NOT_LOCATED + modelName);
-		}
-		return dataModel;
-	}
-
-	public DataModelPropertyDescriptor[] getValidPropertyDescriptors(String propertyName) {
-		DataModelImpl dataModel = getOwningDataModel(propertyName);
-		DataModelPropertyDescriptor[] descriptors = dataModel.provider.getValidPropertyDescriptors(propertyName);
-		return descriptors == null ? NO_DESCRIPTORS : descriptors;
-	}
-
-	public DataModelPropertyDescriptor getPropertyDescriptor(String propertyName) {
-		DataModelImpl dataModel = getOwningDataModel(propertyName);
-		DataModelPropertyDescriptor descriptor = dataModel.provider.getPropertyDescriptor(propertyName);
-		return descriptor == null ? new DataModelPropertyDescriptor(getProperty(propertyName)) : descriptor;
-	}
-
-	public void notifyPropertyChange(final String propertyName, final int flag) {
-		int innerFlag = flag;
-		if (innerFlag == DEFAULT_CHG) {
-			if (isPropertySet(propertyName)) {
-				return;
-			}
-			innerFlag = VALUE_CHG;
-		}
-		notifyListeners(new DataModelEvent(this, propertyName, innerFlag));
-	}
-
-	private void notifyListeners(DataModelEvent event) {
-		if (listeners != null && !listeners.isEmpty()) {
-			IDataModelListener listener;
-			for (int i = 0; i < listeners.size(); i++) {
-				listener = (IDataModelListener) listeners.get(i);
-				if (listener != event.getDataModel()) {
-					listener.propertyChanged(event);
-				}
-			}
-		}
-	}
-
-	public void propertyChanged(DataModelEvent event) {
-		notifyListeners(event);
-	}
-
-	public IStatus validate() {
-		return validate(true);
-	}
-
-	public IStatus validate(boolean stopOnFirstFailure) {
-		IStatus status = null;
-		IStatus propStatus;
-		String propName;
-		Iterator it;
-		for (int i = 0; i < 2; i++) {
-			switch (i) {
-				case 0 :
-					it = basePropertyNames.iterator();
-					break;
-				case 1 :
-				default :
-					it = getNestedModelNames().iterator();
-			}
-			while (it.hasNext()) {
-				propName = (String) it.next();
-				propStatus = provider.validate(propName);
-				if (propStatus != null) {
-					if (status == null || status.isOK()) {
-						status = propStatus;
-					} else {
-						if (status.isMultiStatus()) {
-							((MultiStatus) status).merge(propStatus);
-						} else {
-							MultiStatus multi = new MultiStatus("org.eclipse.wst.common.frameworks.internal", 0, "", null); //$NON-NLS-1$ //$NON-NLS-2$
-							multi.merge(status);
-							multi.merge(propStatus);
-							status = multi;
-						}
-					}
-					if (stopOnFirstFailure && !status.isOK() && status.getSeverity() == IStatus.ERROR)
-						return status;
-				}
-			}
-		}
-
-		if (status == null)
-			return IDataModelProvider.OK_STATUS;
-		return status;
-	}
-
-	public void addListener(IDataModelListener listener) {
-		if (listener != null) {
-			if (listeners == null) {
-				listeners = new ArrayList();
-				listeners.add(listener);
-			} else if (!listeners.contains(listener))
-				listeners.add(listener);
-		}
-	}
-
-	public void removeListener(IDataModelListener listener) {
-		if (listeners != null && listener != null)
-			listeners.remove(listener);
-	}
-
-	/**
-	 * Return true if the model doesn't have any errors.
-	 * 
-	 * @return boolean
-	 */
-	public boolean isValid() {
-		return validate(true).getSeverity() != IStatus.ERROR;
-	}
-
-	public boolean isPropertyValid(String propertyName) {
-		return validateProperty(propertyName).getSeverity() != IStatus.ERROR;
-	}
-
-	public IStatus validateProperty(String propertyName) {
-		DataModelImpl dataModel = getOwningDataModel(propertyName);
-		IStatus status = dataModel.provider.validate(propertyName);
-		return status == null ? IDataModelProvider.OK_STATUS : status;
-	}
-
-	public List getExtendedContext() {
-		List extendedContext = provider.getExtendedContext();
-		return extendedContext == null ? Collections.EMPTY_LIST : extendedContext;
-	}
-
-	public void dispose() {
-		provider.dispose();
-	}
-
-	public IDataModelOperation getRawOperation() {
-		IDataModelOperation providerOp = provider.getDefaultOperation();
-		if (null == providerOp) {
-			providerOp = new AbstractDataModelOperation(this) {
-				@Override
-				public IStatus execute(IProgressMonitor monitor, IAdaptable info) throws ExecutionException {
-					return OK_STATUS;
-				}
-			};
-		}
-		return providerOp;
-	}
-
-	public IDataModelOperation getDefaultOperation() {
-		return new DataModelPausibleOperationImpl(getRawOperation());
-	}
-
-	@Override
-	public String toString() {
-		return "IDataModel, provider=" + provider.toString(); //$NON-NLS-1$
-	}
-
-	public String getID() {
-		String id = provider.getID();
-		return null != id ? id : ""; //$NON-NLS-1$
-	}
-}
diff --git a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/datamodel/DataModelPausibleOperationEventImpl.java b/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/datamodel/DataModelPausibleOperationEventImpl.java
deleted file mode 100644
index a8c8ad5..0000000
--- a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/datamodel/DataModelPausibleOperationEventImpl.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.common.frameworks.internal.datamodel;
-
-import org.eclipse.wst.common.frameworks.datamodel.IDataModelOperation;
-
-public class DataModelPausibleOperationEventImpl implements IDataModelPausibleOperationEvent {
-
-	private IDataModelOperation operation;
-	private int operationType;
-	private int executionType;
-
-	public DataModelPausibleOperationEventImpl(IDataModelOperation operation, int operationType, int executionType) {
-		this.operation = operation;
-		this.operationType = operationType;
-		this.executionType = executionType;
-	}
-
-	public IDataModelOperation getOperation() {
-		return operation;
-	}
-
-	public int getOperationType() {
-		return operationType;
-	}
-
-	public int getExecutionType() {
-		return executionType;
-	}
-}
diff --git a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/datamodel/DataModelPausibleOperationImpl.java b/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/datamodel/DataModelPausibleOperationImpl.java
deleted file mode 100644
index 31d078a..0000000
--- a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/datamodel/DataModelPausibleOperationImpl.java
+++ /dev/null
@@ -1,597 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.common.frameworks.internal.datamodel;
-
-import java.util.ArrayList;
-import java.util.Hashtable;
-import java.util.List;
-import java.util.Stack;
-
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.core.resources.IProject;
-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.Status;
-import org.eclipse.core.runtime.jobs.ISchedulingRule;
-import org.eclipse.wst.common.frameworks.datamodel.IDataModelOperation;
-import org.eclipse.wst.common.frameworks.datamodel.IDataModelProperties;
-import org.eclipse.wst.common.frameworks.internal.AdaptabilityUtility;
-import org.eclipse.wst.common.frameworks.internal.WTPResourceHandler;
-import org.eclipse.wst.common.frameworks.internal.enablement.IEnablementManager;
-import org.eclipse.wst.common.frameworks.internal.operations.ComposedExtendedOperationHolder;
-import org.eclipse.wst.common.frameworks.internal.operations.OperationStatus;
-import org.eclipse.wst.common.frameworks.internal.plugin.WTPCommonPlugin;
-
-public class DataModelPausibleOperationImpl extends WrappedOperation implements IDataModelPausibleOperation {
-
-	// Stack of StackEntries to be executed
-	protected Stack operationStackToExecute = null;
-
-	// Stack of StackEntries already executed
-	protected Stack undoStack = null;
-	protected Stack redoStack = null;
-
-	protected OperationStackEntry rootStackEntry = null;
-
-	protected List operationListeners;
-
-	protected int executionState = NOT_STARTED;
-
-	public DataModelPausibleOperationImpl(IDataModelOperation rootOperation) {
-		super(rootOperation);
-	}
-
-	public void addOperationListener(IDataModelPausibleOperationListener operationListener) {
-		if (null == operationListeners) {
-			operationListeners = new ArrayList();
-		}
-		operationListeners.add(operationListener);
-	}
-
-	public void removeOperationListener(IDataModelPausibleOperationListener operationListener) {
-		if (null != operationListeners) {
-			operationListeners.remove(operationListener);
-		}
-	}
-
-	public int getExecutionState() {
-		return executionState;
-	}
-
-	protected static final int EXECUTE_IMPL = 0;
-	protected static final int UNDO_IMPL = 1;
-	protected static final int REDO_IMPL = 2;
-	protected static final int ROLLBACK_IMPL = 3;
-	protected static final int RESUME_IMPL = 4;
-
-	private static Hashtable threadToExtendedOpControl = new Hashtable();
-
-	protected IStatus cacheThreadAndContinue(IProgressMonitor monitor, IAdaptable info, int runType) throws ExecutionException {
-		final Thread currentThread = Thread.currentThread();
-		final boolean isTopLevelOperation = !threadToExtendedOpControl.containsKey(currentThread);
-		try {
-			if (isTopLevelOperation) {
-				threadToExtendedOpControl.put(currentThread, this);
-			}
-			switch (runType) {
-				case EXECUTE_IMPL :
-					return executeImpl(monitor, info);
-				case UNDO_IMPL :
-					return undoImpl(monitor, info);
-				case REDO_IMPL :
-					return redoImpl(monitor, info);
-				case ROLLBACK_IMPL :
-					return rollBackImpl(monitor, info);
-				case RESUME_IMPL :
-					return resumeImpl(monitor, info);
-			}
-		} finally {
-			if (isTopLevelOperation) {
-				threadToExtendedOpControl.remove(currentThread);
-			}
-		}
-		throw new RuntimeException();
-	}
-
-	public IStatus resume(IProgressMonitor monitor, IAdaptable info) throws ExecutionException {
-		return cacheThreadAndContinue(monitor, info, RESUME_IMPL);
-	}
-
-	protected IStatus resumeImpl(IProgressMonitor monitor, IAdaptable info) throws ExecutionException {
-		switch (executionState) {
-			case NOT_STARTED :
-				return executeImpl(monitor, info);
-			case PAUSED_EXECUTE :
-			case COMPLETE_ROLLBACK :
-				return doExecute(monitor, info);
-			case PAUSED_UNDO :
-				return doUndo(monitor, info);
-			case PAUSED_REDO :
-				return redoImpl(monitor, info);
-		}
-		throw new RuntimeException();
-	}
-
-	@Override
-	public boolean canRedo() {
-		return (COMPLETE_UNDO == executionState) && super.canRedo();
-	}
-
-	@Override
-	public IStatus redo(IProgressMonitor monitor, IAdaptable info) throws ExecutionException {
-		return cacheThreadAndContinue(monitor, info, REDO_IMPL);
-	}
-
-	protected IStatus redoImpl(IProgressMonitor monitor, IAdaptable info) {
-		return doRedo(monitor, info);
-	}
-
-	protected IStatus doRedo(IProgressMonitor monitor, IAdaptable info) {
-		try {
-			executionState = RUNNING_REDO;
-			OperationStatus returnStatus = null;
-			int shouldContinue = IDataModelPausibleOperationListener.CONTINUE;
-			while (IDataModelPausibleOperationListener.CONTINUE == shouldContinue && !redoStack.isEmpty()) {
-				OperationStackEntry stackEntry = (OperationStackEntry) redoStack.peek();
-				IDataModelOperation operation = stackEntry.getOperation();
-				DataModelPausibleOperationEventImpl event = new DataModelPausibleOperationEventImpl(operation, IDataModelPausibleOperationEvent.MAIN_STARTING, IDataModelPausibleOperationEvent.REDO);
-				shouldContinue = notifyOperationListeners(event);
-				if (IDataModelPausibleOperationListener.PAUSE == shouldContinue) {
-					continue;
-				}
-				undoStack.push(redoStack.pop());
-				returnStatus = runOperation(operation, monitor, info, IDataModelPausibleOperationEvent.REDO, returnStatus);
-				event = new DataModelPausibleOperationEventImpl(operation, IDataModelPausibleOperationEvent.MAIN_FINISHED, IDataModelPausibleOperationEvent.REDO);
-				shouldContinue = notifyOperationListeners(event);
-
-			}
-			return returnStatus == null ? Status.OK_STATUS : returnStatus;
-		} finally {
-			executionState = redoStack.isEmpty() ? COMPLETE_REDO : PAUSED_REDO;
-		}
-	}
-
-	@Override
-	public boolean canUndo() {
-		return (executionState == COMPLETE_EXECUTE || executionState == COMPLETE_REDO) && super.canUndo();
-	}
-
-	@Override
-	public IStatus undo(IProgressMonitor monitor, IAdaptable info) throws ExecutionException {
-		return cacheThreadAndContinue(monitor, info, UNDO_IMPL);
-	}
-
-	protected IStatus undoImpl(IProgressMonitor monitor, IAdaptable info) {
-		redoStack = new Stack();
-		return doUndo(monitor, info);
-	}
-
-	protected IStatus doUndo(IProgressMonitor monitor, IAdaptable info) {
-		try {
-			executionState = RUNNING_UNDO;
-			OperationStatus returnStatus = null;
-			int shouldContinue = IDataModelPausibleOperationListener.CONTINUE;
-			while (IDataModelPausibleOperationListener.CONTINUE == shouldContinue && !undoStack.isEmpty()) {
-				OperationStackEntry stackEntry = (OperationStackEntry) undoStack.peek();
-				IDataModelOperation operation = stackEntry.getOperation();
-				DataModelPausibleOperationEventImpl event = new DataModelPausibleOperationEventImpl(operation, IDataModelPausibleOperationEvent.MAIN_STARTING, IDataModelPausibleOperationEvent.UNDO);
-				shouldContinue = notifyOperationListeners(event);
-				if (IDataModelPausibleOperationListener.PAUSE == shouldContinue) {
-					continue;
-				}
-				redoStack.push(undoStack.pop());
-				returnStatus = runOperation(operation, monitor, info, IDataModelPausibleOperationEvent.UNDO, returnStatus);
-				event = new DataModelPausibleOperationEventImpl(operation, IDataModelPausibleOperationEvent.MAIN_FINISHED, IDataModelPausibleOperationEvent.UNDO);
-				shouldContinue = notifyOperationListeners(event);
-
-			}
-			return returnStatus == null ? Status.OK_STATUS : returnStatus;
-		} finally {
-			executionState = undoStack.isEmpty() ? COMPLETE_UNDO : PAUSED_UNDO;
-		}
-	}
-
-	@Override
-	public IStatus execute(IProgressMonitor monitor, IAdaptable info) throws ExecutionException {
-		return cacheThreadAndContinue(monitor, info, EXECUTE_IMPL);
-	}
-
-	protected IStatus executeImpl(IProgressMonitor monitor, IAdaptable info) throws ExecutionException {
-		try {
-			executionState = RUNNING_EXECUTE;
-			undoStack = new Stack();
-			operationStackToExecute = new Stack();
-			rootStackEntry = new OperationStackEntry(null, rootOperation);
-			operationStackToExecute.push(rootStackEntry);
-			DataModelPausibleOperationEventImpl event = new DataModelPausibleOperationEventImpl(rootOperation, IDataModelPausibleOperationEvent.NODE_STARTING, IDataModelPausibleOperationEvent.EXECUTE);
-			if (IDataModelPausibleOperationListener.CONTINUE == notifyOperationListeners(event)) {
-				return doExecute(monitor, info);
-			}
-			return Status.OK_STATUS;
-		} finally {
-			executionState = operationStackToExecute.isEmpty() ? COMPLETE_EXECUTE : PAUSED_EXECUTE;
-		}
-	}
-
-	protected IStatus doExecute(IProgressMonitor monitor, IAdaptable info) throws ExecutionException {
-		try {
-			OperationStatus returnStatus = null;
-			int shouldContinue = IDataModelPausibleOperationListener.CONTINUE;
-			while (IDataModelPausibleOperationListener.CONTINUE == shouldContinue && !operationStackToExecute.isEmpty()) {
-				OperationStackEntry stackEntry = (OperationStackEntry) operationStackToExecute.peek();
-				OperationStackEntry preStackEntry = stackEntry.getNextPreOperation();
-				if (null != preStackEntry) {
-					operationStackToExecute.push(preStackEntry);
-					DataModelPausibleOperationEventImpl event = new DataModelPausibleOperationEventImpl(preStackEntry.getOperation(), IDataModelPausibleOperationEvent.NODE_STARTING, IDataModelPausibleOperationEvent.EXECUTE);
-					shouldContinue = notifyOperationListeners(event);
-					continue;
-				}
-				IDataModelOperation stackEntryOperation = stackEntry.getOperationForExecution();
-				if (null != stackEntryOperation) {
-					DataModelPausibleOperationEventImpl event = new DataModelPausibleOperationEventImpl(stackEntryOperation, IDataModelPausibleOperationEvent.MAIN_STARTING, IDataModelPausibleOperationEvent.EXECUTE);
-					shouldContinue = notifyOperationListeners(event);
-					if (IDataModelPausibleOperationListener.PAUSE == shouldContinue) {
-						continue;
-					}
-					returnStatus = runOperation(stackEntryOperation, monitor, info, IDataModelPausibleOperationEvent.EXECUTE, returnStatus);
-					undoStack.push(stackEntry);
-					event = new DataModelPausibleOperationEventImpl(stackEntryOperation, IDataModelPausibleOperationEvent.MAIN_FINISHED, IDataModelPausibleOperationEvent.EXECUTE);
-					shouldContinue = notifyOperationListeners(event);
-					if (IDataModelPausibleOperationListener.PAUSE == shouldContinue) {
-						continue;
-					}
-				}
-				OperationStackEntry postStackEntry = stackEntry.getNextPostOperation();
-				if (null != postStackEntry) {
-					operationStackToExecute.push(postStackEntry);
-					DataModelPausibleOperationEventImpl event = new DataModelPausibleOperationEventImpl(postStackEntry.getOperation(), IDataModelPausibleOperationEvent.NODE_STARTING, IDataModelPausibleOperationEvent.EXECUTE);
-					shouldContinue = notifyOperationListeners(event);
-					continue;
-				}
-				operationStackToExecute.pop();
-				DataModelPausibleOperationEventImpl event = new DataModelPausibleOperationEventImpl(stackEntry.getOperation(), IDataModelPausibleOperationEvent.NODE_FINISHED, IDataModelPausibleOperationEvent.EXECUTE);
-				shouldContinue = notifyOperationListeners(event);
-			}
-			return returnStatus == null ? Status.OK_STATUS : returnStatus;
-		} finally {
-			executionState = operationStackToExecute.isEmpty() ? COMPLETE_EXECUTE : PAUSED_EXECUTE;
-		}
-	}
-
-	public IStatus rollBack(IProgressMonitor monitor, IAdaptable info) throws ExecutionException {
-		return cacheThreadAndContinue(monitor, info, ROLLBACK_IMPL);
-	}
-
-	protected IStatus rollBackImpl(IProgressMonitor monitor, IAdaptable info) throws ExecutionException {
-		if (PAUSED_EXECUTE == executionState || PAUSED_ROLLBACK == executionState) {
-			try {
-				executionState = RUNNING_ROLLBACK;
-				OperationStatus returnStatus = null;
-				int shouldContinue = IDataModelPausibleOperationListener.CONTINUE;
-				while (IDataModelPausibleOperationListener.CONTINUE == shouldContinue && !undoStack.isEmpty()) {
-					OperationStackEntry stackEntry = (OperationStackEntry) undoStack.peek();
-					IDataModelOperation operation = stackEntry.getOperation();
-					DataModelPausibleOperationEventImpl event = new DataModelPausibleOperationEventImpl(operation, IDataModelPausibleOperationEvent.MAIN_STARTING, IDataModelPausibleOperationEvent.ROLLBACK);
-					shouldContinue = notifyOperationListeners(event);
-					if (IDataModelPausibleOperationListener.PAUSE == shouldContinue) {
-						continue;
-					}
-					undoStack.pop();
-					OperationStackEntry executionTopStackEntry = stackEntry.rollBackOneOperation();
-					if (operationStackToExecute.contains(executionTopStackEntry)) {
-						while (operationStackToExecute.peek() != executionTopStackEntry) {
-							operationStackToExecute.pop();
-						}
-					} else {
-						Stack parentStack = new Stack();
-						parentStack.push(executionTopStackEntry);
-						OperationStackEntry entry = executionTopStackEntry.parent;
-						while (!operationStackToExecute.contains(entry)) {
-							parentStack.push(entry);
-							entry = entry.parent;
-						}
-						while (operationStackToExecute.peek() != entry) {
-							operationStackToExecute.pop();
-						}
-						while (!parentStack.isEmpty()) {
-							operationStackToExecute.push(parentStack.pop());
-						}
-					}
-					returnStatus = runOperation(operation, monitor, info, IDataModelPausibleOperationEvent.UNDO, returnStatus);
-					event = new DataModelPausibleOperationEventImpl(operation, IDataModelPausibleOperationEvent.MAIN_FINISHED, IDataModelPausibleOperationEvent.ROLLBACK);
-					shouldContinue = notifyOperationListeners(event);
-				}
-				return returnStatus == null ? Status.OK_STATUS : returnStatus;
-			} finally {
-				executionState = undoStack.isEmpty() ? COMPLETE_ROLLBACK : PAUSED_ROLLBACK;
-			}
-		}
-		throw new RuntimeException();
-	}
-
-	private int notifyOperationListeners(DataModelPausibleOperationEventImpl event) {
-		if (null != operationListeners) {
-			IDataModelPausibleOperationListener listener = null;
-			for (int i = 0; i < operationListeners.size(); i++) {
-				listener = (IDataModelPausibleOperationListener) operationListeners.get(i);
-				if (IDataModelPausibleOperationListener.PAUSE == listener.notify(event)) {
-					return IDataModelPausibleOperationListener.PAUSE;
-				}
-			}
-		}
-		return IDataModelPausibleOperationListener.CONTINUE;
-	}
-
-	protected OperationStatus addStatus(OperationStatus returnStatus, IStatus status) {
-		OperationStatus innerReturnStatus = returnStatus;
-		if (innerReturnStatus == null) {
-			innerReturnStatus = new OperationStatus(status.getMessage(), status.getException());
-			innerReturnStatus.setSeverity(status.getSeverity());
-			innerReturnStatus.add(status);
-		} else {
-			innerReturnStatus.add(status);
-		}
-		return innerReturnStatus;
-	}
-
-	private OperationStatus addExtendedStatus(OperationStatus returnStatus, IStatus aStatus) {
-		OperationStatus innerReturnStatus = returnStatus;
-		if (innerReturnStatus == null) {
-			innerReturnStatus = new OperationStatus(new IStatus[]{WTPCommonPlugin.OK_STATUS});
-		}
-		innerReturnStatus.addExtendedStatus(aStatus);
-		return innerReturnStatus;
-	}
-
-	private OperationStatus runOperation(final IDataModelOperation operation, final IProgressMonitor monitor, final IAdaptable info, final int executionType, OperationStatus returnStatus) {
-		OperationStatus innerReturnStatus = returnStatus;
-		if (rootOperation == operation) {
-			IStatus status = runOperation(operation, monitor, info, IDataModelPausibleOperationEvent.EXECUTE);
-			if (!status.isOK()) {
-				innerReturnStatus = addStatus(innerReturnStatus, status);
-			}
-		} else {
-			try {
-				IStatus status = runOperation(operation, monitor, info, IDataModelPausibleOperationEvent.EXECUTE);
-				if (!status.isOK()) {
-					innerReturnStatus = addExtendedStatus(innerReturnStatus, status);
-				}
-			} catch (Exception e) {
-				IStatus status = new Status(IStatus.ERROR, WTPCommonPlugin.PLUGIN_ID, 0, WTPResourceHandler.getString("25", new Object[]{operation.getClass().getName()}), e); //$NON-NLS-1$
-				innerReturnStatus = addExtendedStatus(innerReturnStatus, status);
-			}
-		}
-		return innerReturnStatus;
-	}
-
-	private IStatus runOperation(final IDataModelOperation operation, final IProgressMonitor monitor, final IAdaptable info, final int executionType) {
-		IWorkspaceRunnableWithStatus workspaceRunnable = new IWorkspaceRunnableWithStatus(info) {
-			@Override
-			public void run(IProgressMonitor pm) throws CoreException {
-				try {
-					switch (executionType) {
-						case IDataModelPausibleOperationEvent.EXECUTE :
-							this.setStatus(operation.execute(pm, info));
-							break;
-						case IDataModelPausibleOperationEvent.UNDO :
-							this.setStatus(operation.undo(pm, info));
-							break;
-						case IDataModelPausibleOperationEvent.REDO :
-							this.setStatus(operation.redo(pm, info));
-							break;
-					}
-					if (null == this.getStatus()) {
-						this.setStatus(Status.OK_STATUS);
-					}
-				} catch (Exception e) {
-					this.setStatus(new Status(IStatus.ERROR, WTPCommonPlugin.PLUGIN_ID, 0, WTPResourceHandler.getString("25", new Object[]{operation.getClass().getName()}), e)); //$NON-NLS-1$
-					WTPCommonPlugin.logError(e);
-				}
-			}
-		};
-
-		ISchedulingRule rule = operation.getSchedulingRule();
-		if (null == rule) {
-			rule = ResourcesPlugin.getWorkspace().getRoot();
-		}
-
-		try {
-			ResourcesPlugin.getWorkspace().run(workspaceRunnable, rule, operation.getOperationExecutionFlags(), monitor);
-		} catch (CoreException e) {
-			workspaceRunnable.setStatus(new Status(IStatus.ERROR, WTPCommonPlugin.PLUGIN_ID, 0, WTPResourceHandler.getString("25", new Object[]{operation.getClass().getName()}), e)); //$NON-NLS-1$
-		}
-		return workspaceRunnable.getStatus();
-	}
-
-	protected class OperationStackEntry {
-
-		private IDataModelOperation operation;
-		private IDataModelOperation operationForExecution;
-
-		private boolean extendedOpsInitialized = false;
-
-		private ComposedExtendedOperationHolder extOpHolder = null;
-
-		private int preOpIndex = 0;
-		private int postOpIndex = 0;
-
-		private OperationStackEntry[] preOpStackEntries = null;
-		private OperationStackEntry[] postOpStackEntries = null;
-
-		public OperationStackEntry parent = null;
-
-		public OperationStackEntry(OperationStackEntry parent, IDataModelOperation operation) {
-			this.parent = parent;
-			this.operation = operation;
-			this.operationForExecution = operation;
-		}
-
-		public OperationStackEntry rollBackOneOperation() {
-			postOpIndex = 0;
-			operationForExecution = operation;
-			if (preOpIndex == 0 && parent != null) {
-				return parent.rollBackExtended(this);
-			}
-			return this;
-		}
-
-		private OperationStackEntry rollBackExtended(OperationStackEntry extendedEntry) {
-			while (postOpIndex > 0) {
-				int index = --postOpIndex;
-				if (postOpStackEntries[index] == extendedEntry) {
-					postOpStackEntries[index] = null;
-					return this;
-				}
-			}
-			while (preOpIndex > 0) {
-				int index = --preOpIndex;
-				if (preOpStackEntries[index] == extendedEntry) {
-					preOpStackEntries[index] = null;
-					if (index != 0) {
-						return this;
-					}
-				}
-			}
-			if (null != parent) {
-				return parent.rollBackExtended(this);
-			}
-			return this;
-		}
-
-		public OperationStackEntry getNextPreOperation() {
-			if (!extendedOpsInitialized) {
-				initExtendedOps();
-			}
-			if (extOpHolder == null) {
-				return null;
-			}
-			List ops = extOpHolder.getPreOps();
-			if (ops == null || ops.size() <= preOpIndex) {
-				return null;
-			}
-
-			while (preOpIndex < ops.size()) {
-				int index = preOpIndex++;
-				IDataModelOperation op = (IDataModelOperation) ops.get(index);
-				if (shouldExecuteExtended(op.getID())) {
-					op.setDataModel(getDataModel());
-					op.setEnvironment(getEnvironment());
-					preOpStackEntries[index] = new OperationStackEntry(this, op);
-					return preOpStackEntries[index];
-				}
-			}
-			return null;
-		}
-
-		@Override
-		public String toString() {
-			return getOperationID();
-		}
-
-		public String getOperationID() {
-			return operation.getID();
-		}
-
-		public IDataModelOperation getOperation() {
-			return operation;
-		}
-
-		public boolean executed() {
-			return null != operationForExecution;
-		}
-
-		/**
-		 * The root operation is only returned once; this way it is known whether it has been
-		 * executed yet or not.
-		 * 
-		 * @return
-		 */
-		public IDataModelOperation getOperationForExecution() {
-			try {
-				return operationForExecution;
-			} finally {
-				operationForExecution = null;
-			}
-		}
-
-		public OperationStackEntry getNextPostOperation() {
-			if (!extendedOpsInitialized) {
-				initExtendedOps();
-			}
-			if (extOpHolder == null) {
-				return null;
-			}
-			List ops = extOpHolder.getPostOps();
-			if (ops == null || ops.size() <= postOpIndex) {
-				return null;
-			}
-
-			while (postOpIndex < ops.size()) {
-				int index = postOpIndex++;
-				IDataModelOperation op = (IDataModelOperation) ops.get(index);
-				if (shouldExecuteExtended(op.getID())) {
-					op.setDataModel(getDataModel());
-					op.setEnvironment(getEnvironment());
-					postOpStackEntries[index] = new OperationStackEntry(this, op);
-					return postOpStackEntries[index];
-				}
-			}
-			return null;
-
-		}
-
-		private void initExtendedOps() {
-			if (shouldExecuteExtended(operation.getID())) {
-				extOpHolder = ComposedExtendedOperationHolder.createExtendedOperationHolder(operation.getID());
-				if (null != extOpHolder) {
-					if (extOpHolder.hasPreOps()) {
-						preOpStackEntries = new OperationStackEntry[extOpHolder.getPreOps().size()];
-					}
-					if (extOpHolder.hasPostOps()) {
-						postOpStackEntries = new OperationStackEntry[extOpHolder.getPostOps().size()];
-					}
-				}
-			}
-			extendedOpsInitialized = true;
-		}
-	}
-
-	protected boolean shouldExecuteExtended(String operationID) {
-		// Check the top most level operation first
-		DataModelPausibleOperationImpl threadRootOperation = (DataModelPausibleOperationImpl) threadToExtendedOpControl.get(Thread.currentThread());
-		if (threadRootOperation != this && threadRootOperation.getDataModel() != getDataModel() && !threadRootOperation.shouldExecuteExtended(operationID)) {
-			return false;
-		}
-		// No extended operations are being executed
-		boolean allowExtensions = getDataModel().getBooleanProperty(IDataModelProperties.ALLOW_EXTENSIONS);
-		if (!allowExtensions) {
-			return false;
-		}
-		// This specific operation should not be executed
-		List restrictedExtensions = (List) getDataModel().getProperty(IDataModelProperties.RESTRICT_EXTENSIONS);
-		if (restrictedExtensions.contains(operationID)) {
-			return false;
-		}
-		// This specific function group should not be executed
-		List extendedContext = getDataModel().getExtendedContext();
-		for (int contextCount = 0; contextCount < extendedContext.size(); contextCount++) {
-			IProject project = (IProject) AdaptabilityUtility.getAdapter(extendedContext.get(contextCount), IProject.class);
-			if (null != project && !IEnablementManager.INSTANCE.getIdentifier(operationID, project).isEnabled()) {
-				return false;
-			}
-		}
-		return true;
-	}
-
-}
diff --git a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/datamodel/IDataModelPausibleOperation.java b/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/datamodel/IDataModelPausibleOperation.java
deleted file mode 100644
index e5d94a7..0000000
--- a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/datamodel/IDataModelPausibleOperation.java
+++ /dev/null
@@ -1,318 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.common.frameworks.internal.datamodel;
-
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.wst.common.frameworks.datamodel.IDataModelOperation;
-
-/**
- * <p>
- * IDataModelManagerOperation is an IDataModelOperation returned from
- * {@linkorg.eclipse.wst.common.frameworks.datamodel.IDataModel#getDefaultOperation()}. This Operation wraps the IDataModelOperation returned
- * from the IDatModelProvider backing the IDataModel that created it.
- * </p>
- * <p>
- * This operation supports pre and post operation execution. Pre and post operations are
- * IDataModelOperations registered through the OperationExtension extension point which are executed
- * before and after the primary operation.
- * </p>
- * <p>
- * <b>Example 1</b> <br>
- * Suppose an IDataModelProvider returns IDataModelOperation X as its default operation, and this
- * IDataModelManagerOperation is wrapping X. Also suppose operation A is registered as a pre
- * operation to X and operation B is registered as a post operation to X. When this
- * IDataModelManagerOperation is executed the following operations will be executed in this order:
- * A, X, B which may be thought as a preorder execution of the following tree:
- * </p>
- * 
- * <pre>
- *           X
- *          / \
- *         A   B
- *         
- *   execution = A.execute(),  X.execute(), B.execute()
- *   undo = B.undo(), X.undo(), A.undo()
- *   redo = A.redo(), X.redo(), B.redo()
- * </pre>
- * 
- * <p>
- * <b>Example 2</b> <br>
- * If A had a pre operation C and post operation D, and B had a pre operation E and post operation F
- * then the tree would look like:
- * </p>
- * 
- * <pre>
- *            X
- *           / \
- *          /   \
- *         A     B
- *        / \   / \
- *       C   D E   F
- *   
- *   execution = C.execute(), A.execute(),  D.execute(), X.execute(), E.execute(), B.execute(), F.execute()
- *   undo = F.undo(), B.undo(), E.undo(), X.undo(), D.undo(), A.undo(), C.undo()
- *   redo = C.redo(), A.redo(),  D.redo(), X.redo(), E.redo(), B.redo(), F.redo()
- * </pre>
- * 
- * </p>
- * <b>Example 3</b> <br>
- * If there is more than one pre operation or post operation for a particular operation, then there
- * is no defined ordering of those pre and post operation with respect to each other, other than
- * that it will be consistent. For example suppose operation X had only two pre operations, A and B,
- * and two post operations, C and D. The execution tree would be one of the following:
- * </p>
- * 
- * <pre>
- *         X              X              X              X
- *        / \            / \            / \            / \
- *      AB   CD        BA   CD        AB   DC        BA   DC
- *   
- *    exec = ABXCD   exec = BAXCD   exec = ABXDC   exec = BAXDC
- *    undo = DCXBA   undo = DCXAB   undo = CDXBA   undo = CDXAB 
- *    redo = ABXCD   redo = BAXCD   redo = ABXDC   redo = BAXDC
- * </pre>
- * 
- * <p>
- * During execution, rollback, undo, and redo, {@link IDataModelPausibleOperationEvent}s are fired to all
- * registered {@link IDataModelPausibleOperationListener}s giving each of them an opportunity to pause the
- * operation by returning {@link IDataModelPausibleOperationListener#PAUSE}.
- * {@link IDataModelPausibleOperationEvent} has more details on when these events are fired.
- * </p>
- * <p>
- * This interface is not intended to be implemented by clients.
- * </p>
- * 
- * @seeorg.eclipse.wst.common.frameworks.datamodel.IDataModel#getDefaultOperation()
- * 
- * @since 1.5
- */
-public interface IDataModelPausibleOperation extends IDataModelOperation {
-
-	/**
-	 * <p>
-	 * The exeuction state when the operation never been executed. When the operation is in this
-	 * state it may only be executed.
-	 * </p>
-	 * 
-	 * @see org.eclipse.core.commands.operations.IUndoableOperation#execute(IProgressMonitor, IAdaptable)
-	 */
-	public static final int NOT_STARTED = 0;
-	/**
-	 * <p>
-	 * The exeuction state while the operation is executing. When the operation is in this state it
-	 * may only be paused by an {@link IDataModelPausibleOperationListener}.
-	 * </p>
-	 * 
-	 * @see org.eclipse.core.commands.operations.IUndoableOperation#execute(IProgressMonitor, IAdaptable)
-	 * @see IDataModelPausibleOperationListener
-	 */
-	public static final int RUNNING_EXECUTE = 1;
-	/**
-	 * <p>
-	 * The exeuction state while the operation is rolling back. When the operation is in this state
-	 * it may only be paused by an {@link IDataModelPausibleOperationListener}.
-	 * </p>
-	 * 
-	 * @see #rollBack(IProgressMonitor, IAdaptable)
-	 * @see IDataModelPausibleOperationListener
-	 */
-	public static final int RUNNING_ROLLBACK = 2;
-	/**
-	 * <p>
-	 * The exeuction state while the operation is redoing. When the operation is in this state it
-	 * may only be paused by an {@link IDataModelPausibleOperationListener}.
-	 * </p>
-	 * 
-	 * @see org.eclipse.core.commands.operations.IUndoableOperation#undo(IProgressMonitor, IAdaptable)
-	 * @see IDataModelPausibleOperationListener
-	 */
-	public static final int RUNNING_UNDO = 3;
-	/**
-	 * <p>
-	 * The exeuction state while the operaiton is redoing. When the operation is in this state it
-	 * may only be paused by an {@link IDataModelPausibleOperationListener}.
-	 * </p>
-	 * 
-	 * @see org.eclipse.core.commands.operations.IUndoableOperation#redo(IProgressMonitor, IAdaptable)
-	 * @see IDataModelPausibleOperationListener
-	 */
-	public static final int RUNNING_REDO = 4;
-	/**
-	 * <p>
-	 * The exeuction state when the operation has been paused while it was executing. When the
-	 * operation is in this state it may either be resumed to continue execution or rolled back to
-	 * undo the partial execution.
-	 * </p>
-	 * 
-	 * @see #resume(IProgressMonitor, IAdaptable)
-	 * @see #rollBack(IProgressMonitor, IAdaptable)
-	 */
-	public static final int PAUSED_EXECUTE = 5;
-	/**
-	 * <p>
-	 * The exeuction state when the operation has been paused while it was rolling back. When the
-	 * operation is in this state it may either be resumed to continue rolling back or executed
-	 * which continue the foward execution from the point where the rollback was paused
-	 * </p>
-	 * 
-	 * @see #resume(IProgressMonitor, IAdaptable)
-	 * @see org.eclipse.core.commands.operations.IUndoableOperation#execute(IProgressMonitor, IAdaptable)
-	 */
-	public static final int PAUSED_ROLLBACK = 6;
-	/**
-	 * <p>
-	 * The exeuction state when the operation has been paused while it was undoing. When the
-	 * operation is in this state it may be only be resumed to continue undoing.
-	 * </p>
-	 * 
-	 * @see #resume(IProgressMonitor, IAdaptable)
-	 */
-	public static final int PAUSED_UNDO = 7;
-	/**
-	 * <p>
-	 * The exeuction state when the operation has been paused while it was redoing. When the
-	 * operation is in this state it may only be resumed to continue redoing.
-	 * </p>
-	 * 
-	 * @see #resume(IProgressMonitor, IAdaptable)
-	 */
-	public static final int PAUSED_REDO = 8;
-	/**
-	 * <p>
-	 * The exeuction state when the operation finished execution. When the operation is in this
-	 * state it may only be undone.
-	 * </p>
-	 * 
-	 * @see org.eclipse.core.commands.operations.IUndoableOperation#undo(IProgressMonitor, IAdaptable)
-	 */
-	public static final int COMPLETE_EXECUTE = 9;
-	/**
-	 * <p>
-	 * The exeuction state when the operation finished rolling back. When the operation is in this
-	 * state it may only be executed.
-	 * </p>
-	 * 
-	 * @see org.eclipse.core.commands.operations.IUndoableOperation#execute(IProgressMonitor, IAdaptable)
-	 */
-	public static final int COMPLETE_ROLLBACK = 10;
-	/**
-	 * <p>
-	 * The exeuction state when the operation finished undoing. When the operation is in this state
-	 * it may only be redone.
-	 * </p>
-	 * 
-	 * @see org.eclipse.core.commands.operations.IUndoableOperation#redo(IProgressMonitor, IAdaptable)
-	 */
-	public static final int COMPLETE_UNDO = 11;
-	/**
-	 * <p>
-	 * The exeuction state when the operation finished redoing. When the operation is in this state
-	 * it may only be udone.
-	 * </p>
-	 * 
-	 * @see org.eclipse.core.commands.operations.IUndoableOperation#undo(IProgressMonitor, IAdaptable)
-	 */
-	public static final int COMPLETE_REDO = 12;
-
-
-	/**
-	 * <p>
-	 * Returns the current execution state of the operation. Returns one of:
-	 * <ul>
-	 * <li>{@link #NOT_STARTED}</li>
-	 * <li>{@link #RUNNING_EXECUTE}</li>
-	 * <li>{@link #RUNNING_ROLLBACK}</li>
-	 * <li>{@link #RUNNING_UNDO}</li>
-	 * <li>{@link #RUNNING_REDO}</li>
-	 * <li>{@link #PAUSED_EXECUTE}</li>
-	 * <li>{@link #PAUSED_ROLLBACK}</li>
-	 * <li>{@link #PAUSED_UNDO}</li>
-	 * <li>{@link #PAUSED_REDO}</li>
-	 * <li>{@link #COMPLETE_EXECUTE}</li>
-	 * <li>{@link #COMPLETE_ROLLBACK}</li>
-	 * <li>{@link #COMPLETE_UNDO}</li>
-	 * <li>{@link #COMPLETE_REDO}</li>
-	 * </ul>
-	 * <p>
-	 * 
-	 * @return The current execution state.
-	 */
-	public int getExecutionState();
-
-	/**
-	 * <p>
-	 * Resumes execution if the operation is curently paused. An operation is paused if
-	 * {@link #getExecutionState()} returns any of {@link #PAUSED_EXECUTE},
-	 * {@link #PAUSED_ROLLBACK}, {@link #PAUSED_UNDO}, or {@link #PAUSED_REDO}.
-	 * </p>
-	 * 
-	 * @param monitor
-	 *            the progress monitor (or <code>null</code>) to use for reporting progress to
-	 *            the user.
-	 * @param info
-	 *            the IAdaptable (or <code>null</code>) provided by the caller in order to supply
-	 *            UI information for prompting the user if necessary. When this parameter is not
-	 *            <code>null</code>, it should minimally contain an adapter for the
-	 *            org.eclipse.swt.widgets.Shell.class.
-	 * 
-	 * @return the IStatus of the resume. The status severity should be set to <code>OK</code> if
-	 *         the operation was successful, and <code>ERROR</code> if it was not. Any other
-	 *         status is assumed to represent an incompletion of the resume.
-	 */
-	public IStatus resume(IProgressMonitor monitor, IAdaptable info) throws ExecutionException;
-
-	/**
-	 * <p>
-	 * Rolls back the partial execution if the operation is currently in
-	 * {@link #getExecutionState()} returns eiter {@link #PAUSED_EXECUTE} or
-	 * {@link #PAUSED_ROLLBACK}.
-	 * </p>
-	 * 
-	 * @param monitor
-	 *            the progress monitor (or <code>null</code>) to use for reporting progress to
-	 *            the user.
-	 * @param info
-	 *            the IAdaptable (or <code>null</code>) provided by the caller in order to supply
-	 *            UI information for prompting the user if necessary. When this parameter is not
-	 *            <code>null</code>, it should minimally contain an adapter for the
-	 *            org.eclipse.swt.widgets.Shell.class.
-	 * 
-	 * @return the IStatus of the resume. The status severity should be set to <code>OK</code> if
-	 *         the operation was successful, and <code>ERROR</code> if it was not. Any other
-	 *         status is assumed to represent an incompletion of the resume.
-	 * 
-	 */
-	public IStatus rollBack(IProgressMonitor monitor, IAdaptable info) throws ExecutionException;
-
-	/**
-	 * <p>
-	 * Adds an operation listener to listen for operation events.
-	 * </p>
-	 * 
-	 * @param operationListener
-	 *            the IOperationListener to add.
-	 */
-	public void addOperationListener(IDataModelPausibleOperationListener operationListener);
-
-	/**
-	 * <p>
-	 * Removes the specified IOperationLinstener.
-	 * <p>
-	 * 
-	 * @param operationListener
-	 *            The IOperatoinListener to remove.
-	 */
-	public void removeOperationListener(IDataModelPausibleOperationListener operationListener);
-
-}
diff --git a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/datamodel/IDataModelPausibleOperationEvent.java b/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/datamodel/IDataModelPausibleOperationEvent.java
deleted file mode 100644
index 8b67808..0000000
--- a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/datamodel/IDataModelPausibleOperationEvent.java
+++ /dev/null
@@ -1,253 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.common.frameworks.internal.datamodel;
-
-import org.eclipse.wst.common.frameworks.datamodel.IDataModelOperation;
-
-/**
- * <p>
- * These events are fired to {@link IDataModelPausibleOperationListener}s from {@link IDataModelPausibleOperation}s during execution, rollback, undo,
- * and redo.
- * </p>
- * 
- * <p>
- * <b>Example 2</b> from {@link IDataModelPausibleOperation}<br>
- * <pre>
- *          X
- *         / \
- *        /   \
- *       A     B
- *      / \   / \
- *     C   D E   F
- * </pre>
- * In the example above, the events will be fired in the following order during an execution:
- * <table border=1>
- * <tr><th>operation</th><th>operation type</th><th>execution type</th></tr>
- * <tr><td>X</td><td>NODE_STARTING</td><td>EXECUTE</td></tr>
- * <tr><td>A</td><td>NODE_STARTING</td><td>EXECUTE</td></tr>
- * <tr><td>C</td><td>NODE_STARTING</td><td>EXECUTE</td></tr>
- * <tr><td>C</td><td>MAIN_STARTING</td><td>EXECUTE</td></tr>
- * <tr><td>C</td><td>MAIN_FINISHED</td><td>EXECUTE</td></tr>
- * <tr><td>C</td><td>NODE_FINISHED</td><td>EXECUTE</td></tr>
- * <tr><td>A</td><td>MAIN_STARTING</td><td>EXECUTE</td></tr>
- * <tr><td>A</td><td>MAIN_FINISHED</td><td>EXECUTE</td></tr>
- * <tr><td>D</td><td>NODE_STARTING</td><td>EXECUTE</td></tr>
- * <tr><td>D</td><td>MAIN_STARTING</td><td>EXECUTE</td></tr>
- * <tr><td>D</td><td>MAIN_FINISHED</td><td>EXECUTE</td></tr>
- * <tr><td>D</td><td>NODE_FINISHED</td><td>EXECUTE</td></tr>
- * <tr><td>A</td><td>NODE_FINISHED</td><td>EXECUTE</td></tr>
- * <tr><td>X</td><td>MAIN_STARTING</td><td>EXECUTE</td></tr>
- * <tr><td>X</td><td>MAIN_FINISHED</td><td>EXECUTE</td></tr>
- * <tr><td>B</td><td>NODE_STARTING</td><td>EXECUTE</td></tr>
- * <tr><td>E</td><td>NODE_STARTING</td><td>EXECUTE</td></tr>
- * <tr><td>E</td><td>MAIN_STARTING</td><td>EXECUTE</td></tr>
- * <tr><td>E</td><td>MAIN_FINISHED</td><td>EXECUTE</td></tr>
- * <tr><td>E</td><td>NODE_FINISHED</td><td>EXECUTE</td></tr>
- * <tr><td>B</td><td>MAIN_STARTING</td><td>EXECUTE</td></tr>
- * <tr><td>B</td><td>MAIN_FINISHED</td><td>EXECUTE</td></tr>
- * <tr><td>F</td><td>NODE_STARTING</td><td>EXECUTE</td></tr>
- * <tr><td>F</td><td>MAIN_STARTING</td><td>EXECUTE</td></tr>
- * <tr><td>F</td><td>MAIN_FINISHED</td><td>EXECUTE</td></tr>
- * <tr><td>F</td><td>NODE_FINISHED</td><td>EXECUTE</td></tr>
- * <tr><td>B</td><td>NODE_FINISHED</td><td>EXECUTE</td></tr>
- * <tr><td>X</td><td>NODE_FINISHED</td><td>EXECUTE</td></tr>
- * </table>
- * </p>
- * <p>
- * <b>Example 2</b> from {@link IDataModelPausibleOperation}<br>
- * <pre>
- *          X
- *         / \
- *        /   \
- *       A     B
- *      / \   / \
- *     C   D E   F
- * </pre>
- * In the example above, the events will be fired in the following order during a rollback:
- * <table border=1>
- * <tr><th>operation</th><th>operation type</th><th>execution type</th></tr>
- * <tr><td>F</td><td>MAIN_STARTING</td><td>ROLLBACK</td></tr>
- * <tr><td>F</td><td>MAIN_FINISHED</td><td>ROLLBACK</td></tr>
- * <tr><td>B</td><td>MAIN_STARTING</td><td>ROLLBACK</td></tr>
- * <tr><td>B</td><td>MAIN_FINISHED</td><td>ROLLBACK</td></tr>
- * <tr><td>E</td><td>MAIN_STARTING</td><td>ROLLBACK</td></tr>
- * <tr><td>E</td><td>MAIN_FINISHED</td><td>ROLLBACK</td></tr>
- * <tr><td>X</td><td>MAIN_STARTING</td><td>ROLLBACK</td></tr>
- * <tr><td>X</td><td>MAIN_FINISHED</td><td>ROLLBACK</td></tr>
- * <tr><td>D</td><td>MAIN_STARTING</td><td>ROLLBACK</td></tr>
- * <tr><td>D</td><td>MAIN_FINISHED</td><td>ROLLBACK</td></tr>
- * <tr><td>A</td><td>MAIN_STARTING</td><td>ROLLBACK</td></tr>
- * <tr><td>A</td><td>MAIN_FINISHED</td><td>ROLLBACK</td></tr>
- * <tr><td>C</td><td>MAIN_STARTING</td><td>ROLLBACK</td></tr>
- * <tr><td>C</td><td>MAIN_FINISHED</td><td>ROLLBACK</td></tr>
- * </table>
- * </p>
- * <p>
- * <b>Example 2</b> from {@link IDataModelPausibleOperation}<br>
- * <pre>
- *          X
- *         / \
- *        /   \
- *       A     B
- *      / \   / \
- *     C   D E   F
- * </pre>
- * In the example above, the events will be fired in the following order during an undo:
- * <table border=1>
- * <tr><th>operation</th><th>operation type</th><th>execution type</th></tr>
- * <tr><td>F</td><td>MAIN_STARTING</td><td>UNDO</td></tr>
- * <tr><td>F</td><td>MAIN_FINISHED</td><td>UNDO</td></tr>
- * <tr><td>B</td><td>MAIN_STARTING</td><td>UNDO</td></tr>
- * <tr><td>B</td><td>MAIN_FINISHED</td><td>UNDO</td></tr>
- * <tr><td>E</td><td>MAIN_STARTING</td><td>UNDO</td></tr>
- * <tr><td>E</td><td>MAIN_FINISHED</td><td>UNDO</td></tr>
- * <tr><td>X</td><td>MAIN_STARTING</td><td>UNDO</td></tr>
- * <tr><td>X</td><td>MAIN_FINISHED</td><td>UNDO</td></tr>
- * <tr><td>D</td><td>MAIN_STARTING</td><td>UNDO</td></tr>
- * <tr><td>D</td><td>MAIN_FINISHED</td><td>UNDO</td></tr>
- * <tr><td>A</td><td>MAIN_STARTING</td><td>UNDO</td></tr>
- * <tr><td>A</td><td>MAIN_FINISHED</td><td>UNDO</td></tr>
- * <tr><td>C</td><td>MAIN_STARTING</td><td>UNDO</td></tr>
- * <tr><td>C</td><td>MAIN_FINISHED</td><td>UNDO</td></tr>
- * </table>
- * </p>
- * <p>
- * <b>Example 2</b> from {@link IDataModelPausibleOperation}<br>
- * <pre>
- *          X
- *         / \
- *        /   \
- *       A     B
- *      / \   / \
- *     C   D E   F
- * </pre>
- * In the example above, the events will be fired in the following order during a redo:
- * <table border=1>
- * <tr><th>operation</th><th>operation type</th><th>execution type</th></tr>
- * <tr><td>C</td><td>MAIN_STARTING</td><td>UNDO</td></tr>
- * <tr><td>C</td><td>MAIN_FINISHED</td><td>UNDO</td></tr>
- * <tr><td>A</td><td>MAIN_STARTING</td><td>UNDO</td></tr>
- * <tr><td>A</td><td>MAIN_FINISHED</td><td>UNDO</td></tr>
- * <tr><td>D</td><td>MAIN_STARTING</td><td>UNDO</td></tr>
- * <tr><td>D</td><td>MAIN_FINISHED</td><td>UNDO</td></tr>
- * <tr><td>X</td><td>MAIN_STARTING</td><td>UNDO</td></tr>
- * <tr><td>X</td><td>MAIN_FINISHED</td><td>UNDO</td></tr>
- * <tr><td>E</td><td>MAIN_STARTING</td><td>UNDO</td></tr>
- * <tr><td>E</td><td>MAIN_FINISHED</td><td>UNDO</td></tr>
- * <tr><td>B</td><td>MAIN_STARTING</td><td>UNDO</td></tr>
- * <tr><td>B</td><td>MAIN_FINISHED</td><td>UNDO</td></tr>
- * <tr><td>F</td><td>MAIN_STARTING</td><td>UNDO</td></tr>
- * <tr><td>F</td><td>MAIN_FINISHED</td><td>UNDO</td></tr>
- * </table>
- * </p>
- * <p>
- * This interface is not intended to be implemented by clients.
- * </p>
- * 
- * @since 1.5
- */
-public interface IDataModelPausibleOperationEvent {
-
-	/**
-	 * <p>
-	 * The operation type set when an operation execution traversal is about to start within the
-	 * tree of operations handled by the owning {@link IDataModelPausibleOperation}. This operation
-	 * type is only set when the execution type is set to {@link #EXECUTE}. Using the example
-	 * above, events with this operation type will be fired according to an in order traversal of
-	 * the tree; i.e. XACDBEF
-	 * </p>
-	 */
-	public static final int NODE_STARTING = 1;
-	/**
-	 * <p>
-	 * The operation type set when an operation execution traversal finishes within the tree of
-	 * operations handled by the owning {@link IDataModelPausibleOperation}. This operation type is
-	 * only set when the execution type is set to {@link #EXECUTE}. Using the example above, events
-	 * with this operation type will be fired according to a post order traversal of the tree; i.e.
-	 * CDAEFBX
-	 * </p>
-	 */
-	public static final int NODE_FINISHED = 2;
-	/**
-	 * <p>
-	 * The operation type set right before an operation is going to do its work. This operation type
-	 * may be used with all exection types. Using the example above, events with this operiton type
-	 * will be fired according to the following tree traversal: CADXBEF
-	 * <p>
-	 */
-	public static final int MAIN_STARTING = 3;
-	/**
-	 * <p>
-	 * The operation type set immediatly after an operation finshed doing its work. This operation
-	 * type may be used with all exection types. Using the example above, events with this operiton
-	 * type will be fired according to the following tree traversal: CADXBEF
-	 * <p>
-	 */
-	public static final int MAIN_FINISHED = 4;
-
-	/**
-	 * <p>
-	 * The execution type set when during execution.
-	 * </p>
-	 */
-	public static final int EXECUTE = 0;
-	/**
-	 * <p>
-	 * The execution type set when during rollback.
-	 * </p>
-	 */
-	public static final int ROLLBACK = 1;
-	/**
-	 * <p>
-	 * The execution type set when during undo.
-	 * </p>
-	 */
-	public static final int UNDO = 2;
-	/**
-	 * <p>
-	 * The execution type set when during redo.
-	 * </p>
-	 */
-	public static final int REDO = 3;
-
-	/**
-	 * <p>
-	 * Returns the operation in question. This operation will be one of the operations within the
-	 * tree of operations handled by the owning {@link IDataModelPausibleOperation}.
-	 * </p>
-	 * 
-	 * @return the operation.
-	 */
-	public IDataModelOperation getOperation();
-
-	/**
-	 * <p>
-	 * Returns the type of operation with respect to the {@link IDataModelPausibleOperation}
-	 * executing it. This will be one of {@link #NODE_STARTING}, {@link #NODE_FINISHED},
-	 * {@link #MAIN_STARTING}, or {@link #MAIN_FINISHED}.
-	 * </p>
-	 * 
-	 * @return one of {@link #NODE_STARTING}, {@link #NODE_FINISHED}, {@link #MAIN_STARTING}, or
-	 *         {@link #MAIN_FINISHED}.
-	 */
-	public int getOperationType();
-
-	/**
-	 * <p>
-	 * Returns the type of execution the operation is about to begin. This will be one of
-	 * {@link #EXECUTE}, {@link #ROLLBACK}, {@link #UNDO}, or {@link #REDO}.
-	 * </p>
-	 * 
-	 * @return one of {@link #EXECUTE}, {@link #ROLLBACK}, {@link #UNDO}, or {@link #REDO}.
-	 */
-	public int getExecutionType();
-
-}
diff --git a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/datamodel/IDataModelPausibleOperationListener.java b/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/datamodel/IDataModelPausibleOperationListener.java
deleted file mode 100644
index 865f472..0000000
--- a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/datamodel/IDataModelPausibleOperationListener.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.common.frameworks.internal.datamodel;
-
-/**
- * <p>
- * Used to listen for {@link IDataModelPausibleOperationEvent}s fired from {@link IDataModelPausibleOperation}s.
- * </p>
- * 
- * @since 1.5
- */
-public interface IDataModelPausibleOperationListener {
-
-	/**
-	 * <p>
-	 * Clients should return this constant from {@link #notify(IDataModelPausibleOperationEvent)} to specify that
-	 * execution should continue.
-	 * </p>
-	 */
-	public static final int CONTINUE = 0;
-
-	/**
-	 * <p>
-	 * Clients should return this constant from {@link #notify(IDataModelPausibleOperationEvent)} to specify that
-	 * execution should pause.
-	 * </p>
-	 */
-	public static final int PAUSE = 1;
-
-
-	/**
-	 * <p>
-	 * Listener interface by {@link IDataModelPausibleOperation} for operation execution
-	 * notification. Prior to starting any operation's execution, notifications will be sent which
-	 * allow clients to pause an operation's execution. Implementers should return {@link #CONTINUE}
-	 * to allow the operation's execution to continue or {@link #PAUSE} to pause execution. If
-	 * {@link #PAUSE} is returned, then the entire operation stack will be paused until it is
-	 * resumed. The responsiblity for resuming a paused operation lies on the client that paused it.
-	 * </p>
-	 * 
-	 * @param event
-	 *            The operation event
-	 * 
-	 * @return return CONTINUE to continue, or PAUSE to pause.
-	 * 
-	 * @see IDataModelPausibleOperation#addOperationListener(IDataModelPausibleOperationListener)
-	 * @see IDataModelPausibleOperation#resume(org.eclipse.core.runtime.IProgressMonitor,
-	 *      org.eclipse.core.runtime.IAdaptable)
-	 */
-	public int notify(IDataModelPausibleOperationEvent event);
-
-}
diff --git a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/datamodel/IWorkspaceRunnableWithStatus.java b/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/datamodel/IWorkspaceRunnableWithStatus.java
deleted file mode 100644
index 2214bd0..0000000
--- a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/datamodel/IWorkspaceRunnableWithStatus.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.common.frameworks.internal.datamodel;
-
-import org.eclipse.core.resources.IWorkspaceRunnable;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-
-public class IWorkspaceRunnableWithStatus implements IWorkspaceRunnable {
-	private IAdaptable info;
-	private IStatus status;
-
-public IWorkspaceRunnableWithStatus(IAdaptable info) {
-		super();
-		this.info = info;
-	}
-public IAdaptable getInfo() {
-	// TODO Auto-generated method stub
-	return info;
-}
-public void setStatus(IStatus aStatus) {
-	status = aStatus;
-}
-
-public void run(IProgressMonitor monitor) throws CoreException {
-		
-	}
-public IStatus getStatus() {
-	return status;
-}
-
-}
diff --git a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/datamodel/WrappedOperation.java b/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/datamodel/WrappedOperation.java
deleted file mode 100644
index 7e35853..0000000
--- a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/datamodel/WrappedOperation.java
+++ /dev/null
@@ -1,114 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.common.frameworks.internal.datamodel;
-
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.core.commands.operations.IUndoContext;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.jobs.ISchedulingRule;
-import org.eclipse.wst.common.environment.IEnvironment;
-import org.eclipse.wst.common.frameworks.datamodel.IDataModel;
-import org.eclipse.wst.common.frameworks.datamodel.IDataModelOperation;
-
-public class WrappedOperation implements IDataModelOperation {
-
-	protected IDataModelOperation rootOperation;
-	
-	public WrappedOperation(IDataModelOperation rootOperation) {
-		this.rootOperation = rootOperation;
-		if (null == rootOperation) {
-			throw new NullPointerException();
-		}
-	}
-
-	public boolean canExecute() {
-		return rootOperation.canExecute();
-	}
-
-	public boolean canRedo() {
-		return rootOperation.canRedo();
-	}
-
-	public boolean canUndo() {
-		return rootOperation.canUndo();
-	}
-
-	public void setID(String id) {
-		rootOperation.setID(id);
-	}
-
-	public String getID() {
-		return rootOperation.getID();
-	}
-
-	public void setDataModel(IDataModel model) {
-		rootOperation.setDataModel(model);
-	}
-
-	public IDataModel getDataModel() {
-		return rootOperation.getDataModel();
-	}
-
-	public void setEnvironment(IEnvironment environment) {
-		rootOperation.setEnvironment(environment);
-	}
-
-	public IEnvironment getEnvironment() {
-		return rootOperation.getEnvironment();
-	}
-
-	public ISchedulingRule getSchedulingRule() {
-		return rootOperation.getSchedulingRule();
-	}
-
-	public IStatus execute(IProgressMonitor monitor, IAdaptable info) throws ExecutionException {
-		return rootOperation.execute(monitor, info);
-	}
-
-	public IStatus undo(IProgressMonitor monitor, IAdaptable info) throws ExecutionException {
-		return rootOperation.undo(monitor, info);
-	}
-
-	public IStatus redo(IProgressMonitor monitor, IAdaptable info) throws ExecutionException {
-		return rootOperation.redo(monitor, info);
-	}
-
-	public int getOperationExecutionFlags() {
-		return rootOperation.getOperationExecutionFlags();
-	}
-
-	public String getLabel() {
-		return rootOperation.getLabel();
-	}
-
-	public IUndoContext[] getContexts() {
-		return rootOperation.getContexts();
-	}
-
-	public boolean hasContext(IUndoContext context) {
-		return rootOperation.hasContext(context);
-	}
-
-	public void addContext(IUndoContext context) {
-		rootOperation.addContext(context);
-	}
-
-	public void removeContext(IUndoContext context) {
-		rootOperation.removeContext(context);
-	}
-
-	public void dispose() {
-		rootOperation.dispose();
-	}
-
-}
diff --git a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/enablement/AbstractIdentifiable.java b/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/enablement/AbstractIdentifiable.java
deleted file mode 100644
index f7d143e..0000000
--- a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/enablement/AbstractIdentifiable.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.common.frameworks.internal.enablement;
-
-public class AbstractIdentifiable implements Identifiable {
-
-	protected String id;
-
-	public AbstractIdentifiable(String id) {
-		this.id = id;
-	}
-
-	public String getID() {
-		return id;
-	}
-
-	public int getLoadOrder() {
-		return 0;
-	}
-
-}
diff --git a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/enablement/AscendingGroupComparator.java b/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/enablement/AscendingGroupComparator.java
deleted file mode 100644
index 39afa0c..0000000
--- a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/enablement/AscendingGroupComparator.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-/*
- * Created on Dec 2, 2003
- *
- * To change the template for this generated file go to
- * Window>Preferences>Java>Code Generation>Code and Comments
- */
-package org.eclipse.wst.common.frameworks.internal.enablement;
-
-import java.util.Comparator;
-
-/**
- * @author blancett
- * 
- * To change the template for this generated type comment go to Window>Preferences>Java>Code
- * Generation>Code and Comments
- */
-public class AscendingGroupComparator implements Comparator {
-	private static AscendingGroupComparator singleton;
-
-	public int compare(Object o1, Object o2) {
-		if (o2 == null && o1 != null)
-			return -1;
-		if (o1 == null && o2 != null)
-			return 1;
-		if (o1 == null && o2 == null)
-			return 0;
-
-		FunctionGroup group1 = (FunctionGroup) o1;
-		FunctionGroup group2 = (FunctionGroup) o2;
-
-		if (group1.getPriority() > group2.getPriority())
-			return 1;
-		if (group1.getPriority() == group2.getPriority())
-			return 0;
-		if (group1.getPriority() < group2.getPriority())
-			return -1;
-		return 0;
-	}
-
-	public static Comparator singleton() {
-		if (singleton == null)
-			singleton = new AscendingGroupComparator();
-		return singleton;
-	}
-
-}
diff --git a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/enablement/DataModelEnablementFactory.java b/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/enablement/DataModelEnablementFactory.java
deleted file mode 100644
index 9de1253..0000000
--- a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/enablement/DataModelEnablementFactory.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.common.frameworks.internal.enablement;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.wst.common.frameworks.datamodel.DataModelFactory;
-import org.eclipse.wst.common.frameworks.datamodel.IDataModel;
-
-public class DataModelEnablementFactory {
-	/**
-	 * Looks up the appropriate IDataModelProvider by the specified providerKind String and a
-	 * context of the containing Project. The method gets an array of DataModelProviderDescriptor
-	 * from the base DataModelFactory then filters out Providers based on function group enablement.
-	 * Finally the Provider with the highest priority is returned. If the IDataModelProvider is not
-	 * found then a RuntimeException is logged and null is returned.
-	 * 
-	 * @param providerKind
-	 *            the String id of the provider kind
-	 * @param curProject
-	 *            the containing IProject
-	 * 
-	 * @return a new IDataModel
-	 */
-	public static IDataModel createDataModel(String providerKind, IProject curProject) {
-		String[] providerIDs = DataModelFactory.getDataModelProviderIDsForKind(providerKind);
-		if (providerIDs == null || providerIDs.length == 0)
-			return null;
-		String topProvider = getHighestPriorityEnabledProviderDesc(providerIDs, curProject);
-		if (topProvider == null)
-			return null;
-		return DataModelFactory.createDataModel(topProvider);
-	}
-
-	private static String getHighestPriorityEnabledProviderDesc(String[] providerIDs, IProject curProject) {
-		String defaultID = providerIDs[0];
-		IEnablementIdentifier enablementIdentifier;
-		Identifiable tempIdentifiable;
-		Identifiable topPriorityIdentifiable = null;
-
-		for (int i = 1; i < providerIDs.length; i++) {
-			tempIdentifiable = new AbstractIdentifiable(providerIDs[i]);
-			enablementIdentifier = EnablementManager.INSTANCE.getIdentifier(tempIdentifiable.getID(), curProject);
-			if (enablementIdentifier.isEnabled()) {
-				if (topPriorityIdentifiable == null)
-					topPriorityIdentifiable = tempIdentifiable;
-				else if (IdentifiableComparator.instance.compare(tempIdentifiable, topPriorityIdentifiable) == IdentifiableComparator.GREATER_THAN)
-					topPriorityIdentifiable = tempIdentifiable;
-			}
-		}
-		if (topPriorityIdentifiable == null)
-			return defaultID;
-		return topPriorityIdentifiable.getID();
-	}
-}
diff --git a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/enablement/DescendingGroupComparator.java b/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/enablement/DescendingGroupComparator.java
deleted file mode 100644
index 0720856..0000000
--- a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/enablement/DescendingGroupComparator.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-/*
- * Created on Dec 2, 2003
- *
- * To change the template for this generated file go to
- * Window>Preferences>Java>Code Generation>Code and Comments
- */
-package org.eclipse.wst.common.frameworks.internal.enablement;
-
-import java.util.Comparator;
-
-/**
- * @author blancett
- * 
- * To change the template for this generated type comment go to Window>Preferences>Java>Code
- * Generation>Code and Comments
- */
-public class DescendingGroupComparator implements Comparator {
-
-	private static DescendingGroupComparator singleton;
-
-	public int compare(Object o1, Object o2) {
-		if (o1 == null && o2 != null)
-			return -1;
-		if (o2 == null && o1 != null)
-			return 1;
-		if (o1 == null && o2 == null)
-			return 0;
-
-		FunctionGroup group1 = (FunctionGroup) o1;
-		FunctionGroup group2 = (FunctionGroup) o2;
-
-		if (group1.getPriority() > group2.getPriority())
-			return -1;
-		if (group1.getPriority() == group2.getPriority())
-			return 0;
-		if (group1.getPriority() < group2.getPriority())
-			return 1;
-		return 0;
-
-	}
-
-	public static Comparator singleton() {
-		if (singleton == null)
-			singleton = new DescendingGroupComparator();
-		return singleton;
-	}
-
-}
diff --git a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/enablement/EnablementIdentifier.java b/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/enablement/EnablementIdentifier.java
deleted file mode 100644
index 7147a3e..0000000
--- a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/enablement/EnablementIdentifier.java
+++ /dev/null
@@ -1,236 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-/*
- * Created on Feb 10, 2004
- * 
- * To change the template for this generated file go to
- * Window&gt;Preferences&gt;Java&gt;Code Generation&gt;Code and Comments
- */
-package org.eclipse.wst.common.frameworks.internal.enablement;
-
-import java.util.ArrayList;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Set;
-
-import org.eclipse.core.resources.IProject;
-
-
-/**
- * @author schacher
- * 
- * To change the template for this generated type comment go to
- * Window&gt;Preferences&gt;Java&gt;Code Generation&gt;Code and Comments
- */
-public class EnablementIdentifier implements IEnablementIdentifier {
-
-	private final static int HASH_FACTOR = 89;
-
-	private final static int HASH_INITIAL = EnablementIdentifier.class.getName().hashCode();
-
-	private final static Set strongReferences = new HashSet();
-
-	private Set functionGroupIds;
-
-	private transient String[] functionGroupIdsAsArray;
-
-	private boolean enabled;
-
-	private transient int hashCode;
-
-	private transient boolean hashCodeComputed;
-
-	private String id;
-
-	private List identifierListeners;
-
-	private transient String string;
-
-	private IProject project;
-
-	protected EnablementIdentifier(String id) {
-		this(id, null);
-	}
-
-	protected EnablementIdentifier(String id, IProject project) {
-		if (id == null)
-			throw new NullPointerException();
-		this.id = id;
-		this.project = project;
-	}
-
-	public void addIdentifierListener(IEnablementIdentifierListener identifierListener) {
-		if (identifierListener == null)
-			throw new NullPointerException();
-
-		if (identifierListeners == null)
-			identifierListeners = new ArrayList();
-
-		if (!identifierListeners.contains(identifierListener))
-			identifierListeners.add(identifierListener);
-
-		strongReferences.add(this);
-	}
-
-	public int compareTo(Object object) {
-		EnablementIdentifier castedObject = (EnablementIdentifier) object;
-		return Util.compare(id, castedObject.id);
-
-	}
-
-	@Override
-	public boolean equals(Object object) {
-		if (!(object instanceof EnablementIdentifier))
-			return false;
-
-		EnablementIdentifier castedObject = (EnablementIdentifier) object;
-		boolean equals = Util.equals(id, castedObject.id);
-		return equals;
-	}
-
-	protected void fireIdentifierChanged(EnablementIdentifierEvent functionIdentifierEvent) {
-		if (functionIdentifierEvent == null)
-			throw new NullPointerException();
-
-		if (identifierListeners != null) {
-			synchronized (identifierListeners) {
-				for (int i = 0; i < identifierListeners.size(); i++)
-					((IEnablementIdentifierListener) identifierListeners.get(i)).identifierChanged(functionIdentifierEvent);
-			}
-		}
-	}
-
-	public Set getFunctionGroupIds() {
-		return functionGroupIds;
-	}
-
-	public String getId() {
-		return id;
-	}
-
-	@Override
-	public int hashCode() {
-		if (!hashCodeComputed) {
-			hashCode = HASH_INITIAL;
-			hashCode = hashCode * HASH_FACTOR + Util.hashCode(id);
-			hashCodeComputed = true;
-		}
-
-		return hashCode;
-	}
-
-	public boolean isEnabled() {
-		return enabled;
-	}
-
-	public void removeIdentifierListener(IEnablementIdentifierListener identifierListener) {
-		if (identifierListener == null)
-			throw new NullPointerException();
-
-		if (identifierListeners != null)
-			identifierListeners.remove(identifierListener);
-
-		if (identifierListeners.isEmpty())
-			strongReferences.remove(this);
-	}
-
-	protected boolean setFunctionGroupIds(Set functionGroupIds) {
-		Set safeFunctionGroupIds = Util.safeCopy(functionGroupIds, String.class);
-
-		if (!Util.equals(safeFunctionGroupIds, this.functionGroupIds)) {
-			this.functionGroupIds = safeFunctionGroupIds;
-			this.functionGroupIdsAsArray = (String[]) this.functionGroupIds.toArray(new String[this.functionGroupIds.size()]);
-
-			hashCodeComputed = false;
-			hashCode = 0;
-			string = null;
-			return true;
-		}
-
-		return false;
-	}
-
-	protected boolean setEnabled(boolean enabled) {
-		if (enabled != this.enabled) {
-			this.enabled = enabled;
-			hashCodeComputed = false;
-			hashCode = 0;
-			string = null;
-			return true;
-		}
-
-		return false;
-	}
-
-	/**
-	 * Recompute the enabled state and return whether the state changed
-	 */
-	protected boolean resetEnabled() {
-		return setEnabled(getNewEnabled());
-	}
-
-	protected boolean getNewEnabled() {
-		if (project == null)
-			return true;
-		if (functionGroupIdsAsArray.length == 0)
-			return true;
-		for (int i = 0; i < functionGroupIdsAsArray.length; i++) {
-			FunctionGroup group = FunctionGroupRegistry.getInstance().getGroupByID(functionGroupIdsAsArray[i]);
-			if (group != null && group.isEnabled(project))
-				return true;
-		}
-		return false;
-	}
-
-	@Override
-	public String toString() {
-		if (string == null) {
-			final StringBuffer stringBuffer = new StringBuffer();
-			stringBuffer.append('[');
-			stringBuffer.append(functionGroupIds);
-			stringBuffer.append(',');
-			stringBuffer.append(enabled);
-			stringBuffer.append(',');
-			stringBuffer.append(id);
-			stringBuffer.append(']');
-			string = stringBuffer.toString();
-		}
-
-		return string;
-	}
-
-	/**
-	 * The associated Project may be null
-	 * 
-	 * @return Returns the project.
-	 */
-	public IProject getProject() {
-		return project;
-	}
-
-	public String getPrimaryFunctionGroupId() {
-		int selectedPriority = Integer.MAX_VALUE;
-		int priority = 0;
-		String selectedFunctionGroupId = null;
-		String functionGroupId = null;
-		for (Iterator iterator = getFunctionGroupIds().iterator(); iterator.hasNext();) {
-			functionGroupId = iterator.next().toString();
-			priority = FunctionGroupRegistry.getInstance().getGroupPriority(functionGroupId);
-			if (priority < selectedPriority)
-				selectedFunctionGroupId = functionGroupId;
-			if (priority == 0)
-				return selectedFunctionGroupId;
-		}
-		return selectedFunctionGroupId;
-	}
-
-}
diff --git a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/enablement/EnablementIdentifierEvent.java b/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/enablement/EnablementIdentifierEvent.java
deleted file mode 100644
index 5e077b7..0000000
--- a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/enablement/EnablementIdentifierEvent.java
+++ /dev/null
@@ -1,79 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-/*
- * Created on Feb 10, 2004
- * 
- * To change the template for this generated file go to
- * Window&gt;Preferences&gt;Java&gt;Code Generation&gt;Code and Comments
- */
-package org.eclipse.wst.common.frameworks.internal.enablement;
-
-
-
-/**
- * @author schacher
- * 
- * To change the template for this generated type comment go to
- * Window&gt;Preferences&gt;Java&gt;Code Generation&gt;Code and Comments
- */
-public class EnablementIdentifierEvent {
-
-	private boolean functionGroupIdsChanged;
-	private boolean enabledChanged;
-	private IEnablementIdentifier identifier;
-
-	public EnablementIdentifierEvent(IEnablementIdentifier identifier, boolean functionGroupIdsChanged, boolean enabledChanged) {
-		if (identifier == null)
-			throw new NullPointerException();
-
-		this.identifier = identifier;
-		this.functionGroupIdsChanged = functionGroupIdsChanged;
-		this.enabledChanged = enabledChanged;
-	}
-
-	/**
-	 * Returns the instance of the interface that changed.
-	 * 
-	 * @return the instance of the interface that changed. Guaranteed not to be <code>null</code>.
-	 */
-	public IEnablementIdentifier getIdentifier() {
-		return identifier;
-	}
-
-	/**
-	 * Returns whether or not the functionGroupIds property changed.
-	 * 
-	 * @return true, iff the functionGroupIds property changed.
-	 */
-	public boolean hasFunctionGroupIdsChanged() {
-		return functionGroupIdsChanged;
-	}
-
-	/**
-	 * Returns whether or not the enabled property changed.
-	 * 
-	 * @return true, iff the enabled property changed.
-	 */
-	public boolean hasEnabledChanged() {
-		return enabledChanged;
-	}
-
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see java.lang.Object#toString()
-	 */
-	@Override
-	public String toString() {
-		return "EnablementIdentifierEvent [identifier=" + identifier.toString() + ", functionGroupIdsChanged=" + hasFunctionGroupIdsChanged() + ", enabledChanged=" + hasEnabledChanged() + "]"; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
-	}
-}
diff --git a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/enablement/EnablementManager.java b/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/enablement/EnablementManager.java
deleted file mode 100644
index 5a21de8..0000000
--- a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/enablement/EnablementManager.java
+++ /dev/null
@@ -1,179 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-/*
- * Created on Feb 3, 2004
- * 
- * To change the template for this generated file go to Window - Preferences -
- * Java - Code Generation - Code and Comments
- */
-package org.eclipse.wst.common.frameworks.internal.enablement;
-
-import java.util.Collection;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-import java.util.WeakHashMap;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.MultiStatus;
-import org.eclipse.wst.common.frameworks.internal.plugin.WTPCommonMessages;
-import org.eclipse.wst.common.frameworks.internal.plugin.WTPCommonPlugin;
-
-/**
- * @author mdelder
- */
-public class EnablementManager implements IEnablementManager {
-
-	public static final IEnablementManager INSTANCE = new EnablementManager();
-
-	private static Map identifiersByProject = new WeakHashMap();
-
-	public EnablementManager() {
-	}
-
-	/**
-	 * Returns a Map in which the keys are ids and the values are the identifiers
-	 * 
-	 * @param project
-	 * @return
-	 */
-	protected Map getIdentifiersById(IProject project) {
-		Map aMap = (Map) identifiersByProject.get(project);
-		if (aMap == null) {
-			aMap = new WeakHashMap();
-			identifiersByProject.put(project, aMap);
-		}
-		return aMap;
-	}
-
-    public IEnablementIdentifier getIdentifier(String identifierId, IProject project) {
-        if (identifierId == null){
-        	throw new NullPointerException();
-        }
-        IProject innerProject = project;
-        if (innerProject != null && !innerProject.isAccessible()){
-        	innerProject = null;
-        }
-        
-        EnablementIdentifier identifier = null;
-        boolean identifierRequiresUpdate = false;
-        synchronized(this) {
-	        Map identifiersById = getIdentifiersById(innerProject);	
-	        identifier = (EnablementIdentifier) identifiersById.get(identifierId);
-	        if(identifier == null){
-	        	identifierRequiresUpdate = true;
-	        	identifier = createIdentifier(identifierId, innerProject);
-	            identifiersById.put(identifierId, identifier);
-	        }
-	    }
-        
-        synchronized (identifier){
-        	if(identifierRequiresUpdate){
-                updateIdentifier(identifier);
-        	}
-        	return identifier;
-        }
-    }
-
-	protected EnablementIdentifier createIdentifier(String identifierId, IProject project) {
-		return new EnablementIdentifier(identifierId, project);
-	}
-
-	private EnablementIdentifierEvent updateIdentifier(EnablementIdentifier identifier) {
-		String id = identifier.getId();
-		Set functionGroupIds = new HashSet();
-
-		List groups = FunctionGroupRegistry.getInstance().getKnownGroups();
-		for (Iterator iterator = groups.iterator(); iterator.hasNext();) {
-			FunctionGroup group = (FunctionGroup) iterator.next();
-
-			if (group == null)
-				throw new IllegalStateException();
-			if (group.isMatch(id))
-				functionGroupIds.add(group.getGroupID());
-		}
-
-		boolean functionGroupsChanged = identifier.setFunctionGroupIds(functionGroupIds);
-		boolean enabledChanged = identifier.resetEnabled();
-
-		if (functionGroupsChanged || enabledChanged)
-			return new EnablementIdentifierEvent(identifier, functionGroupsChanged, enabledChanged);
-		return null;
-	}
-
-	/**
-	 * Notify all identifier listeners that the state of a project has changed that affects the
-	 * enablement of a group for a project. This method is fail safe, in that if one listener throws
-	 * an exception while being notified, it will not stop the notification of other listeners.
-	 * 
-	 * @param evt
-	 * @throws CoreException
-	 *             if exceptions were caught notifying any of the listeners. Check the status of the
-	 *             core exception for the nested exceptions.
-	 */
-	public final void notifyFunctionGroupChanged(String groupID, IProject project) throws CoreException {
-
-		Map identifiers = getIdentifiersById(project);
-
-		if (identifiers == null)
-			return;
-
-		EnablementIdentifier identifier = null;
-		Iterator iter = identifiers.values().iterator();
-		IStatus errorStatus = null;
-		IStatus nextStatus = null;
-
-		while (iter.hasNext()) {
-			identifier = (EnablementIdentifier) iter.next();
-
-			EnablementIdentifierEvent evt = updateIdentifier(identifier);
-			try {
-				if (evt != null)
-					identifier.fireIdentifierChanged(evt);
-			} catch (Exception ex) {
-				//Defer the exception so others can handle it.
-				nextStatus = WTPCommonPlugin.createErrorStatus(WTPCommonMessages.INTERNAL_ERROR, ex);
-				WTPCommonPlugin.logError(ex);
-				if (errorStatus == null)
-					errorStatus = nextStatus;
-				else if (errorStatus.isMultiStatus())
-					((MultiStatus) errorStatus).add(nextStatus);
-				else {
-					IStatus[] children = {errorStatus, nextStatus};
-					errorStatus = new MultiStatus(errorStatus.getPlugin(), errorStatus.getCode(), children, WTPCommonMessages.INTERNAL_ERROR, null);
-				}
-			}
-
-		}
-		if (errorStatus != null)
-			throw new CoreException(errorStatus);
-
-	}
-
-	/**
-	 * Utility method for clients to dispose of listeners
-	 * 
-	 * @param enablementIdentifiers
-	 * @param listener
-	 */
-	public void removeEnablementIdentifierListener(Collection enablementIdentifiers, IEnablementIdentifierListener listener) {
-		Iterator iter = enablementIdentifiers.iterator();
-		while (iter.hasNext()) {
-			IEnablementIdentifier identifier = (IEnablementIdentifier) iter.next();
-			identifier.removeIdentifierListener(listener);
-		}
-	}
-
-}
diff --git a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/enablement/FunctionGroup.java b/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/enablement/FunctionGroup.java
deleted file mode 100644
index c470bbc..0000000
--- a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/enablement/FunctionGroup.java
+++ /dev/null
@@ -1,161 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.common.frameworks.internal.enablement;
-
-import java.util.Iterator;
-import java.util.Set;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.wst.common.frameworks.internal.WTPResourceHandler;
-import org.eclipse.wst.common.frameworks.internal.plugin.WTPCommonPlugin;
-
-
-/**
- * @author mdelder/blancett
- */
-public class FunctionGroup implements Comparable {
-
-	public static final String GROUP_NAME_ATTR = "name"; //$NON-NLS-1$
-	public static final String GROUP_DESC_ATTR = "description"; //$NON-NLS-1$
-	public static final String GROUP_ENABLED_BY_DEFAULT_ATTR = "enabledByDefault"; //$NON-NLS-1$
-	public static final String GROUP_PRIORITY_ATTR = "priority"; //$NON-NLS-1$
-	public static final String GROUP_INTIALIZER_CLASS_ATTR = "initializerClassName"; //$NON-NLS-1$
-	private static final int NEGATIVE_PRIORITY = -1;
-
-	private String groupID;
-	private String name;
-	private String description;
-	private String intializerClassName;
-	private String declaringExtension;
-	private int priority = NEGATIVE_PRIORITY;
-	private IConfigurationElement element;
-	private IGroupInitializer groupInterface;
-	private Set functionGroupPatternBindings;
-//	private transient FunctionGroupPatternBinding[] functionGroupPatternBindingsAsArray;
-	private boolean errorReported = false;
-
-	public FunctionGroup(String groupID, IConfigurationElement element) {
-		this.groupID = groupID;
-		this.element = element;
-	}
-
-	public String getDescription() {
-		if (description == null)
-			description = element.getAttribute(GROUP_DESC_ATTR);
-		return description;
-	}
-
-	String getInitalizerClassName() {
-		if (intializerClassName == null)
-			intializerClassName = element.getAttribute(GROUP_INTIALIZER_CLASS_ATTR);
-		return intializerClassName;
-	}
-
-	public String getName() {
-		if (name == null)
-			name = element.getAttribute(GROUP_NAME_ATTR);
-		return name;
-	}
-
-	private String getDeclaringExtensionName() {
-		if (declaringExtension == null) {
-			if (element.getDeclaringExtension() == null)
-				return ""; //$NON-NLS-1$
-			declaringExtension = element.getDeclaringExtension().toString();
-		}
-		return declaringExtension;
-	}
-
-	public String getGroupID() {
-		return groupID;
-	}
-
-	IGroupInitializer getInitializerClass() {
-		if (groupInterface == null)
-			try {
-				groupInterface = (IGroupInitializer) element.createExecutableExtension(GROUP_INTIALIZER_CLASS_ATTR);
-			} catch (CoreException e) {
-				WTPCommonPlugin.logError(WTPResourceHandler.getString("29", new Object[]{GROUP_INTIALIZER_CLASS_ATTR, getInitalizerClassName(), getDeclaringExtensionName()}) + "\r\n"); //$NON-NLS-1$//$NON-NLS-2$
-				WTPCommonPlugin.logError(e);
-			}
-		return groupInterface;
-	}
-
-	@Override
-	public String toString() {
-		return "\"" + getName() + "\" (" + getGroupID() + ")"; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-	}
-
-	public int getPriority() {
-		if (priority == NEGATIVE_PRIORITY)
-			priority = Integer.parseInt(element.getAttribute(GROUP_PRIORITY_ATTR));
-		return priority;
-	}
-
-	public boolean isEnabled(IProject project) {
-		if (getInitializerClass() != null)
-			return getInitializerClass().isGroupEnabled(project);
-		return false;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see java.lang.Comparable#compareTo(java.lang.Object)
-	 */
-	public int compareTo(Object o) {
-		if (this.equals(o))
-			return 0;
-		else if (!(o instanceof FunctionGroup))
-			return 1;
-
-		FunctionGroup group = (FunctionGroup) o;
-		if (getPriority() == group.getPriority())
-			return getGroupID().compareTo(group.getGroupID());
-
-		else if (getPriority() < group.getPriority())
-			return -1;
-		else
-			return 1;
-	}
-
-	public boolean isMatch(String string) {
-		if (functionGroupPatternBindings == null) {
-			if (!errorReported) {
-				WTPCommonPlugin.logError(WTPResourceHandler.getString("30", new Object[]{getGroupID()})); //$NON-NLS-1$
-				errorReported = true;
-			}
-			return false;
-		}
-		for (Iterator iterator = functionGroupPatternBindings.iterator(); iterator.hasNext();) {
-			FunctionGroupPatternBinding functionGroupPatternBinding = (FunctionGroupPatternBinding) iterator.next();
-
-			if (functionGroupPatternBinding.getPattern().matcher(string).matches())
-				return true;
-		}
-
-		return false;
-	}
-
-	boolean setFunctionGroupPatternBindings(Set functionGroupPatternBindings) {
-		Set safeFunctionGroupPatternBindings = Util.safeCopy(functionGroupPatternBindings, FunctionGroupPatternBinding.class);
-
-		if (!Util.equals(safeFunctionGroupPatternBindings, this.functionGroupPatternBindings)) {
-			this.functionGroupPatternBindings = safeFunctionGroupPatternBindings;
-			return true;
-		}
-
-		return false;
-	}
-
-}
diff --git a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/enablement/FunctionGroupPatternBinding.java b/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/enablement/FunctionGroupPatternBinding.java
deleted file mode 100644
index 464bcc5..0000000
--- a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/enablement/FunctionGroupPatternBinding.java
+++ /dev/null
@@ -1,101 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-/*
- * Created on Feb 10, 2004
- * 
- * To change the template for this generated file go to
- * Window&gt;Preferences&gt;Java&gt;Code Generation&gt;Code and Comments
- */
-package org.eclipse.wst.common.frameworks.internal.enablement;
-
-import java.util.regex.Pattern;
-
-
-/**
- * @author schacher
- * 
- * To change the template for this generated type comment go to
- * Window&gt;Preferences&gt;Java&gt;Code Generation&gt;Code and Comments
- */
-public class FunctionGroupPatternBinding {
-
-	private final static int HASH_FACTOR = 89;
-	private final static int HASH_INITIAL = FunctionGroupPatternBinding.class.getName().hashCode();
-	private String functionGroupId;
-	private transient int hashCode;
-	private transient boolean hashCodeComputed;
-	private Pattern pattern;
-	private transient String string;
-
-	/**
-	 *  
-	 */
-	public FunctionGroupPatternBinding(String functionGroupId, Pattern pattern) {
-		if (pattern == null)
-			throw new NullPointerException();
-
-		this.functionGroupId = functionGroupId;
-		this.pattern = pattern;
-	}
-
-	public int compareTo(Object object) {
-		FunctionGroupPatternBinding castedObject = (FunctionGroupPatternBinding) object;
-		int compareTo = Util.compare(functionGroupId, castedObject.functionGroupId);
-
-		if (compareTo == 0)
-			compareTo = Util.compare(pattern.pattern(), castedObject.pattern.pattern());
-
-		return compareTo;
-	}
-
-	@Override
-	public boolean equals(Object object) {
-		if (!(object instanceof FunctionGroupPatternBinding))
-			return false;
-
-		FunctionGroupPatternBinding castedObject = (FunctionGroupPatternBinding) object;
-		boolean equals = true;
-		equals &= Util.equals(functionGroupId, castedObject.functionGroupId);
-		equals &= Util.equals(pattern, castedObject.pattern);
-		return equals;
-	}
-
-	public String getActivityId() {
-		return functionGroupId;
-	}
-
-	public Pattern getPattern() {
-		return pattern;
-	}
-
-	@Override
-	public int hashCode() {
-		if (!hashCodeComputed) {
-			hashCode = HASH_INITIAL;
-			hashCode = hashCode * HASH_FACTOR + Util.hashCode(functionGroupId);
-			hashCode = hashCode * HASH_FACTOR + Util.hashCode(pattern);
-			hashCodeComputed = true;
-		}
-
-		return hashCode;
-	}
-
-	@Override
-	public String toString() {
-		if (string == null) {
-			final StringBuffer stringBuffer = new StringBuffer();
-			stringBuffer.append('[').append(functionGroupId).append(",pattern=\"").append(pattern.pattern()).append("\"]"); //$NON-NLS-1$ //$NON-NLS-2$
-			string = stringBuffer.toString();
-		}
-
-		return string;
-	}
-}
diff --git a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/enablement/FunctionGroupRegistry.java b/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/enablement/FunctionGroupRegistry.java
deleted file mode 100644
index ce55ca9..0000000
--- a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/enablement/FunctionGroupRegistry.java
+++ /dev/null
@@ -1,254 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.common.frameworks.internal.enablement;
-
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.Comparator;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-import java.util.Map.Entry;
-import java.util.regex.Pattern;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.wst.common.core.util.RegistryReader;
-import org.eclipse.wst.common.frameworks.internal.WTPResourceHandler;
-import org.eclipse.wst.common.frameworks.internal.plugin.WTPCommonPlugin;
-
-/**
- * The FunctionGroupRegistry will consume Configuration elements conforming to the FunctionGroup
- * Extension Point schema.
- */
-public class FunctionGroupRegistry extends RegistryReader {
-
-	private static FunctionGroupRegistry INSTANCE = null;
-
-	public static final String GROUP_ELEMENT = "functionGroup"; //$NON-NLS-1$
-	public static final String GROUP_ID_ATTR = "functionGroupID"; //$NON-NLS-1$
-	public static final String FUNCTION_GROUP_PATTERN_BINDING_ELMT = "functionGroupPatternBinding"; //$NON-NLS-1$
-	public static final String PATTERN_ATTR = "pattern"; //$NON-NLS-1$
-
-	private Map groupMapById;
-	private List knownGroups;
-	private Map patternBindingsByGroupId;
-
-	private FunctionGroupRegistry() {
-		super(WTPCommonPlugin.PLUGIN_ID, WTPCommonPlugin.GROUP_REGISTRY_EXTENSION_POINT);
-		patternBindingsByGroupId = new HashMap();
-
-	}
-
-	public static FunctionGroupRegistry getInstance() {
-		if (INSTANCE == null) {
-			INSTANCE = new FunctionGroupRegistry();
-			INSTANCE.readRegistry();
-		}
-		return INSTANCE;
-	}
-
-	/*
-	 * (non-Javadoc) Read all the elements first, then set the pattern bindings on the function
-	 * groups
-	 */
-	@Override
-	public void readRegistry() {
-		super.readRegistry();
-		setPatternBindings();
-	}
-
-	private void setPatternBindings() {
-		Iterator iter = patternBindingsByGroupId.entrySet().iterator();
-		while (iter.hasNext()) {
-			Map.Entry entry = (Entry) iter.next();
-			String groupId = (String) entry.getKey();
-			Set value = (Set) entry.getValue();
-			FunctionGroup aGroup = getGroupByID(groupId);
-			if (aGroup != null)
-				aGroup.setFunctionGroupPatternBindings(value);
-		}
-
-	}
-
-	@Override
-	public boolean readElement(IConfigurationElement element) {
-		if (element.getName().equals(GROUP_ELEMENT)) {
-			readGroup(element);
-			return true;
-		} else if (element.getName().equals(FUNCTION_GROUP_PATTERN_BINDING_ELMT)) {
-			readPatternBinding(element);
-			return true;
-		}
-		return false;
-	}
-
-	/**
-	 * @param element
-	 */
-	private void readPatternBinding(IConfigurationElement element) {
-		String groupID = element.getAttribute(GROUP_ID_ATTR);
-		String pattern = element.getAttribute(PATTERN_ATTR);
-		if (!isNullOrEmpty(groupID) && !isNullOrEmpty(pattern)) {
-			Pattern aPattern = Pattern.compile(pattern);
-			FunctionGroupPatternBinding binding = new FunctionGroupPatternBinding(groupID, aPattern);
-			addPatternBinding(groupID, binding);
-		}
-
-	}
-
-	/**
-	 * @param binding
-	 */
-	private void addPatternBinding(String groupID, FunctionGroupPatternBinding binding) {
-		Set bindings = (Set) patternBindingsByGroupId.get(groupID);
-		if (bindings == null) {
-			bindings = new HashSet();
-			patternBindingsByGroupId.put(groupID, bindings);
-		}
-		bindings.add(binding);
-	}
-
-	private boolean isNullOrEmpty(String aString) {
-		return aString == null || aString.length() == 0;
-	}
-
-	private void readGroup(IConfigurationElement element) {
-		String groupID = element.getAttribute(GROUP_ID_ATTR);
-		if (!isNullOrEmpty(groupID)) {
-			FunctionGroup group = new FunctionGroup(groupID, element);
-			getGroupMapById().put(groupID, group);
-			getKnownGroups().add(group);
-		}
-	}
-
-	private List getAscendingSortedGroups(IProject project) {
-		Comparator ascendingGrpComparator = AscendingGroupComparator.singleton();
-		List groupList = getKnownGroups(project);
-		Collections.sort(groupList, ascendingGrpComparator);
-		return groupList;
-	}
-
-	private List getDescendingSortedGroups(IProject project) {
-		Comparator descendingGrpComparator = DescendingGroupComparator.singleton();
-		List groupList = getKnownGroups(project);
-		Collections.sort(groupList, descendingGrpComparator);
-		return groupList;
-	}
-
-	public List getKnownGroups(IProject project) {
-		ArrayList groupByProjectList = new ArrayList(getKnownGroups().size());
-		List groupList = getKnownGroups();
-		for (int i = 0; i < groupList.size(); i++) {
-			FunctionGroup group = (FunctionGroup) groupList.get(i);
-			if (group.isEnabled(project))
-				groupByProjectList.add(group);
-		}
-		return groupByProjectList;
-	}
-
-	public List getAscendingPriorityGroupNames(IProject project) {
-		List sortedGroup = getAscendingSortedGroups(project);
-		return getGroupListNames(sortedGroup, new ArrayList(sortedGroup.size()));
-
-	}
-
-	public List getDescendingPriorityGroupNames(IProject project) {
-		List sortedGroup = getDescendingSortedGroups(project);
-		return getGroupListNames(sortedGroup, new ArrayList(sortedGroup.size()));
-	}
-
-	private List getGroupListNames(List sortedGroup, List sortedGroupNames) {
-		for (int i = 0; i < sortedGroup.size(); i++) {
-			FunctionGroup grp = (FunctionGroup) sortedGroup.get(i);
-			sortedGroupNames.add(grp.getGroupID());
-		}
-		return sortedGroupNames;
-	}
-
-	public Iterator getGroupIDs() {
-		return getGroupMapById().keySet().iterator();
-	}
-
-	public FunctionGroup getGroupByID(String groupID) {
-		return (FunctionGroup) getGroupMapById().get(groupID);
-	}
-
-	public boolean isGroupEnabled(IProject project, String groupID) {
-		FunctionGroup group = getGroupByID(groupID);
-		if (group != null)
-			return group.isEnabled(project);
-		return false;
-	}
-
-	public List getKnownGroups() {
-		if (knownGroups == null)
-			knownGroups = new ArrayList();
-		return knownGroups;
-	}
-
-	/**
-	 * @return Returns the groupMapById.
-	 */
-	protected Map getGroupMapById() {
-		if (groupMapById == null)
-			groupMapById = new HashMap();
-		return groupMapById;
-	}
-
-	/**
-	 * Check the priority of the two groups referenced by
-	 * 
-	 * @groupID1 and
-	 * @groupID2
-	 * 
-	 * @param groupID1
-	 * @param groupID2
-	 * @return 0 if the two groups are equal, 1 if
-	 * @groupID1 has a higher precedence, otherwise -1
-	 */
-	public int compare(String groupID1, String groupID2) {
-		FunctionGroup group1 = getGroupByID(groupID1);
-		FunctionGroup group2 = getGroupByID(groupID2);
-		if (group1 == null) {
-			WTPCommonPlugin.logError(new IllegalArgumentException(WTPResourceHandler.getString("28", new Object[]{groupID1}))); //$NON-NLS-1$
-			return -1;
-		}
-		if (group2 == null) {
-			WTPCommonPlugin.logError(new IllegalArgumentException(WTPResourceHandler.getString("28", new Object[]{groupID2}))); //$NON-NLS-1$
-			return 1;
-		}
-
-		return group1.compareTo(group2);
-	}
-
-	public int getGroupPriority(String grpId) {
-		FunctionGroup group = getGroupByID(grpId);
-		return (group != null) ? group.getPriority() : -1;
-	}
-
-	public int getFunctionPriority(String enablementID) {
-		int priority = Integer.MAX_VALUE;
-		Iterator iter = getKnownGroups().iterator();
-		while (iter.hasNext()) {
-			FunctionGroup group = (FunctionGroup) iter.next();
-			if (group.isMatch(enablementID))
-				priority = Math.min(priority, group.getPriority());
-		}
-		return priority;
-
-	}
-
-}
diff --git a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/enablement/IEnablementIdentifier.java b/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/enablement/IEnablementIdentifier.java
deleted file mode 100644
index d73d812..0000000
--- a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/enablement/IEnablementIdentifier.java
+++ /dev/null
@@ -1,82 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-/*
- * Created on Feb 10, 2004
- *
- * To change the template for this generated file go to
- * Window&gt;Preferences&gt;Java&gt;Code Generation&gt;Code and Comments
- */
-package org.eclipse.wst.common.frameworks.internal.enablement;
-
-import java.util.Set;
-
-/**
- * @author schacher
- * 
- * To change the template for this generated type comment go to
- * Window&gt;Preferences&gt;Java&gt;Code Generation&gt;Code and Comments
- */
-public interface IEnablementIdentifier {
-
-
-	/**
-	 * Registers an instance of <code>IIdentifierListener</code> to listen for changes to
-	 * properties of this instance.
-	 * 
-	 * @param identifierListener
-	 *            the instance to register. Must not be <code>null</code>. If an attempt is made
-	 *            to register an instance which is already registered with this instance, no
-	 *            operation is performed.
-	 */
-	void addIdentifierListener(IEnablementIdentifierListener identifierListener);
-
-	/**
-	 * Returns the set of function group ids that this instance matches.
-	 * <p>
-	 * Notification is sent to all registered listeners if this property changes.
-	 * </p>
-	 * 
-	 * @return the set of activity ids that this instance matches. This set may be empty, but is
-	 *         guaranteed not to be <code>null</code>. If this set is not empty, it is guaranteed
-	 *         to only contain instances of <code>String</code>.
-	 */
-	Set getFunctionGroupIds();
-
-	/**
-	 * Returns the identifier of this instance.
-	 * 
-	 * @return the identifier of this instance. Guaranteed not to be <code>null</code>.
-	 */
-	String getId();
-
-	/**
-	 * Returns whether or not this instance is enabled.
-	 * <p>
-	 * Notification is sent to all registered listeners if this property changes.
-	 * </p>
-	 * 
-	 * @return true, iff this instance is enabled.
-	 */
-	boolean isEnabled();
-
-	/**
-	 * Unregisters an instance of <code>IEnablementIdentifierListener</code> listening for changes
-	 * to properties of this instance.
-	 * 
-	 * @param identifierListener
-	 *            the instance to unregister. Must not be <code>null</code>. If an attempt is
-	 *            made to unregister an instance which is not already registered with this instance,
-	 *            no operation is performed.
-	 */
-	void removeIdentifierListener(IEnablementIdentifierListener identifierListener);
-
-
-}
diff --git a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/enablement/IEnablementIdentifierListener.java b/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/enablement/IEnablementIdentifierListener.java
deleted file mode 100644
index 90cf938..0000000
--- a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/enablement/IEnablementIdentifierListener.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-/*
- * Created on Feb 10, 2004
- *
- * To change the template for this generated file go to
- * Window&gt;Preferences&gt;Java&gt;Code Generation&gt;Code and Comments
- */
-package org.eclipse.wst.common.frameworks.internal.enablement;
-
-/**
- * @author schacher
- * 
- * To change the template for this generated type comment go to
- * Window&gt;Preferences&gt;Java&gt;Code Generation&gt;Code and Comments
- */
-public interface IEnablementIdentifierListener {
-	/**
-	 * Notifies that one or more properties of an instance of <code>IIdentifier</code> have
-	 * changed. Specific details are described in the <code>IdentifierEvent</code>.
-	 * 
-	 * @param identifierEvent
-	 *            the identifier event. Guaranteed not to be <code>null</code>.
-	 */
-	void identifierChanged(EnablementIdentifierEvent identifierEvent);
-}
diff --git a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/enablement/IEnablementManager.java b/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/enablement/IEnablementManager.java
deleted file mode 100644
index ab6fcdc..0000000
--- a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/enablement/IEnablementManager.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.common.frameworks.internal.enablement;
-
-import java.util.Collection;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.wst.common.core.util.UIContextDetermination;
-
-public interface IEnablementManager {
-	String INTERNAL_ENABLEMENT_DETERMINATION_ID = "org.eclipse.wst.common.frameworks.internal.EnablementDetermination"; //$NON-NLS-1$
-
-	IEnablementManager INSTANCE = (IEnablementManager) UIContextDetermination.createInstance(INTERNAL_ENABLEMENT_DETERMINATION_ID);
-
-	IEnablementIdentifier getIdentifier(String identifierId, IProject project);
-
-	/**
-	 * Notify all identifier listeners that the state of a project has changed that affects the
-	 * enablement of a group for a project. This method is fail safe, in that if one listener throws
-	 * an exception while being notified, it will not stop the notification of other listeners.
-	 * 
-	 * @param evt
-	 * @throws CoreException
-	 *             if exceptions were caught notifying any of the listeners. Check the status of the
-	 *             core exception for the nested exceptions.
-	 */
-	void notifyFunctionGroupChanged(String groupID, IProject project) throws CoreException;
-
-	/**
-	 * Utility method for clients to dispose of listeners
-	 * 
-	 * @param enablementIdentifiers
-	 * @param listener
-	 */
-	void removeEnablementIdentifierListener(Collection enablementIdentifiers, IEnablementIdentifierListener listener);
-
-
-}
diff --git a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/enablement/IGroupInitializer.java b/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/enablement/IGroupInitializer.java
deleted file mode 100644
index c1cdc9c..0000000
--- a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/enablement/IGroupInitializer.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-/*
- * Created on Dec 2, 2003
- *
- * To change the template for this generated file go to
- * Window>Preferences>Java>Code Generation>Code and Comments
- */
-package org.eclipse.wst.common.frameworks.internal.enablement;
-
-import org.eclipse.core.resources.IProject;
-
-/**
- * @author blancett
- * 
- * To change the template for this generated type comment go to Window>Preferences>Java>Code
- * Generation>Code and Comments
- */
-public interface IGroupInitializer {
-
-	public boolean isGroupEnabled(IProject project);
-
-}
diff --git a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/enablement/Identifiable.java b/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/enablement/Identifiable.java
deleted file mode 100644
index bd364b9..0000000
--- a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/enablement/Identifiable.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.common.frameworks.internal.enablement;
-
-
-/**
- * @author mdelder
- *  
- */
-public interface Identifiable {
-
-	/**
-	 * return id that uniquely identifies this instance of an extension point. It is up to each
-	 * individual extension point provider to decide what that might be (e.g., "editorID", "pageID",
-	 * etc.
-	 */
-	String getID();
-
-	/**
-	 * 
-	 * @return the order the Identifiable element was loaded
-	 */
-	int getLoadOrder();
-}
diff --git a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/enablement/IdentifiableComparator.java b/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/enablement/IdentifiableComparator.java
deleted file mode 100644
index b6d9a61..0000000
--- a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/enablement/IdentifiableComparator.java
+++ /dev/null
@@ -1,84 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.common.frameworks.internal.enablement;
-
-
-/**
- * @author mdelder
- *  
- */
-public class IdentifiableComparator implements java.util.Comparator {
-
-	protected static final int GREATER_THAN = 1;
-
-	protected static final int LESS_THAN = -1;
-
-	protected static final int EQUAL = 0;
-
-	protected static final IdentifiableComparator instance = new IdentifiableComparator();
-
-	private static final int DEFAULT_PRIORITY = Integer.MAX_VALUE;
-
-	public static IdentifiableComparator getInstance() {
-		return instance;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see java.util.Comparator#compare(java.lang.Object, java.lang.Object)
-	 */
-	public int compare(Object o1, Object o2) {
-		Identifiable lvalue = null;
-		Identifiable rvalue = null;
-		if (o1 instanceof Identifiable)
-			lvalue = (Identifiable) o1;
-		if (o2 instanceof Identifiable)
-			rvalue = (Identifiable) o2;
-
-		if (rvalue == null)
-			return GREATER_THAN;
-		if (lvalue == null)
-			return LESS_THAN;
-
-		if ((lvalue.getID() == null && rvalue.getID() == null) || (getPriority(lvalue) == getPriority(rvalue)))
-			return compareLoadOrder(lvalue, rvalue);
-		/* R - L implies 0 is the highest priority */
-		return getPriority(lvalue) - getPriority(rvalue);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see java.util.Comparator#equals(java.lang.Object)
-	 */
-	@Override
-	public boolean equals(Object obj) {
-		return obj instanceof IdentifiableComparator;
-	}
-	@Override
-	public int hashCode() {
-		return super.hashCode();
-	}
-
-	private int compareLoadOrder(Identifiable lvalue, Identifiable rvalue) {
-		/* R - L implies 0 is the highest priority */
-		return lvalue.getLoadOrder() - rvalue.getLoadOrder();
-	}
-
-	public int getPriority(Identifiable identifiable) {
-		if (identifiable.getID() != null && identifiable.getID().length() > 0)
-			return FunctionGroupRegistry.getInstance().getFunctionPriority(identifiable.getID());
-		return DEFAULT_PRIORITY;
-	}
-
-	
-}
diff --git a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/enablement/Util.java b/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/enablement/Util.java
deleted file mode 100644
index 2c49776..0000000
--- a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/enablement/Util.java
+++ /dev/null
@@ -1,354 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.common.frameworks.internal.enablement;
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-import java.util.Set;
-import java.util.SortedMap;
-import java.util.SortedSet;
-import java.util.TreeMap;
-import java.util.TreeSet;
-
-/*
- * Rename this class to EnablementsUtil
- */
-
-public final class Util {
-	public final static SortedMap EMPTY_SORTED_MAP = Collections.unmodifiableSortedMap(new TreeMap());
-	public final static SortedSet EMPTY_SORTED_SET = Collections.unmodifiableSortedSet(new TreeSet());
-	public final static String ZERO_LENGTH_STRING = ""; //$NON-NLS-1$
-
-	public static void assertInstance(Object object, Class c) {
-		assertInstance(object, c, false);
-	}
-
-	public static void assertInstance(Object object, Class c, boolean allowNull) {
-		if (object == null && allowNull)
-			return;
-
-		if (object == null || c == null)
-			throw new NullPointerException();
-		else if (!c.isInstance(object))
-			throw new IllegalArgumentException();
-	}
-
-	public static int compare(boolean left, boolean right) {
-		return left == false ? (right == true ? -1 : 0) : 1;
-	}
-
-	public static int compare(Comparable left, Comparable right) {
-		if (left == null && right == null)
-			return 0;
-		else if (left == null)
-			return -1;
-		else if (right == null)
-			return 1;
-		else
-			return left.compareTo(right);
-	}
-
-	public static int compare(Comparable[] left, Comparable[] right) {
-		if (left == null && right == null)
-			return 0;
-		else if (left == null)
-			return -1;
-		else if (right == null)
-			return 1;
-		else {
-			int l = left.length;
-			int r = right.length;
-
-			if (l != r)
-				return l - r;
-			for (int i = 0; i < l; i++) {
-				int compareTo = compare(left[i], right[i]);
-
-				if (compareTo != 0)
-					return compareTo;
-			}
-			return 0;
-		}
-	}
-
-	public static int compare(int left, int right) {
-		return left - right;
-	}
-
-	public static int compare(List left, List right) {
-		if (left == null && right == null)
-			return 0;
-		else if (left == null)
-			return -1;
-		else if (right == null)
-			return 1;
-		else {
-			int l = left.size();
-			int r = right.size();
-
-			if (l != r)
-				return l - r;
-			for (int i = 0; i < l; i++) {
-				int compareTo = compare((Comparable) left.get(i), (Comparable) right.get(i));
-
-				if (compareTo != 0)
-					return compareTo;
-			}
-			return 0;
-		}
-	}
-
-	public static void diff(Map left, Map right, Set leftOnly, Set different, Set rightOnly) {
-		if (left == null || right == null || leftOnly == null || different == null || rightOnly == null)
-			throw new NullPointerException();
-
-		Iterator iterator = left.keySet().iterator();
-
-		while (iterator.hasNext()) {
-			Object key = iterator.next();
-
-			if (!right.containsKey(key))
-				leftOnly.add(key);
-			else if (!Util.equals(left.get(key), right.get(key)))
-				different.add(key);
-		}
-
-		iterator = right.keySet().iterator();
-
-		while (iterator.hasNext()) {
-			Object key = iterator.next();
-
-			if (!left.containsKey(key))
-				rightOnly.add(key);
-		}
-	}
-
-	public static void diff(Set left, Set right, Set leftOnly, Set rightOnly) {
-		if (left == null || right == null || leftOnly == null || rightOnly == null)
-			throw new NullPointerException();
-
-		Iterator iterator = left.iterator();
-
-		while (iterator.hasNext()) {
-			Object object = iterator.next();
-
-			if (!right.contains(object))
-				leftOnly.add(object);
-		}
-
-		iterator = right.iterator();
-
-		while (iterator.hasNext()) {
-			Object object = iterator.next();
-
-			if (!left.contains(object))
-				rightOnly.add(object);
-		}
-	}
-
-	public static boolean endsWith(List left, List right, boolean equals) {
-		if (left == null || right == null)
-			return false;
-		int l = left.size();
-		int r = right.size();
-		if (r > l || !equals && r == l)
-			return false;
-
-		for (int i = 0; i < r; i++)
-			if (!equals(left.get(l - i - 1), right.get(r - i - 1)))
-				return false;
-		return true;
-	}
-
-	public static boolean endsWith(Object[] left, Object[] right, boolean equals) {
-		if (left == null || right == null)
-			return false;
-		int l = left.length;
-		int r = right.length;
-		if (r > l || !equals && r == l)
-			return false;
-		for (int i = 0; i < r; i++)
-			if (!equals(left[l - i - 1], right[r - i - 1]))
-				return false;
-		return true;
-	}
-
-	public static boolean equals(boolean left, boolean right) {
-		return left == right;
-	}
-
-	public static boolean equals(int left, int right) {
-		return left == right;
-	}
-
-	public static boolean equals(Object left, Object right) {
-		return left == null ? right == null : left.equals(right);
-	}
-
-	public static int hashCode(boolean b) {
-		return b ? Boolean.TRUE.hashCode() : Boolean.FALSE.hashCode();
-	}
-
-	public static int hashCode(int i) {
-		return i;
-	}
-
-	public static int hashCode(Object object) {
-		return object != null ? object.hashCode() : 0;
-	}
-
-	public static List safeCopy(List list, Class c) {
-		return safeCopy(list, c, false);
-	}
-
-	public static List safeCopy(List list, Class c, boolean allowNullElements) {
-		if (list == null || c == null)
-			throw new NullPointerException();
-
-		List safeList = Collections.unmodifiableList(new ArrayList(list));
-		Iterator iterator = safeList.iterator();
-
-		while (iterator.hasNext())
-			assertInstance(iterator.next(), c, allowNullElements);
-
-		return safeList;
-	}
-
-	public static Map safeCopy(Map map, Class keyClass, Class valueClass) {
-		return safeCopy(map, keyClass, valueClass, false, false);
-	}
-
-	public static Map safeCopy(Map map, Class keyClass, Class valueClass, boolean allowNullKeys, boolean allowNullValues) {
-		if (map == null || keyClass == null || valueClass == null)
-			throw new NullPointerException();
-
-		Map safeMap = Collections.unmodifiableMap(new HashMap(map));
-		Iterator iterator = safeMap.entrySet().iterator();
-
-		while (iterator.hasNext()) {
-			Map.Entry entry = (Map.Entry) iterator.next();
-			assertInstance(entry.getKey(), keyClass, allowNullKeys);
-			assertInstance(entry.getValue(), valueClass, allowNullValues);
-		}
-
-		return safeMap;
-	}
-
-	public static Set safeCopy(Set set, Class c) {
-		return safeCopy(set, c, false);
-	}
-
-	public static Set safeCopy(Set set, Class c, boolean allowNullElements) {
-		if (set == null || c == null)
-			throw new NullPointerException();
-
-		Set safeSet = Collections.unmodifiableSet(new HashSet(set));
-		Iterator iterator = safeSet.iterator();
-
-		while (iterator.hasNext())
-			assertInstance(iterator.next(), c, allowNullElements);
-
-		return safeSet;
-	}
-
-	public static SortedMap safeCopy(SortedMap sortedMap, Class keyClass, Class valueClass) {
-		return safeCopy(sortedMap, keyClass, valueClass, false, false);
-	}
-
-	public static SortedMap safeCopy(SortedMap sortedMap, Class keyClass, Class valueClass, boolean allowNullKeys, boolean allowNullValues) {
-		if (sortedMap == null || keyClass == null || valueClass == null)
-			throw new NullPointerException();
-
-		SortedMap safeSortedMap = Collections.unmodifiableSortedMap(new TreeMap(sortedMap));
-		Iterator iterator = safeSortedMap.entrySet().iterator();
-
-		while (iterator.hasNext()) {
-			Map.Entry entry = (Map.Entry) iterator.next();
-			assertInstance(entry.getKey(), keyClass, allowNullKeys);
-			assertInstance(entry.getValue(), valueClass, allowNullValues);
-		}
-
-		return safeSortedMap;
-	}
-
-	public static SortedSet safeCopy(SortedSet sortedSet, Class c) {
-		return safeCopy(sortedSet, c, false);
-	}
-
-	public static SortedSet safeCopy(SortedSet sortedSet, Class c, boolean allowNullElements) {
-		if (sortedSet == null || c == null)
-			throw new NullPointerException();
-
-		SortedSet safeSortedSet = Collections.unmodifiableSortedSet(new TreeSet(sortedSet));
-		Iterator iterator = safeSortedSet.iterator();
-
-		while (iterator.hasNext())
-			assertInstance(iterator.next(), c, allowNullElements);
-
-		return safeSortedSet;
-	}
-
-	public static boolean startsWith(List left, List right, boolean equals) {
-		if (left == null || right == null)
-			return false;
-		int l = left.size();
-		int r = right.size();
-		if (r > l || !equals && r == l)
-			return false;
-		for (int i = 0; i < r; i++)
-			if (!equals(left.get(i), right.get(i)))
-				return false;
-		return true;
-	}
-
-	public static boolean startsWith(Object[] left, Object[] right, boolean equals) {
-		if (left == null || right == null)
-			return false;
-		int l = left.length;
-		int r = right.length;
-		if (r > l || !equals && r == l)
-			return false;
-
-		for (int i = 0; i < r; i++)
-			if (!equals(left[i], right[i]))
-				return false;
-		return true;
-	}
-
-	public static String translateString(ResourceBundle resourceBundle, String key) {
-		return Util.translateString(resourceBundle, key, key, true, true);
-	}
-
-	public static String translateString(ResourceBundle resourceBundle, String key, String string, boolean signal, boolean trim) {
-		if (resourceBundle != null && key != null)
-			try {
-				final String translatedString = resourceBundle.getString(key);
-
-				if (translatedString != null)
-					return trim ? translatedString.trim() : translatedString;
-			} catch (MissingResourceException eMissingResource) {
-				if (signal)
-					System.err.println(eMissingResource);
-			}
-
-		return trim ? string.trim() : string;
-	}
-
-	private Util() {
-	}
-}
diff --git a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/operations/ComposedExtendedOperationHolder.java b/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/operations/ComposedExtendedOperationHolder.java
deleted file mode 100644
index b1676d2..0000000
--- a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/operations/ComposedExtendedOperationHolder.java
+++ /dev/null
@@ -1,94 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.common.frameworks.internal.operations;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Iterator;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.wst.common.frameworks.internal.enablement.EnablementManager;
-import org.eclipse.wst.common.frameworks.internal.plugin.WTPCommonPlugin;
-
-public class ComposedExtendedOperationHolder {
-
-	private ArrayList preOps = null;
-	private ArrayList postOps = null;
-
-	protected ComposedExtendedOperationHolder() {
-		super();
-	}
-
-	public static ComposedExtendedOperationHolder createExtendedOperationHolder(String operationID) {
-		Collection extensions = (Collection) OperationExtensionReader.getExtensionPoints().get(operationID);
-		if (extensions == null) {
-			return null;
-		}
-
-		ComposedExtendedOperationHolder extOperationHolder = new ComposedExtendedOperationHolder();
-		Object preOp = null;
-		Object postOp = null;
-		OperationExtension currentExt = null;
-		for (Iterator iterator = extensions.iterator(); iterator.hasNext();) {
-			currentExt = (OperationExtension) iterator.next();
-			if (EnablementManager.INSTANCE.getIdentifier(currentExt.getExtensionId(), null).isEnabled()) {
-				try {
-					preOp = currentExt.getPreOperation();
-					if (preOp != null) {
-						extOperationHolder.addPreOperation(preOp);
-					}
-				} catch (CoreException e) {
-					WTPCommonPlugin.logError(e);
-				}
-				try {
-					postOp = currentExt.getPostOperation();
-					if (postOp != null) {
-						extOperationHolder.addPostOperation(postOp);
-					}
-				} catch (CoreException e) {
-					WTPCommonPlugin.logError(e);
-				}
-			}
-		}
-		return extOperationHolder;
-	}
-
-	protected void addPreOperation(Object preOperation) {
-		if (preOps == null) {
-			preOps = new ArrayList();
-		}
-		preOps.add(preOperation);
-	}
-
-	protected void addPostOperation(Object postOperation) {
-		if (postOps == null) {
-			postOps = new ArrayList();
-		}
-		postOps.add(postOperation);
-	}
-
-	public boolean hasPreOps() {
-		return preOps != null;
-	}
-
-	public boolean hasPostOps() {
-		return postOps != null;
-	}
-
-	public ArrayList getPostOps() {
-		return postOps;
-	}
-
-	public ArrayList getPreOps() {
-		return preOps;
-	}
-
-}
diff --git a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/operations/IHeadlessRunnableWithProgress.java b/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/operations/IHeadlessRunnableWithProgress.java
deleted file mode 100644
index 35db85c..0000000
--- a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/operations/IHeadlessRunnableWithProgress.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.common.frameworks.internal.operations;
-
-import java.lang.reflect.InvocationTargetException;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-
-/**
- * Simialar to org.eclipse.jface.operation.IRunnableWithProgress, however without UI dependencies.
- * 
- * This class is EXPERIMENTAL and is subject to substantial changes.
- */
-public interface IHeadlessRunnableWithProgress {
-	/**
-	 * Runs this operation without forcing a UI dependency.
-	 * 
-	 * @param monitor
-	 *            the progress monitor to use to display progress and receive requests for
-	 *            cancelation
-	 * @exception InvocationTargetException
-	 *                if the run method must propagate a checked exception, it should wrap it inside
-	 *                an <code>InvocationTargetException</code>; runtime exceptions are
-	 *                automatically wrapped in an <code>InvocationTargetException</code> by the
-	 *                calling context
-	 * @exception InterruptedException
-	 *                if the operation detects a request to cancel, using
-	 *                <code>IProgressMonitor.isCanceled()</code>, it should exit by throwing
-	 *                <code>InterruptedException</code>
-	 * 
-	 * @see IRunnableWithProgress
-	 */
-	public void run(IProgressMonitor monitor) throws InvocationTargetException, InterruptedException;
-}
diff --git a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/operations/IOperationHandler.java b/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/operations/IOperationHandler.java
deleted file mode 100644
index 633e4c1..0000000
--- a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/operations/IOperationHandler.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.wst.common.frameworks.internal.operations;
-
-/**
- * Passed to complex methods that may require reporting of messages, or interactions from the user;
- * Defined as an interface because the actions may run in headless environments
- */
-public interface IOperationHandler {
-	int YES = 0;
-	int YES_TO_ALL = 1;
-	int NO = 2;
-	int CANCEL = 3;
-
-	/**
-	 * A decision needs to made as to whether an action/operation can continue
-	 */
-	public boolean canContinue(String message);
-
-	/**
-	 * A decision needs to made as to whether an action/operation can continue. <code>items</code>
-	 * is an array of details that accompany the <code>message</code>.
-	 */
-	public boolean canContinue(String message, String[] items);
-
-	/**
-	 * A decision needs to made as to whether an action/operation can continue. The boolean array
-	 * will return two booleans. The first indicates their response to the original question and the
-	 * second indicates if they selected the apply to all check box.
-	 * 
-	 * Return the return code for the dialog. 0 = Yes, 1 = Yes to all, 2 = No
-	 */
-	int canContinueWithAllCheck(String message);
-
-	int canContinueWithAllCheckAllowCancel(String message);
-
-	/**
-	 * An error has occurred
-	 */
-	public void error(String message);
-
-	/**
-	 * An informational message needs to be presented
-	 */
-	public void inform(String message);
-
-	public Object getContext();
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/operations/IProjectCreationPropertiesNew.java b/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/operations/IProjectCreationPropertiesNew.java
deleted file mode 100644
index 8b36cd7..0000000
--- a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/operations/IProjectCreationPropertiesNew.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.common.frameworks.internal.operations;
-
-public interface IProjectCreationPropertiesNew {
-
-	/**
-	 * A required dataModel propertyName for a <code>java.lang.String</code> type. This is used to
-	 * specify the project name.
-	 */
-	public static final String PROJECT_NAME = "IProjectCreationPropertiesNew.PROJECT_NAME"; //$NON-NLS-1$
-
-	/**
-	 * A Boolean property used for determining how the PROJECT_LOCATION is computed. If this
-	 * property is true then the PROJECT_LOCATION is null. Otherwise the PROJECT_LOCATION is the
-	 * value of USER_DEFINED_LOCATION.
-	 */
-	public static final String USE_DEFAULT_LOCATION = "IProjectCreationPropertiesNew.USE_DEFAULT_LOCATION"; //$NON-NLS-1$
-
-	/**
-	 * A String property used in conjuction with USE_DEFAULT_LOCATION to override the
-	 * DEFAULT_LOCATION.
-	 */
-	public static final String USER_DEFINED_LOCATION = "IProjectCreationPropertiesNew.USER_DEFINED_LOCATION"; //$NON-NLS-1$
-
-	/**
-	 * A String property used in conjunction with {@link #USE_DEFAULT_LOCATION} and
-	 * {@link #PROJECT_NAME} to overrid the {@link #PROJECT_LOCATION}.
-	 * 
-	 * If {@link #USE_DEFAULT_LOCATION} is <code>false</code> and this property is set, then the
-	 * {@link #PROJECT_LOCATION} is defined by {@link #USER_DEFINED_BASE_LOCATION}/{@link #PROJECT_NAME}.
-	 */
-	public static final String USER_DEFINED_BASE_LOCATION = "IProjectCreationPropertiesNew.USER_DEFINED_BASE_LOCATION"; //$NON-NLS-1$
-
-	/**
-	 * An unsettable property which specified the default location for a newly created project. The
-	 * value is computed by appending the project name to the workspace location.
-	 */
-	public static final String DEFAULT_LOCATION = "IProjectCreationPropertiesNew.DEFAULT_LOCATION"; //$NON-NLS-1$
-
-	/**
-	 * An unsettable property used to specify the project location. If USE_DEFAULT_LOCATION this
-	 * property evaluates to USER_DEFINED_LOCATION; otherwise it i <code>null</code>.
-	 */
-	public static final String PROJECT_LOCATION = "IProjectCreationPropertiesNew.PROJECT_LOCATION"; //$NON-NLS-1$
-
-	/**
-	 * An optional dataModel propertyName for a <code>java.lang.String[]</code> type. This is a
-	 * list of all natures to add to the project. There is no default value.
-	 */
-	public static final String PROJECT_NATURES = "IProjectCreationPropertiesNew.PROJECT_NATURES"; //$NON-NLS-1$
-
-	/**
-	 * IProject. An non settable property. This is a conveniece for constructiong getting the
-	 * IProject
-	 */
-	public static final String PROJECT = "IProjectCreationPropertiesNew.PROJECT"; //$NON-NLS-1$
-
-	/**
-	 * IProjectDescription. An non settable property. This is a conveniece for constructiong a
-	 * project description.
-	 */
-	public static final String PROJECT_DESCRIPTION = "IProjectCreationPropertiesNew.PROJECT_DESCRIPTION"; //$NON-NLS-1$
-
-}
diff --git a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/operations/OperationExtension.java b/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/operations/OperationExtension.java
deleted file mode 100644
index 2fcd16e..0000000
--- a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/operations/OperationExtension.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.common.frameworks.internal.operations;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-
-public class OperationExtension {
-
-	protected String opID = null;
-
-	protected IConfigurationElement baseElement = null;
-
-	protected String preOperationClass = null;
-
-	protected String postOperationClass = null;
-
-	protected String extensionId;
-
-	public OperationExtension(IConfigurationElement element, String id, String preOp, String postOp) {
-		super();
-		baseElement = element;
-		setUpExtension(id, preOp, postOp);
-	}
-
-	private void setUpExtension(String id, String preOp, String postOp) {
-		opID = id;
-		preOperationClass = preOp;
-		postOperationClass = postOp;
-		this.extensionId = baseElement.getDeclaringExtension().getUniqueIdentifier();
-		if (this.extensionId == null)
-			this.extensionId = baseElement.getDeclaringExtension().getNamespace();
-	}
-
-	public String getOpID() {
-		return opID;
-	}
-
-	public String getPostOperationClass() {
-		return postOperationClass;
-	}
-
-	public String getPreOperationClass() {
-		return preOperationClass;
-	}
-
-	public Object getPostOperation() throws CoreException {
-		if (postOperationClass == null)
-			return null;
-		return baseElement.createExecutableExtension(OperationExtensionReader.ATT_POST_OP);
-	}
-
-	public Object getPreOperation() throws CoreException {
-		if (preOperationClass == null)
-			return null;
-		return baseElement.createExecutableExtension(OperationExtensionReader.ATT_PRE_OP);
-	}
-
-	/**
-	 * @return Returns the extensionId.
-	 */
-	public String getExtensionId() {
-		return extensionId;
-	}
-
-	public IConfigurationElement getBaseElement() {
-		return baseElement;
-	}
-}
diff --git a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/operations/OperationExtensionReader.java b/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/operations/OperationExtensionReader.java
deleted file mode 100644
index 3228037..0000000
--- a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/operations/OperationExtensionReader.java
+++ /dev/null
@@ -1,78 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.common.frameworks.internal.operations;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.HashMap;
-
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.wst.common.core.util.RegistryReader;
-import org.eclipse.wst.common.frameworks.internal.plugin.WTPCommonPlugin;
-
-public class OperationExtensionReader extends RegistryReader {
-	protected static HashMap opExtensions = null;
-
-	public static final String ELEMENT_J2EEOPEXT = "operationExtension"; //$NON-NLS-1$
-	public static final String ATT_ID = "id"; //$NON-NLS-1$ 
-	public static final String ATT_PRE_OP = "preOperationClass"; //$NON-NLS-1$
-	public static final String ATT_POST_OP = "postOperationClass"; //$NON-NLS-1$
-
-	public OperationExtensionReader() {
-		super(WTPCommonPlugin.PLUGIN_ID, "OperationExtension"); //$NON-NLS-1$
-	}
-
-	/**
-	 * readElement() - parse and deal with an extension like: <operationExtension
-	 * preOperationClass="com.ibm.etools....PreDeleteOperation"
-	 * postOperationClass="com.ibm.etools....PostDeleteOperation"> </operationExtension>
-	 */
-
-	@Override
-	public boolean readElement(IConfigurationElement element) {
-		if (!element.getName().equals(ELEMENT_J2EEOPEXT))
-			return false;
-		String id = element.getAttribute(ATT_ID);
-		String preOp = element.getAttribute(ATT_PRE_OP);
-		String postOp = element.getAttribute(ATT_POST_OP);
-		OperationExtension extension = new OperationExtension(element, id, preOp, postOp);
-		addExtensionPoint(extension);
-		return true;
-	}
-
-	/**
-	 * Sets the extension point.
-	 * 
-	 * @param extensions
-	 *            The extensions to set
-	 */
-	private static void addExtensionPoint(OperationExtension newExtension) {
-		Collection temp = null;
-		Object holder = opExtensions.get(newExtension.getOpID());
-		if (holder == null) {
-			temp = new ArrayList();
-			temp.add(newExtension);
-			opExtensions.put(newExtension.getOpID(), temp);
-		} else {
-			temp = (Collection) holder;
-			temp.add(newExtension);
-		}
-	}
-
-	public static HashMap getExtensionPoints() {
-		if(opExtensions == null){
-			opExtensions = new HashMap();
-			OperationExtensionReader opExtensionReader = new OperationExtensionReader();
-			opExtensionReader.readRegistry();
-		}
-		return opExtensions;
-	}
-}
diff --git a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/operations/OperationStatus.java b/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/operations/OperationStatus.java
deleted file mode 100644
index 22bf0f3..0000000
--- a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/operations/OperationStatus.java
+++ /dev/null
@@ -1,80 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.common.frameworks.internal.operations;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.MultiStatus;
-import org.eclipse.wst.common.frameworks.internal.plugin.WTPCommonPlugin;
-
-public class OperationStatus extends MultiStatus {
-
-	public OperationStatus(String message, Throwable e) {
-		super(WTPCommonPlugin.PLUGIN_ID, 0, new IStatus[]{}, message, e);
-	}
-
-	public OperationStatus(IStatus[] children) {
-		this(WTPCommonPlugin.PLUGIN_ID, 0, children, "", null); //$NON-NLS-1$
-	}
-
-	public OperationStatus(String pluginId, int code, IStatus[] children, String message, Throwable exception) {
-		super(pluginId, code, children, message, exception);
-	}
-
-	public void addExtendedStatus(IStatus status) {
-		int oldSeverity = getSeverity();
-		super.add(status);
-		if (oldSeverity != IStatus.ERROR && getSeverity() == IStatus.ERROR) {
-			setSeverity(IStatus.WARNING);
-		}
-	}
-
-	/**
-	 * Overridden to expose as public instead of protected
-	 */
-	@Override
-	public void setCode(int code) {
-		super.setCode(code);
-	}
-
-	/**
-	 * Overridden to expose as public instead of protected
-	 */
-	@Override
-	public void setException(Throwable exception) {
-		super.setException(exception);
-	}
-
-	/**
-	 * Overridden to expose as public instead of protected
-	 */
-	@Override
-	public void setMessage(String message) {
-		super.setMessage(message);
-	}
-
-	/**
-	 * Overridden to expose as public instead of protected
-	 */
-	@Override
-	public void setSeverity(int severity) {
-		super.setSeverity(severity);
-	}
-
-	@Override
-	public void add(IStatus status) {
-		int newSev = status.getSeverity();
-		if (newSev > getSeverity()) {
-			setMessage(status.getMessage());
-			setException(status.getException());
-		}
-		super.add(status);
-	}
-}
diff --git a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/operations/ProjectCreationDataModelProviderNew.java b/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/operations/ProjectCreationDataModelProviderNew.java
deleted file mode 100644
index 8796f68..0000000
--- a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/operations/ProjectCreationDataModelProviderNew.java
+++ /dev/null
@@ -1,219 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.common.frameworks.internal.operations;
-
-import java.io.File;
-import java.util.Set;
-
-import org.eclipse.core.internal.resources.Resource;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IProjectDescription;
-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.wst.common.frameworks.datamodel.AbstractDataModelProvider;
-import org.eclipse.wst.common.frameworks.datamodel.IDataModel;
-import org.eclipse.wst.common.frameworks.datamodel.IDataModelOperation;
-import org.eclipse.wst.common.frameworks.internal.WTPPlugin;
-import org.eclipse.wst.common.frameworks.internal.WTPResourceHandler;
-import org.eclipse.wst.common.frameworks.internal.plugin.WTPCommonMessages;
-import org.eclipse.wst.common.frameworks.internal.plugin.WTPCommonPlugin;
-
-public class ProjectCreationDataModelProviderNew extends AbstractDataModelProvider implements IProjectCreationPropertiesNew {
-
-	@Override
-	public IDataModelOperation getDefaultOperation() {
-		return new ProjectCreationOperationNew(model);
-	}
-
-	@Override
-	public void init() {
-		super.init();
-	}
-
-	@Override
-	public Set getPropertyNames() {
-		Set propertyNames = super.getPropertyNames();
-		propertyNames.add(PROJECT);
-		propertyNames.add(PROJECT_NAME);
-		propertyNames.add(PROJECT_LOCATION);
-		propertyNames.add(USE_DEFAULT_LOCATION);
-		propertyNames.add(DEFAULT_LOCATION);
-		propertyNames.add(USER_DEFINED_LOCATION);
-		propertyNames.add(USER_DEFINED_BASE_LOCATION);
-		propertyNames.add(PROJECT_NATURES);
-		propertyNames.add(PROJECT_DESCRIPTION);
-		return propertyNames;
-	}
-
-	@Override
-	public Object getDefaultProperty(String propertyName) {
-		if (propertyName.equals(PROJECT_LOCATION)) {
-			if (getBooleanProperty(USE_DEFAULT_LOCATION)) {
-				return null;
-			} else if (isPropertySet(USER_DEFINED_BASE_LOCATION)) {
-				return getStringProperty(USER_DEFINED_BASE_LOCATION) + File.separator + getStringProperty(PROJECT_NAME);
-			}
-			return getProperty(USER_DEFINED_LOCATION);
-		} else if (DEFAULT_LOCATION.equals(propertyName)) {
-			return getDefaultLocation();
-		} else if (USE_DEFAULT_LOCATION.equals(propertyName)) {
-			return Boolean.TRUE;
-		} else if (USER_DEFINED_LOCATION.equals(propertyName) || USER_DEFINED_BASE_LOCATION.equals(propertyName)) {
-			return ""; //$NON-NLS-1$
-		} else if (propertyName.equals(PROJECT_DESCRIPTION))
-			return getProjectDescription();
-		return super.getDefaultProperty(propertyName);
-	}
-
-	private String getDefaultLocation() {
-		IPath path = ResourcesPlugin.getWorkspace().getRoot().getLocation();
-		String projectName = (String) getProperty(PROJECT_NAME);
-		if (projectName != null)
-			path = path.append(projectName);
-		return path.toOSString();
-	}
-
-	@Override
-	public boolean propertySet(String propertyName, Object propertyValue) {
-		if (propertyName.equals(PROJECT_LOCATION) || propertyName.equals(DEFAULT_LOCATION) || propertyName.equals(PROJECT_DESCRIPTION)) {
-			throw new RuntimeException();
-		} else if (propertyName.equals(PROJECT_NAME)) {
-			IStatus stat = model.validateProperty(PROJECT_NAME);
-			if (stat != OK_STATUS)
-				return true;
-			model.setProperty(PROJECT, getProject());
-			model.notifyPropertyChange(DEFAULT_LOCATION, IDataModel.VALUE_CHG);
-			if (getBooleanProperty(USE_DEFAULT_LOCATION) || isPropertySet(USER_DEFINED_BASE_LOCATION)) {
-				model.notifyPropertyChange(PROJECT_LOCATION, IDataModel.VALUE_CHG);
-			}
-		} else if (propertyName.equals(USE_DEFAULT_LOCATION)) {
-			model.notifyPropertyChange(PROJECT_LOCATION, IDataModel.VALUE_CHG);
-		} else if ((propertyName.equals(USER_DEFINED_LOCATION) || propertyName.equals(USER_DEFINED_BASE_LOCATION)) && !getBooleanProperty(USE_DEFAULT_LOCATION)) {
-			model.notifyPropertyChange(PROJECT_LOCATION, IDataModel.VALUE_CHG);
-		}
-		return true;
-	}
-
-	private IProjectDescription getProjectDescription() {
-		String projectName = (String) getProperty(PROJECT_NAME);
-		IProjectDescription desc = ResourcesPlugin.getWorkspace().newProjectDescription(projectName);
-		String projectLocation = (String) getProperty(PROJECT_LOCATION);
-		if (projectLocation != null)
-			desc.setLocation(new Path(projectLocation));
-		else
-			desc.setLocation(null);
-		return desc;
-	}
-
-	protected IProject getProject() {
-		String projectName = (String) getProperty(PROJECT_NAME);
-		return (null != projectName && projectName.length() > 0) ? ResourcesPlugin.getWorkspace().getRoot().getProject(projectName) : null;
-	}
-
-	@Override
-	public IStatus validate(String propertyName) {
-		if (propertyName.equals(PROJECT_NAME)) {
-			String name = model.getStringProperty(PROJECT_NAME);
-			IStatus status = validateName(name);
-			if (!status.isOK())
-				return status;
-		}
-		if (propertyName.equals(PROJECT_LOCATION)) {
-			IStatus status = validateLocation();
-			if (!status.isOK())
-				return status;
-		}
-		if (propertyName.equals(PROJECT_LOCATION) || propertyName.equals(PROJECT_NAME)) {
-			String projectName = getStringProperty(PROJECT_NAME);
-
-			String projectLoc = ""; //$NON-NLS-1$
-			if (getBooleanProperty(USE_DEFAULT_LOCATION)) {
-				projectLoc = getDefaultLocation();
-			} else {
-				projectLoc = getStringProperty(PROJECT_LOCATION);
-			}
-			return validateExisting(projectName, projectLoc);
-		}
-		return OK_STATUS;
-	}
-
-	/**
-	 * @param projectName
-	 * @param projectLoc
-	 * @todo Generated comment
-	 */
-	public static IStatus validateExisting(String projectName, String projectLoc) {
-		if (projectName != null && !projectName.equals("")) {//$NON-NLS-1$
-			File file = new File(projectLoc);
-			if (file.exists()) {
-				if (file.isDirectory()) {
-					File dotProject = new File(file, ".project");//$NON-NLS-1$
-					if (dotProject.exists()) {
-						return WTPCommonPlugin.createErrorStatus(WTPCommonPlugin.getResourceString(WTPCommonMessages.PROJECT_EXISTS_AT_LOCATION_ERROR, new Object[]{file.toString()}));
-					}
-				}
-			}
-		}
-		return OK_STATUS;
-	}
-
-	public static IProject getProjectHandleFromProjectName(String projectName) {
-		IWorkspace workspace = ResourcesPlugin.getWorkspace();
-		IStatus status = workspace.validateName(projectName, IResource.PROJECT);
-		return (null != projectName && projectName.length() > 0 && status.isOK()) ? ResourcesPlugin.getWorkspace().getRoot().getProject(projectName) : null;
-	}
-
-	public static IStatus validateProjectName(String projectName) {
-		IWorkspace workspace = ResourcesPlugin.getWorkspace();
-		IStatus status = workspace.validateName(projectName, IResource.PROJECT);
-		if (!status.isOK())
-			return status;
-		if (projectName.endsWith(" ")) //$NON-NLS-1$
-			return WTPCommonPlugin.createErrorStatus(WTPResourceHandler.getString("41")); //$NON-NLS-1$
-		//special FRAGMENT_SEPARATOR char in org.eclipse.emf.common.util.URI
-		if (projectName.indexOf('#') != -1) 
-			return WTPCommonPlugin.createErrorStatus(WTPResourceHandler.getString("8")); //$NON-NLS-1$
-		return OK_STATUS;
-	}
-
-	public static IStatus validateName(String name) {
-		IStatus status = validateProjectName(name);
-		if (!status.isOK())
-			return status;
-		IProject project = ResourcesPlugin.getWorkspace().getRoot().getProject(name);
-		if (project.exists()) {
-			return WTPCommonPlugin.createErrorStatus(WTPCommonPlugin.getResourceString(WTPCommonMessages.PROJECT_EXISTS_SAMENAME_ERROR, new Object[]{name}));
-		}
-		if (!WTPPlugin.isPlatformCaseSensitive()) {
-			// now look for a matching case variant in the tree
-			IResource variant = ((Resource) project).findExistingResourceVariant(project.getFullPath());
-			if (variant != null) {
-				return WTPCommonPlugin.createErrorStatus(WTPResourceHandler.getString("42")); //$NON-NLS-1$
-			}
-		}
-		return OK_STATUS;
-	}
-
-
-	private IStatus validateLocation() {
-		String loc = (String) getProperty(PROJECT_LOCATION);
-		if (null != loc) {
-			IWorkspace workspace = ResourcesPlugin.getWorkspace();
-			IPath path = new Path(loc);
-			return workspace.validateProjectLocation(getProject(), path);
-		}
-		return OK_STATUS;
-	}
-}
diff --git a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/operations/ProjectCreationOperationNew.java b/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/operations/ProjectCreationOperationNew.java
deleted file mode 100644
index a1ba7bb..0000000
--- a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/operations/ProjectCreationOperationNew.java
+++ /dev/null
@@ -1,79 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-/*
- * Created on Oct 27, 2003
- * 
- * To change the template for this generated file go to
- * Window&gt;Preferences&gt;Java&gt;Code Generation&gt;Code and Comments
- */
-package org.eclipse.wst.common.frameworks.internal.operations;
-
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IProjectDescription;
-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.OperationCanceledException;
-import org.eclipse.core.runtime.SubProgressMonitor;
-import org.eclipse.wst.common.frameworks.datamodel.AbstractDataModelOperation;
-import org.eclipse.wst.common.frameworks.datamodel.IDataModel;
-import org.eclipse.wst.common.frameworks.internal.plugin.WTPCommonPlugin;
-
-public class ProjectCreationOperationNew extends AbstractDataModelOperation implements IProjectCreationPropertiesNew {
-
-	public ProjectCreationOperationNew(IDataModel dataModel) {
-		super(dataModel);
-	}
-
-	@Override
-	public IStatus execute(IProgressMonitor monitor, IAdaptable info) throws ExecutionException {
-		try {
-			IProgressMonitor subMonitor = new SubProgressMonitor(monitor, IProgressMonitor.UNKNOWN);
-			IProjectDescription desc = (IProjectDescription) model.getProperty(PROJECT_DESCRIPTION);
-			IProject project = (IProject) model.getProperty(PROJECT);
-			if (!project.exists()) {
-				project.create(desc, subMonitor);
-			}
-			if (monitor.isCanceled())
-				throw new OperationCanceledException();
-			subMonitor = new SubProgressMonitor(monitor, IProgressMonitor.UNKNOWN);
-
-			project.open(subMonitor);
-
-			String[] natureIds = (String[]) model.getProperty(PROJECT_NATURES);
-			if (null != natureIds) {
-				desc = project.getDescription();
-				desc.setNatureIds(natureIds);
-				project.setDescription(desc, monitor);
-			}
-		} catch (CoreException e) {
-			WTPCommonPlugin.logError(e);
-		} finally {
-			monitor.done();
-		}
-		if (monitor.isCanceled())
-			throw new OperationCanceledException();
-		return OK_STATUS;
-	}
-
-	@Override
-	public boolean canUndo() {
-		return false;
-	}
-
-	@Override
-	public boolean canRedo() {
-		return false;
-	}
-
-}
diff --git a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/operations/package.html b/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/operations/package.html
deleted file mode 100644
index 65a58f5..0000000
--- a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/operations/package.html
+++ /dev/null
@@ -1,33 +0,0 @@
-<html>
-<head>
-<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-<link rel="stylesheet" href="../../../../../..//apistyles.css" type="text/css">
-<title>wtp operation api overview</title>
-</head>
-<body>
-<p>The WTP Operation API allows clients to do...everything!</p>
-<table width="500">
-<tr>
-<td>
-<p>Under Construction.</p>
-</td>
-</tr>
-</table>
-<table cellpadding="10" cellspacing="10">
-<tr>
-<td>
-<p>
-<img src="escape_out_to_source_folder level/overview/your_image.jpg"></p>
-</td>
-</tr>
-<tr>
-<td>
-<p>
-<i>Figure 1: Image description</i>
-</p>
-</td>
-</tr>
-</table>
-</body>
-</html>
diff --git a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/operations/package.xml b/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/operations/package.xml
deleted file mode 100644
index 9d050d4..0000000
--- a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/operations/package.xml
+++ /dev/null
@@ -1,18 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?> 
-<html>
-    <head>
-        <meta
-            name="root"
-            content="../../../../../../" />
-        <title>wtp operation api overview</title>
-    </head>
-
-    <body>  
-        <abstract>The WTP Operation API allows clients to do...everything!</abstract>
-
-		<!-- formatting handled by XSLT Transformation -->
-		<p>Under Construction.</p>
-		<img src="escape_out_to_source_folder level/overview/your_image.jpg" caption ="Image description" />
-    </body>
-</html>    
-    
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/plugin/WTPCommonMessages.java b/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/plugin/WTPCommonMessages.java
deleted file mode 100644
index 25bf558..0000000
--- a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/plugin/WTPCommonMessages.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2012 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-/*
- * Created on Nov 5, 2003
- *
- * To change the template for this generated file go to
- * Window>Preferences>Java>Code Generation>Code and Comments
- */
-package org.eclipse.wst.common.frameworks.internal.plugin;
-
-/**
- * @author DABERG
- * 
- * To change the template for this generated type comment go to Window>Preferences>Java>Code
- * Generation>Code and Comments
- */
-public class WTPCommonMessages {
-	public static final String PROJECT_EXISTS_ERROR = "1"; //$NON-NLS-1$
-	public static final String PROJECT_NOT_EAR = "2"; //$NON-NLS-1$
-	public static final String INCOMPATABLE_J2EE_VERSIONS = "3"; //$NON-NLS-1$
-	public static final String SAME_MODULE_AND_EAR_NAME = "4"; //$NON-NLS-1$
-	public static final String ARCHIVE_FILE_NAME_EMPTY_ERROR = "5"; //$NON-NLS-1$
-	public static final String FILE_DOES_NOT_EXIST_ERROR = "6"; //$NON-NLS-1$
-	public static final String INTERNAL_ERROR = "7"; //$NON-NLS-1$
-	public static final String PROJECT_NAME_INVALID = "8"; //$NON-NLS-1$
-	public static final String DESTINATION_ARCHIVE_SHOULD_END_WITH = "9"; //$NON-NLS-1$
-	public static final String DESTINATION_INVALID = "10"; //$NON-NLS-1$
-	public static final String IS_READ_ONLY = "11"; //$NON-NLS-1$
-	public static final String RESOURCE_EXISTS_ERROR = "12"; //$NON-NLS-1$
-	public static final String PROJECT_NOT_EXISTS_ERROR = "13"; //$NON-NLS-1$
-	public static final String SPEC_LEVEL_NOT_FOUND = "14"; //$NON-NLS-1$
-	public static final String PROJECT_NAME_EMPTY = "15"; //$NON-NLS-1$
-	public static final String PROJECT_ClOSED = "31"; //$NON-NLS-1$
-	public static final String PROJECT_EXISTS_AT_LOCATION_ERROR = "32"; //$NON-NLS-1$
-	public static final String ERR_EMPTY_MODULE_NAME = "34"; //$NON-NLS-1$
-	public static final String ERR_INVALID_CHARS = "35"; //$NON-NLS-1$ 
-	public static final String DUPLICATE_COMPONENT_NAME="36";//$NON-NLS-1$ 
-	public static final String MODULE_NOT_SUPPORTED="37";//$NON-NLS-1$ 
-    
-    public static final String MODULE_EXISTS_ERROR = "38"; //$NON-NLS-1$
-	public static final String SOURCEFOLDER_EMPTY = "39"; //$NON-NLS-1$
-	public static final String WEBCONTENTFOLDER_EMPTY = "40"; //$NON-NLS-1$
-	public static final String PROJECT_EXISTS_SAMENAME_ERROR = "43"; //$NON-NLS-1$
-	public static final String RUNTIME_NONE = "44"; //$NON-NLS-1$
-	public static final String EAR_WILL_BE_CREATED = "45"; //$NON-NLS-1$
-	public static final String SAME_MODULE_AND_EAR_NAME_DIFFERENT_CASE = "46"; //$NON-NLS-1$
-	public static final String EAR_NAME_USED_BY_NON_EAR_PROJECT = "47"; //$NON-NLS-1$
-}
diff --git a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/plugin/WTPCommonPlugin.java b/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/plugin/WTPCommonPlugin.java
deleted file mode 100644
index e3fc87d..0000000
--- a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/plugin/WTPCommonPlugin.java
+++ /dev/null
@@ -1,156 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.common.frameworks.internal.plugin;
-
-import java.text.MessageFormat;
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-import org.eclipse.core.resources.IWorkspace;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.wst.common.frameworks.internal.WTPPlugin;
-import org.eclipse.core.runtime.Platform;
-import java.lang.Throwable;
-import org.eclipse.core.runtime.CoreException;
-
-public class WTPCommonPlugin extends WTPPlugin {
-
-	public static final String PLUGIN_ID = "org.eclipse.wst.common.frameworks"; //$NON-NLS-1$
-	public static final String GROUP_REGISTRY_EXTENSION_POINT = "functionGroup"; //$NON-NLS-1$
-	public static final IStatus OK_STATUS = new Status(IStatus.OK, PLUGIN_ID, 0, "OK", null); //$NON-NLS-1$
-
-	//	The shared instance.
-	private static WTPCommonPlugin plugin;
-
-	public WTPCommonPlugin() {
-		super();
-		plugin = this;
-		try {
-			resourceBundle = ResourceBundle.getBundle("wtp_common"); //$NON-NLS-1$
-		} catch (MissingResourceException x) {
-			resourceBundle = null;
-		}
-	}
-
-	public static WTPCommonPlugin getDefault() {
-		return plugin;
-	}
-
-	public static IWorkspace getWorkspace() {
-		return ResourcesPlugin.getWorkspace();
-	}
-
-	/**
-	 * @param string
-	 * @return
-	 */
-	public static IStatus createErrorStatus(String message) {
-		return createErrorStatus(message, null);
-	}
-
-	/**
-	 * @param string
-	 * @return
-	 */
-	public static IStatus createWarningStatus(String message) {
-		return createWarningStatus(message, null);
-	}
-	
-	/**
-	 * @param string
-	 * @return
-	 */
-	public static IStatus createCancelStatus(String message) {
-		return createCancelStatus(message, null);
-	}	
-
-	/**
-	 * @param string
-	 * @return
-	 */
-	public static IStatus createWarningStatus(String message, Throwable exception) {
-		return new Status(IStatus.WARNING, PLUGIN_ID, -1, message, exception);
-	}
-
-	/**
-	 * @param string
-	 * @return
-	 */
-	public static IStatus createErrorStatus(String message, Throwable exception) {
-		return new Status(IStatus.ERROR, PLUGIN_ID, -1, message, exception);
-	}
-	
-	/**
-	 * @param string
-	 * @return
-	 */
-	public static IStatus createCancelStatus(String message, Throwable exception) {
-		return new Status(IStatus.CANCEL, PLUGIN_ID, -1, message, exception);
-	}	
-
-	/**
-	 * Returns the string from the plugin's resource bundle, or 'key' if not found.
-	 */
-	public static String getResourceString(String key) {
-		ResourceBundle bundle = WTPCommonPlugin.getDefault().getResourceBundle();
-		try {
-			return (bundle != null ? bundle.getString(key) : key);
-		} catch (MissingResourceException e) {
-			return "!" + key + "!"; //$NON-NLS-1$ //$NON-NLS-2$
-		}
-	}
-
-	public static String getResourceString(String key, Object[] args) {
-		String pattern = getResourceString(key);
-		if (pattern != null)
-			return MessageFormat.format(pattern, args);
-		return null;
-	}
-
-	/**
-	 * Returns the plugin's resource bundle,
-	 */
-	public ResourceBundle getResourceBundle() {
-		return resourceBundle;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.common.frameworks.internal.WTPPlugin#getPluginID()
-	 */
-	@Override
-	public String getPluginID() {
-		return PLUGIN_ID;
-	}
-
-	public static IStatus createStatus(int severity, String message, Throwable exception) {
-		return new Status(severity, PLUGIN_ID, message, exception);
-	}
-
-	public static IStatus createStatus(int severity, String message) {
-		return createStatus(severity, message, null);
-	}
-
-	public static void logError(Throwable exception) {
-		Platform.getLog(Platform.getBundle(PLUGIN_ID)).log( createStatus(IStatus.ERROR, exception.getMessage(), exception));
-	}
-
-	public static void logError(CoreException exception) {
-		Platform.getLog(Platform.getBundle(PLUGIN_ID)).log( exception.getStatus() );
-	}
-
-	public static void logError(String message) {
-		Platform.getLog(Platform.getBundle(PLUGIN_ID)).log( createStatus(IStatus.ERROR, message));
-	}
-}
diff --git a/plugins/org.eclipse.wst.common.frameworks/src/wtp_common.properties b/plugins/org.eclipse.wst.common.frameworks/src/wtp_common.properties
deleted file mode 100644
index f8e9abb..0000000
--- a/plugins/org.eclipse.wst.common.frameworks/src/wtp_common.properties
+++ /dev/null
@@ -1,57 +0,0 @@
-###############################################################################
-# Copyright (c) 2003, 2012 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-# IBM Corporation - initial API and implementation
-###############################################################################
-1=A project already exists with this name and location.
-2=The specified EAR project "{0}" is not an EAR project.
-3=The EAR project "{0}" has a J2EEVersion of {1} which is not compatible with the specified module version.
-4=The EAR project name, "{0}", can not be the same as the project name.
-5={0} file name must be entered.
-6=The {0} does not exist.
-7=An internal error occurred.  View log files for details.
-8=Project name is invalid.
-9=Destination archive should end with {0}.
-10=Destination archive is invalid.
-11=Destination location is read only.
-12=Resource {0} already exists. If you wish to overwrite select the "Overwrite Existing file" option.
-13=Project {0} does not exist.
-14=The selected version is not supported by the server.
-15=Enter a project name.
-16=Save problems
-17=Save could not be completed.  Some related files may have already been saved.\n\nReason
-18={0} has been locked. Please ensure the operation is not currently executing.
-19=The extendedRoot is null. Make sure that isExtended() returns true.
-20=Property not located:
-21=Nested model not located:
-22=Cannot modify id once it has been set.
-23=The id cannot be null.
-24=ERROR:
-25=Extended Operation failure: {0}
-26=The Job completed successfully
-27=Exception occurred running job.
-28=Group cannot be resolved:
-29=Class not found for attribute {0} : {1}, Declaring plugin extension: {2}
-30=Function group {0} contains no pattern bindings
-31=Project {0} is closed.
-32=A project already exists on the file system at this location: {0}.  Either use "Import Existing Projects into Workspace" to create a project at this location or delete the contents of {0} from the file system.
-33=A model instance may only be nested once under another model instance.
-34=Module name cannot be empty.
-35=Invalid characters.
-36=The module with this name already exists.
-37=The module is not supported by this server.
-38=Module name is invalid.
-39=Enter Source Folder
-40=Enter Web content Folder
-41=Project names cannot end with white space.
-42=Resource already exists with a different case.
-43=A project already exists with this name.
-44=<None>
-45=EAR project {0} does not exist. It will be created.
-46=The EAR project name, "{0}", can not be the same as the project name with a different case.
-47=EAR project name already in use by non-EAR project.
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.modulecore.ui/.classpath b/plugins/org.eclipse.wst.common.modulecore.ui/.classpath
deleted file mode 100644
index 64c5e31..0000000
--- a/plugins/org.eclipse.wst.common.modulecore.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.wst.common.modulecore.ui/.project b/plugins/org.eclipse.wst.common.modulecore.ui/.project
deleted file mode 100644
index 4977ea7..0000000
--- a/plugins/org.eclipse.wst.common.modulecore.ui/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.wst.common.modulecore.ui</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-	</natures>
-</projectDescription>
diff --git a/plugins/org.eclipse.wst.common.modulecore.ui/.settings/org.eclipse.jdt.core.prefs b/plugins/org.eclipse.wst.common.modulecore.ui/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 44d82f6..0000000
--- a/plugins/org.eclipse.wst.common.modulecore.ui/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,74 +0,0 @@
-#Fri Sep 11 17:13:08 PDT 2009
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.5
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=ignore
-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=ignore
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=error
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=error
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=error
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=error
-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=error
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning
-org.eclipse.jdt.core.compiler.problem.nullReference=ignore
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=error
-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=ignore
-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=error
-org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=error
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=ignore
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
-org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=ignore
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=ignore
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=error
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore
-org.eclipse.jdt.core.compiler.problem.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=error
-org.eclipse.jdt.core.compiler.problem.unusedLocal=ignore
-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=error
-org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=ignore
-org.eclipse.jdt.core.compiler.source=1.5
diff --git a/plugins/org.eclipse.wst.common.modulecore.ui/META-INF/MANIFEST.MF b/plugins/org.eclipse.wst.common.modulecore.ui/META-INF/MANIFEST.MF
deleted file mode 100644
index 8354dbe..0000000
--- a/plugins/org.eclipse.wst.common.modulecore.ui/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,28 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %Bundle-Name.0
-Bundle-Vendor: %provider
-Bundle-SymbolicName: org.eclipse.wst.common.modulecore.ui; singleton:=true
-Bundle-Version: 1.0.6.qualifier
-Bundle-Localization: plugin
-Bundle-Activator: org.eclipse.wst.common.componentcore.ui.ModuleCoreUIPlugin
-Require-Bundle: org.eclipse.ui;bundle-version="[3.5.0,4.0.0)",
- org.eclipse.core.runtime;bundle-version="[3.5.0,4.0.0)",
- org.eclipse.core.resources;bundle-version="[3.5.0,4.0.0)",
- org.eclipse.wst.common.modulecore;bundle-version="[1.2.7,2.0.0)",
- org.eclipse.wst.common.frameworks;bundle-version="[1.1.300,2.0.0)",
- org.eclipse.wst.common.project.facet.core;bundle-version="[1.4.0,2.0.0)",
- org.eclipse.jem.util;bundle-version="[2.0.200,3.0.0)",
- org.eclipse.emf.ecore;bundle-version="[2.5.0,3.0.0)",
- org.eclipse.ui.ide;bundle-version="[3.5.0,4.0.0)",
- org.eclipse.wst.common.emfworkbench.integration;bundle-version="[1.2.0,2.0.0)",
- org.eclipse.wst.server.core;bundle-version="[1.1.202,2.0.0)",
- org.eclipse.core.expressions;bundle-version="[3.4.200,4.0.0)"
-Bundle-ActivationPolicy: lazy
-Bundle-RequiredExecutionEnvironment: J2SE-1.5
-Export-Package: org.eclipse.wst.common.componentcore.internal.impl;x-internal:=true,
- org.eclipse.wst.common.componentcore.ui;x-internal:=true,
- org.eclipse.wst.common.componentcore.ui.internal.propertypage;x-internal:=true,
- org.eclipse.wst.common.componentcore.ui.internal.propertypage.verifier;x-internal:=true,
- org.eclipse.wst.common.componentcore.ui.internal.taskwizard;x-internal:=true,
- org.eclipse.wst.common.componentcore.ui.propertypage;x-internal:=true
diff --git a/plugins/org.eclipse.wst.common.modulecore.ui/about.html b/plugins/org.eclipse.wst.common.modulecore.ui/about.html
deleted file mode 100644
index b6ed5b0..0000000
--- a/plugins/org.eclipse.wst.common.modulecore.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>August, 2009</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.modulecore.ui/build.properties b/plugins/org.eclipse.wst.common.modulecore.ui/build.properties
deleted file mode 100644
index ef0787e..0000000
--- a/plugins/org.eclipse.wst.common.modulecore.ui/build.properties
+++ /dev/null
@@ -1,19 +0,0 @@
-###############################################################################
-# Copyright (c) 2009 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-# IBM Corporation - initial API and implementation
-###############################################################################
-source.. = src/
-output.. = bin/
-bin.includes = plugin.xml,\
-               .,\
-               icons/,\
-               META-INF/,\
-               about.html,\
-               plugin.properties
-src.includes = schema/
diff --git a/plugins/org.eclipse.wst.common.modulecore.ui/icons/assembly-banner.png b/plugins/org.eclipse.wst.common.modulecore.ui/icons/assembly-banner.png
deleted file mode 100644
index 6628af8..0000000
--- a/plugins/org.eclipse.wst.common.modulecore.ui/icons/assembly-banner.png
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.common.modulecore.ui/icons/folder.gif b/plugins/org.eclipse.wst.common.modulecore.ui/icons/folder.gif
deleted file mode 100644
index c91b267..0000000
--- a/plugins/org.eclipse.wst.common.modulecore.ui/icons/folder.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.common.modulecore.ui/icons/jar_obj.gif b/plugins/org.eclipse.wst.common.modulecore.ui/icons/jar_obj.gif
deleted file mode 100644
index ec315d5..0000000
--- a/plugins/org.eclipse.wst.common.modulecore.ui/icons/jar_obj.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.common.modulecore.ui/icons/prj_obj.gif b/plugins/org.eclipse.wst.common.modulecore.ui/icons/prj_obj.gif
deleted file mode 100644
index a4ea580..0000000
--- a/plugins/org.eclipse.wst.common.modulecore.ui/icons/prj_obj.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.common.modulecore.ui/plugin.properties b/plugins/org.eclipse.wst.common.modulecore.ui/plugin.properties
deleted file mode 100644
index a963071..0000000
--- a/plugins/org.eclipse.wst.common.modulecore.ui/plugin.properties
+++ /dev/null
@@ -1,15 +0,0 @@
-###############################################################################
-# Copyright (c) 2009 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-# IBM Corporation - initial API and implementation
-###############################################################################
-provider=Eclipse.org
-Bundle-Name.0 = Modulecore UI Plug-in
-Module_assembly.name = Deployment Assembly
-Project=Project
-Folder_Mapping=Folder
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.modulecore.ui/plugin.xml b/plugins/org.eclipse.wst.common.modulecore.ui/plugin.xml
deleted file mode 100644
index 21c635e..0000000
--- a/plugins/org.eclipse.wst.common.modulecore.ui/plugin.xml
+++ /dev/null
@@ -1,51 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin>
-   <extension-point id="moduleDependencyPropertyPage" name="moduleDependencyPropertyPage" schema="schema/moduleDependencyPropertyPage.exsd"/>
-   <extension-point id="referenceWizardFragment" name="referenceWizardFragment" schema="schema/referenceWizardFragment.exsd"/>
-   <extension-point id="virtualComponentLabelProvider" name="virtualComponentLabelProvider" schema="schema/virtualComponentLabelProvider.exsd"/>
-   <extension-point id="deploymentAssemblyVerifier" name="Deployment Assembly Verifier" schema="schema/deploymentAssemblyVerifier.exsd"/>
-   <extension-point id="resourceMappingFilter" name="resourceMappingFilter" schema="schema/resourceMappingFilter.exsd"/>
-   <!-- =========== DeploymentAssemblyPage ============ -->
-   <extension
-   		point="org.eclipse.ui.propertyPages">
- 	<page
-      		name="%Module_assembly.name"
-            class="org.eclipse.wst.common.componentcore.ui.propertypage.ModuleAssemblyRootPage"
-            id="org.eclipse.wst.common.componentcore.ui.DeploymentAssemblyPage">
-           <enabledWhen>
-				<adapt
-					type="org.eclipse.core.resources.IProject">
-					<test
-						property="org.eclipse.core.resources.projectNature"
-          				value="org.eclipse.wst.common.modulecore.ModuleCoreNature"/>
-				</adapt>
-         </enabledWhen>          
-      </page>
-      </extension>
-
-
-    <extension
-          point="org.eclipse.wst.common.modulecore.ui.referenceWizardFragment">
-       <referenceFragment
-             class="org.eclipse.wst.common.componentcore.ui.internal.propertypage.ProjectReferenceWizardFragment"
-             icon="icons/prj_obj.gif"
-             id="org.eclipse.wst.common.componentcore.ui.newProjectReference"
-             name="%Project">
-       </referenceFragment>
-       <referenceFragment
-             class="org.eclipse.wst.common.componentcore.ui.internal.propertypage.FolderMappingWizardFragment"
-             icon="icons/folder.gif"
-             id="org.eclipse.wst.common.componentcore.ui.resourceMappingReference"
-             name="%Folder_Mapping">
-       </referenceFragment>
-    </extension>
-    
-    <extension
-        point="org.eclipse.wst.common.modulecore.ui.resourceMappingFilter">
-        <resourceMapping 
-              source-path="\.settings">            
-        </resourceMapping>
-    </extension>
-    
-</plugin>
diff --git a/plugins/org.eclipse.wst.common.modulecore.ui/schema/deploymentAssemblyVerifier.exsd b/plugins/org.eclipse.wst.common.modulecore.ui/schema/deploymentAssemblyVerifier.exsd
deleted file mode 100644
index 36e2203..0000000
--- a/plugins/org.eclipse.wst.common.modulecore.ui/schema/deploymentAssemblyVerifier.exsd
+++ /dev/null
@@ -1,115 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.wst.common.modulecore.ui" xmlns="http://www.w3.org/2001/XMLSchema">
-<annotation>
-      <appInfo>
-         <meta.schema plugin="org.eclipse.wst.common.modulecore.ui" id="DeploymentAssemblyVerifier" name="Deployment Assembly Verifier"/>
-      </appInfo>
-      <documentation>
-         The extension point gives the ability to extend deployment assembly validation during the creation of resource and dependency mappings. Registration of the verifier is based on component type and server target.
-      </documentation>
-   </annotation>
-
-   <element name="extension">
-      <annotation>
-         <appInfo>
-            <meta.element />
-         </appInfo>
-      </annotation>
-      <complexType>
-         <sequence>
-            <element ref="verifier"/>
-         </sequence>
-         <attribute name="point" type="string" use="required">
-            <annotation>
-               <documentation>
-                  a fully qualified identifier of the target extension point
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="id" type="string">
-            <annotation>
-               <documentation>
-                  an optional identifier of the extension instance
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="name" type="string">
-            <annotation>
-               <documentation>
-                  an optional name of the extension instance
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="verifier">
-      <complexType>
-         <sequence>
-            <element ref="runtime" minOccurs="1" maxOccurs="unbounded"/>
-            <element ref="component"/>
-         </sequence>
-         <attribute name="class" type="string" use="required">
-            <annotation>
-               <documentation>
-                  the qualified name of the class to be used as the verifier
-               </documentation>
-               <appInfo>
-                  <meta.attribute kind="java" basedOn="AbstractDeploymentAssemblyVerifier:"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="runtime">
-      <complexType>
-         <attribute name="runtime_server_id" type="string" use="required">
-            <annotation>
-               <documentation>
-                  the runtime server id for this verifier
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="component">
-      <complexType>
-         <attribute name="component_type" type="string" use="required">
-            <annotation>
-               <documentation>
-                  the supported component type for this verifier(uses facet id)
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="since"/>
-      </appInfo>
-      <documentation>
-         &lt;b&gt;This extension point is part of an interim API that is still under development and expected to change significantly before reaching stability. It is being made available at this early stage to solicit feedback from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken (repeatedly) as the API evolves.&lt;/b&gt;
-      </documentation>
-   </annotation>
-
-
-
-
-   <annotation>
-      <appInfo>
-         <meta.section type="copyright"/>
-      </appInfo>
-      <documentation>
-         Copyright (c) 2010 IBM Corporation and others.&lt;br&gt;
-All rights reserved. This program and the accompanying materials are made 
-available under the terms of the Eclipse Public License v1.0 which accompanies 
-this distribution, and is available at &lt;a
-href=&quot;http://www.eclipse.org/legal/epl-v10.html&quot;&gt;http://www.eclipse.org/legal/epl-v10.html&lt;/a&gt;
-      </documentation>
-   </annotation>
-
-</schema>
diff --git a/plugins/org.eclipse.wst.common.modulecore.ui/schema/moduleDependencyPropertyPage.exsd b/plugins/org.eclipse.wst.common.modulecore.ui/schema/moduleDependencyPropertyPage.exsd
deleted file mode 100644
index df32f3e..0000000
--- a/plugins/org.eclipse.wst.common.modulecore.ui/schema/moduleDependencyPropertyPage.exsd
+++ /dev/null
@@ -1,123 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.wst.common.componentcore.ui" xmlns="http://www.w3.org/2001/XMLSchema">
-<annotation>
-      <appinfo>
-         <meta.schema plugin="org.eclipse.wst.common.componentcore.ui" id="moduleDependencyPropertyPage" name="moduleDependencyPropertyPage"/>
-      </appinfo>
-      <documentation>
-         [Enter description of this extension point.]
-      </documentation>
-   </annotation>
-
-   <element name="extension">
-      <annotation>
-         <appinfo>
-            <meta.element />
-         </appinfo>
-      </annotation>
-      <complexType>
-         <sequence minOccurs="1" maxOccurs="unbounded">
-            <element ref="dependencyPage"/>
-         </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>
-         <attribute name="weight" type="string">
-            <annotation>
-               <documentation>
-                  Default weight is 100. Make higher is wanting to override
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="dependencyPage">
-      <complexType>
-         <attribute name="id" type="string" use="required">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="class" type="string" use="required">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-               <appinfo>
-                  <meta.attribute kind="java" basedOn=":org.eclipse.wst.common.componentcore.ui.propertypage.IDependencyPageProvider"/>
-               </appinfo>
-            </annotation>
-         </attribute>
-         <attribute name="weight" type="string">
-            <annotation>
-               <documentation>
-                  Default weight is 100. Make higher is wanting to override
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <annotation>
-      <appinfo>
-         <meta.section type="since"/>
-      </appinfo>
-      <documentation>
-         [Enter the first release in which this extension point appears.]
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appinfo>
-         <meta.section type="examples"/>
-      </appinfo>
-      <documentation>
-         [Enter extension point usage example here.]
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appinfo>
-         <meta.section type="apiinfo"/>
-      </appinfo>
-      <documentation>
-         [Enter API information here.]
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appinfo>
-         <meta.section type="implementation"/>
-      </appinfo>
-      <documentation>
-         [Enter information about supplied implementation of this extension point.]
-      </documentation>
-   </annotation>
-
-
-</schema>
diff --git a/plugins/org.eclipse.wst.common.modulecore.ui/schema/referenceWizardFragment.exsd b/plugins/org.eclipse.wst.common.modulecore.ui/schema/referenceWizardFragment.exsd
deleted file mode 100644
index e320384..0000000
--- a/plugins/org.eclipse.wst.common.modulecore.ui/schema/referenceWizardFragment.exsd
+++ /dev/null
@@ -1,138 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.wst.common.componentcore.ui" xmlns="http://www.w3.org/2001/XMLSchema">
-<annotation>
-      <appinfo>
-         <meta.schema plugin="org.eclipse.wst.common.componentcore.ui" id="referenceWizardFragment" name="referenceWizardFragment"/>
-      </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 internal="true" />
-         </appinfo>
-      </annotation>
-      <complexType>
-         <sequence minOccurs="1" maxOccurs="unbounded">
-            <element ref="referenceFragment"/>
-         </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="referenceFragment">
-      <complexType>
-         <sequence minOccurs="1" maxOccurs="unbounded">
-            <element ref="enablement" minOccurs="0" maxOccurs="1"/>
-         </sequence>
-         <attribute name="id" type="string" use="required">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="name" type="string" use="required">
-            <annotation>
-               <documentation>
-                  The name will be displayed in the UI, inside the viewer
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="icon" type="string">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-               <appinfo>
-                  <meta.attribute kind="resource"/>
-               </appinfo>
-            </annotation>
-         </attribute>
-         <attribute name="class" type="string" use="required">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-               <appinfo>
-                  <meta.attribute kind="java" basedOn="org.eclipse.wst.common.componentcore.ui.internal.taskwizard.WizardFragment:"/>
-               </appinfo>
-            </annotation>
-         </attribute>
-         <attribute name="hidden" type="boolean">
-            <annotation>
-               <documentation>
-                  True if this reference type should be hidden and NOT exposed as a possible reference for all virtual components, false if it will be hidden and added manually to relevant components&apos; reference wizards.
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <annotation>
-      <appinfo>
-         <meta.section type="since"/>
-      </appinfo>
-      <documentation>
-         [Enter the first release in which this extension point appears.]
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appinfo>
-         <meta.section type="examples"/>
-      </appinfo>
-      <documentation>
-         [Enter extension point usage example here.]
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appinfo>
-         <meta.section type="apiinfo"/>
-      </appinfo>
-      <documentation>
-         [Enter API information here.]
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appinfo>
-         <meta.section type="implementation"/>
-      </appinfo>
-      <documentation>
-         [Enter information about supplied implementation of this extension point.]
-      </documentation>
-   </annotation>
-
-
-</schema>
diff --git a/plugins/org.eclipse.wst.common.modulecore.ui/schema/resourceMappingFilter.exsd b/plugins/org.eclipse.wst.common.modulecore.ui/schema/resourceMappingFilter.exsd
deleted file mode 100644
index 38b775a..0000000
--- a/plugins/org.eclipse.wst.common.modulecore.ui/schema/resourceMappingFilter.exsd
+++ /dev/null
@@ -1,97 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.wst.common.componentcore.ui" xmlns="http://www.w3.org/2001/XMLSchema">
-<annotation>
-      <appinfo>
-         <meta.schema plugin="org.eclipse.wst.common.componentcore.ui" id="resourceMappingFilter" name="resourceMappingFilter"/>
-      </appinfo>
-      <documentation>
-         This extension point is to be used to specify any folder that should not be displayed or allowed to be added as resource mapping using the &apos;Deployment Assembly&apos; properties page
-      </documentation>
-   </annotation>
-
-   <element name="extension">
-      <annotation>
-         <appinfo>
-            <meta.element internal="true" />
-         </appinfo>
-      </annotation>
-      <complexType>
-         <sequence minOccurs="1" maxOccurs="unbounded">
-            <element ref="resourceMapping" minOccurs="1" maxOccurs="unbounded"/>
-         </sequence>
-         <attribute name="point" type="string" use="required">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="id" type="string">
-            <annotation>
-               <documentation>
-                  an optional identifier of the extension instance
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="name" type="string">
-            <annotation>
-               <documentation>
-                  an optional name of the extension instance
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="resourceMapping">
-      <complexType>
-         <attribute name="source-path" type="string" use="required">
-            <annotation>
-               <documentation>
-                  Project relative source path that should be filtered out represented as regular expression. (i.e. source-path=&quot;\.settings&quot; would filter out the &apos;.settings&apos; folder and its contents; Since it expects a relative path filtering source-path=&quot;/\.settings&quot; would not filter out the &apos;.settings&apos; folder)
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <annotation>
-      <appinfo>
-         <meta.section type="since"/>
-      </appinfo>
-      <documentation>
-         WTP 3.2.2
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appinfo>
-         <meta.section type="examples"/>
-      </appinfo>
-      <documentation>
-         &lt;extension 
- point=&quot;org.eclipse.wst.common.modulecore.ui.resourceMappingFilter&quot;&gt;
-  &lt;resourceMapping
-   source-path=&quot;\.settings&quot;&gt;
-  &lt;/resourceMapping&gt;
-&lt;/extension&gt;
-      </documentation>
-   </annotation>
-
-
-
-   <annotation>
-      <appinfo>
-         <meta.section type="copyright"/>
-      </appinfo>
-      <documentation>
-         Copyright (c) 2010 IBM Corporation and others.&lt;br&gt;
-All rights reserved. This program and the accompanying materials are made 
-available under the terms of the Eclipse Public License v1.0 which accompanies 
-this distribution, and is available at &lt;a
-href=&quot;http://www.eclipse.org/legal/epl-v10.html&quot;&gt;http://www.eclipse.org/legal/epl-v10.html&lt;/a&gt;
-      </documentation>
-   </annotation>
-
-</schema>
diff --git a/plugins/org.eclipse.wst.common.modulecore.ui/schema/virtualComponentLabelProvider.exsd b/plugins/org.eclipse.wst.common.modulecore.ui/schema/virtualComponentLabelProvider.exsd
deleted file mode 100644
index 07d87a8..0000000
--- a/plugins/org.eclipse.wst.common.modulecore.ui/schema/virtualComponentLabelProvider.exsd
+++ /dev/null
@@ -1,109 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.wst.common.modulecore.ui" xmlns="http://www.w3.org/2001/XMLSchema">
-<annotation>
-      <appInfo>
-         <meta.schema plugin="org.eclipse.wst.common.modulecore.ui" id="virtualComponentLabelProvider" name="virtualComponentLabelProvider"/>
-      </appInfo>
-      <documentation>
-         [Enter description of this extension point.]
-      </documentation>
-   </annotation>
-
-   <element name="extension">
-      <annotation>
-         <appInfo>
-            <meta.element />
-         </appInfo>
-      </annotation>
-      <complexType>
-         <sequence minOccurs="1" maxOccurs="unbounded">
-            <element ref="provider"/>
-         </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">
-      <complexType>
-         <attribute name="class" type="string" use="required">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-               <appInfo>
-                  <meta.attribute kind="java" basedOn=":org.eclipse.wst.common.componentcore.ui.internal.propertypage.IVirtualComponentLabelProvider"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-         <attribute name="weight" type="string">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="since"/>
-      </appInfo>
-      <documentation>
-         [Enter the first release in which this extension point appears.]
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="examples"/>
-      </appInfo>
-      <documentation>
-         [Enter extension point usage example here.]
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="apiinfo"/>
-      </appInfo>
-      <documentation>
-         [Enter API information here.]
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="implementation"/>
-      </appInfo>
-      <documentation>
-         [Enter information about supplied implementation of this extension point.]
-      </documentation>
-   </annotation>
-
-
-</schema>
diff --git a/plugins/org.eclipse.wst.common.modulecore.ui/src/org/eclipse/wst/common/componentcore/internal/impl/TaskModel.java b/plugins/org.eclipse.wst.common.modulecore.ui/src/org/eclipse/wst/common/componentcore/internal/impl/TaskModel.java
deleted file mode 100644
index de61006..0000000
--- a/plugins/org.eclipse.wst.common.modulecore.ui/src/org/eclipse/wst/common/componentcore/internal/impl/TaskModel.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.common.componentcore.internal.impl;
-
-import java.util.HashMap;
-import java.util.Map;
-/**
- * A task model represents a model that can be shared between multiple
- * tasks in a common workflow.
- * <p>
- * The task model contains information about the overall task flow and allows
- * tasks to store and retrieve data. Its usage allows multiple tasks to be
- * chained together and share data from the output of one task to the input
- * of another.
- * </p>
- * 
- * @since 1.0
- */
-public class TaskModel {
-
-	private Map<String, Object> map = new HashMap<String, Object>();
-
-	/**
-	 * Returns the object in the task model with the given id.
-	 * <p>
-	 * The id can be any of the predefined ids within TaskModel, or
-	 * any other key to retrieve task-specific data.
-	 * </p>
-	 * 
-	 * @param id an id for the object
-	 * @return the object with the given id, or <code>null</code>
-	 *    if no object could be found with that id
-	 */
-	public Object getObject(String id) {
-		try {
-			return map.get(id);
-		} catch (Exception e) {
-			return null;
-		}
-	}
-
-	/**
-	 * Put an object into the task model with the given id.
-	 * <p>
-	 * The id can be any of the predefined ids within TaskModel, or
-	 * any other key to store task-specific data. 
-	 * </p>
-	 * 
-	 * @param id the id to associate the object with
-	 * @param obj an object, or <code>null</code> to reset (clear) the id
-	 */
-	public void putObject(String id, Object obj) {
-		map.put(id, obj);
-	}
-}
diff --git a/plugins/org.eclipse.wst.common.modulecore.ui/src/org/eclipse/wst/common/componentcore/ui/IModuleCoreUIContextIds.java b/plugins/org.eclipse.wst.common.modulecore.ui/src/org/eclipse/wst/common/componentcore/ui/IModuleCoreUIContextIds.java
deleted file mode 100644
index f526c66..0000000
--- a/plugins/org.eclipse.wst.common.modulecore.ui/src/org/eclipse/wst/common/componentcore/ui/IModuleCoreUIContextIds.java
+++ /dev/null
@@ -1,22 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2010 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.common.componentcore.ui;
-
-/**
- * @author: Aidyl Kareh
- */
-public interface IModuleCoreUIContextIds {
-	//	 New references wizards
-	public static final String DEPLOYMENT_ASSEMBLY_PREFERENCE_PAGE_ADD_NEW_REFERENCE_P1 = ModuleCoreUIPlugin.PLUGIN_ID + ".DEPLOYMENT_ASSEMBLY_PREFERENCE_PAGE_ADD_NEW_REFERENCE_P1"; //$NON-NLS-1$
-	public static final String DEPLOYMENT_ASSEMBLY_PREFERENCE_PAGE_ADD_NEW_PROJECT_REFERENCE_P1 = ModuleCoreUIPlugin.PLUGIN_ID + ".DEPLOYMENT_ASSEMBLY_PREFERENCE_PAGE_ADD_NEW_PROJECT_REFERENCE_P1"; //$NON-NLS-1$
-	public static final String DEPLOYMENT_ASSEMBLY_PREFERENCE_PAGE_ADD_NEW_FOLDER_MAPPING_P1 = ModuleCoreUIPlugin.PLUGIN_ID + ".DEPLOYMENT_ASSEMBLY_PREFERENCE_PAGE_ADD_NEW_FOLDER_MAPPING_P1"; //$NON-NLS-1$
-	public static final String DEPLOYMENT_ASSEMBLY_PREFERENCE_PAGE_DEPLOYMENT_ASSEMBLY_TAB = ModuleCoreUIPlugin.PLUGIN_ID + ".DEPLOYMENT_ASSEMBLY_PREFERENCE_PAGE_DEPLOYMENT_ASSEMBLY_TAB"; //$NON-NLS-1$
-}
diff --git a/plugins/org.eclipse.wst.common.modulecore.ui/src/org/eclipse/wst/common/componentcore/ui/Messages.java b/plugins/org.eclipse.wst.common.modulecore.ui/src/org/eclipse/wst/common/componentcore/ui/Messages.java
deleted file mode 100644
index 7281d5c..0000000
--- a/plugins/org.eclipse.wst.common.modulecore.ui/src/org/eclipse/wst/common/componentcore/ui/Messages.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, 2010 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *     
- * API in these packages is provisional in this release
- *******************************************************************************/
-package org.eclipse.wst.common.componentcore.ui;
-
-import org.eclipse.osgi.util.NLS;
-
-public class Messages extends NLS {
-	private static final String BUNDLE_NAME = "org.eclipse.wst.common.componentcore.ui.messages"; //$NON-NLS-1$
-	public static String ModuleAssemblyRootPageDescription;
-	public static String ErrorCheckingFacets;
-	public static String ErrorNotVirtualComponent;
-	public static String DeploymentAssemblyVerifierHelper_0;
-	public static String DeployPathColumn;
-	public static String SourceColumn;
-	public static String InternalLibJarWarning;
-	public static String AddFolder;
-	public static String AddFolderElipses;
-	public static String AddFolderMappings;
-	public static String AddEllipsis;
-	public static String EditEllipsis;
-	public static String RemoveSelected;
-	public static String JarTitle;
-	public static String JarDescription;
-	public static String ExternalJarTitle;
-	public static String ExternalJarDescription;
-	public static String Browse;
-	public static String NewReferenceTitle;
-	public static String NewReferenceDescription;
-	public static String NewReferenceWizard;
-	public static String ProjectReferenceTitle;
-	public static String ProjectReferenceDescription;
-	public static String VariableReferenceTitle;
-	public static String VariableReferenceDescription;
-	public static String WizardError;
-	public static String ProjectConversionError;
-	public static String ExistingFolderError;
-	public static String Revert;
-	public static String ErrorEntryNotFound;
-	
-	static {
-		// initialize resource bundle
-		NLS.initializeMessages(BUNDLE_NAME, Messages.class);
-	}
-
-	private Messages() {
-	}
-}
diff --git a/plugins/org.eclipse.wst.common.modulecore.ui/src/org/eclipse/wst/common/componentcore/ui/ModuleCoreUIPlugin.java b/plugins/org.eclipse.wst.common.modulecore.ui/src/org/eclipse/wst/common/componentcore/ui/ModuleCoreUIPlugin.java
deleted file mode 100644
index 2734514..0000000
--- a/plugins/org.eclipse.wst.common.modulecore.ui/src/org/eclipse/wst/common/componentcore/ui/ModuleCoreUIPlugin.java
+++ /dev/null
@@ -1,174 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2009 Red Hat
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    Rob Stryker - initial implementation and ongoing maintenance
- *    
- * API in these packages is provisional in this release
- ******************************************************************************/
-package org.eclipse.wst.common.componentcore.ui;
-
-import java.net.MalformedURLException;
-import java.net.URL;
-
-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.Platform;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.resource.ImageRegistry;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-import org.osgi.framework.Bundle;
-import org.osgi.framework.BundleContext;
-
-/**
- * The activator class controls the plug-in life cycle
- */
-public class ModuleCoreUIPlugin extends AbstractUIPlugin {
-
-	// The plug-in ID
-	public static final String PLUGIN_ID = "org.eclipse.wst.common.modulecore.ui"; //$NON-NLS-1$
-	
-	public static final String[] ICON_DIRS = new String[]{"icons/full/obj16", //$NON-NLS-1$
-		"icons/full/cview16", //$NON-NLS-1$
-		"icons/full/ctool16", //$NON-NLS-1$
-		"icons/full/clcl16", //$NON-NLS-1$
-		"icons/full/ovr16", //$NON-NLS-1$
-		"icons/full/extra", //$NON-NLS-1$
-		"icons/full/wizban", //$NON-NLS-1$
-		"icons", //$NON-NLS-1$
-		""}; //$NON-NLS-1$
-
-	// The shared instance
-	private static ModuleCoreUIPlugin plugin;
-	/**
-	 * The constructor for this plugin
-	 */
-	public ModuleCoreUIPlugin() {
-		super();
-	}
-
-	/**
-	 * Returns the singleton instance of this plugin.
-	 *
-	 * @return org.eclipse.wst.server.ui.internal.plugin.ServerUIPlugin
-	 */
-	public static ModuleCoreUIPlugin getInstance() {
-		return plugin;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * @see org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext)
-	 */
-	public void start(BundleContext context) throws Exception {
-		super.start(context);
-		plugin = this;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * @see org.eclipse.ui.plugin.AbstractUIPlugin#stop(org.osgi.framework.BundleContext)
-	 */
-	public void stop(BundleContext context) throws Exception {
-		plugin = null;
-		super.stop(context);
-	}
-
-	/**
-	 * Get a .gif from the image registry.
-	 */
-	public Image getImage(String key) {
-		ImageRegistry imageRegistry = getImageRegistry();
-		Image image = imageRegistry.get(key);
-		if (image == null || image.isDisposed()) {
-			ImageDescriptor descriptor = getImageDescriptor(key);
-			if (descriptor != null) {
-				image = descriptor.createImage();
-				imageRegistry.put(key, image);
-			}
-		}
-		return image;
-	}
-
-	/**
-	 * This gets a .gif from the icons folder.
-	 */
-	public ImageDescriptor getImageDescriptor(String key) {
-		ImageDescriptor imageDescriptor = null;
-		URL gifImageURL = getImageURL(key,getBundle());
-		if (gifImageURL != null)
-			imageDescriptor = ImageDescriptor.createFromURL(gifImageURL);
-		return imageDescriptor;
-	}
-
-	/**
-	 * This gets a .gif from the icons folder.
-	 */
-	public URL getImageURL(String key, Bundle bundle) {
-		String gif = "/" + key + ".gif"; //$NON-NLS-1$ //$NON-NLS-2$
-		IPath path = null;
-		for (int i = 0; i < ICON_DIRS.length; i++) {
-			path = new Path(ICON_DIRS[i]).append(gif);
-			if (Platform.find(bundle,path) == null)
-				continue;
-			try {
-				return new URL( bundle.getEntry("/"), path.toString()); //$NON-NLS-1$ 
-			} catch (MalformedURLException exception) {
-				logError(exception);
-				continue;
-			}
-		}
-		return null;
-	}
-
-	/**
-	 * Returns the shared instance
-	 *
-	 * @return the shared instance
-	 */
-	public static ModuleCoreUIPlugin getDefault() {
-		return plugin;
-	}
-
-	public static void log(Exception e) {
-		log(e.getMessage(), e);
-	}
-	
-	public static void log(String message, Exception e) {
-		IStatus status = new Status(IStatus.ERROR, PLUGIN_ID, message, e);
-		getDefault().getLog().log(status);
-	}
-	public static IStatus createStatus(int severity, int aCode,
-			String aMessage, Throwable exception) {
-		return new Status(severity, PLUGIN_ID, aCode,
-				aMessage != null ? aMessage : "No message.", exception); //$NON-NLS-1$
-	}
-	public static IStatus createErrorStatus(int aCode, String aMessage,
-			Throwable exception) {
-		return createStatus(IStatus.ERROR, aCode, aMessage, exception);
-	}
-
-	public static IStatus createStatus(int severity, String message, Throwable exception) {
-		return new Status(severity, PLUGIN_ID, message, exception);
-	}
-
-	public static IStatus createStatus(int severity, String message) {
-		return createStatus(severity, message, null);
-	}
-	public static void logError(Throwable exception) {
-		Platform.getLog(Platform.getBundle(PLUGIN_ID)).log( createStatus(IStatus.ERROR, exception.getMessage(), exception));
-	}
-
-	public static void logError(CoreException exception) {
-		Platform.getLog(Platform.getBundle(PLUGIN_ID)).log( exception.getStatus() );
-	}
-
-}
diff --git a/plugins/org.eclipse.wst.common.modulecore.ui/src/org/eclipse/wst/common/componentcore/ui/Trace.java b/plugins/org.eclipse.wst.common.modulecore.ui/src/org/eclipse/wst/common/componentcore/ui/Trace.java
deleted file mode 100644
index 941d375..0000000
--- a/plugins/org.eclipse.wst.common.modulecore.ui/src/org/eclipse/wst/common/componentcore/ui/Trace.java
+++ /dev/null
@@ -1,93 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *     
- * API in these packages is provisional in this release
- *******************************************************************************/
-package org.eclipse.wst.common.componentcore.ui;
-
-import java.text.SimpleDateFormat;
-import java.util.Date;
-import java.util.HashSet;
-import java.util.Set;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-/**
- * Helper class to route trace output.
- */
-public class Trace {
-	public static final byte CONFIG = 0;
-	public static final byte INFO = 1;
-	public static final byte WARNING = 2;
-	public static final byte SEVERE = 3;
-	public static final byte FINEST = 4;
-	public static final byte FINER = 5;
-	public static final byte PERFORMANCE = 6;
-	public static final byte EXTENSION_POINT = 7;
-
-	private static final String[] levelNames = new String[] {
-		"CONFIG ", "INFO   ", "WARNING", "SEVERE ", "FINER  ", "FINEST ", "PERF   ", "EXTENSION"};
-
-	private static final SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yy HH:mm.ss.SSS");
-
-	private static Set<String> logged = new HashSet<String>();
-
-	/**
-	 * Trace constructor comment.
-	 */
-	private Trace() {
-		super();
-	}
-
-	/**
-	 * Trace the given text.
-	 *
-	 * @param level a trace level
-	 * @param s a message
-	 */
-	public static void trace(byte level, String s) {
-		trace(level, s, null);
-	}
-
-	/**
-	 * Trace the given message and exception.
-	 *
-	 * @param level a trace level
-	 * @param s a message
-	 * @param t a throwable
-	 */
-	public static void trace(byte level, String s, Throwable t) {
-		if (s == null)
-			return;
-		
-		if (level == SEVERE) {
-			if (!logged.contains(s)) {
-				ModuleCoreUIPlugin.getInstance().getLog().log(
-						new Status(IStatus.ERROR, 
-								ModuleCoreUIPlugin.PLUGIN_ID, s, t));
-				logged.add(s);
-			}
-		}
-		
-		if (!ModuleCoreUIPlugin.getInstance().isDebugging())
-			return;
-		
-		StringBuffer sb = new StringBuffer(ModuleCoreUIPlugin.PLUGIN_ID);
-		sb.append(" ");
-		sb.append(levelNames[level]);
-		sb.append(" ");
-		sb.append(sdf.format(new Date()));
-		sb.append(" ");
-		sb.append(s);
-		System.out.println(sb.toString());
-		if (t != null)
-			t.printStackTrace();
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.modulecore.ui/src/org/eclipse/wst/common/componentcore/ui/internal/propertypage/AddFolderDialog.java b/plugins/org.eclipse.wst.common.modulecore.ui/src/org/eclipse/wst/common/componentcore/ui/internal/propertypage/AddFolderDialog.java
deleted file mode 100644
index 2c93a37..0000000
--- a/plugins/org.eclipse.wst.common.modulecore.ui/src/org/eclipse/wst/common/componentcore/ui/internal/propertypage/AddFolderDialog.java
+++ /dev/null
@@ -1,151 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2009 Red Hat
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    Rob Stryker - initial implementation and ongoing maintenance
- ******************************************************************************/
-package org.eclipse.wst.common.componentcore.ui.internal.propertypage;
-
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jface.dialogs.TitleAreaDialog;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.ITreeContentProvider;
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.jface.viewers.TreeViewer;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.jface.viewers.ViewerFilter;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.ISharedImages;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.wst.common.componentcore.ui.Messages;
-
-@Deprecated
-public class AddFolderDialog extends TitleAreaDialog {
-	private IProject project;
-	private TreeViewer viewer;
-	private IContainer selected = null;
-	public AddFolderDialog(Shell parentShell, IProject project) {
-		super(parentShell);        
-        setShellStyle( getShellStyle() | SWT.RESIZE );
-		this.project = project;
-	}
-
-	protected void configureShell(Shell shell) {
-		super.configureShell(shell);
-		
-		shell.setBounds(shell.getLocation().x, shell.getLocation().y, 400,300);
-		
-	}
-	
-	protected Control createDialogArea(Composite parent) {
-		Composite c = (Composite)super.createDialogArea(parent);
-		parent.getShell().setText(Messages.AddFolder);
-		setTitle(Messages.AddFolder);
-	    setMessage(Messages.AddFolderMappings);
-	    //setTitleImage(  );
-		this.viewer = new TreeViewer(c, SWT.SINGLE | SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER);
-		viewer.setContentProvider(getContentProvider());
-		viewer.setLabelProvider(getLabelProvider());
-		viewer.addFilter(getFilter());
-		viewer.setInput(project);
-		viewer.getTree().setLayoutData(new GridData(GridData.FILL_BOTH));
-		viewer.addSelectionChangedListener(getListener());
-		return c;
-	}
-	
-	protected ISelectionChangedListener getListener() {
-		return new ISelectionChangedListener() {
-			public void selectionChanged(SelectionChangedEvent event) {
-				IStructuredSelection sel = (IStructuredSelection)viewer.getSelection();
-				Object first = sel.getFirstElement();
-				if( first instanceof IContainer) 
-					selected = (IContainer)first;
-			}
-		};
-	}
-	
-	public IContainer getSelected() {
-		return selected;
-	}
-	
-	protected ViewerFilter getFilter() {
-		return new ViewerFilter() {
-			public boolean select(Viewer viewer, Object parentElement,
-					Object element) {
-				return element instanceof IContainer;
-			}
-		};
-	}
-	
-	protected ITreeContentProvider getContentProvider() {
-		return new ITreeContentProvider() {
-			
-			public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
-			}
-			
-			public void dispose() {
-			}
-			
-			public Object[] getElements(Object inputElement) {
-				try {
-					return project.members();
-				} catch( CoreException ce ) {
-					return new Object[]{};
-				}
-			}
-			
-			public boolean hasChildren(Object element) {
-				if( element instanceof IContainer) {
-					try {
-						return ((IContainer)element).members().length > 0;
-					} catch( CoreException ce ) {
-					}
-				}
-				return false;
-			}
-			
-			public Object getParent(Object element) {
-				if( element instanceof IResource)
-					return ((IResource)element).getParent();
-				return null;
-			}
-			
-			public Object[] getChildren(Object parentElement) {
-				if( parentElement instanceof IContainer) {
-					try {
-						return ((IContainer)parentElement).members();
-					} catch( CoreException ce ) {
-					}
-				}
-				return new Object[]{};
-			}
-		};
-	}
-
-	protected LabelProvider getLabelProvider() {
-		return new LabelProvider() {
-			public Image getImage(Object element) {
-				return PlatformUI.getWorkbench().getSharedImages().getImage(ISharedImages.IMG_OBJ_FOLDER);
-			}
-			public String getText(Object element) {
-				if( element instanceof IResource)
-					return ((IResource)element).getName();
-				return element.toString();
-			}
-		};
-	}
-}
diff --git a/plugins/org.eclipse.wst.common.modulecore.ui/src/org/eclipse/wst/common/componentcore/ui/internal/propertypage/ComponentDependencyContentProvider.java b/plugins/org.eclipse.wst.common.modulecore.ui/src/org/eclipse/wst/common/componentcore/ui/internal/propertypage/ComponentDependencyContentProvider.java
deleted file mode 100644
index d262603..0000000
--- a/plugins/org.eclipse.wst.common.modulecore.ui/src/org/eclipse/wst/common/componentcore/ui/internal/propertypage/ComponentDependencyContentProvider.java
+++ /dev/null
@@ -1,171 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2009 Red Hat
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    Rob Stryker - initial implementation and ongoing maintenance
- ******************************************************************************/
-package org.eclipse.wst.common.componentcore.ui.internal.propertypage;
-
-import java.util.ArrayList;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IWorkspaceRoot;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.jface.viewers.DecoratingLabelProvider;
-import org.eclipse.jface.viewers.IStructuredContentProvider;
-import org.eclipse.jface.viewers.ITableLabelProvider;
-import org.eclipse.jface.viewers.ITreeContentProvider;
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.model.WorkbenchLabelProvider;
-import org.eclipse.wst.common.componentcore.resources.IVirtualComponent;
-import org.eclipse.wst.common.componentcore.resources.IVirtualReference;
-import org.eclipse.wst.common.componentcore.ui.ModuleCoreUIPlugin;
-import org.eclipse.wst.common.componentcore.ui.propertypage.AddModuleDependenciesPropertiesPage;
-import org.eclipse.wst.common.componentcore.ui.propertypage.AddModuleDependenciesPropertiesPage.ComponentResourceProxy;
-
-
-/*
- *  The only valid elements this content provider (should) provide
- *  are IProject or IVirtualComponent objects. The runtime paths portion is 
- *  shared with the preference page itself where they can both modify the data. 
- * 
- * This provider no longer "meddles" in to the content as it used to, 
- * but rather serves as only a view of it. 
- */
-public class ComponentDependencyContentProvider extends LabelProvider implements IStructuredContentProvider, ITableLabelProvider, ITreeContentProvider {
-	
-	final static String PATH_SEPARATOR = String.valueOf(IPath.SEPARATOR);
-	
-	private IVirtualComponent component;
-	private ArrayList<IVirtualReference> runtimePaths;
-	private ArrayList<ComponentResourceProxy> resourceMappings;
-	private DecoratingLabelProvider decProvider = new DecoratingLabelProvider(
-	                new WorkbenchLabelProvider(), PlatformUI.getWorkbench().
-	                 getDecoratorManager().getLabelDecorator());
-	private IVirtualComponentLabelProvider[] delegates;
-	public ComponentDependencyContentProvider(AddModuleDependenciesPropertiesPage addModuleDependenciesPropertiesPage) {
-		super();
-		decProvider.addListener(addModuleDependenciesPropertiesPage);
-		delegates = DependencyPageExtensionManager.loadDelegates();
-	}
-
-	public void setRuntimePaths(ArrayList<IVirtualReference> runtimePaths) {
-		this.runtimePaths = runtimePaths;
-	}
-
-	public void setResourceMappings(ArrayList<ComponentResourceProxy> mappings) {
-		this.resourceMappings = mappings;
-	}
-	
-	public Object[] getElements(Object inputElement) {
-		Object[] empty = new Object[0];
-		if( !(inputElement instanceof IWorkspaceRoot))
-			return empty;
-		ArrayList<Object> list = new ArrayList<Object>();
-		list.addAll(resourceMappings);
-		list.addAll(runtimePaths);
-		return list.toArray();
-	}
-	
-	public Image getColumnImage(Object element, int columnIndex) {
-		if( element instanceof ComponentResourceProxy) {
-			return ModuleCoreUIPlugin.getInstance().getImage("folder");
-		}
-		if (element instanceof IVirtualReference) {
-			if( columnIndex == AddModuleDependenciesPropertiesPage.SOURCE_COLUMN ){
-				return handleSourceImage(((IVirtualReference)element).getReferencedComponent());
-			} else if(columnIndex == AddModuleDependenciesPropertiesPage.DEPLOY_COLUMN){
-				return ModuleCoreUIPlugin.getInstance().getImage("jar_obj");
-			}
-		} 
-		if (element instanceof IProject){
-			return decProvider.getImage(element);
-		}
-		return null;
-	}
-
-	public String getColumnText(Object element, int columnIndex) {
-		if( element instanceof ComponentResourceProxy) {
-			if( columnIndex == AddModuleDependenciesPropertiesPage.SOURCE_COLUMN ) { 
-				return ((ComponentResourceProxy)element).source.toString();
-			} else if( columnIndex == AddModuleDependenciesPropertiesPage.DEPLOY_COLUMN ) {
-				if(((ComponentResourceProxy)element).runtimePath.isRoot())
-					return ((ComponentResourceProxy)element).runtimePath.toString();
-				else
-					return ((ComponentResourceProxy)element).runtimePath.makeRelative().toString();
-			}
-		}
-		if( element instanceof IVirtualReference) {
-			if (columnIndex == AddModuleDependenciesPropertiesPage.SOURCE_COLUMN) {
-				return handleSourceText(((IVirtualReference)element).getReferencedComponent());
-			} else if (columnIndex == AddModuleDependenciesPropertiesPage.DEPLOY_COLUMN) {
-				return new Path(AddModuleDependenciesPropertiesPage.getSafeRuntimePath((IVirtualReference)element)).makeRelative().toString();
-			} 
-		}
-		return null;
-	}
-
-	
-	private String handleSourceText(IVirtualComponent component) {
-		if( delegates != null ) {
-			for( int i = 0; i < delegates.length; i++ )
-				if( delegates[i].canHandle(component))
-					return delegates[i].getSourceText(component);
-		}
-		
-		// default impl
-		if( component.isBinary() ) {
-			IPath p = (IPath)component.getAdapter(IPath.class);			
-			return p == null ? component.getName() : p.toString();
-		}
-		return component.getProject().getName();
-	}
-
-	private Image handleSourceImage(IVirtualComponent component) {
-		if( delegates != null ) {
-			for( int i = 0; i < delegates.length; i++ )
-				if( delegates[i].canHandle(component))
-					return delegates[i].getSourceImage(component);
-		}
-		
-		// default impl
-		if(component.isBinary())
-			return ModuleCoreUIPlugin.getInstance().getImage("jar_obj");
-		else return decProvider.getImage(component.getProject());
-	}
-	
-	
-	public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
-		// TODO Auto-generated method stub
-		
-	}
-
-	public void setComponent(IVirtualComponent component) {
-		this.component = component;
-	}
-
-	public IVirtualComponent getComponent(){
-		return component;
-	}
-
-	public Object[] getChildren(Object parentElement) {
-		return null;
-	}
-
-	public Object getParent(Object element) {
-		return null;
-	}
-
-	public boolean hasChildren(Object element) {
-		return false;
-	}
-	
-}
diff --git a/plugins/org.eclipse.wst.common.modulecore.ui/src/org/eclipse/wst/common/componentcore/ui/internal/propertypage/DependencyPageExtensionManager.java b/plugins/org.eclipse.wst.common.modulecore.ui/src/org/eclipse/wst/common/componentcore/ui/internal/propertypage/DependencyPageExtensionManager.java
deleted file mode 100644
index 01dd452..0000000
--- a/plugins/org.eclipse.wst.common.modulecore.ui/src/org/eclipse/wst/common/componentcore/ui/internal/propertypage/DependencyPageExtensionManager.java
+++ /dev/null
@@ -1,296 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2010 Red Hat and Others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    Rob Stryker - initial implementation and ongoing maintenance
- *    Konstantin Komissarchik - added support for enablement expressions
- ******************************************************************************/
-
-package org.eclipse.wst.common.componentcore.ui.internal.propertypage;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.Comparator;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Set;
-
-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.resources.IProject;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IExtensionRegistry;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-import org.eclipse.wst.common.componentcore.ui.ModuleCoreUIPlugin;
-import org.eclipse.wst.common.componentcore.ui.internal.taskwizard.WizardFragment;
-import org.eclipse.wst.common.componentcore.ui.propertypage.IDependencyPageProvider;
-import org.eclipse.wst.common.project.facet.core.IFacetedProject;
-
-public class DependencyPageExtensionManager {
-	private static final String DEFAULT_WEIGHT = "100"; //$NON-NLS-1$
-	private static DependencyPageExtensionManager manager = null;
-	public static DependencyPageExtensionManager getManager() {
-		if( manager == null )
-			manager = new DependencyPageExtensionManager();
-		return manager;
-	}
-	
-	private HashMap<String, IDependencyPageProvider> providers = null;
-	private HashMap<String, String> providerWeight;
-	
-	public IDependencyPageProvider getProvider(IFacetedProject project) {
-		if( providers == null )
-			loadProviders();
-		IDependencyPageProvider foundProvider = null;
-		int highestWeight = 0;
-		for (Iterator iterator = providers.keySet().iterator(); iterator.hasNext();) {
-			String id = (String) iterator.next();
-			IDependencyPageProvider temp = providers.get(id);
-			if( temp.canHandle(project)) {
-				int weight = Integer.valueOf(providerWeight.get(id)).intValue();
-				if (foundProvider == null) {
-					foundProvider = temp;
-					highestWeight = weight;
-				}
-				else {
-					if (highestWeight < weight) {
-						foundProvider = temp;
-						highestWeight = weight;
-					}
-				}
-			}
-		}
-		return foundProvider;
-	}
-	
-	private void loadProviders() {
-		HashMap<String, IDependencyPageProvider> temp = new HashMap<String, IDependencyPageProvider>();
-		HashMap<String, String> tempProviderWeight = new HashMap<String, String>();
-		String weight;
-		IExtensionRegistry registry = Platform.getExtensionRegistry();
-		IConfigurationElement[] cf = registry.getConfigurationElementsFor(
-				ModuleCoreUIPlugin.PLUGIN_ID, "moduleDependencyPropertyPage"); //$NON-NLS-1$
-		for( int i = 0; i < cf.length; i++ ) {
-			try {
-				temp.put(cf[i].getAttribute("id"),  //$NON-NLS-1$
-					(IDependencyPageProvider)cf[i].createExecutableExtension("class"));  //$NON-NLS-1$
-				weight = cf[i].getAttribute("weight"); //$NON-NLS-1$
-				tempProviderWeight.put(cf[i].getAttribute("id"),(weight == null) ? DEFAULT_WEIGHT : weight); //$NON-NLS-1$
-			} catch( CoreException ce ) 
-			{
-				ModuleCoreUIPlugin.log( ce );
-			}
-		}
-		providers = temp;
-		providerWeight = tempProviderWeight;
-	}
-	
-	public WizardFragment[] loadAllReferenceWizardFragments() {
-		IExtensionRegistry registry = Platform.getExtensionRegistry();
-		IConfigurationElement[] cf = registry.getConfigurationElementsFor(
-				ModuleCoreUIPlugin.PLUGIN_ID, "referenceWizardFragment"); //$NON-NLS-1$
-		ArrayList<WizardFragment> list = new ArrayList<WizardFragment>();
-		for( int i = 0; i < cf.length; i++ ) {
-			try {
-				list.add((WizardFragment)cf[i].createExecutableExtension("class"));
-			} catch( CoreException ce) 
-			{
-				ModuleCoreUIPlugin.log( ce );
-			}
-		}
-		return list.toArray(new WizardFragment[list.size()]);
-	}
-	
-	public WizardFragment loadReferenceWizardFragment(String id) {
-		IExtensionRegistry registry = Platform.getExtensionRegistry();
-		IConfigurationElement[] cf = registry.getConfigurationElementsFor(
-				ModuleCoreUIPlugin.PLUGIN_ID, "referenceWizardFragment"); //$NON-NLS-1$
-		for( int i = 0; i < cf.length; i++ ) {
-			if( cf[i].getAttribute("id").equals(id)) //$NON-NLS-1$
-				try {
-					return (WizardFragment)cf[i].createExecutableExtension("class"); //$NON-NLS-1$
-				} catch( CoreException ce) 
-				{
-					ModuleCoreUIPlugin.log( ce );
-				}
-		}
-		return null;
-	}
-	
-	public List<ReferenceExtension> getExposedReferenceExtensions() 
-	{
-		final List<ReferenceExtension> list = new ArrayList<ReferenceExtension>();
-		final Set<String> hidden = new HashSet<String>();
-		
-        for( ReferenceExtension ext : getAllReferenceExtensions() )
-        {
-            if( ext.isHidden() )
-            {
-				hidden.add( ext.getId() );
-			}
-		}
-		
-        for( ReferenceExtension ext : getAllReferenceExtensions() )
-        {
-            if( ! ext.isHidden() && ! hidden.contains( ext.getId() ) )
-            {
-                list.add( ext );
-            }
-		}
-		
-		return list;
-	}
-	
-	public List<ReferenceExtension> getAllReferenceExtensions() 
-	{
-		final ArrayList<ReferenceExtension> list = new ArrayList<ReferenceExtension>();
-		final IExtensionRegistry registry = Platform.getExtensionRegistry();
-		
-		for( IConfigurationElement cf : registry.getConfigurationElementsFor( ModuleCoreUIPlugin.PLUGIN_ID, "referenceWizardFragment" ) )
-		{
-			list.add( new ReferenceExtension( cf ) );
-		}
-
-		return list;
-	}
-	
-	public ReferenceExtension findReferenceExtension(String id) {
-		IExtensionRegistry registry = Platform.getExtensionRegistry();
-		IConfigurationElement[] cf = registry.getConfigurationElementsFor(
-				ModuleCoreUIPlugin.PLUGIN_ID, "referenceWizardFragment"); //$NON-NLS-1$
-		ArrayList<ReferenceExtension> list = new ArrayList<ReferenceExtension>();
-		for( int i = 0; i < cf.length; i++ ) {
-			if(cf[i].getAttribute("id").equals(id)) //$NON-NLS-1$
-				return new ReferenceExtension(cf[i]);
-		}
-		return null;
-	}
-	
-	public class ReferenceExtension {
-		private IConfigurationElement element;
-		private String id, name, imageLoc;
-		private Image image;
-		private boolean hidden;
-		private Expression enablementExpression;
-		
-		public ReferenceExtension(IConfigurationElement element) 
-		{
-			this.element = element;
-			this.id = element.getAttribute("id"); //$NON-NLS-1$
-			this.name = element.getAttribute("name"); //$NON-NLS-1$
-			this.imageLoc = element.getAttribute("icon"); //$NON-NLS-1$
-			this.hidden = Boolean.parseBoolean(element.getAttribute("hidden")); //$NON-NLS-1$
-			
-			for( IConfigurationElement child : element.getChildren( "enablement" ) ) //$NON-NLS-1$
-			{
-	            try
-	            {
-	                this.enablementExpression = ExpressionConverter.getDefault().perform( child );
-	            }
-	            catch( CoreException e )
-	            {
-	            	ModuleCoreUIPlugin.log( e );
-	            }
-			}
-		}
-		
-		public String getId() { return this.id;}
-		public String getName() { return this.name; }
-		public boolean isHidden() { return this.hidden; }
-		
-		public boolean isApplicable( final IProject project )
-		{
-			if( this.enablementExpression != null )
-			{
-		        final EvaluationContext evalContext = new EvaluationContext( null, project );
-		        evalContext.setAllowPluginActivation( true );
-		        
-	            try
-	            {
-	                final EvaluationResult evalResult = this.enablementExpression.evaluate( evalContext );
-	                
-	                if( evalResult == EvaluationResult.FALSE )
-	                {
-	                    return false;
-	                }
-	            }
-	            catch( CoreException e )
-	            {
-	            	ModuleCoreUIPlugin.log( e );
-	            }
-			}
-			
-			return true;
-		}
-		
-		public Image getImage() { 
-			if( image == null ) {
-				if( imageLoc != null && element.getContributor().getName() != null) {
-					ImageDescriptor desc = AbstractUIPlugin.imageDescriptorFromPlugin(element.getContributor().getName(), imageLoc);
-					image = desc.createImage();
-				}
-			}
-			return image;
-		}
-		public void disposeImage() {
-			if( image != null ) {
-				image.dispose();
-				image = null;
-			}
-		}
-	}
-	
-	public static IVirtualComponentLabelProvider[] loadDelegates() {
-		IExtensionRegistry registry = Platform.getExtensionRegistry();
-		IConfigurationElement[] cf = registry.getConfigurationElementsFor(
-				ModuleCoreUIPlugin.PLUGIN_ID, "virtualComponentLabelProvider"); //$NON-NLS-1$
-		List<IConfigurationElement> list = Arrays.asList(cf);
-		Comparator c = new Comparator<IConfigurationElement>() {
-			public int compare(IConfigurationElement o1,
-					IConfigurationElement o2) {
-				String o1String, o2String;
-				int o1int, o2int;
-				o1String=o1.getAttribute("weight");
-				o2String=o2.getAttribute("weight");
-				try {
-					o1int = Integer.parseInt(o1String);
-				} catch(NumberFormatException nfe ) {
-					o1int = 0;
-				}
-				try {
-					o2int = Integer.parseInt(o2String);
-				} catch(NumberFormatException nfe ) {
-					o2int = 0;
-				}
-				return o1int-o2int;
-			}
-		};
-		Collections.sort(list, c);
-		ArrayList<IVirtualComponentLabelProvider> retList = new ArrayList<IVirtualComponentLabelProvider>();
-		Iterator<IConfigurationElement> i = list.iterator();
-		while(i.hasNext()) {
-			try {
-				IConfigurationElement el = i.next();
-				String className = el.getAttribute("class");
-				retList.add((IVirtualComponentLabelProvider)el.createExecutableExtension("class"));
-			} catch( CoreException ce) {
-				ModuleCoreUIPlugin.log( ce );
-			}
-		}
-		return retList.toArray(new IVirtualComponentLabelProvider[retList.size()]);
-	}
-
-}
diff --git a/plugins/org.eclipse.wst.common.modulecore.ui/src/org/eclipse/wst/common/componentcore/ui/internal/propertypage/FolderMappingWizardFragment.java b/plugins/org.eclipse.wst.common.modulecore.ui/src/org/eclipse/wst/common/componentcore/ui/internal/propertypage/FolderMappingWizardFragment.java
deleted file mode 100644
index e9b1306..0000000
--- a/plugins/org.eclipse.wst.common.modulecore.ui/src/org/eclipse/wst/common/componentcore/ui/internal/propertypage/FolderMappingWizardFragment.java
+++ /dev/null
@@ -1,215 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2010 Red Hat and Others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    Rob Stryker - initial implementation and ongoing maintenance
- *    Konstantin Komissarchik - misc. UI cleanup
- ******************************************************************************/
-
-package org.eclipse.wst.common.componentcore.ui.internal.propertypage;
-
-
-import java.util.ArrayList;
-
-import org.eclipse.core.resources.IContainer;
-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.jface.dialogs.IMessageProvider;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.ITreeContentProvider;
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.jface.viewers.TreeViewer;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.jface.viewers.ViewerFilter;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.ui.ISharedImages;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.internal.ide.IDEWorkbenchPlugin;
-import org.eclipse.wst.common.componentcore.ui.IModuleCoreUIContextIds;
-import org.eclipse.wst.common.componentcore.ui.Messages;
-import org.eclipse.wst.common.componentcore.ui.internal.taskwizard.IWizardHandle;
-import org.eclipse.wst.common.componentcore.ui.internal.taskwizard.WizardFragment;
-import org.eclipse.wst.common.componentcore.ui.propertypage.AddModuleDependenciesPropertiesPage.ComponentResourceProxy;
-import org.eclipse.wst.common.componentcore.ui.propertypage.IReferenceWizardConstants;
-
-public class FolderMappingWizardFragment extends WizardFragment {
-	private IProject project;
-	private TreeViewer viewer;
-	private IContainer selected = null;
-	protected IWizardHandle handle;
-
-	boolean isComplete = false;
-
-	public boolean isComplete() {
-		return isComplete;
-	}
-	
-	public boolean hasComposite() {
-		return true;
-	}
-
-	public Composite createComposite(Composite parent, IWizardHandle handle) {
-		this.handle = handle;
-		handle.setTitle(Messages.AddFolder);
-		handle.setDescription(Messages.AddFolderMappings);
-		handle.setImageDescriptor(IDEWorkbenchPlugin.getIDEImageDescriptor("wizban/newfolder_wiz.png"));
-		project = (IProject)getTaskModel().getObject(IReferenceWizardConstants.PROJECT);		
-		Composite c = new Composite(parent, SWT.NONE);
-		GridLayout layout = new GridLayout();
-		c.setLayout(layout);
-		PlatformUI.getWorkbench().getHelpSystem().setHelp(c, IModuleCoreUIContextIds.DEPLOYMENT_ASSEMBLY_PREFERENCE_PAGE_ADD_NEW_FOLDER_MAPPING_P1);
-		this.viewer = new TreeViewer(c, SWT.SINGLE | SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER);
-		viewer.setContentProvider(getContentProvider());
-		viewer.setLabelProvider(getLabelProvider());
-		viewer.addFilter(getFilter());
-		viewer.setInput(project);
-		viewer.addSelectionChangedListener(getListener());
-		GridData data = new GridData(GridData.FILL_BOTH);
-		data.widthHint = 390;
-		data.heightHint = 185;
-		viewer.getTree().setLayoutData(data);
-		return c;
-	}
-	
-	protected ISelectionChangedListener getListener() {
-		return new ISelectionChangedListener() {
-			public void selectionChanged(SelectionChangedEvent event) {
-				IStructuredSelection sel = (IStructuredSelection)viewer.getSelection();
-				Object first = sel.getFirstElement();
-				if( first instanceof IContainer) {
-					selected = (IContainer)first;
-					String errorMessage=validateFolder();
-					if (errorMessage !=  null)
-						handle.setMessage(errorMessage,IMessageProvider.ERROR);
-					else
-						handle.setMessage(Messages.AddFolderMappings, IMessageProvider.NONE);
-					handle.update();
-				}
-			}
-		};
-	}
-	
-	protected String validateFolder() {
-		IContainer c = getSelected();
-		IPath p = c.getProjectRelativePath().makeAbsolute();					
-		ArrayList<Object> currentRefs = (ArrayList<Object>)getTaskModel().getObject(IReferenceWizardConstants.ALL_DIRECTIVES);
-		if (!currentRefs.isEmpty())
-			for (int j = 0; j < currentRefs.size(); j++) 
-			{
-				Object ref = currentRefs.get(j);
-				if (ref instanceof ComponentResourceProxy)
-				{					
-					ComponentResourceProxy folder = (ComponentResourceProxy) ref;
-					if (p.equals(folder.source)){						
-						isComplete=false;				
-						return NLS.bind(Messages.ExistingFolderError, folder.source); 						
-					}
-				}							
-			}	
-		isComplete = true;
-		return null;
-	}
-	
-	public IContainer getSelected() {
-		return selected;
-	}
-	
-	protected ViewerFilter getFilter() {
-		return new ViewerFilter() {			
-			public boolean select(Viewer viewer, Object parentElement,
-					Object element) {
-				if(element instanceof IContainer) {
-					IContainer container = (IContainer) element;
-					IPath path = container.getProjectRelativePath();
-					if(!ResourceMappingFilterExtensionRegistry.shouldFilter(path)){
-						return true;
-					}
-				}
-				return false;
-			}
-		};
-	}
-	
-	protected ITreeContentProvider getContentProvider() {
-		return new ITreeContentProvider() {
-			
-			public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
-			}
-			
-			public void dispose() {
-			}
-			
-			public Object[] getElements(Object inputElement) {
-				try {
-					return project.members();
-				} catch( CoreException ce ) {
-					return new Object[]{};
-				}
-			}
-			
-			public boolean hasChildren(Object element) {
-				if( element instanceof IContainer) {
-					try {
-						return ((IContainer)element).members().length > 0;
-					} catch( CoreException ce ) {
-					}
-				}
-				return false;
-			}
-			
-			public Object getParent(Object element) {
-				if( element instanceof IResource)
-					return ((IResource)element).getParent();
-				return null;
-			}
-			
-			public Object[] getChildren(Object parentElement) {
-				if( parentElement instanceof IContainer) {
-					try {
-						return ((IContainer)parentElement).members();
-					} catch( CoreException ce ) {
-					}
-				}
-				return new Object[]{};
-			}
-		};
-	}
-
-	protected LabelProvider getLabelProvider() {
-		return new LabelProvider() {
-			public Image getImage(Object element) {
-				return PlatformUI.getWorkbench().getSharedImages().getImage(ISharedImages.IMG_OBJ_FOLDER);
-			}
-			public String getText(Object element) {
-				if( element instanceof IResource)
-					return ((IResource)element).getName();
-				return element.toString();
-			}
-		};
-	}
-
-
-	public void performFinish(IProgressMonitor monitor) throws CoreException {
-		IContainer c = getSelected();
-		if( c != null ) {
-			IPath p = c.getProjectRelativePath().makeAbsolute();
-			ComponentResourceProxy proxy = new ComponentResourceProxy(p, new Path("/")); //$NON-NLS-1$
-			getTaskModel().putObject(IReferenceWizardConstants.FOLDER_MAPPING, proxy);
-		}
-	}	
-}
diff --git a/plugins/org.eclipse.wst.common.modulecore.ui/src/org/eclipse/wst/common/componentcore/ui/internal/propertypage/IReferenceEditor.java b/plugins/org.eclipse.wst.common.modulecore.ui/src/org/eclipse/wst/common/componentcore/ui/internal/propertypage/IReferenceEditor.java
deleted file mode 100644
index eb00ab3..0000000
--- a/plugins/org.eclipse.wst.common.modulecore.ui/src/org/eclipse/wst/common/componentcore/ui/internal/propertypage/IReferenceEditor.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2009 Red Hat
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    Rob Stryker - initial implementation and ongoing maintenance
- ******************************************************************************/
-package org.eclipse.wst.common.componentcore.ui.internal.propertypage;
-
-import org.eclipse.wst.common.componentcore.resources.IVirtualReference;
-
-/**
- * WizardFragments that are providing reference wizard extensions
- * may also implement IReferenceEditor to show that this particular
- * fragment may be able to edit components it has created. 
- */
-public interface IReferenceEditor {
-	
-	/**
-	 * The wizard fragment that implements this interface 
-	 * and is able to edit the provided reference is expected 
-	 * to cache this reference at the time canEdit(etc) is called
-	 * 
-	 * @param vc
-	 * @return
-	 */
-	public boolean canEdit(IVirtualReference reference);
-}
diff --git a/plugins/org.eclipse.wst.common.modulecore.ui/src/org/eclipse/wst/common/componentcore/ui/internal/propertypage/IVirtualComponentLabelProvider.java b/plugins/org.eclipse.wst.common.modulecore.ui/src/org/eclipse/wst/common/componentcore/ui/internal/propertypage/IVirtualComponentLabelProvider.java
deleted file mode 100644
index 6007c03..0000000
--- a/plugins/org.eclipse.wst.common.modulecore.ui/src/org/eclipse/wst/common/componentcore/ui/internal/propertypage/IVirtualComponentLabelProvider.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2009 Red Hat
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    Rob Stryker - initial implementation and ongoing maintenance
- ******************************************************************************/
-package org.eclipse.wst.common.componentcore.ui.internal.propertypage;
-
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.wst.common.componentcore.resources.IVirtualComponent;
-
-public interface IVirtualComponentLabelProvider {
-	/**
-	 * Return whether this label provider can provide
-	 * UI elements for this component
-	 * @param component
-	 * @return
-	 */
-	public boolean canHandle(IVirtualComponent component);
-	
-	/**
-	 * Return a string representation for this component
-	 * @param component
-	 * @return
-	 */
-	public String getSourceText(IVirtualComponent component);
-	
-	/**
-	 * Return an image representing this component
-	 * @param component
-	 * @return
-	 */
-	public Image getSourceImage(IVirtualComponent component);
-	
-	/**
-	 * Clean up any images you created
-	 */
-	public void dispose();
-}
diff --git a/plugins/org.eclipse.wst.common.modulecore.ui/src/org/eclipse/wst/common/componentcore/ui/internal/propertypage/NewReferenceRootWizardFragment.java b/plugins/org.eclipse.wst.common.modulecore.ui/src/org/eclipse/wst/common/componentcore/ui/internal/propertypage/NewReferenceRootWizardFragment.java
deleted file mode 100644
index 676fce5..0000000
--- a/plugins/org.eclipse.wst.common.modulecore.ui/src/org/eclipse/wst/common/componentcore/ui/internal/propertypage/NewReferenceRootWizardFragment.java
+++ /dev/null
@@ -1,184 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2010 Red Hat and Others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    Rob Stryker - initial implementation and ongoing maintenance
- *    Konstantin Komissarchik - misc. UI cleanup
- ******************************************************************************/
-
-package org.eclipse.wst.common.componentcore.ui.internal.propertypage;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.jface.viewers.DoubleClickEvent;
-import org.eclipse.jface.viewers.IDoubleClickListener;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.ITreeContentProvider;
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.jface.viewers.TreeViewer;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.jface.viewers.ViewerComparator;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-import org.eclipse.wst.common.componentcore.ui.IModuleCoreUIContextIds;
-import org.eclipse.wst.common.componentcore.ui.Messages;
-import org.eclipse.wst.common.componentcore.ui.ModuleCoreUIPlugin;
-import org.eclipse.wst.common.componentcore.ui.internal.propertypage.DependencyPageExtensionManager.ReferenceExtension;
-import org.eclipse.wst.common.componentcore.ui.internal.taskwizard.IWizardHandle;
-import org.eclipse.wst.common.componentcore.ui.internal.taskwizard.WizardFragment;
-
-public class NewReferenceRootWizardFragment extends WizardFragment {
-	protected Map<String, WizardFragment> fragmentMap = 
-		new HashMap<String, WizardFragment>();
-	private IWizardHandle wizard;
-	private TreeViewer viewer;
-	private List<ReferenceExtension> extensions = null;
-	public NewReferenceRootWizardFragment(List<ReferenceExtension> extensions) {
-		this.extensions = extensions;
-		if( this.extensions.size() == 0 )
-			setComplete(false);
-	}
-	
-	public boolean hasComposite() {
-		return true;
-	}
-
-	public Composite createComposite(Composite parent, final IWizardHandle wizard) {
-		this.wizard = wizard;
-		wizard.setTitle(Messages.NewReferenceTitle);
-		wizard.setDescription(Messages.NewReferenceDescription);
-		wizard.setImageDescriptor( AbstractUIPlugin.imageDescriptorFromPlugin( ModuleCoreUIPlugin.PLUGIN_ID, "icons/assembly-banner.png" ) );
-		Composite c = new Composite(parent, SWT.NONE);
-		PlatformUI.getWorkbench().getHelpSystem().setHelp(c, IModuleCoreUIContextIds.DEPLOYMENT_ASSEMBLY_PREFERENCE_PAGE_ADD_NEW_REFERENCE_P1);
-		c.setLayout(new GridLayout());
-		viewer = new TreeViewer(c, SWT.SINGLE | SWT.BORDER);
-		viewer.getTree().setLayoutData(new GridData( GridData.FILL_BOTH ));
-		viewer.setLabelProvider(getLabelProvider());
-		viewer.setContentProvider(getContentProvider());
-		viewer.setComparator( new ViewerComparator() );
-		viewer.setInput(ResourcesPlugin.getWorkspace());
-		viewer.addSelectionChangedListener(new ISelectionChangedListener() {
-			public void selectionChanged(SelectionChangedEvent event) {
-				viewerSelectionChanged();
-			}
-		});
-		viewer.addDoubleClickListener(new IDoubleClickListener() {
-			public void doubleClick(DoubleClickEvent event) {
-				advanceToNextPageOrFinish();
-			}
-		});
-		return c;
-	}
-
-	protected void viewerSelectionChanged() {
-		wizard.update();
-	}
-	
-	protected WizardFragment getWizardFragment(String extensionPointID) {
-		try {
-			WizardFragment fragment = fragmentMap.get(extensionPointID);
-			if (fragment != null)
-				return fragment;
-		} catch (Exception e) {
-			// ignore
-		}
-		
-		WizardFragment fragment = DependencyPageExtensionManager.getManager().loadReferenceWizardFragment(extensionPointID);
-		if (fragment != null)
-			fragmentMap.put(extensionPointID, fragment);
-		return fragment;
-	}
-
-	public List getChildFragments() {
-		List<WizardFragment> listImpl = new ArrayList<WizardFragment>();
-		createChildFragments(listImpl);
-		return listImpl;
-	}
-
-	protected void createChildFragments(List<WizardFragment> list) {
-		// Instantiate and add the fragment for the current ID
-		if( viewer != null ) {
-			IStructuredSelection sel = (IStructuredSelection)viewer.getSelection();
-			ReferenceExtension selected = (ReferenceExtension)sel.getFirstElement();
-			if( selected != null ) {
-				WizardFragment child = getWizardFragment(selected.getId());
-				if( child != null )
-					list.add(child);
-			}
-		}
-	}
-
-	public boolean isComplete() {
-		return true;
-	}
-
-	
-	private LabelProvider labelProvider = null;
-	private ITreeContentProvider contentProvider = null;
-	protected LabelProvider getLabelProvider() {
-		if( labelProvider == null ) {
-			labelProvider = new LabelProvider() {
-				public Image getImage(Object element) {
-					if( element instanceof ReferenceExtension)
-						return ((ReferenceExtension)element).getImage();
-					return null;
-				}
-				public String getText(Object element) {
-					if( element instanceof ReferenceExtension)
-						return ((ReferenceExtension)element).getName();
-					return element == null ? "" : element.toString();//$NON-NLS-1$
-				}
-			   public void dispose() {
-			    	super.dispose();
-			    	if( extensions != null ) {
-			    		for( ReferenceExtension ex : extensions )
-			    		{
-			    			ex.disposeImage();
-			    		}
-			    	}
-			    }
-			};
-		}
-		return labelProvider;
-	}
-	
-	protected ITreeContentProvider getContentProvider() {
-		if( contentProvider == null ) {
-			contentProvider = new ITreeContentProvider() {
-				public Object[] getElements(Object inputElement) {
-					return extensions.toArray();
-				}
-				public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
-				}
-				public void dispose() {
-				}
-				public boolean hasChildren(Object element) {
-					return false;
-				}
-				public Object getParent(Object element) {
-					return null;
-				}
-				public Object[] getChildren(Object parentElement) {
-					return null;
-				}
-			};
-		}
-		return contentProvider;
-	}
-	
-}
diff --git a/plugins/org.eclipse.wst.common.modulecore.ui/src/org/eclipse/wst/common/componentcore/ui/internal/propertypage/NewReferenceWizard.java b/plugins/org.eclipse.wst.common.modulecore.ui/src/org/eclipse/wst/common/componentcore/ui/internal/propertypage/NewReferenceWizard.java
deleted file mode 100644
index 1a96473..0000000
--- a/plugins/org.eclipse.wst.common.modulecore.ui/src/org/eclipse/wst/common/componentcore/ui/internal/propertypage/NewReferenceWizard.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2010 Red Hat
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    Rob Stryker - initial implementation and ongoing maintenance
- *    Konstantin Komissarchik - misc. UI cleanup
- ******************************************************************************/
-
-package org.eclipse.wst.common.componentcore.ui.internal.propertypage;
-
-import java.util.List;
-
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.wst.common.componentcore.resources.IVirtualReference;
-import org.eclipse.wst.common.componentcore.ui.Messages;
-import org.eclipse.wst.common.componentcore.ui.internal.propertypage.DependencyPageExtensionManager.ReferenceExtension;
-import org.eclipse.wst.common.componentcore.ui.internal.taskwizard.TaskWizard;
-import org.eclipse.wst.common.componentcore.ui.internal.taskwizard.WizardFragment;
-import org.eclipse.wst.common.componentcore.ui.propertypage.IReferenceWizardConstants;
-
-public class NewReferenceWizard extends TaskWizard implements IReferenceWizardConstants {
-	private static final Object REFERENCE_FAMILY = new Object();
-	public NewReferenceWizard(List<ReferenceExtension> extensions) {
-		super(Messages.NewReferenceWizard, new RootWizardFragment(extensions));
-		setFinishJobFamily(REFERENCE_FAMILY);
-		getRootFragment().setTaskModel(getTaskModel());
-	}
-	protected static class RootWizardFragment extends WizardFragment {
-		private List<ReferenceExtension> extensions = null;
-		public RootWizardFragment(List<ReferenceExtension> extensions) {
-			this.extensions = extensions;
-		}
-
-		protected void createChildFragments(List<WizardFragment> list) {
-			IVirtualReference origRef = (IVirtualReference)getTaskModel().getObject(ORIGINAL_REFERENCE);
-			if( origRef == null )
-				list.add(new NewReferenceRootWizardFragment(extensions));
-			else {
-				WizardFragment fragment = getFirstEditingFragment(origRef);
-				if( fragment != null )
-					list.add(fragment);
-			}
-			if( list.size() == 0 )
-				setComplete(false);
-		}
-	}
-
-	public static WizardFragment getFirstEditingFragment(IVirtualReference reference) {
-		WizardFragment[] frags = DependencyPageExtensionManager.getManager().loadAllReferenceWizardFragments();
-		for( int i = 0; i < frags.length; i++ ) {
-			if( frags[i] instanceof IReferenceEditor ) {
-				if( ((IReferenceEditor)frags[i]).canEdit(reference)) {
-					// accept first one
-					return frags[i];
-				}
-			}
-		}
-		return null;
-	}
-	
-	public void init(IWorkbench newWorkbench, IStructuredSelection newSelection) {
-		// do nothing
-	}
-}
diff --git a/plugins/org.eclipse.wst.common.modulecore.ui/src/org/eclipse/wst/common/componentcore/ui/internal/propertypage/ProjectReferenceWizardFragment.java b/plugins/org.eclipse.wst.common.modulecore.ui/src/org/eclipse/wst/common/componentcore/ui/internal/propertypage/ProjectReferenceWizardFragment.java
deleted file mode 100644
index ff38a4d..0000000
--- a/plugins/org.eclipse.wst.common.modulecore.ui/src/org/eclipse/wst/common/componentcore/ui/internal/propertypage/ProjectReferenceWizardFragment.java
+++ /dev/null
@@ -1,230 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2010 Red Hat and Others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    Rob Stryker - initial implementation and ongoing maintenance
- *    Konstantin Komissarchik - misc. UI cleanup
- ******************************************************************************/
-
-package org.eclipse.wst.common.componentcore.ui.internal.propertypage;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.jface.viewers.DoubleClickEvent;
-import org.eclipse.jface.viewers.IDoubleClickListener;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.ITreeContentProvider;
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.jface.viewers.TreeViewer;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.ide.IDE;
-import org.eclipse.ui.internal.ide.IDEWorkbenchPlugin;
-import org.eclipse.wst.common.componentcore.ComponentCore;
-import org.eclipse.wst.common.componentcore.ModuleCoreNature;
-import org.eclipse.wst.common.componentcore.internal.IModuleHandler;
-import org.eclipse.wst.common.componentcore.internal.resources.VirtualReference;
-import org.eclipse.wst.common.componentcore.resources.IVirtualComponent;
-import org.eclipse.wst.common.componentcore.resources.IVirtualReference;
-import org.eclipse.wst.common.componentcore.ui.IModuleCoreUIContextIds;
-import org.eclipse.wst.common.componentcore.ui.Messages;
-import org.eclipse.wst.common.componentcore.ui.ModuleCoreUIPlugin;
-import org.eclipse.wst.common.componentcore.ui.internal.taskwizard.IWizardHandle;
-import org.eclipse.wst.common.componentcore.ui.internal.taskwizard.TaskWizardPage;
-import org.eclipse.wst.common.componentcore.ui.internal.taskwizard.WizardFragment;
-import org.eclipse.wst.common.componentcore.ui.propertypage.IReferenceWizardConstants;
-import org.eclipse.wst.common.componentcore.ui.propertypage.IReferenceWizardConstants.ProjectConverterOperationProvider;
-import org.eclipse.wst.common.frameworks.datamodel.IDataModelOperation;
-import org.eclipse.wst.common.project.facet.core.ProjectFacetsManager;
-
-public class ProjectReferenceWizardFragment extends WizardFragment {
-	protected LabelProvider labelProvider = null;
-	protected ITreeContentProvider contentProvider = null;
-	protected TreeViewer viewer;
-	protected IProject[] selected;
-	
-	public ProjectReferenceWizardFragment() {
-		super();
-		setComplete(false);
-	}
-	public boolean hasComposite() {
-		return true;
-	}
-
-	public Composite createComposite(Composite parent, IWizardHandle handle) {
-		handle.setTitle(Messages.ProjectReferenceTitle);
-		handle.setDescription(Messages.ProjectReferenceDescription);
-		handle.setImageDescriptor(IDEWorkbenchPlugin.getIDEImageDescriptor("wizban/newprj_wiz.png"));
-		
-		Composite c = new Composite(parent, SWT.NONE);
-		c.setLayout(new GridLayout());
-		PlatformUI.getWorkbench().getHelpSystem().setHelp(c, IModuleCoreUIContextIds.DEPLOYMENT_ASSEMBLY_PREFERENCE_PAGE_ADD_NEW_PROJECT_REFERENCE_P1);
-		viewer = new TreeViewer(c, SWT.MULTI | SWT.BORDER);
-		viewer.setContentProvider(getContentProvider());
-		viewer.setLabelProvider(getLabelProvider());
-		viewer.addSelectionChangedListener(new ISelectionChangedListener() {
-			public void selectionChanged(SelectionChangedEvent event) {
-				selChanged();
-			}
-		});
-		viewer.addDoubleClickListener(new IDoubleClickListener() {
-			public void doubleClick(DoubleClickEvent event) {
-				advanceToNextPageOrFinish();
-			}
-		});
-		viewer.setInput(ResourcesPlugin.getWorkspace());
-		GridData data = new GridData(GridData.FILL_BOTH);
-		data.widthHint = 390;
-		data.heightHint = 185;
-		viewer.getTree().setLayoutData(data);
-		return c;
-	}
-	
-	protected void selChanged() {
-		if( viewer != null ) {
-			IStructuredSelection sel = (IStructuredSelection)viewer.getSelection();
-			if( sel != null ) {
-				List selectionList = sel.toList();
-				selected = (IProject[])selectionList.toArray(new IProject[selectionList.size()]);
-				if (selected.length != 0) setComplete(true);
-				else setComplete(false);
-			} else setComplete(false);
-		}
-		((TaskWizardPage)getPage()).update();
-	}
-	
-	public void performFinish(IProgressMonitor monitor) throws CoreException {
-		VirtualReference[] refs = new VirtualReference[selected.length];
-		String runtimeLoc = (String) getTaskModel().getObject(IReferenceWizardConstants.DEFAULT_LIBRARY_LOCATION);
-		ProjectConverterOperationProvider converter = (ProjectConverterOperationProvider)getTaskModel().getObject(IReferenceWizardConstants.PROJECT_CONVERTER_OPERATION_PROVIDER);
-		runtimeLoc = runtimeLoc != null ? runtimeLoc : "/"; //$NON-NLS-1$
-		for (int i = 0; i < selected.length; i++) {
-			IProject proj = selected[i];
-			
-			if( !ModuleCoreNature.isFlexibleProject(proj)) {
-				convertProject(selected[i], converter, monitor);
-			}
-			String path = null;
-			refs[i] = new VirtualReference(
-					(IVirtualComponent)getTaskModel().getObject(IReferenceWizardConstants.ROOT_COMPONENT), 
-					ComponentCore.createComponent(proj, false));
-			refs[i].setArchiveName(new Path(getArchiveName(proj, refs[i].getReferencedComponent())).lastSegment());
-			refs[i].setRuntimePath(new Path(runtimeLoc).makeAbsolute());
-		}
-		getTaskModel().putObject(IReferenceWizardConstants.FINAL_REFERENCE, refs);
-	}
-
-	protected void convertProject(IProject proj, ProjectConverterOperationProvider converter, IProgressMonitor monitor) {
-		if( converter != null ) {
-			IDataModelOperation operation = converter.getConversionOperation(proj);
-			if( operation != null ) {
-				try {
-					operation.execute(monitor, null);
-					return;
-				} catch( ExecutionException ee ) {
-					ModuleCoreUIPlugin.log(NLS.bind(Messages.ProjectConversionError, proj.getName()), ee);
-				}
-			}
-		} 
-		try {
-			if( !ModuleCoreNature.isFlexibleProject(proj)) {
-				ModuleCoreNature.addModuleCoreNatureIfNecessary(proj, monitor);
-				ProjectFacetsManager.create(proj, true, monitor);
-			}
-		} catch( CoreException ce) {
-			ModuleCoreUIPlugin.log(NLS.bind(Messages.ProjectConversionError, proj.getName()), ce);
-		}
-	}
-	
-	protected String getArchiveName(IProject proj, IVirtualComponent comp) {
-		return getModuleHandler().getArchiveName(proj,comp);
-	}
-
-	
-	protected IModuleHandler getModuleHandler() {
-		return (IModuleHandler)getTaskModel().getObject(IReferenceWizardConstants.MODULEHANDLER);
-	}
-
-	protected LabelProvider getLabelProvider() {
-		if( labelProvider == null ) {
-			labelProvider = new LabelProvider() {
-				public Image getImage(Object element) {
-					return PlatformUI.getWorkbench().getSharedImages().getImage(IDE.SharedImages.IMG_OBJ_PROJECT);
-				}
-				public String getText(Object element) {
-					if( element instanceof IProject )
-						return ((IProject)element).getName();
-					return element == null ? "" : element.toString();//$NON-NLS-1$
-				}
-			};
-		}
-		return labelProvider;
-	}
-	
-	protected ITreeContentProvider getContentProvider() {
-		if( contentProvider == null ) {
-			contentProvider = new ITreeContentProvider() {
-				public Object[] getElements(Object inputElement) {
-					IProject root = (IProject)getTaskModel().getObject(IReferenceWizardConstants.PROJECT);
-					IProject[] projects = ResourcesPlugin.getWorkspace().getRoot().getProjects();
-					ArrayList<IVirtualReference> currentRefs = (ArrayList<IVirtualReference>)getTaskModel().getObject(IReferenceWizardConstants.CURRENT_REFS);
-					ArrayList<IProject> availableList = getAvailableProjects(projects,currentRefs);
-					IVirtualComponent comp = (IVirtualComponent)getTaskModel().getObject(IReferenceWizardConstants.ROOT_COMPONENT);
-					List filtered = getModuleHandler().getFilteredProjectListForAdd(comp, availableList);
-					return filtered.toArray(new IProject[filtered.size()]);
-				}
-				private ArrayList<IProject> getAvailableProjects(IProject[] projects, ArrayList<IVirtualReference> currentRefs) {
-					if (currentRefs.isEmpty())
-						return new ArrayList<IProject>(Arrays.asList(projects));
-					ArrayList availProjects = new ArrayList();
-					for (int i = 0; i < projects.length; i++) {
-						IProject proj = projects[i];
-						boolean matches = false;
-						for (int j = 0; j < currentRefs.size() && !matches; j++) {
-							IVirtualReference ref = currentRefs.get(j);
-							if ((ref.getReferencedComponent().getProject().equals(proj)) || availProjects.contains(proj))
-								matches = true;
-						}
-						if( !matches )
-							availProjects.add(proj);
-					}
-					return availProjects;
-				}
-				public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
-				}
-				public void dispose() {
-				}
-				public boolean hasChildren(Object element) {
-					return false;
-				}
-				public Object getParent(Object element) {
-					return null;
-				}
-				public Object[] getChildren(Object parentElement) {
-					return null;
-				}
-			};
-		}
-		return contentProvider;
-	}
-}
diff --git a/plugins/org.eclipse.wst.common.modulecore.ui/src/org/eclipse/wst/common/componentcore/ui/internal/propertypage/ResourceMappingFilterExtensionRegistry.java b/plugins/org.eclipse.wst.common.modulecore.ui/src/org/eclipse/wst/common/componentcore/ui/internal/propertypage/ResourceMappingFilterExtensionRegistry.java
deleted file mode 100644
index 9f4c316..0000000
--- a/plugins/org.eclipse.wst.common.modulecore.ui/src/org/eclipse/wst/common/componentcore/ui/internal/propertypage/ResourceMappingFilterExtensionRegistry.java
+++ /dev/null
@@ -1,107 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.common.componentcore.ui.internal.propertypage;
-
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-import java.util.regex.PatternSyntaxException;
-
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.wst.common.componentcore.ui.ModuleCoreUIPlugin;
-import org.eclipse.wst.common.core.util.RegistryReader;
-
-public class ResourceMappingFilterExtensionRegistry extends RegistryReader {
-	
-	static final String EXTENSION_NAME = "resourceMappingFilter"; //$NON-NLS-1$
-	static final String RESOURCE_MAPPING = "resourceMapping"; //$NON-NLS-1$
-	static final String SOURCE_PATH = "source-path"; //$NON-NLS-1$	
-	private static ResourceMappingFilterExtensionRegistry instance = null;
-	private static HashMap<String, Pattern> resourceMappingFilters = null;
-	
-	
-	public ResourceMappingFilterExtensionRegistry() {
-		super(ModuleCoreUIPlugin.PLUGIN_ID, EXTENSION_NAME);
-	}
-	
-	public static ResourceMappingFilterExtensionRegistry getInstance() {
-		if( instance == null ) {
-			instance = new ResourceMappingFilterExtensionRegistry();
-			instance.readRegistry();
-		}
-		return instance;
-	}
-
-	@Override
-	public boolean readElement(IConfigurationElement element) {
-		if (!element.getName().equals(RESOURCE_MAPPING))
-			return false;
-		String sourcePath = element.getAttribute(SOURCE_PATH);
-		if(sourcePath != null)
-			addResourceMappingFilter(sourcePath);
-		return true;
-	}
-
-
-	private static void addResourceMappingFilter(String filterRegExp) {
-		if(resourceMappingFilters == null)
-			resourceMappingFilters = new HashMap<String, Pattern>();
-		if(filterRegExp != null) {
-			try {
-				Pattern pattern = Pattern.compile(filterRegExp);
-				resourceMappingFilters.put(filterRegExp, pattern);
-			} catch(PatternSyntaxException e) {
-				ModuleCoreUIPlugin.logError(e);
-			}
-		}
-	}
-	
-	
-	
-	public static boolean shouldFilter(IPath path) {
-		ResourceMappingFilterExtensionRegistry.getInstance();
-		if(path != null) {
-			String relativePath = path.makeRelative().toString();
-			for(Iterator iterator = resourceMappingFilters.values().iterator(); iterator.hasNext();) {
-				Pattern pattern = (Pattern) iterator.next();
-				Matcher matcher = pattern.matcher(relativePath);
-				if (matcher.matches()) {
-					return true;
-				} else {
-					Pattern childrenPattern = Pattern.compile(pattern.pattern()+"/.*"); //$NON-NLS-1$
-					matcher = childrenPattern.matcher(relativePath);
-					if (matcher.matches()) {
-						return true;
-					} 
-				}
-			}
-		}
-		return false;
-	}
-	
-	public static boolean shouldFilter(String path) {
-		if(path != null) {
-			return shouldFilter(new Path(path));
-		}
-		return false;
-	}
-	
-	public static String[] getResourceMappingFiltersRegularExpressions() {
-		return resourceMappingFilters.keySet().toArray(new String[resourceMappingFilters.keySet().size()]);
-	}
-	
-	public static Pattern[] getResourceMappingFiltersRelativePatterns() {
-		return resourceMappingFilters.values().toArray(new Pattern[resourceMappingFilters.values().size()]);
-	}
-}
diff --git a/plugins/org.eclipse.wst.common.modulecore.ui/src/org/eclipse/wst/common/componentcore/ui/internal/propertypage/verifier/AbstractDeploymentAssemblyVerifier.java b/plugins/org.eclipse.wst.common.modulecore.ui/src/org/eclipse/wst/common/componentcore/ui/internal/propertypage/verifier/AbstractDeploymentAssemblyVerifier.java
deleted file mode 100644
index 7cc4832..0000000
--- a/plugins/org.eclipse.wst.common.modulecore.ui/src/org/eclipse/wst/common/componentcore/ui/internal/propertypage/verifier/AbstractDeploymentAssemblyVerifier.java
+++ /dev/null
@@ -1,23 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.common.componentcore.ui.internal.propertypage.verifier;
-
-import org.eclipse.core.runtime.IStatus;
-
-/**
- * All extenders of AbstractDeploymentAssemblyVerifier must implement the verify methods to perform any verification on the deployment assembly wizard page
- *
- */
-public abstract class AbstractDeploymentAssemblyVerifier implements IDeploymentAssemblyVerifier {
-
-	public abstract IStatus verify(DeploymentAssemblyVerifierData data);
-
-}
diff --git a/plugins/org.eclipse.wst.common.modulecore.ui/src/org/eclipse/wst/common/componentcore/ui/internal/propertypage/verifier/DefaultDeploymentAssemblyVerifier.java b/plugins/org.eclipse.wst.common.modulecore.ui/src/org/eclipse/wst/common/componentcore/ui/internal/propertypage/verifier/DefaultDeploymentAssemblyVerifier.java
deleted file mode 100644
index e433b25..0000000
--- a/plugins/org.eclipse.wst.common.modulecore.ui/src/org/eclipse/wst/common/componentcore/ui/internal/propertypage/verifier/DefaultDeploymentAssemblyVerifier.java
+++ /dev/null
@@ -1,111 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011, 2012 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-
-package org.eclipse.wst.common.componentcore.ui.internal.propertypage.verifier;
-
-import java.util.ArrayList;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.MultiStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.wst.common.componentcore.ui.Messages;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.wst.common.componentcore.resources.IVirtualComponent;
-import org.eclipse.wst.common.componentcore.resources.IVirtualReference;
-import org.eclipse.wst.common.componentcore.ui.ModuleCoreUIPlugin;
-import org.eclipse.wst.common.componentcore.ui.internal.propertypage.ResourceMappingFilterExtensionRegistry;
-import org.eclipse.wst.common.componentcore.ui.propertypage.AddModuleDependenciesPropertiesPage.ComponentResourceProxy;
-
-/**
- * This class does basic validation of the deployment assembly. It validates that 
- * references to other components like projects and archives exists. It also validates that
- * folder mappings exists in the project.  
- * 
- */
-
-public class DefaultDeploymentAssemblyVerifier extends AbstractDeploymentAssemblyVerifier {
-
-	@Override
-	public IStatus verify(DeploymentAssemblyVerifierData data) {
-		IStatus status = validateResourceMappings(data, null);
-		return validateMissingReferences(data, status);
-	}
-	
-	
-	protected IStatus validateResourceMappings(DeploymentAssemblyVerifierData data, IStatus existingStatus){
-		IStatus status = existingStatus!=null?existingStatus:Status.OK_STATUS;
-		ArrayList<ComponentResourceProxy> mappings = data.getResourceMappings();
-		if (mappings == null)
-			return status;		
-		int severity = Status.WARNING;
-		String msg = null;
-		IProject project = data.getComponent().getProject();
-		for (ComponentResourceProxy mapping:mappings){
-			if (ResourceMappingFilterExtensionRegistry.shouldFilter(mapping.source))
-				continue;  // Do not validate filtered entries
-			if (!project.exists(mapping.source)){
-				msg = NLS.bind(Messages.ErrorEntryNotFound, mapping.source); 
-				status = appendStatusMessage(status, msg, severity);
-			}
-		}
-		return status;
-		
-	}
-	
-	protected IStatus validateMissingReferences(DeploymentAssemblyVerifierData data, IStatus existingStatus) {
-		IStatus status = existingStatus!=null?existingStatus:Status.OK_STATUS;
-		ArrayList<IVirtualReference> references = data.getCurrentReferences();
-		if (references == null){
-			return status;
-		}
-		int severity = Status.WARNING;
-		String msg = null;
-		for (IVirtualReference reference:references){
-			if (!reference.getReferencedComponent().exists()){
-				String name;
-				if( reference.getReferencedComponent().isBinary() ) {
-					IVirtualComponent vc = reference.getReferencedComponent();
-					IPath p = (IPath)vc.getAdapter(IPath.class);
-					name= p == null ? vc.getName() : p.toString();
-				}
-				else {
-					name = reference.getReferencedComponent().getProject().getName();
-				}
-				msg = NLS.bind(Messages.ErrorEntryNotFound, name); 
-				status = appendStatusMessage(status, msg, severity);
-			}
-		}
-		return status;		
-	}
-	
-	private IStatus appendStatusMessage(IStatus existingStatus, String message, int severity) {
-        MultiStatus multiStatus;
-        IStatus newStatus = new Status(severity, ModuleCoreUIPlugin.PLUGIN_ID, message);
-		int newSeverity = severity;
-		if(existingStatus.getSeverity() > severity)
-			newSeverity = existingStatus.getSeverity();
-        if(existingStatus instanceof MultiStatus){
-            multiStatus = (MultiStatus)existingStatus;
-            multiStatus.merge(newStatus);
-        } else {
-        	if(!existingStatus.isMultiStatus() && existingStatus.isOK()) {
-        		return newStatus;
-        	}
-            IStatus [] children = new IStatus [] {existingStatus, newStatus};
-            multiStatus = new MultiStatus(ModuleCoreUIPlugin.PLUGIN_ID, newSeverity, children, null, null);
-        }
-        return multiStatus;
-    }
-
-}
diff --git a/plugins/org.eclipse.wst.common.modulecore.ui/src/org/eclipse/wst/common/componentcore/ui/internal/propertypage/verifier/DeploymentAssemblyVerifierData.java b/plugins/org.eclipse.wst.common.modulecore.ui/src/org/eclipse/wst/common/componentcore/ui/internal/propertypage/verifier/DeploymentAssemblyVerifierData.java
deleted file mode 100644
index c183835..0000000
--- a/plugins/org.eclipse.wst.common.modulecore.ui/src/org/eclipse/wst/common/componentcore/ui/internal/propertypage/verifier/DeploymentAssemblyVerifierData.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.common.componentcore.ui.internal.propertypage.verifier;
-
-import java.util.ArrayList;
-
-import org.eclipse.wst.common.componentcore.resources.IVirtualComponent;
-import org.eclipse.wst.common.componentcore.resources.IVirtualReference;
-import org.eclipse.wst.common.componentcore.ui.propertypage.AddModuleDependenciesPropertiesPage.ComponentResourceProxy;
-import org.eclipse.wst.server.core.IRuntime;
-
-public class DeploymentAssemblyVerifierData {
-	
-	public DeploymentAssemblyVerifierData(IVirtualComponent component, IRuntime runtime, ArrayList<IVirtualReference> currentReferences,
-			ArrayList<ComponentResourceProxy> resourceMappings, boolean resourceMappingsChanged) {
-		super();
-		this.component = component;
-		this.runtime = runtime;
-		this.currentReferences = currentReferences;
-		this.resourceMappings = resourceMappings;
-		this.resourceMappingsChanged = resourceMappingsChanged;
-	}
-	private IVirtualComponent component;
-	private IRuntime runtime;
-	private ArrayList<IVirtualReference> currentReferences;
-	private ArrayList<ComponentResourceProxy> resourceMappings;
-	private boolean resourceMappingsChanged;
-	public IVirtualComponent getComponent() {
-		return component;
-	}
-	public void setComponent(IVirtualComponent component) {
-		this.component = component;
-	}
-	public IRuntime getRuntime() {
-		return runtime;
-	}
-	public void setRuntime(IRuntime runtime) {
-		this.runtime = runtime;
-	}
-	public ArrayList<IVirtualReference> getCurrentReferences() {
-		return currentReferences;
-	}
-	public void setCurrentReferences(ArrayList<IVirtualReference> currentReferences) {
-		this.currentReferences = currentReferences;
-	}
-	public ArrayList<ComponentResourceProxy> getResourceMappings() {
-		return resourceMappings;
-	}
-	public void setResourceMappings(ArrayList<ComponentResourceProxy> resourceMappings) {
-		this.resourceMappings = resourceMappings;
-	}
-	public boolean isResourceMappingsChanged() {
-		return resourceMappingsChanged;
-	}
-	public void setResourceMappingsChanged(boolean resourceMappingsChanged) {
-		this.resourceMappingsChanged = resourceMappingsChanged;
-	}
-
-}
diff --git a/plugins/org.eclipse.wst.common.modulecore.ui/src/org/eclipse/wst/common/componentcore/ui/internal/propertypage/verifier/DeploymentAssemblyVerifierHelper.java b/plugins/org.eclipse.wst.common.modulecore.ui/src/org/eclipse/wst/common/componentcore/ui/internal/propertypage/verifier/DeploymentAssemblyVerifierHelper.java
deleted file mode 100644
index aa1b6cd..0000000
--- a/plugins/org.eclipse.wst.common.modulecore.ui/src/org/eclipse/wst/common/componentcore/ui/internal/propertypage/verifier/DeploymentAssemblyVerifierHelper.java
+++ /dev/null
@@ -1,99 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.common.componentcore.ui.internal.propertypage.verifier;
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Set;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.MultiStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.wst.common.componentcore.resources.IVirtualComponent;
-import org.eclipse.wst.common.componentcore.resources.IVirtualReference;
-import org.eclipse.wst.common.componentcore.ui.Messages;
-import org.eclipse.wst.common.componentcore.ui.ModuleCoreUIPlugin;
-import org.eclipse.wst.common.componentcore.ui.propertypage.AddModuleDependenciesPropertiesPage.ComponentResourceProxy;
-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.server.core.IRuntime;
-
-public class DeploymentAssemblyVerifierHelper {
-	
-	
-	/**
-	 * This method will use the facet framework to find all registered verifiers based on installed facets and runtimes.
-	 * All the verifiers will have an opportunity to verify and return status on the proposed component mappings
-	 * @param component
-	 * @param runtime
-	 * @param resourceMappingsChanged 
-	 * @param resourceMappings 
-	 * @param currentReferences 
-	 * @return IStatus
-	 */
-	public static IStatus verify(IVirtualComponent component,IRuntime runtime, ArrayList<IVirtualReference> currentReferences, ArrayList<ComponentResourceProxy> resourceMappings, boolean resourceMappingsChanged) {
-		IProject project = component.getProject();
-		
-		List verifiers = collectAllVerifiers(project,runtime);
-		if (verifiers.isEmpty()) return Status.OK_STATUS;
-		MultiStatus masterStatus = new MultiStatus(ModuleCoreUIPlugin.PLUGIN_ID, IStatus.OK, Messages.DeploymentAssemblyVerifierHelper_0,null); 
-		
-		for (int i = 0; i < verifiers.size(); i++) {
-			if (!(verifiers.get(i) instanceof IConfigurationElement))
-				continue;
-			IDeploymentAssemblyVerifier verifier = null;
-			try {
-				verifier = (IDeploymentAssemblyVerifier) ((IConfigurationElement) verifiers.get(i)).createExecutableExtension(VerifierRegistryReader.VERIFIER_CLASS);
-				DeploymentAssemblyVerifierData data = new DeploymentAssemblyVerifierData(component, runtime,currentReferences,resourceMappings,resourceMappingsChanged);
-				IStatus verifyStatus = verifier.verify(data);
-				if(verifyStatus != null && verifyStatus.isMultiStatus()) {
-					masterStatus.addAll(verifyStatus);
-				} else {
-					masterStatus.add(verifyStatus);
-				}
-			} catch (Exception e) {
-				ModuleCoreUIPlugin.log(e);
-				continue;
-			}
-			
-		}
-		return masterStatus;
-	}
-
-	/**
-	 * @param project
-	 * @param runtime
-	 * @return all verifiers by iterating through projects installed facets, and querying the registry
-	 */
-	public static List collectAllVerifiers(IProject project, IRuntime runtime) {
-		IFacetedProject fProj = null;
-		try {
-			fProj = ProjectFacetsManager.create(project);
-		} catch (CoreException e) {
-			ModuleCoreUIPlugin.log(e);
-			return Collections.EMPTY_LIST;
-		}
-		Set<IProjectFacetVersion> facets = fProj.getProjectFacets();
-		List verifiers = new ArrayList();
-		for (Iterator iterator = facets.iterator(); iterator.hasNext();) {
-			IProjectFacetVersion facet = (IProjectFacetVersion)iterator.next();
-			verifiers.addAll(VerifierRegistry.instance().getVerifierExtensions(facet.getProjectFacet().getId(), runtime));	
-		}
-		return verifiers;
-	}
-	
-}
diff --git a/plugins/org.eclipse.wst.common.modulecore.ui/src/org/eclipse/wst/common/componentcore/ui/internal/propertypage/verifier/IDeploymentAssemblyVerifier.java b/plugins/org.eclipse.wst.common.modulecore.ui/src/org/eclipse/wst/common/componentcore/ui/internal/propertypage/verifier/IDeploymentAssemblyVerifier.java
deleted file mode 100644
index a3576b9..0000000
--- a/plugins/org.eclipse.wst.common.modulecore.ui/src/org/eclipse/wst/common/componentcore/ui/internal/propertypage/verifier/IDeploymentAssemblyVerifier.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.common.componentcore.ui.internal.propertypage.verifier;
-
-import org.eclipse.core.runtime.IStatus;
-
-/**
- * This interface is used to allow verifications from extending plugins registered by runtime targets and component type
- * This interface in NOT meant to be implemented, but instead extend the abstract class AbstractDeploymentAssemblyVerifier
- *
- */
-public interface IDeploymentAssemblyVerifier {
-	/**
-	 * Validate the current state of the component resource and reference mappings
-	 * 
-	 * @param data - All of the relevant dialog properties/values is sent via a DeploymentAssemblyVerifierData object
-	 * @return IStatus indicating OK, Warning , or Error.  Warning text will display in the wizard dialog, but not prevent completion. 
-	 * Error status will prevent completion
-	 */
-	IStatus verify(DeploymentAssemblyVerifierData data);
-
-}
diff --git a/plugins/org.eclipse.wst.common.modulecore.ui/src/org/eclipse/wst/common/componentcore/ui/internal/propertypage/verifier/VerifierRegistry.java b/plugins/org.eclipse.wst.common.modulecore.ui/src/org/eclipse/wst/common/componentcore/ui/internal/propertypage/verifier/VerifierRegistry.java
deleted file mode 100644
index ba74ba0..0000000
--- a/plugins/org.eclipse.wst.common.modulecore.ui/src/org/eclipse/wst/common/componentcore/ui/internal/propertypage/verifier/VerifierRegistry.java
+++ /dev/null
@@ -1,127 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010, 2011 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.wst.common.componentcore.ui.internal.propertypage.verifier;
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.wst.server.core.IRuntime;
-
-public class VerifierRegistry {
-	/**
-	 *  
-	 */
-	private static VerifierRegistry INSTANCE;
-	private HashMap assemblyVerifierExtensions = new HashMap();
-
-	public VerifierRegistry() {
-		super();
-	}
-
-	/**
-	 * @param verifier
-	 * @param serverTargets
-	 * @param components
-	 */
-	protected void register(IConfigurationElement verifier, List serverTargets, List components) {
-		HashMap targetVerifiers;
-		for (Iterator iter = components.iterator(); iter.hasNext();) {
-			String compID = (String) iter.next();
-			for (Iterator iterator = serverTargets.iterator(); iterator.hasNext();) {
-				String runtimeID = (String) iterator.next();
-				targetVerifiers = getVerifierExtensions(compID);
-				getTargetVerifiers(targetVerifiers, runtimeID).add(verifier);
-			}
-		}
-	}
-
-	private List getVerifiers(String compID, String serverTarget) {
-		HashMap targetVerifiers = getVerifierExtensions(compID);
-		return getTargetVerifiers(targetVerifiers, serverTarget);
-	}
-
-	protected static VerifierRegistry instance() {
-		if (INSTANCE == null) {
-			INSTANCE = new VerifierRegistry();
-			readRegistry();
-		}
-		return INSTANCE;
-	}
-
-	/**
-	 *  
-	 */
-	private static void readRegistry() {
-		VerifierRegistryReader reader = new VerifierRegistryReader();
-		reader.readRegistry();
-	}
-
-	/**
-	 * @param targetVerifiers
-	 * @param serverTarget
-	 */
-	private List getTargetVerifiers(HashMap targetVerifiers, String serverTarget) {
-		if (targetVerifiers.get(serverTarget) == null)
-			targetVerifiers.put(serverTarget, new ArrayList());
-		return (List) targetVerifiers.get(serverTarget);
-	}
-
-	/**
-	 * @param compID
-	 * @return
-	 */
-	private HashMap getVerifierExtensions(String compID) {
-		if (getVerifierExtensions().get(compID) == null)
-			getVerifierExtensions().put(compID, new HashMap());
-		return (HashMap) getVerifierExtensions().get(compID);
-	}
-
-	/**
-	 * @return Returns the verifierExtensions.
-	 */
-	private HashMap getVerifierExtensions() {
-		return assemblyVerifierExtensions;
-	}
-
-	/**
-	 * @param facetTypeID
-	 * @param runtime
-	 * @return List of IConfigurationElements representing instances of IDeploymentAssemblyVerifier
-	 */
-	public List getVerifierExtensions(String facetTypeID, IRuntime runtime) {
-		// Identifier used by verifiers that will run for any runtime
-		String allRuntimes = "org.eclipse.wst.common.modulecore.ui.deploymentAssemblyVerifier.anyruntime"; //$NON-NLS-1$
-		String runtimeID = null;
-		if (runtime == null)
-			runtimeID = "None"; //$NON-NLS-1$
-		else
-			runtimeID = runtime.getRuntimeType().getId();
-		// Get the verifiers specific for the target runtime
-		List verifiers = getVerifiers(facetTypeID, runtimeID);		
-		if (verifiers == null)
-			verifiers = Collections.EMPTY_LIST;
-		// Get the verifiers for any runtime
-		List genericVerifiers = getVerifiers(facetTypeID, allRuntimes);
-		if (genericVerifiers == null)
-			genericVerifiers = Collections.EMPTY_LIST;
-		// Merge both verifiers into one list and return
-		List result = new ArrayList(verifiers);
-		result.addAll(genericVerifiers);
-		return result;
-	}
-
-
-}
diff --git a/plugins/org.eclipse.wst.common.modulecore.ui/src/org/eclipse/wst/common/componentcore/ui/internal/propertypage/verifier/VerifierRegistryReader.java b/plugins/org.eclipse.wst.common.modulecore.ui/src/org/eclipse/wst/common/componentcore/ui/internal/propertypage/verifier/VerifierRegistryReader.java
deleted file mode 100644
index 0a454d3..0000000
--- a/plugins/org.eclipse.wst.common.modulecore.ui/src/org/eclipse/wst/common/componentcore/ui/internal/propertypage/verifier/VerifierRegistryReader.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.wst.common.componentcore.ui.internal.propertypage.verifier;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.wst.common.componentcore.ui.ModuleCoreUIPlugin;
-import org.eclipse.wst.common.core.util.RegistryReader;
-
-
-public class VerifierRegistryReader extends RegistryReader {
-	/**
-	 * @param registry
-	 * @param plugin
-	 * @param extensionPoint
-	 */
-	static final String ASSEMBLY_VERIFIER_EXTENSION_POINT = "deploymentAssemblyVerifier"; //$NON-NLS-1$
-	static final String TARGET_SERVER_RUNTIME_ID = "runtime_server_id"; //$NON-NLS-1$
-	static final String RUNTIME = "runtime"; //$NON-NLS-1$
-	static final String VERIFIER = "verifier"; //$NON-NLS-1$
-	public static final String VERIFIER_CLASS = "class"; //$NON-NLS-1$
-	static final String COMPONENT_TYPE_ID = "component_type"; //$NON-NLS-1$
-	static final String COMPONENT = "component"; //$NON-NLS-1$
-
-	public VerifierRegistryReader() {
-		super(ModuleCoreUIPlugin.PLUGIN_ID, ASSEMBLY_VERIFIER_EXTENSION_POINT);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.common.frameworks.internal.RegistryReader#readElement(org.eclipse.core.runtime.IConfigurationElement)
-	 */
-	@Override
-	public boolean readElement(IConfigurationElement element) {
-		if (!element.getName().equals(VERIFIER))
-			return false;
-		List runtimeList = new ArrayList();
-		List comps = new ArrayList();
-		IConfigurationElement[] runtimes = element.getChildren(RUNTIME);
-		for (int i = 0; i < runtimes.length; i++) {
-			IConfigurationElement runtime = runtimes[i];
-			String serverTarget = runtime.getAttribute(TARGET_SERVER_RUNTIME_ID);
-			runtimeList.add(serverTarget);
-		}
-		IConfigurationElement[] components = element.getChildren(COMPONENT);
-		for (int i = 0; i < components.length; i++) {
-			IConfigurationElement component = components[i];
-			String compType = component.getAttribute(COMPONENT_TYPE_ID);
-			comps.add(compType);
-		}
-
-		String deployer = element.getAttribute(VERIFIER_CLASS);
-		if (deployer != null) {
-			VerifierRegistry.instance().register(element, runtimeList, comps);
-			return true;
-		}
-		return false;
-	}
-
-}
diff --git a/plugins/org.eclipse.wst.common.modulecore.ui/src/org/eclipse/wst/common/componentcore/ui/internal/taskwizard/IWizardHandle.java b/plugins/org.eclipse.wst.common.modulecore.ui/src/org/eclipse/wst/common/componentcore/ui/internal/taskwizard/IWizardHandle.java
deleted file mode 100644
index 58f763d..0000000
--- a/plugins/org.eclipse.wst.common.modulecore.ui/src/org/eclipse/wst/common/componentcore/ui/internal/taskwizard/IWizardHandle.java
+++ /dev/null
@@ -1,71 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.common.componentcore.ui.internal.taskwizard;
-
-import java.lang.reflect.InvocationTargetException;
-
-import org.eclipse.jface.dialogs.IMessageProvider;
-import org.eclipse.jface.operation.IRunnableWithProgress;
-import org.eclipse.jface.resource.ImageDescriptor;
-/**
- * A wizard handle.
- * 
- * @since 1.0
- */
-public interface IWizardHandle extends IMessageProvider {
-	/**
-	 * Updates the wizard error messages and buttons.
-	 */
-	public void update();
-
-	/**
-	 * Sets the title of this wizard page.
-	 *  
-	 * @param title the title of the wizard page
-	 */
-	public void setTitle(String title);
-
-	/**
-	 * The page's description.
-	 * 
-	 * @param desc the page's description
-	 */
-	public void setDescription(String desc);
-
-	/**
-	 * The page's image descriptor.
-	 * 
-	 * @param image the page's image descriptor
-	 */
-	public void setImageDescriptor(ImageDescriptor image);
-
-	/**
-	 * Set an error or warning message.
-	 * 
-	 * @param newMessage the new message
-	 * @param newType the new type, from IStatus
-	 */
-	public void setMessage(String newMessage, int newType);
-
-	/**
-	 * Execute a runnable within the context of the wizard. This will typically
-	 * disable the wizard while the runnable is running, and provide a progress
-	 * monitor for the user.  
-	 * 
-	 * @param fork true if a separate thread should be used
-	 * @param cancelable true if it should be cancelable
-	 * @param runnable the runnable
-	 * @throws InterruptedException thrown if it is interrupted
-	 * @throws InvocationTargetException thrown if there is an error
-	 */
-	public void run(boolean fork, boolean cancelable, IRunnableWithProgress runnable) throws InterruptedException, InvocationTargetException;
-	
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.modulecore.ui/src/org/eclipse/wst/common/componentcore/ui/internal/taskwizard/TaskWizard.java b/plugins/org.eclipse.wst.common.modulecore.ui/src/org/eclipse/wst/common/componentcore/ui/internal/taskwizard/TaskWizard.java
deleted file mode 100644
index 78a2410..0000000
--- a/plugins/org.eclipse.wst.common.modulecore.ui/src/org/eclipse/wst/common/componentcore/ui/internal/taskwizard/TaskWizard.java
+++ /dev/null
@@ -1,587 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.common.componentcore.ui.internal.taskwizard;
-
-import java.lang.reflect.InvocationTargetException;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.core.resources.IWorkspaceRunnable;
-import org.eclipse.core.runtime.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.core.runtime.jobs.Job;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.jface.dialogs.IDialogSettings;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.operation.IRunnableWithProgress;
-import org.eclipse.jface.wizard.IWizard;
-import org.eclipse.jface.wizard.IWizardContainer;
-import org.eclipse.jface.wizard.IWizardPage;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.graphics.RGB;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.wst.common.componentcore.internal.impl.TaskModel;
-import org.eclipse.wst.common.componentcore.ui.Messages;
-import org.eclipse.wst.common.componentcore.ui.ModuleCoreUIPlugin;
-import org.eclipse.wst.common.componentcore.ui.Trace;
-
-
-
-/**
- * A wizard used to execute tasks.
- */
-public class TaskWizard implements IWizard {
-	private static final byte FINISH = 2;
-	private static final byte CANCEL = 3;
-
-	private List<IWizardPage> pages;
-	private boolean addingPages;
-	private Map<WizardFragment, TaskWizardPage> fragmentData = new HashMap<WizardFragment, TaskWizardPage>();
-	protected TaskModel taskModel;
-	
-	private IWizardContainer container = null;
-	
-	private boolean needsProgressMonitor = false;
-	
-	private boolean forcePreviousAndNextButtons = false;
-
-	private boolean isHelpAvailable = false;
-	
-	private Image defaultImage = null;
-	
-	private RGB titleBarColor = null;
-
-	private String windowTitle = null;
-	
-	private IDialogSettings dialogSettings = null;
-	
-	private WizardFragment rootFragment;
-	private WizardFragment currentFragment;
-	private Object finishFamily;
-	
-	/**
-	 * Create a new TaskWizard with the given title and root fragment.
-	 * 
-	 * @param title a title
-	 * @param rootFragment a root fragment
-	 */
-	public TaskWizard(String title, WizardFragment rootFragment) {
-		this(title, rootFragment, null);
-		setWindowTitle(title);
-	}
-
-	/**
-	 * Create a new TaskWizard with the given title, root fragment, and task model.
-	 * 
-	 * @param title a title
-	 * @param rootFragment a root fragment
-	 * @param taskModel a task model
-	 */
-	public TaskWizard(String title, WizardFragment rootFragment, TaskModel taskModel) {
-		super();
-		if (title != null)
-			setWindowTitle(title);
-		this.rootFragment = rootFragment;
-		this.taskModel = taskModel;
-		if (taskModel == null)
-			this.taskModel = new TaskModel();
-		
-		setNeedsProgressMonitor(true);
-		setForcePreviousAndNextButtons(true);
-	}
-
-	public void setTaskModel(TaskModel taskModel) {
-		this.taskModel = taskModel;
-	}
-	
-	public TaskModel getTaskModel() {
-		return taskModel;
-	}
-
-	public void setRootFragment(WizardFragment rootFragment) {
-		this.rootFragment = rootFragment;
-	}
-	
-	public WizardFragment getRootFragment() {
-		return rootFragment;
-	}
-
-	/**
-	 * Cancel the client selection.
-	 *
-	 * @return boolean
-	 */
-	public boolean performCancel() {
-		final List list = getAllWizardFragments();
-		IRunnableWithProgress runnable = new IRunnableWithProgress() {
-			public void run(IProgressMonitor monitor) throws InvocationTargetException {
-				try {
-					Iterator iterator = list.iterator();
-					while (iterator.hasNext())
-						executeTask((WizardFragment) iterator.next(), CANCEL, monitor);
-				} catch (CoreException ce) {
-					throw new InvocationTargetException(ce);
-				}
-			}
-		};
-		
-		Throwable t = null;
-		try {
-			if (getContainer() != null)
-				getContainer().run(true, true, runnable);
-			else
-				runnable.run(new NullProgressMonitor());
-			return true;
-		} catch (InvocationTargetException te) {
-			t = te.getCause();
-		} catch (Exception e) {
-			t = e;
-		}
-		Trace.trace(Trace.SEVERE, "Error cancelling task wizard", t);
-		handleThrowable(t);
-		return false;
-		
-	}
-
-	public boolean performFinish() {
-		if (currentFragment != null)
-			currentFragment.exit();
-		
-		final WizardFragment cFragment = currentFragment;
-
-		final List list = getAllWizardFragments();
-		IWorkspaceRunnable runnable = new IWorkspaceRunnable() {
-			public void run(IProgressMonitor monitor) throws CoreException {
-				// enter & exit the remaining pages
-				int index = list.indexOf(cFragment);
-				while (index > 0 && index < list.size() - 1) {
-					final WizardFragment fragment = (WizardFragment) list.get(++index);
-					try {
-						Display.getDefault().syncExec(new Runnable() {
-							public void run() {
-								fragment.enter();
-								fragment.exit();
-							}
-						});
-					} catch (Exception e) {
-						Trace.trace(Trace.WARNING, "Could not enter/exit page", e);
-					}
-				}
-				
-				if (useJob()) {
-					class FinishWizardJob extends Job {
-						public FinishWizardJob() {
-							super(getJobTitle());
-						}
-						
-						public boolean belongsTo(Object family) {
-							return (getFinishJobFamily() == null && family == null ) 
-							|| (getFinishJobFamily() != null && getFinishJobFamily().equals(family));
-						}
-
-						public IStatus run(IProgressMonitor monitor2) {
-							try {
-								Iterator iterator = list.iterator();
-								while (iterator.hasNext())
-									executeTask((WizardFragment) iterator.next(), FINISH, monitor2);
-							} catch (CoreException ce) {
-								Trace.trace(Trace.SEVERE, "Error finishing wizard job", ce);
-								return new Status(IStatus.ERROR, ModuleCoreUIPlugin.PLUGIN_ID, 0, ce.getLocalizedMessage(), null);
-							}
-							return Status.OK_STATUS;
-						}
-					}
-					
-					FinishWizardJob job = new FinishWizardJob();
-					job.setUser(true);
-					job.schedule();
-				} else {
-					Iterator iterator = list.iterator();
-					while (iterator.hasNext())
-						executeTask((WizardFragment) iterator.next(), FINISH, monitor);
-				}
-			}
-		};
-		
-		Throwable t = null;
-		try {
-			if (getContainer() != null)
-				getContainer().run(true, true, new WorkspaceRunnableAdapter(runnable));
-			else
-				runnable.run(new NullProgressMonitor());
-			return true;
-		} catch (InvocationTargetException te) {
-			Trace.trace(Trace.SEVERE, "Error finishing task wizard", te);
-			t = te.getCause();
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Error finishing task wizard 2", e);
-			t = e;
-		}
-		
-		// TODO: show better error dialog, e.g. when Tomcat config is corrupt while doing Add/Remove
-		// it currently displays the error message twice
-		Trace.trace(Trace.WARNING, "Error completing wizard", t);
-		handleThrowable(t);
-		
-		return false;
-	}
-	
-	public Object getFinishJobFamily() {
-		return finishFamily;
-	}
-	
-	public void setFinishJobFamily(Object o) {
-		this.finishFamily = o;
-	}
-	
-	public void addPage(IWizardPage page) {
-		pages.add(page);
-		page.setWizard(this);
-	}
-	
-	protected void executeTask(WizardFragment fragment, byte type, IProgressMonitor monitor) throws CoreException {
-		if (fragment == null)
-			return;
-		
-		if (type == FINISH)
-			fragment.performFinish(monitor);
-		else if (type == CANCEL)
-			fragment.performCancel(monitor);
-	}
-	
-	protected WizardFragment getCurrentWizardFragment() {
-		return currentFragment;
-	}
-	
-	protected void switchWizardFragment(WizardFragment newFragment) {
-		List list = getAllWizardFragments();
-		int oldIndex = list.indexOf(currentFragment);
-		int newIndex = list.indexOf(newFragment);
-		if (oldIndex == newIndex)
-			return;
-		
-		//safeExecuteTask(currentFragment, DEPARTURE);
-		if (currentFragment != null)
-			currentFragment.exit();
-		
-		if (oldIndex < newIndex)
-			oldIndex ++;
-		else
-			oldIndex --;
-		
-		while (oldIndex != newIndex) {
-			WizardFragment fragment = (WizardFragment) list.get(oldIndex);
-			//safeExecuteTask(fragment, ARRIVAL);
-			//safeExecuteTask(fragment, DEPARTURE);
-			fragment.enter();
-			fragment.exit();
-			if (oldIndex < newIndex)
-				oldIndex ++;
-			else
-				oldIndex --;
-		}
-		
-		currentFragment = newFragment;
-		//safeExecuteTask(currentFragment, ARRIVAL);
-		currentFragment.enter();
-	}
-	
-	private List<WizardFragment> getAllWizardFragments() {
-		List<WizardFragment> list = new ArrayList<WizardFragment>();
-		list.add(rootFragment);
-		addSubWizardFragments(rootFragment, list);
-		
-		Iterator iterator = list.iterator();
-		while (iterator.hasNext()) {
-			WizardFragment fragment = (WizardFragment) iterator.next();
-			if (!taskModel.equals(fragment.getTaskModel()))
-				fragment.setTaskModel(taskModel);
-		}
-		return list;
-	}
-
-	private void addSubWizardFragments(WizardFragment fragment, List<WizardFragment> list) {
-		Iterator iterator = fragment.getChildFragments().iterator();
-		while (iterator.hasNext()) {
-			WizardFragment child = (WizardFragment) iterator.next();
-			list.add(child);
-			addSubWizardFragments(child, list);
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.wizard.IWizard#addPages()
-	 */
-	public void addPages() {
-		if (addingPages)
-			return;
-		
-		try {
-			addingPages = true;
-			pages = new ArrayList<IWizardPage>();
-			Iterator<WizardFragment> iterator = getAllWizardFragments().iterator();
-			while (iterator.hasNext()) {
-				WizardFragment fragment = iterator.next();
-				TaskWizardPage page = getFragmentData(fragment);
-				if (fragment.hasComposite()) {
-					if (page != null)
-						addPage(page);
-					else {
-						TaskWizardPage page2 = new TaskWizardPage(fragment);
-						fragmentData.put(fragment, page2);
-						addPage(page2);
-					}
-				}
-			}
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Error adding fragments to wizard", e);
-		} finally {
-			addingPages = false;
-		}
-	}
-
-	/*private static void updateWizardPages() {
-		try {
-			current.updatePages();
-			current.getContainer().updateButtons();
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Error updating wizard pages", e);
-		}
-	}*/
-
-	private TaskWizardPage getFragmentData(WizardFragment fragment) {
-		try {
-			TaskWizardPage page = fragmentData.get(fragment);
-			if (page != null)
-				return page;
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Error getting fragment data", e);
-		}
-		
-		return null;
-	}
-
-	protected void updatePages() {
-		addPages();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.wizard.IWizard#canFinish()
-	 */
-	public boolean canFinish() {
-		// Default implementation is to check if all pages are complete.
-		for (int i= 0; i < pages.size(); i++) {
-			if (!(pages.get(i)).isPageComplete())
-				return false;
-		}
-		return true;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.wizard.IWizard#createPageControls(org.eclipse.swt.widgets.Composite)
-	 */
-	public void createPageControls(Composite pageContainer) {
-		// the default behavior is to create all the pages controls
-		for (int i = 0; i < pages.size(); i++){
-			IWizardPage page = pages.get(i);
-			page.createControl(pageContainer);
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.wizard.IWizard#dispose()
-	 */
-	public void dispose() {
-		// notify pages
-		for (int i = 0; i < pages.size(); i++) {
-			pages.get(i).dispose();
-		}
-
-		// dispose of image
-		if (defaultImage != null) {
-			defaultImage.dispose();
-			defaultImage = null;
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.wizard.IWizard#getContainer()
-	 */
-	public IWizardContainer getContainer() {
-		return container;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.wizard.IWizard#getDefaultPageImage()
-	 */
-	public Image getDefaultPageImage() {
-		return defaultImage;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.wizard.IWizard#getDialogSettings()
-	 */
-	public IDialogSettings getDialogSettings() {
-		return dialogSettings;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.wizard.IWizard#getNextPage(org.eclipse.jface.wizard.IWizardPage)
-	 */
-	public IWizardPage getNextPage(IWizardPage page) {
-		int index = pages.indexOf(page);
-		if (index == pages.size() - 1 || index == -1)
-			// last page or page not found
-			return null;
-		
-		return pages.get(index + 1);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.wizard.IWizard#getPage(java.lang.String)
-	 */
-	public IWizardPage getPage(String name) {
-		for (int i= 0; i < pages.size(); i++) {
-			IWizardPage page = pages.get(i);
-			String pageName = page.getName();
-			if (pageName.equals(name))
-				return page;
-		}
-		return null;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.wizard.IWizard#getPageCount()
-	 */
-	public int getPageCount() {
-		return pages.size();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.wizard.IWizard#getPages()
-	 */
-	public IWizardPage[] getPages() {
-		return pages.toArray(new IWizardPage[pages.size()]);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.wizard.IWizard#getPreviousPage(org.eclipse.jface.wizard.IWizardPage)
-	 */
-	public IWizardPage getPreviousPage(IWizardPage page) {
-		int index = pages.indexOf(page);
-		if (index == 0 || index == -1)
-			// first page or page not found
-			return null;
-		return pages.get(index - 1);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.wizard.IWizard#getStartingPage()
-	 */
-	public IWizardPage getStartingPage() {
-		if (pages.size() == 0)
-			return null;
-		
-		return pages.get(0);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.wizard.IWizard#getTitleBarColor()
-	 */
-	public RGB getTitleBarColor() {
-		return titleBarColor;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.wizard.IWizard#getWindowTitle()
-	 */
-	public String getWindowTitle() {
-		return windowTitle;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.wizard.IWizard#isHelpAvailable()
-	 */
-	public boolean isHelpAvailable() {
-		return isHelpAvailable;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.wizard.IWizard#needsPreviousAndNextButtons()
-	 */
-	public boolean needsPreviousAndNextButtons() {
-		return forcePreviousAndNextButtons || pages.size() > 1;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.wizard.IWizard#needsProgressMonitor()
-	 */
-	public boolean needsProgressMonitor() {
-		return needsProgressMonitor;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.wizard.IWizard#setContainer(org.eclipse.jface.wizard.IWizardContainer)
-	 */
-	public void setContainer(IWizardContainer wizardContainer) {
-		this.container = wizardContainer;
-	}
-	
-	public void setDialogSettings(IDialogSettings settings) {
-		dialogSettings = settings;
-	}
-	
-	public void setNeedsProgressMonitor(boolean b) {
-		needsProgressMonitor = b;
-	}
-	
-	public void setForcePreviousAndNextButtons(boolean b) {
-		forcePreviousAndNextButtons = b;
-	}
-	
-	public void setWindowTitle(String title) {
-		windowTitle = title;
-	}
-
-	protected boolean useJob() {
-		return false;
-	}
-
-	protected String getJobTitle() {
-		return getWindowTitle();
-	}
-	
-	private void handleThrowable(final Throwable t) {
-		Display display = Display.getCurrent();
-		if (display == null)
-			display = Display.getDefault();
-		final Shell shell = display.getActiveShell();
-		final String message = t.getLocalizedMessage();
-		final IStatus status = (t instanceof CoreException) ? ((CoreException)t).getStatus() : null;
-		
-		Display.getDefault().asyncExec(new Runnable() {
-			public void run() {
-				if( status == null )
-					MessageDialog.openError(shell, Messages.WizardError, message);
-				else
-					ErrorDialog.openError(shell, Messages.WizardError, message, status);
-			}
-		});
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.modulecore.ui/src/org/eclipse/wst/common/componentcore/ui/internal/taskwizard/TaskWizardPage.java b/plugins/org.eclipse.wst.common.modulecore.ui/src/org/eclipse/wst/common/componentcore/ui/internal/taskwizard/TaskWizardPage.java
deleted file mode 100644
index ded4661..0000000
--- a/plugins/org.eclipse.wst.common.modulecore.ui/src/org/eclipse/wst/common/componentcore/ui/internal/taskwizard/TaskWizardPage.java
+++ /dev/null
@@ -1,126 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.common.componentcore.ui.internal.taskwizard;
-
-import java.lang.reflect.InvocationTargetException;
-
-import org.eclipse.jface.dialogs.IMessageProvider;
-import org.eclipse.jface.operation.IRunnableWithProgress;
-import org.eclipse.jface.wizard.IWizardContainer;
-import org.eclipse.jface.wizard.WizardPage;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.FillLayout;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.wst.common.componentcore.ui.Trace;
-
-/**
- * A task wizard page.
- */
-public class TaskWizardPage extends WizardPage implements IWizardHandle {
-	protected WizardFragment fragment;
-
-	protected boolean isCreated = false;
-
-	public TaskWizardPage(WizardFragment fragment) {
-		super(fragment.toString());
-		this.fragment = fragment;
-	}
-
-	public void createControl(Composite parentComp) {
-		Composite comp = null;
-		try {
-			fragment.setPage(this);
-			comp = fragment.createComposite(parentComp, this);
-		} catch (Exception e) {
-			Trace.trace(Trace.WARNING, "Could not create wizard page composite", e);
-		}
-		if (comp == null) {
-			comp = new Composite(parentComp, SWT.NONE);
-			comp.setLayout(new FillLayout(SWT.VERTICAL));
-			Label label = new Label(comp, SWT.NONE);
-			label.setText("Internal error");
-		}
-		GridData data = new GridData(GridData.HORIZONTAL_ALIGN_FILL);
-		data.widthHint = convertHorizontalDLUsToPixels(150);
-		comp.setLayoutData(data);
-		setControl(comp);
-		
-		isCreated = true;
-		update();
-	}
-
-	public boolean isPageComplete() {
-		try {
-			if (!fragment.isComplete())
-				return false;
-		} catch (Exception e) {
-			return false;
-		}
-		return true;
-	}
-
-	public boolean canFlipToNextPage() {
-		if (getNextPage() == null)
-			return false;
-		try {
-			if (!fragment.isComplete())
-				return false;
-		} catch (Exception e) {
-			return false;
-		}
-		return true;
-	}
-
-	public void setVisible(boolean visible) {
-		super.setVisible(visible);
-		
-		if (visible) {
-			TaskWizard wizard = (TaskWizard) getWizard();
-			wizard.switchWizardFragment(fragment);
-			
-			if (getContainer().getCurrentPage() != null)
-				getContainer().updateButtons();
-		}
-	}
-
-	public void setMessage(String message, int type) {
-		if (type == IMessageProvider.ERROR && "".equals(message)) {
-			message = null;
-		}
-		super.setMessage(message, type);
-		WizardFragment frag = ((TaskWizard) getWizard()).getCurrentWizardFragment();
-		if (!fragment.equals(frag))
-			return;
-		getContainer().updateButtons();
-	}
-
-	public void run(boolean fork, boolean cancelable, IRunnableWithProgress runnable) throws InterruptedException, InvocationTargetException {
-		getWizard().getContainer().run(fork, cancelable, runnable);
-	}
-
-	public void update() {
-		if (!isCreated)
-			return;
-		
-		final IWizardContainer container = getContainer();
-		getShell().getDisplay().syncExec(new Runnable() {
-			public void run() {
-				fragment.updateChildFragments();
-				((TaskWizard) getWizard()).updatePages();
-				
-				if (container.getCurrentPage() != null)
-					container.updateButtons();
-			}
-		});
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.modulecore.ui/src/org/eclipse/wst/common/componentcore/ui/internal/taskwizard/WizardFragment.java b/plugins/org.eclipse.wst.common.modulecore.ui/src/org/eclipse/wst/common/componentcore/ui/internal/taskwizard/WizardFragment.java
deleted file mode 100644
index e7c9635..0000000
--- a/plugins/org.eclipse.wst.common.modulecore.ui/src/org/eclipse/wst/common/componentcore/ui/internal/taskwizard/WizardFragment.java
+++ /dev/null
@@ -1,244 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.common.componentcore.ui.internal.taskwizard;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jface.wizard.IWizardPage;
-import org.eclipse.jface.wizard.WizardDialog;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.wst.common.componentcore.internal.impl.TaskModel;
-
-/**
- * A wizard fragment is a node within a wizard that provides a completely
- * extendable wizard flow by supporting a flexible tree structure for the
- * pages. As the user walks pages through the wizard, they are actually
- * traversing the nodes of a tree, and each node can add or remove children
- * at any time.
- * 
- * Each node may be non-UI (useful for injecting behaviour into the tree)
- * or contain a single wizard page (@see hasComposite() and
- * createComposite(Composite, IWizardHandle)). The node may also have
- * children (@see getChildFragments(), which should be updated or refreshed
- * whenever the updateChildFragments() method is called by another node to
- * let this node know that it's state may have changed.
- * 
- * This implementation uses a createChildFragments() method to allow the
- * fragment to add it's children into the tree. Note that this method may
- * be called multiple times as the tree is updated and it must return the
- * same instance of any children that have previously been returned.
- * 
- * @since 1.0
- */
-public abstract class WizardFragment {
-	private TaskWizardPage page;
-	private TaskModel taskModel;
-	private boolean isComplete = true;
-	private List<WizardFragment> listImpl;
-
-	/**
-	 * Returns <code>true</code> if this fragment has an associated UI,
-	 * and <code>false</code> otherwise.
-	 * 
-	 * @return true if the fragment has a composite
-	 */
-	public boolean hasComposite() {
-		return false;
-	}
-
-	/**
-	 * Creates the composite associated with this fragment.
-	 * This method is only called when hasComposite() returns true.
-	 * 
-	 * @param parent a parent composite
-	 * @param handle a wizard handle
-	 * @return the created composite
-	 */
-	public Composite createComposite(Composite parent, IWizardHandle handle) {
-		return null;
-	}
-
-	/**
-	 * Sets the wizard task model.
-	 * <p>
-	 * A task model is shared by all fragments in the wizard and is used to share
-	 * data. It contains information about the overall task flow and allows
-	 * fragments to store and retrieve data. Its usage allows multiple fragments
-	 * to be chained together and share data from the output of one fragment to
-	 * the input of another.
-	 * </p>
-	 * 
-	 * @param taskModel the task model
-	 * @see #getTaskModel()
-	 */
-	public void setTaskModel(TaskModel taskModel) {
-		this.taskModel = taskModel;
-	}
-
-	/**
-	 * Returns the wizard task model.
-	 * 
-	 * @return the task model
-	 * @see #setTaskModel(TaskModel)
-	 */
-	public TaskModel getTaskModel() {
-		return taskModel;
-	}
-	
-	public void setPage(TaskWizardPage page) {
-		this.page = page;
-	}
-	
-	public IWizardPage getPage() {
-		return page;
-	}
-
-	/**
-	 * Called when the wizard that this fragment belongs to has traversed
-	 * into this wizard fragment. It is called to give the fragment the
-	 * opportunity to initialize any values shown in the composite or
-	 * update the task model.
-	 * <p>
-	 * When finish is pressed, the current fragment is exit()ed, and then
-	 * performFinish() is called on all of the fragments in the tree.
-	 * enter() and exit() are not called on the remaining fragments.
-	 * </p>
-	 */
-	public void enter() {
-		// do nothing
-	}
-
-	/**
-	 * Called when the wizard that this fragment belongs to has traversed
-	 * out of this wizard fragment. It is called to give the fragment the
-	 * opportunity to save any values entered into the composite or
-	 * update the task model.
-	 * <p>
-	 * When finish is pressed, the current fragment is exit()ed, and then
-	 * performFinish() is called on all of the fragments in the tree.
-	 * enter() and exit() are not called on the remaining fragments. 
-	 * </p>
-	 */
-	public void exit() {
-		// do nothing
-	}
-
-	/**
-	 * Called when the wizard that this fragment belongs to is finished.
-	 * After exit()ing the current page, all fragment's performFinish()
-	 * methods are called in order.
-	 * <p>
-	 * This method is not called on the UI thread and must not access the
-	 * composite. Not only might the user never have accessed the fragment's
-	 * composite, but this method may be called asynchronously on a job
-	 * once the wizard has closed.
-	 * </p>
-	 * 
-	 * @param monitor a progress monitor, or <code>null</code> if progress
-	 *    reporting and cancellation are not desired
-	 * @throws CoreException if something goes wrong
-	 */
-	public void performFinish(IProgressMonitor monitor) throws CoreException {
-		// do nothing
-	}
-
-	/**
-	 * Called when the wizard that this fragment belongs to is canceled.
-	 * After exit()ing the current page, all fragment's performCancel()
-	 * methods are called in order.
-	 * <p>
-	 * This method is not called on the UI thread and must not access the
-	 * composite. Not only might the user never have accessed the fragment's
-	 * composite, but this method may be called asynchronously on a job
-	 * once the wizard has closed.
-	 * </p>
-	 * 
-	 * @param monitor a progress monitor, or <code>null</code> if progress
-	 *    reporting and cancellation are not desired
-	 * @throws CoreException if something goes wrong
-	 */
-	public void performCancel(IProgressMonitor monitor) throws CoreException {
-		// do nothing
-	}
-
-	/**
-	 * Returns the child fragments. Child fragments come directly after this fragment
-	 * in the wizard flow.
-	 * 
-	 * @return a list of child fragments
-	 */
-	public List getChildFragments() {
-		if (listImpl == null) {
-			listImpl = new ArrayList<WizardFragment>();
-			createChildFragments(listImpl);
-		}
-		return listImpl;
-	}
-
-	/**
-	 * Called to give the fragment a chance to update it's child fragments in
-	 * response to other changes within the wizard or task model.
-	 */
-	public void updateChildFragments() {
-		listImpl = null;
-	}
-
-	/**
-	 * This method is called by the implementation of getChildFragments() to
-	 * allow this fragment to add it's children. This method must cache and
-	 * return the same instance of any child fragment created. If new
-	 * instances are created each time the wizard is updated, the enablement
-	 * state and the flow of the wizard will be incorrect. 
-	 * 
-	 * @param list a list to add the child fragments to
-	 */
-	protected void createChildFragments(List<WizardFragment> list) {
-		// do nothing
-	}
-
-	/**
-	 * Returns true if this fragment is complete (can finish). If it is
-	 * complete the user will be allowed to go to the next fragment or
-	 * finish the wizard. If the fragment is not complete, the Next button
-	 * will be disabled. If the fragment is complete but another fragment
-	 * is not complete, the Finish button will not be enabled.
-	 * 
-	 * @return <code>true</code> if the fragment is complete, and
-	 *    <code>false</code> otherwise
-	 */
-	public boolean isComplete() {
-		return isComplete;
-	}
-
-	/**
-	 * Set the isComplete state.
-	 * 
-	 * @param complete <code>true</code> if the fragment is complete, and
-	 *    <code>false</code> otherwise
-	 */
-	protected void setComplete(boolean complete) {
-		this.isComplete = complete;
-	}
-	
-    public void advanceToNextPageOrFinish() {
-		if (getPage().canFlipToNextPage()) {
-			getPage().getWizard().getContainer().showPage(getPage().getNextPage());
-		} else if(getPage().getWizard().canFinish()) {
-			if (getPage().getWizard().performFinish()) {
-				((WizardDialog)getPage().getWizard().getContainer()).close();
-			}
-		}
-    }
-
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.modulecore.ui/src/org/eclipse/wst/common/componentcore/ui/internal/taskwizard/WorkspaceRunnableAdapter.java b/plugins/org.eclipse.wst.common.modulecore.ui/src/org/eclipse/wst/common/componentcore/ui/internal/taskwizard/WorkspaceRunnableAdapter.java
deleted file mode 100644
index 4447e53..0000000
--- a/plugins/org.eclipse.wst.common.modulecore.ui/src/org/eclipse/wst/common/componentcore/ui/internal/taskwizard/WorkspaceRunnableAdapter.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.common.componentcore.ui.internal.taskwizard;
-
-import java.lang.reflect.InvocationTargetException;
-
-import org.eclipse.core.resources.IWorkspaceRunnable;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jface.operation.IRunnableWithProgress;
-/**
- * IRunnableWithProgressAdapter to allow it to run an IWorkspaceRunnable.
- */
-public class WorkspaceRunnableAdapter implements IRunnableWithProgress {
-	private IWorkspaceRunnable workspaceRunnable;
-	
-	public WorkspaceRunnableAdapter(IWorkspaceRunnable runnable) {
-		workspaceRunnable = runnable;
-	}
-
-	/*
-	 * @see IRunnableWithProgress#run(IProgressMonitor)
-	 */
-	public void run(IProgressMonitor monitor) throws InvocationTargetException {
-		try {
-			ResourcesPlugin.getWorkspace().run(workspaceRunnable, monitor);
-		} catch (CoreException e) {
-			throw new InvocationTargetException(e);
-		}
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.modulecore.ui/src/org/eclipse/wst/common/componentcore/ui/messages.properties b/plugins/org.eclipse.wst.common.modulecore.ui/src/org/eclipse/wst/common/componentcore/ui/messages.properties
deleted file mode 100644
index 5083668..0000000
--- a/plugins/org.eclipse.wst.common.modulecore.ui/src/org/eclipse/wst/common/componentcore/ui/messages.properties
+++ /dev/null
@@ -1,30 +0,0 @@
-ModuleAssemblyRootPageDescription=Define packaging structure for this project.
-ErrorCheckingFacets=Error Checking Project Facets
-ErrorNotVirtualComponent=The given project is not a virtual component project
-DeploymentAssemblyVerifierHelper_0=Verifying Component
-DeployPathColumn=Deploy Path
-SourceColumn=Source
-InternalLibJarWarning=This library has been added to the project by using the project tree or the file system. If you want to move / remove it, use the same approach.
-AddFolder=Folder
-AddFolderElipses=Add Folder...
-AddFolderMappings=Select a project folder to include in the deployment assembly.
-AddEllipsis=A&dd...
-EditEllipsis=&Edit...
-RemoveSelected=&Remove
-ExternalJarTitle=Add an External Jar Reference
-ExternalJarDescription=Here you can reference a filesystem Jar\nThis is not a suggested use-case, but is here for backwards compatability.
-JarTitle=Add a Jar Reference
-JarDescription="Here you can reference a workspace Jar\nThis is not a suggested use-case, but is here for backwards compatability.
-Browse=Browse...
-NewReferenceTitle=Select Directive Type
-NewReferenceDescription=Add a new assembly directive.
-NewReferenceWizard=New Assembly Directive
-ProjectReferenceTitle=Projects
-ProjectReferenceDescription=Select projects to include in the deployment assembly.
-VariableReferenceTitle=Add a Variable Reference
-VariableReferenceDescription="Here you can reference a variable which maps to a single jar.\nThis is not a suggested use-case, but is here for backwards compatability.
-WizardError=Wizard Error
-ProjectConversionError=Error converting project {0} into a flexible project
-ExistingFolderError= Folder "{0}" already exists.
-Revert=Re&vert
-ErrorEntryNotFound=Cannot find entry: "{0}".
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.modulecore.ui/src/org/eclipse/wst/common/componentcore/ui/propertypage/AbstractIModuleDependenciesControl.java b/plugins/org.eclipse.wst.common.modulecore.ui/src/org/eclipse/wst/common/componentcore/ui/propertypage/AbstractIModuleDependenciesControl.java
deleted file mode 100644
index 05845d4..0000000
--- a/plugins/org.eclipse.wst.common.modulecore.ui/src/org/eclipse/wst/common/componentcore/ui/propertypage/AbstractIModuleDependenciesControl.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial implementation
- *******************************************************************************/
-package org.eclipse.wst.common.componentcore.ui.propertypage;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-
-public abstract class AbstractIModuleDependenciesControl implements IModuleDependenciesControl {
-
-	/**
-	 * Returns any error/warning messages that are associated with the current content of the page  
-	 * @param parent Parent Composite.
-	 * @return IStatus with all the error/warning messages associated with the page
-	 */
-	public IStatus validate() {
-		return Status.OK_STATUS;
-	}
-
-}
diff --git a/plugins/org.eclipse.wst.common.modulecore.ui/src/org/eclipse/wst/common/componentcore/ui/propertypage/AddModuleDependenciesPropertiesPage.java b/plugins/org.eclipse.wst.common.modulecore.ui/src/org/eclipse/wst/common/componentcore/ui/propertypage/AddModuleDependenciesPropertiesPage.java
deleted file mode 100644
index 7730f01..0000000
--- a/plugins/org.eclipse.wst.common.modulecore.ui/src/org/eclipse/wst/common/componentcore/ui/propertypage/AddModuleDependenciesPropertiesPage.java
+++ /dev/null
@@ -1,1317 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2010, 2011 Red Hat and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    Rob Stryker - initial implementation and ongoing maintenance
- *    Konstantin Komissarchik - misc. UI cleanup
- *    Roberto Sanchez (IBM) - Handle tags in mappings
- *    
- * API in these packages is provisional in this release
- ******************************************************************************/
-package org.eclipse.wst.common.componentcore.ui.propertypage;
-
-import java.io.File;
-import java.text.Collator;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IWorkspaceRoot;
-import org.eclipse.core.resources.IWorkspaceRunnable;
-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.MultiStatus;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.layout.GridDataFactory;
-import org.eclipse.jface.viewers.CellEditor;
-import org.eclipse.jface.viewers.ColumnViewerEditor;
-import org.eclipse.jface.viewers.ColumnViewerEditorActivationEvent;
-import org.eclipse.jface.viewers.ColumnViewerEditorActivationStrategy;
-import org.eclipse.jface.viewers.ColumnWeightData;
-import org.eclipse.jface.viewers.FocusCellOwnerDrawHighlighter;
-import org.eclipse.jface.viewers.IBaseLabelProvider;
-import org.eclipse.jface.viewers.ICellModifier;
-import org.eclipse.jface.viewers.ILabelProviderListener;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.ITableLabelProvider;
-import org.eclipse.jface.viewers.LabelProviderChangedEvent;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.jface.viewers.TableLayout;
-import org.eclipse.jface.viewers.TextCellEditor;
-import org.eclipse.jface.viewers.TreeViewer;
-import org.eclipse.jface.viewers.TreeViewerEditor;
-import org.eclipse.jface.viewers.TreeViewerFocusCellManager;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.jface.viewers.ViewerComparator;
-import org.eclipse.jface.window.Window;
-import org.eclipse.jface.wizard.WizardDialog;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Group;
-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.swt.widgets.Tree;
-import org.eclipse.swt.widgets.TreeColumn;
-import org.eclipse.swt.widgets.TreeItem;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.wst.common.componentcore.ComponentCore;
-import org.eclipse.wst.common.componentcore.datamodel.properties.IAddReferenceDataModelProperties;
-import org.eclipse.wst.common.componentcore.internal.ComponentResource;
-import org.eclipse.wst.common.componentcore.internal.DefaultModuleHandler;
-import org.eclipse.wst.common.componentcore.internal.DependencyType;
-import org.eclipse.wst.common.componentcore.internal.IModuleHandler;
-import org.eclipse.wst.common.componentcore.internal.StructureEdit;
-import org.eclipse.wst.common.componentcore.internal.WorkbenchComponent;
-import org.eclipse.wst.common.componentcore.internal.impl.TaskModel;
-import org.eclipse.wst.common.componentcore.internal.operation.AddReferenceDataModelProvider;
-import org.eclipse.wst.common.componentcore.internal.operation.RemoveReferenceDataModelProvider;
-import org.eclipse.wst.common.componentcore.internal.resources.VirtualArchiveComponent;
-import org.eclipse.wst.common.componentcore.internal.resources.VirtualReference;
-import org.eclipse.wst.common.componentcore.internal.util.VirtualReferenceUtilities;
-import org.eclipse.wst.common.componentcore.resources.ITaggedVirtualResource;
-import org.eclipse.wst.common.componentcore.resources.IVirtualComponent;
-import org.eclipse.wst.common.componentcore.resources.IVirtualFolder;
-import org.eclipse.wst.common.componentcore.resources.IVirtualReference;
-import org.eclipse.wst.common.componentcore.ui.IModuleCoreUIContextIds;
-import org.eclipse.wst.common.componentcore.ui.Messages;
-import org.eclipse.wst.common.componentcore.ui.ModuleCoreUIPlugin;
-import org.eclipse.wst.common.componentcore.ui.internal.propertypage.ComponentDependencyContentProvider;
-import org.eclipse.wst.common.componentcore.ui.internal.propertypage.DependencyPageExtensionManager;
-import org.eclipse.wst.common.componentcore.ui.internal.propertypage.DependencyPageExtensionManager.ReferenceExtension;
-import org.eclipse.wst.common.componentcore.ui.internal.propertypage.NewReferenceWizard;
-import org.eclipse.wst.common.componentcore.ui.internal.propertypage.ResourceMappingFilterExtensionRegistry;
-import org.eclipse.wst.common.componentcore.ui.internal.propertypage.verifier.DeploymentAssemblyVerifierHelper;
-import org.eclipse.wst.common.componentcore.ui.internal.taskwizard.TaskWizard;
-import org.eclipse.wst.common.componentcore.ui.internal.taskwizard.WizardFragment;
-import org.eclipse.wst.common.frameworks.datamodel.DataModelFactory;
-import org.eclipse.wst.common.frameworks.datamodel.IDataModel;
-import org.eclipse.wst.common.frameworks.datamodel.IDataModelOperation;
-import org.eclipse.wst.common.frameworks.datamodel.IDataModelProvider;
-import org.eclipse.wst.common.project.facet.core.IFacetedProject;
-import org.eclipse.wst.common.project.facet.core.ProjectFacetsManager;
-import org.eclipse.wst.server.core.IRuntime;
-import org.eclipse.wst.server.core.internal.facets.FacetUtil;
- 
-public class AddModuleDependenciesPropertiesPage extends AbstractIModuleDependenciesControl implements Listener,
-		ILabelProviderListener {
-
-	
-	public static final int SOURCE_COLUMN = 0;
-	public static final int DEPLOY_COLUMN = 1;
-	protected static final String SOURCE_PROPERTY = new Integer(SOURCE_COLUMN).toString();
-	protected static final String DEPLOY_PATH_PROPERTY = new Integer(DEPLOY_COLUMN).toString();
-	
-	protected final String PATH_SEPARATOR = String.valueOf(IPath.SEPARATOR);
-	private boolean hasInitialized = false;
-	protected final IProject project;
-	protected final IRuntime runtime;
-	protected final ModuleAssemblyRootPage propPage;
-	protected IVirtualComponent rootComponent = null;
-	protected Text componentNameText;
-	protected TreeViewer availableComponentsViewer;
-	
-	protected Button addMappingButton, addReferenceButton, editReferenceButton, removeButton;
-	protected Composite buttonColumn;
-	protected static final IStatus OK_STATUS = IDataModelProvider.OK_STATUS;
-	//protected Listener tableListener;
-	protected Listener labelListener;
-
-	protected ArrayList<IVirtualReference> originalReferences = new ArrayList<IVirtualReference>();
-	protected ArrayList<IVirtualReference> currentReferences = new ArrayList<IVirtualReference>();
-
-	// A single list of wb-resource mappings. If there's any change, 
-	// all old will be removed and new ones added
-	protected ArrayList<ComponentResourceProxy> resourceMappings = new ArrayList<ComponentResourceProxy>();
-	protected ArrayList<ComponentResourceProxy> hiddenMappings = new ArrayList<ComponentResourceProxy>();
-	
-	// keeps track if a change has occurred in wb-resource mappings
-	protected boolean resourceMappingsChanged = false;
-	
-	protected IModuleHandler moduleHandler;
-	
-	public static String getSafeRuntimePath(IVirtualReference ref) {
-		String archiveName = ref.getDependencyType() == DependencyType.CONSUMES ? null : ref.getArchiveName();
-		String val = null;
-		if(archiveName != null) {
-			IPath runtimePath = new Path(archiveName);
-			if(runtimePath.segmentCount() > 1) {
-				val = archiveName;
-			} else {
-				val = ref.getRuntimePath().append(archiveName).toString();
-			}
-		} else {
-			val = ref.getRuntimePath().toString();
-		}
-		if( val == null ) val = "/";
-		return val;
-	}
-
-	public static void setRuntimePathSafe(IVirtualReference ref, String newPath) {
-		if( ref.getDependencyType() == IVirtualReference.DEPENDENCY_TYPE_CONSUMES)
-			ref.setRuntimePath(new Path(newPath == null ? "/" : newPath.trim()).makeRelative().makeAbsolute());
-		else {
-			IPath path2 = new Path(newPath == null ? "/" : newPath.trim()).makeRelative().makeAbsolute();
-			ref.setRuntimePath(path2.segmentCount() > 1 ? path2.removeLastSegments(1) : new Path("/"));
-			if(path2.segmentCount() > 0) {
-				ref.setArchiveName(path2.lastSegment());
-			} else if(ref.getReferencedComponent() instanceof VirtualArchiveComponent && ((VirtualArchiveComponent)ref.getReferencedComponent()).getArchiveType().equals(VirtualArchiveComponent.VARARCHIVETYPE) ) {
-				File diskFile = (java.io.File)ref.getReferencedComponent().getAdapter(java.io.File.class);
-				IPath filePath = null;
-				if (diskFile.exists()) {
-					filePath = new Path(diskFile.getAbsolutePath());
-					ref.setArchiveName(filePath.lastSegment());
-				}
-			} else {
-				ref.setArchiveName(VirtualReferenceUtilities.INSTANCE.getDefaultArchiveName(ref));
-			}
-		}
-	}
-	
-	/**
-	 * Constructor for AddModulestoEARPropertiesControl.
-	 */
-	public AddModuleDependenciesPropertiesPage(final IProject project,
-			final ModuleAssemblyRootPage page) {
-		this.project = project;
-		this.propPage = page;
-		this.runtime = setRuntime();
-		rootComponent = ComponentCore.createComponent(project);
-	}
-
-	private IRuntime setRuntime() {
-		IRuntime aRuntime = null;
-		try {
-			aRuntime = getServerRuntime(project);
-		}
-		catch (CoreException e) {
-			ModuleCoreUIPlugin.log(e);
-		}
-		return aRuntime;
-	}
-
-	/*
-	 * UI Creation Methods
-	 */
-
-	public Composite createContents(final Composite parent) {
-		Composite composite = new Composite(parent, SWT.NONE);
-		PlatformUI.getWorkbench().getHelpSystem().setHelp(composite, IModuleCoreUIContextIds.DEPLOYMENT_ASSEMBLY_PREFERENCE_PAGE_DEPLOYMENT_ASSEMBLY_TAB);
-		GridLayout layout = new GridLayout();
-		layout.marginWidth = 0;
-		layout.marginWidth = 0;
-		composite.setLayout(layout);
-		composite.setLayoutData(new GridData(GridData.FILL_BOTH));
-		createDescriptionComposite(composite);
-		createListGroup(composite);
-		refresh();
-		Dialog.applyDialogFont(parent);
-		return composite;
-	}
-	
-	protected void createDescriptionComposite(Composite parent){
-		ModuleAssemblyRootPage.createDescriptionComposite(parent, getModuleAssemblyRootPageDescription());
-	}
-
-	protected String getModuleAssemblyRootPageDescription() {
-		return Messages.ModuleAssemblyRootPageDescription;
-	}
-
-	protected void createListGroup(Composite parent) {
-		Composite listGroup = new Composite(parent, SWT.NONE);
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 1;
-		layout.marginWidth = 0;
-		layout.marginHeight = 0;
-		listGroup.setLayout(layout);
-		listGroup.setLayoutData(new GridData(GridData.FILL_BOTH));
-
-		createTableComposite(listGroup);
-	}
-
-	protected void createTableComposite(Composite parent) {
-		Composite composite = new Composite(parent, SWT.NONE);
-		GridData gData = new GridData(GridData.FILL_BOTH);
-		composite.setLayoutData(gData);
-		fillTableComposite(composite);
-	}
-
-	public void fillTableComposite(Composite parent) {
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 2;
-		layout.marginHeight = 0;
-		layout.marginWidth = 0;
-		parent.setLayout(layout);
-		parent.setLayoutData(new GridData(GridData.FILL_BOTH));
-		createTable(parent);
-		createButtonColumn(parent);
-	}
-
-	protected void createButtonColumn(Composite parent) {
-		buttonColumn = createButtonColumnComposite(parent);
-		GridData data = new GridData(GridData.HORIZONTAL_ALIGN_END);
-		buttonColumn.setLayoutData(data);
-		createPushButtons();
-	}
-
-	protected void createPushButtons() {
-		addReferenceButton = createPushButton(Messages.AddEllipsis);
-		editReferenceButton = createPushButton(Messages.EditEllipsis);
-		removeButton = createPushButton(Messages.RemoveSelected);
-	}
-
-	protected Button createPushButton(String label) {
-		Button aButton = new Button(buttonColumn, SWT.PUSH);
-		aButton.setText(label);
-		aButton.addListener(SWT.Selection, this);
-		GridDataFactory.defaultsFor( aButton ).applyTo( aButton );
-		return aButton;
-	}
-
-	public Composite createButtonColumnComposite(Composite parent) {
-		Composite aButtonColumn = new Composite(parent, SWT.NONE);
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 1;
-		layout.marginHeight = 0;
-		layout.marginWidth = 0;
-		aButtonColumn.setLayout(layout);
-		GridData data = new GridData(GridData.HORIZONTAL_ALIGN_FILL
-				| GridData.VERTICAL_ALIGN_BEGINNING);
-		aButtonColumn.setLayoutData(data);
-		return aButtonColumn;
-	}
-
-	public Group createGroup(Composite parent) {
-		return new Group(parent, SWT.NULL);
-	}
-
-	protected void createTable(Composite parent) {
-		if (rootComponent != null) {
-			availableComponentsViewer = createAvailableComponentsViewer(parent);
-			GridData gd = new GridData( GridData.FILL_BOTH );
-			availableComponentsViewer.getTree().setLayoutData(gd);
-
-			ComponentDependencyContentProvider provider = createProvider();
-			provider.setComponent(rootComponent);
-			provider.setRuntimePaths(currentReferences);
-			provider.setResourceMappings(resourceMappings);
-			availableComponentsViewer.setContentProvider(provider);
-			//availableComponentsViewer.setLabelProvider(new DecoratingLabelProvider(
-	        //        new WorkbenchLabelProvider(), PlatformUI.getWorkbench().
-	        //         getDecoratorManager().getLabelDecorator()));
-			availableComponentsViewer.setLabelProvider(provider);
-			addTableListeners();
-		}
-	}
-
-	/**
-	 * Subclasses should over-ride this and extend the class
-	 */
-	protected ComponentDependencyContentProvider createProvider() {
-		return new ComponentDependencyContentProvider(this);
-	}
-
-	/*
-	 * Listeners of various events
-	 */
-
-	protected void addTableListeners() {
-		addHoverHelpListeners();
-		addDoubleClickListener();
-		addSelectionListener();
-	}
-
-	protected void addHoverHelpListeners() {
-		final Tree tree = availableComponentsViewer.getTree();
-		createLabelListener(tree);
-//		createTableListener(table);
-//		table.addListener(SWT.Dispose, tableListener);
-//		table.addListener(SWT.KeyDown, tableListener);
-//		table.addListener(SWT.MouseMove, tableListener);
-//		table.addListener(SWT.MouseHover, tableListener);
-	}
-
-	protected void createLabelListener(final Tree tree) {
-		labelListener = new Listener() {
-			public void handleEvent(Event event) {
-				Label label = (Label) event.widget;
-				Shell shell = label.getShell();
-				switch (event.type) {
-				case SWT.MouseDown:
-					Event e = new Event();
-					e.item = (TreeItem) label.getData("_TreeItem"); //$NON-NLS-1$
-					tree.setSelection(new TreeItem[] { (TreeItem) e.item });
-					tree.notifyListeners(SWT.Selection, e);
-					shell.dispose();
-					tree.setFocus();
-					break;
-				case SWT.MouseExit:
-					shell.dispose();
-					break;
-				}
-			}
-		};
-	}
-
-//	protected void createTableListener(final Table table) {
-//		tableListener = new Listener() {
-//			Shell tip = null;
-//			Label label = null;
-//
-//			public void handleEvent(Event event) {
-//				switch (event.type) {
-//				case SWT.Dispose:
-//				case SWT.KeyDown:
-//				case SWT.MouseMove: {
-//					if (tip == null)
-//						break;
-//					tip.dispose();
-//					tip = null;
-//					label = null;
-//					break;
-//				}
-//				case SWT.MouseHover: {
-//					TreeItem item = table.getItem(new Point(event.x, event.y));
-//					if (item != null && item.getData() != null && !canEdit(item.getData())) {
-//						if (tip != null && !tip.isDisposed())
-//							tip.dispose();
-//						tip = new Shell(PlatformUI.getWorkbench()
-//								.getActiveWorkbenchWindow().getShell(),
-//								SWT.ON_TOP | SWT.NO_FOCUS | SWT.TOOL);
-//						tip.setBackground(Display.getDefault().getSystemColor(
-//								SWT.COLOR_INFO_BACKGROUND));
-//						FillLayout layout = new FillLayout();
-//						layout.marginWidth = 2;
-//						tip.setLayout(layout);
-//						label = new Label(tip, SWT.WRAP);
-//						label.setForeground(Display.getDefault()
-//								.getSystemColor(SWT.COLOR_INFO_FOREGROUND));
-//						label.setBackground(Display.getDefault()
-//								.getSystemColor(SWT.COLOR_INFO_BACKGROUND));
-//						label.setData("_TreeItem", item); //$NON-NLS-1$
-//						label.setText( Messages.InternalLibJarWarning);
-//						label.addListener(SWT.MouseExit, labelListener);
-//						label.addListener(SWT.MouseDown, labelListener);
-//						Point size = tip.computeSize(SWT.DEFAULT, SWT.DEFAULT);
-//						Rectangle rect = item.getBounds(0);
-//						Point pt = table.toDisplay(rect.x, rect.y);
-//						tip.setBounds(pt.x, pt.y - size.y, size.x, size.y);
-//						tip.setVisible(true);
-//					}
-//				}
-//				}
-//			}
-//		};
-//	}
-
-//	protected boolean canEdit(Object data) {
-//		if( data == null ) return false;
-//		if( !(data instanceof VirtualArchiveComponent)) return true;
-//		
-//		VirtualArchiveComponent d2 = (VirtualArchiveComponent)data;
-//		boolean sameProject = d2.getWorkspaceRelativePath() != null
-//			&& d2.getWorkspaceRelativePath().segment(0)
-//				.equals(rootComponent.getProject().getName());
-//		return !(sameProject && isPhysicallyAdded(d2));
-//	}
-	
-	protected void addDoubleClickListener() {
-		availableComponentsViewer.setColumnProperties(new String[] { 
-				SOURCE_PROPERTY, DEPLOY_PATH_PROPERTY });
-		
-		CellEditor[] editors = new CellEditor[] {
-				new TextCellEditor(),
-				new TextCellEditor(availableComponentsViewer.getTree())};
-		availableComponentsViewer.setCellEditors(editors);
-		availableComponentsViewer
-				.setCellModifier(getRuntimePathCellModifier());
-	}
-
-	protected RuntimePathCellModifier getRuntimePathCellModifier() {
-		return new RuntimePathCellModifier();
-	}
-
-	protected void addSelectionListener() {
-		availableComponentsViewer.addSelectionChangedListener(
-				new ISelectionChangedListener(){
-					public void selectionChanged(SelectionChangedEvent event) {
-						viewerSelectionChanged();
-					}
-				});
-	}
-	
-	protected void viewerSelectionChanged() {
-		editReferenceButton.setEnabled(hasEditWizardPage(getSelectedObject()));
-		removeButton.setEnabled(canRemove(getSelectedObject()));
-	}
-
-	protected boolean canRemove(Object selectedObject) {
-		return selectedObject != null;
-	}
-	
-	protected boolean hasEditWizardPage(Object o) {
-		if( o == null || !(o instanceof IVirtualReference)) 
-			return false;
-		WizardFragment wf = NewReferenceWizard.getFirstEditingFragment((IVirtualReference)o);
-		return wf != null;
-	}
-
-	protected Object getSelectedObject() {
-		IStructuredSelection sel = (IStructuredSelection)availableComponentsViewer.getSelection();
-		return sel.getFirstElement();
-	}
-	
-	protected class RuntimePathCellModifier implements ICellModifier {
-
-		public boolean canModify(Object element, String property) {
-			if( property.equals(DEPLOY_PATH_PROPERTY)) {
-				if( element instanceof IVirtualReference && !((IVirtualReference)element).isDerived())
-					return true;
-				if( element instanceof ComponentResourceProxy )
-					return true; 
-			}
-			return false;
-		}
-
-		public Object getValue(Object element, String property) {
-			if( element instanceof IVirtualReference ) {
-				return new Path(getSafeRuntimePath((IVirtualReference)element)).makeRelative().toString();
-			} else if( element instanceof ComponentResourceProxy) {
-				if(((ComponentResourceProxy)element).runtimePath.isRoot())
-					return ((ComponentResourceProxy)element).runtimePath.toString();
-				else
-					return ((ComponentResourceProxy)element).runtimePath.makeRelative().toString();
-			}
-			return new Path("/"); //$NON-NLS-1$
-		}
-
-		public void modify(Object element, String property, Object value) {
-			if (property.equals(DEPLOY_PATH_PROPERTY)) {
-				TreeItem item = (TreeItem) element;
-				TreeItem[] components = availableComponentsViewer.getTree().getItems();
-				int tableIndex = -1;
-				for(int i=0; i < components.length; i++) {
-					if(components[i] == item) {
-						tableIndex = i;
-						break;
-					}
-				}
-				if( item.getData() instanceof IVirtualReference) {
-					setRuntimePathSafe((IVirtualReference)item.getData(), (String) value);
-					if(tableIndex >= 0) {
-						IPath deployPath = ((IVirtualReference)item.getData()).getRuntimePath().append(((IVirtualReference)item.getData()).getArchiveName());
-						components[tableIndex].setText(AddModuleDependenciesPropertiesPage.DEPLOY_COLUMN, deployPath.makeRelative().toString());
-					}
-				} else if( item.getData() instanceof ComponentResourceProxy) {
-					ComponentResourceProxy c = ((ComponentResourceProxy)item.getData());
-					c.runtimePath = new Path((String)value).makeAbsolute();
-					String runtimePath;
-					if(c.runtimePath.isRoot())
-						runtimePath = c.runtimePath.toString();
-					else
-						runtimePath = c.runtimePath.makeRelative().toString();
-					resourceMappingsChanged = true;
-					if(tableIndex >= 0)
-						components[tableIndex].setText(AddModuleDependenciesPropertiesPage.DEPLOY_COLUMN, runtimePath);
-				}
-				verify();
-			}
-		}
-
-	}
-
-	public void handleEvent(Event event) {
-		if( event.widget == addReferenceButton) 
-			handleAddReferenceButton();
-		else if( event.widget == editReferenceButton) 
-			handleEditReferenceButton();
-		else if( event.widget == removeButton ) 
-			handleRemoveSelectedButton();
-	}
-	
-	protected void handleAddReferenceButton() {
-		showReferenceWizard(false);
-	}
-	
-	protected void handleEditReferenceButton() {
-		showReferenceWizard(true);
-	}
-	
-	protected void filterReferenceTypes(List<ReferenceExtension> defaults) 
-	{
-	}
-	
-	protected void showReferenceWizard( final boolean editing ) 
-	{
-		final List<ReferenceExtension> extensions = 
-			DependencyPageExtensionManager.getManager().getExposedReferenceExtensions();
-		
-		for( Iterator<ReferenceExtension> itr = extensions.iterator(); itr.hasNext(); )
-		{
-			final ReferenceExtension extension = itr.next();
-			
-			if( ! extension.isApplicable( this.project ) )
-			{
-				itr.remove();
-			}
-		}
-		
-		filterReferenceTypes( extensions );
-		
-		NewReferenceWizard wizard = new NewReferenceWizard(extensions);
-		
-		// fill the task model
-		wizard.getTaskModel().putObject(IReferenceWizardConstants.PROJECT, project);
-		wizard.getTaskModel().putObject(IReferenceWizardConstants.ROOT_COMPONENT, rootComponent);
-		wizard.getTaskModel().putObject(IReferenceWizardConstants.MODULEHANDLER, getModuleHandler());
-		wizard.getTaskModel().putObject(IReferenceWizardConstants.CURRENT_REFS, currentReferences);
-		
-		final List<Object> directives = new ArrayList<Object>();
-		
-		for( TreeItem item : this.availableComponentsViewer.getTree().getItems() )
-		{
-			directives.add( item.getData() );
-		}
-		
-		wizard.getTaskModel().putObject(IReferenceWizardConstants.ALL_DIRECTIVES, directives);
-		
-		setCustomReferenceWizardProperties(wizard.getTaskModel());
-
-		IVirtualReference selected = null;
-		if( editing ) {
-			Object o = ((IStructuredSelection)availableComponentsViewer.getSelection()).getFirstElement();
-			if( o instanceof IVirtualReference ) {
-				selected = (IVirtualReference)o;
-				wizard.getTaskModel().putObject(IReferenceWizardConstants.ORIGINAL_REFERENCE, selected);
-			} 
-		}
-		
-		WizardDialog wd = new WizardDialog(addReferenceButton.getShell(), wizard);
-		if( wd.open() != Window.CANCEL) {
-			if( editing && selected != null) {
-				// remove old
-				currentReferences.remove(selected);
-			}
-			
-			handleAddDirective( wizard );
-			refresh();
-		}
-	}
-	
-	/*
-	 * Clients can override this to set custom properties
-	 */
-	protected void setCustomReferenceWizardProperties(TaskModel model) {
-		// do nothing
-	}
-	
-	protected void handleAddDirective( final TaskWizard wizard )
-	{
-		final Object folderMapping = wizard.getTaskModel().getObject(IReferenceWizardConstants.FOLDER_MAPPING);
-		
-		if( folderMapping != null && folderMapping instanceof ComponentResourceProxy ) 
-		{
-			ComponentResourceProxy proxy = (ComponentResourceProxy) folderMapping;
-			resourceMappings.add(proxy);
-			resourceMappingsChanged = true;
-		}
-		else
-		{
-			Object reference = wizard.getTaskModel().getObject(IReferenceWizardConstants.FINAL_REFERENCE);
-			
-			if( reference != null ) 
-			{
-				IVirtualReference[] referenceArray = reference instanceof IVirtualReference ? 
-						new IVirtualReference[] { (IVirtualReference)reference } : 
-							(IVirtualReference[])reference;
-				currentReferences.addAll(Arrays.asList(referenceArray));
-			}
-		}
-	}
-	
-	/**
-	 * Subclasses are encouraged to override this method if 
-	 * they have some specific place (webinf/lib etc) where certain
-	 * types of references should default to. 
-	 * 
-	 * If the subclass does not understand or know about the 
-	 * this component type, or if it has no customizations to perform,
-	 * it should return the provided wizardPath unchanged
-	 * 
-	 * @param addedComp The component being added as a reference
-	 * @param addedPath The path that the wizard suggests as the path
-	 * @return The runtime path that should be added to the properties page
-	 */
-	protected String getRuntimePath(IVirtualComponent addedComp, String wizardPath) {
-		return wizardPath;
-	}
-	
-	protected void handleRemoveSelectedButton() {
-		ISelection sel = availableComponentsViewer.getSelection();
-		if( sel instanceof IStructuredSelection ) {
-			IStructuredSelection sel2 = (IStructuredSelection)sel;
-			Object[] selectedStuff = sel2.toArray();
-			for( int i = 0; i < selectedStuff.length; i++) {
-				Object o = selectedStuff[i];
-				remove(o);
-			}
-			refresh();
-		}
-	}
-
-	protected void remove(Object selectedItem){
-		if( selectedItem instanceof IVirtualReference)
-			currentReferences.remove(selectedItem);
-		else if( selectedItem instanceof ComponentResourceProxy) {
-			resourceMappings.remove(selectedItem);
-			resourceMappingsChanged = true;
-		}
-	}
-	
-	/**
-	 * Provides two possible sorts for each column based on the text labels.
-	 * Clicking on the column will toggle forwards/backwards sorting
-	 * @author jsholl
-	 */
-	private static class TreeViewerTableColumnSortToggler {
-		private int sortDirection = 0;
-		private int sortColumn = 0;
-		private TreeViewer treeViewer;
-		
-		private TreeViewerTableColumnSortToggler(TreeViewer treeViewer){
-			this.treeViewer = treeViewer;
-		}
-		
-		private void toggleSort(int column){
-			if(sortColumn == column){
-				//cycle through sort options
-				switch(sortDirection){
-				case SWT.NONE:
-					sortDirection = SWT.UP;
-					break;
-				case SWT.UP:
-					sortDirection = SWT.DOWN;
-					break;
-				case SWT.DOWN:
-					sortDirection = SWT.UP;
-					break;
-				}
-			} else {
-				//clicked on a different column reset cycle
-				sortColumn = column;
-				sortDirection = SWT.UP;
-			}
-			
-			ViewerComparator comparator = getViewerComparator(column, sortDirection);
-			treeViewer.setComparator(comparator);
-			
-			Tree tree = treeViewer.getTree();
-			TreeColumn sortColumn = treeViewer.getTree().getColumn(column);
-			tree.setSortColumn(sortColumn);
-			tree.setSortDirection(sortDirection);
-		}
-		
-		private ViewerComparator getViewerComparator(final int columnIndex, final int sortDirection) {
-			if(sortDirection == SWT.NONE){
-				return null;
-			}
-			return new ViewerComparator() {
-				Collator collator = Collator.getInstance();
-				public int compare(Viewer viewerLocal, Object e1, Object e2) {
-					IBaseLabelProvider baseLabelProvider = treeViewer.getLabelProvider();
-					if(baseLabelProvider instanceof ITableLabelProvider){
-						ITableLabelProvider tableLabelProvider = (ITableLabelProvider)baseLabelProvider;
-						String text1 = tableLabelProvider.getColumnText(e1, columnIndex);
-						if(text1 != null){
-							String text2 = tableLabelProvider.getColumnText(e2, columnIndex);
-							int comp = collator.compare(text1, text2);
-							if(sortDirection == SWT.DOWN){
-								comp = -comp;
-							}
-							return comp;
-						}
-					}
-					return 0;
-				}
-			};
-		}
-	};
-	
-	public TreeViewer createAvailableComponentsViewer(Composite parent) {
-		int flags = SWT.BORDER | SWT.FULL_SELECTION | SWT.MULTI;
-
-		Tree tree = new Tree(parent, flags);
-		TreeViewer tempViewer = new TreeViewer(tree);
-		final TreeViewerTableColumnSortToggler sortController = new TreeViewerTableColumnSortToggler(tempViewer);
-		
-		TreeViewerFocusCellManager focusCellManager = new TreeViewerFocusCellManager(tempViewer,new FocusCellOwnerDrawHighlighter(tempViewer));
-		ColumnViewerEditorActivationStrategy actSupport = new ColumnViewerEditorActivationStrategy(tempViewer) {
-			private final int SPACE = 32;
-			protected boolean isEditorActivationEvent(
-					ColumnViewerEditorActivationEvent event) {
-				return event.eventType == ColumnViewerEditorActivationEvent.TRAVERSAL
-						|| event.eventType == ColumnViewerEditorActivationEvent.MOUSE_DOUBLE_CLICK_SELECTION
-						|| (event.eventType == ColumnViewerEditorActivationEvent.KEY_PRESSED && event.keyCode == SPACE)
-						|| event.eventType == ColumnViewerEditorActivationEvent.PROGRAMMATIC;
-			}
-		};
-		
-		TreeViewerEditor.create(tempViewer, focusCellManager, actSupport, ColumnViewerEditor.TABBING_HORIZONTAL
-				| ColumnViewerEditor.TABBING_MOVE_TO_ROW_NEIGHBOR
-				| ColumnViewerEditor.TABBING_VERTICAL | ColumnViewerEditor.KEYBOARD_ACTIVATION);
-
-		// set up table layout
-		TableLayout tableLayout = new org.eclipse.jface.viewers.TableLayout();
-		tableLayout.addColumnData(new ColumnWeightData(400, true));
-		tableLayout.addColumnData(new ColumnWeightData(500, true));
-		tree.setLayout(tableLayout);
-		tree.setHeaderVisible(true);
-		tree.setLinesVisible(true);
-		tempViewer.setSorter(null);
-
-		TreeColumn projectColumn = new TreeColumn(tree, SWT.NONE, SOURCE_COLUMN);
-		projectColumn.setText(Messages.SourceColumn);
-		projectColumn.setResizable(true);
-		projectColumn.addSelectionListener(new SelectionListener() {
-			public void widgetSelected(SelectionEvent e) {
-				sortController.toggleSort(0);
-			}
-			public void widgetDefaultSelected(SelectionEvent e) {
-				//do nothing
-			}
-		});
-
-		TreeColumn bndColumn = new TreeColumn(tree, SWT.NONE, DEPLOY_COLUMN);
-		bndColumn.setText(Messages.DeployPathColumn);
-		bndColumn.setResizable(true);
-		bndColumn.addSelectionListener(new SelectionListener() {
-			public void widgetSelected(SelectionEvent e) {
-				sortController.toggleSort(1);
-			}
-			public void widgetDefaultSelected(SelectionEvent e) {
-				//do nothing
-			}
-		});
-		
-		tableLayout.layout(tree, true);
-		sortController.toggleSort(0);
-		return tempViewer;
-
-	}
-
-	/**
-	 * This should only be called on changes, such as adding a project
-	 * reference, adding a lib reference etc.
-	 * 
-	 * It will reset the input, manually re-add missing elements, and do other
-	 * tasks
-	 */
-	public void refresh() {
-		resetTableUI();
-		if (!hasInitialized) {
-			initialize();
-			resetTableUI();
-		}
-		verify();
-
-	}
-
-	protected void verify() {
-		propPage.refreshProblemsView();
-	}
-	
-	public IStatus validate() {
-		ArrayList<ComponentResourceProxy> allMappings = new ArrayList<ComponentResourceProxy>();
-		allMappings.addAll(resourceMappings);
-		allMappings.addAll(hiddenMappings);
-		
-		return DeploymentAssemblyVerifierHelper.verify(rootComponent, runtime, currentReferences, allMappings,resourceMappingsChanged);
-	}
-	
-	protected void setErrorMessage(IStatus status) {
-		// Clear the messages
-		propPage.setErrorMessage(null);
-		propPage.setMessage(null);
-		if(status != null) {
-			if (status.isMultiStatus()) {
-				MultiStatus multi = (MultiStatus)status;
-				if (!multi.isOK()) {
-					propPage.setMessage(getMessage(multi), multi.getSeverity());
-					if (multi.getSeverity() == IStatus.ERROR) {
-						propPage.setErrorMessage(getMessage(multi));
-						propPage.setValid(false);
-					}
-					else 
-						propPage.setValid(true);
-				} else propPage.setValid(true);
-			} else if (status.isOK()) propPage.setValid(true);
-			propPage.getContainer().updateMessage();
-		}
-	}
-
-	private String getMessage(MultiStatus multi) {
-		//Append Messages
-		StringBuffer message = new StringBuffer();
-		
-		for (int i = 0; i < multi.getChildren().length; i++) {
-			IStatus status = multi.getChildren()[i];
-			if (!status.isOK() && status.getMessage() != null) {
-				message.append(status.getMessage());
-				message.append(" "); //$NON-NLS-1$
-			}
-		}
-		return message.toString();
-	}
-
-	protected void resetTableUI() {
-		IWorkspaceRoot input = ResourcesPlugin.getWorkspace().getRoot();
-		availableComponentsViewer.setInput(input);
-		GridData data = new GridData(GridData.FILL_BOTH);
-		int numlines = Math.min(10, availableComponentsViewer.getTree()
-				.getItemCount());
-		data.heightHint = availableComponentsViewer.getTree().getItemHeight()
-				* numlines;
-		availableComponentsViewer.getTree().setLayoutData(data);
-		GridData btndata = new GridData(GridData.HORIZONTAL_ALIGN_FILL
-				| GridData.VERTICAL_ALIGN_BEGINNING);
-		buttonColumn.setLayoutData(btndata);
-	}
-
-	protected void initialize() {
-		Map<String, Object> options = new HashMap<String, Object>();
-		options.put(IVirtualComponent.REQUESTED_REFERENCE_TYPE, IVirtualComponent.DISPLAYABLE_REFERENCES_ALL);
-		IVirtualReference[] refs = rootComponent.getReferences(options);
-		IVirtualComponent comp;
-		originalReferences.addAll(Arrays.asList(refs));
-		currentReferences.addAll(Arrays.asList(cloneReferences(refs)));
-
-		ComponentResource[] allMappings = findAllExposedMappings();
-		for( int i = 0; i < allMappings.length; i++ ) {
-			resourceMappings.add(new ComponentResourceProxy(
-					allMappings[i].getSourcePath(), allMappings[i].getRuntimePath(), allMappings[i].getTag()
-			));
-		}
-		ComponentResource[] onlyHiddenMappings = findOnlyHiddenMappings();
-		for( int i = 0; i < onlyHiddenMappings.length; i++ ) {
-			hiddenMappings.add(new ComponentResourceProxy(
-					onlyHiddenMappings[i].getSourcePath(), onlyHiddenMappings[i].getRuntimePath(), onlyHiddenMappings[i].getTag()
-			));
-		}
-		if(editReferenceButton != null)
-			editReferenceButton.setEnabled(false);
-		if(removeButton != null)
-			removeButton.setEnabled(false);
-		hasInitialized = true;
-	}
-
-	private IRuntime getServerRuntime(IProject project2) throws CoreException {
-		if (project == null)
-			return null;
-		IFacetedProject facetedProject = ProjectFacetsManager.create(project);
-		if (facetedProject == null)
-			return null;
-		org.eclipse.wst.common.project.facet.core.runtime.IRuntime runtime = facetedProject.getRuntime();
-		if (runtime == null)
-			return null;
-		return FacetUtil.getRuntime(runtime);
-	}
-
-	protected IVirtualReference[] cloneReferences(IVirtualReference[] refs) {
-		IVirtualReference[] result = new IVirtualReference[refs.length];
-		VirtualReference temp;
-		for( int i = 0; i < result.length; i++ ) {
-			temp = new VirtualReference(refs[i].getEnclosingComponent(), refs[i].getReferencedComponent());
-			temp.setDependencyType(refs[i].getDependencyType());
-			temp.setDerived(refs[i].isDerived());
-			temp.setArchiveName(refs[i].getArchiveName());
-			temp.setRuntimePath(refs[i].getRuntimePath());
-			result[i] = temp;
-		}
-		return result;
-	}
-	
-	protected ComponentResource[] findAllMappings() {
-		StructureEdit structureEdit = null;
-		try {
-			structureEdit = StructureEdit.getStructureEditForRead(project);
-			WorkbenchComponent component = structureEdit.getComponent();
-			Object[] arr = component.getResources().toArray();
-			ComponentResource[] result = new ComponentResource[arr.length];
-			for( int i = 0; i < arr.length; i++ )
-				result[i] = (ComponentResource)arr[i];
-			return result;
-		} catch (NullPointerException e) {
-			ModuleCoreUIPlugin.logError(e);
-		} finally {
-			if(structureEdit != null)
-				structureEdit.dispose();
-		}
-		return new ComponentResource[]{};
-	}
-	
-	protected ComponentResource[] findAllExposedMappings() {
-		StructureEdit structureEdit = null;
-		try {
-			structureEdit = StructureEdit.getStructureEditForRead(project);
-			WorkbenchComponent component = structureEdit.getComponent();
-			Object[] arr = component.getResources().toArray();
-			ArrayList <ComponentResource> result = new ArrayList<ComponentResource>();
-			for( int i = 0; i < arr.length; i++ ) {
-				ComponentResource resource = (ComponentResource)arr[i];
-				if(!ResourceMappingFilterExtensionRegistry.shouldFilter(resource.getSourcePath())) {
-					result.add((ComponentResource)arr[i]);
-				}
-			}
-			return result.toArray(new ComponentResource[result.size()]);
-		} catch (NullPointerException e) {
-			ModuleCoreUIPlugin.logError(e);
-		} finally {
-			if(structureEdit != null)
-				structureEdit.dispose();
-		}
-		return new ComponentResource[]{};
-	}
-	
-	protected ComponentResource[] findOnlyHiddenMappings() {
-		StructureEdit structureEdit = null;
-		try {
-			structureEdit = StructureEdit.getStructureEditForRead(project);
-			WorkbenchComponent component = structureEdit.getComponent();
-			Object[] arr = component.getResources().toArray();
-			ArrayList <ComponentResource> result = new ArrayList<ComponentResource>();
-			for( int i = 0; i < arr.length; i++ ) {
-				ComponentResource resource = (ComponentResource)arr[i];
-				if(ResourceMappingFilterExtensionRegistry.shouldFilter(resource.getSourcePath())) {
-					result.add((ComponentResource)arr[i]);
-				}
-			}
-			return result.toArray(new ComponentResource[result.size()]);
-		} catch (NullPointerException e) {
-			ModuleCoreUIPlugin.logError(e);
-		} finally {
-			if(structureEdit != null)
-				structureEdit.dispose();
-		}
-		return new ComponentResource[]{};
-	}
-	
-	public static class ComponentResourceProxy {
-		public IPath source, runtimePath;
-		public String tag;
-		public ComponentResourceProxy(IPath source, IPath runtimePath) {
-			this(source, runtimePath, null);
-		}
-		public ComponentResourceProxy(IPath source, IPath runtimePath, String tag) {
-			this.source = source;
-			this.runtimePath = runtimePath;
-			this.tag = tag;
-		}
-	}
-	
-	/*
-	 * Clean-up methods are below. These include performCancel, performDefaults,
-	 * performOK, and any other methods that are called *only* by this one.
-	 */
-	public void setVisible(boolean visible) {
-	}
-
-	public void performDefaults() {
-		currentReferences.clear();
-		IVirtualReference[] currentTmp =
-			originalReferences.toArray(new IVirtualReference[originalReferences.size()]); 
-		currentReferences.addAll(Arrays.asList(cloneReferences(currentTmp)));
-		resourceMappings.clear();
-		ComponentResource[] allMappings = findAllExposedMappings();
-		for( int i = 0; i < allMappings.length; i++ ) {
-			resourceMappings.add(new ComponentResourceProxy(
-					allMappings[i].getSourcePath(), allMappings[i].getRuntimePath(), allMappings[i].getTag()
-			));
-		}
-		refresh();
-	}
-
-	public boolean performCancel() {
-		return true;
-	}
-
-	public void dispose() {
-		Tree tree = null;
-		if (availableComponentsViewer != null) {
-			tree = availableComponentsViewer.getTree();
-		}
-//		if (table == null || tableListener == null)
-//			return; 
-//		table.removeListener(SWT.Dispose, tableListener);
-//		table.removeListener(SWT.KeyDown, tableListener);
-//		table.removeListener(SWT.MouseMove, tableListener);
-//		table.removeListener(SWT.MouseHover, tableListener);
-	}
-
-	
-	
-	/*
-	 * This is where the OK work goes. Lots of it. Watch your head.
-	 * xiao xin
-	 */
-	protected boolean preHandleChanges(IProgressMonitor monitor) {
-		return true;
-	}
-
-	protected boolean postHandleChanges(IProgressMonitor monitor) {
-		return true;
-	}
-
-	public boolean performOk() {
-		boolean result = true;
-		result &= saveResourceChanges();
-		result &= saveReferenceChanges();
-		return result;
-	}
-	
-	protected boolean saveResourceChanges() {
-		if( resourceMappingsChanged ) {
-			removeAllResourceMappings();
-			addNewResourceMappings();
-			addAllHiddenResourceMappings();
-		}
-		return true;
-	}
-	
-	private void addAllHiddenResourceMappings() {
-		ComponentResourceProxy[] proxies = hiddenMappings.toArray(new ComponentResourceProxy[hiddenMappings.size()]);
-		IVirtualFolder rootFolder = rootComponent.getRootFolder();
-		for( int i = 0; i < proxies.length; i++ ) {
-			try {
-				rootFolder.getFolder(proxies[i].runtimePath).createLink(proxies[i].source, 0, null);
-			} catch( CoreException ce ) {
-				ModuleCoreUIPlugin.logError(ce);
-			}
-		}
-	}
-	
-	protected boolean addNewResourceMappings() {
-		ComponentResourceProxy[] proxies = resourceMappings.toArray(new ComponentResourceProxy[resourceMappings.size()]);
-		IVirtualFolder rootFolder = rootComponent.getRootFolder();
-		IVirtualFolder subFolder = null;
-		for( int i = 0; i < proxies.length; i++ ) {
-			try {			
-				subFolder= rootFolder.getFolder(proxies[i].runtimePath);
-				subFolder.createLink(proxies[i].source, 0, null);
-				if (subFolder instanceof ITaggedVirtualResource){
-					((ITaggedVirtualResource) subFolder).tagResource(proxies[i].source, proxies[i].tag, null);
-				}
-			} catch( CoreException ce ) {
-				ModuleCoreUIPlugin.logError(ce);
-			}
-		}
-		resourceMappingsChanged = false;
-		return true;
-	}
-	
-	protected boolean removeAllResourceMappings() {
-		StructureEdit moduleCore = null;
-		try {
-			moduleCore = StructureEdit.getStructureEditForWrite(project);
-			moduleCore.getComponent().getResources().clear();
-		}
-		finally {
-			if (moduleCore != null) {
-				moduleCore.saveIfNecessary(new NullProgressMonitor());
-				moduleCore.dispose();
-			}
-		}
-		return true;
-	}
-	
-	protected boolean saveReferenceChanges() {
-		// Fill our delta lists
-		ArrayList<IVirtualReference> added = new ArrayList<IVirtualReference>();
-		ArrayList<IVirtualReference> removed = new ArrayList<IVirtualReference>();
-
-		HashMap<IVirtualComponent, IVirtualReference> map = new HashMap<IVirtualComponent, IVirtualReference>();
-		Iterator<IVirtualReference> k = currentReferences.iterator();
-		IVirtualReference v1;
-		while(k.hasNext()) {
-			v1 = k.next();
-			map.put(v1.getReferencedComponent(), v1);
-		}
-		
-		Iterator<IVirtualReference> j = originalReferences.iterator();
-		IVirtualReference origRef, newRef;
-		while (j.hasNext()) {
-			origRef = j.next();
-			newRef = map.get(origRef.getReferencedComponent());
-			if( newRef == null )
-				removed.add(origRef);
-			else if( !getSafeRuntimePath(origRef).equals(getSafeRuntimePath(newRef))) {
-				removed.add(origRef);
-				added.add(newRef);
-			}
-			map.remove(origRef.getReferencedComponent());
-		}
-
-		added.addAll(map.values());
-
-		NullProgressMonitor monitor = new NullProgressMonitor();
-		boolean subResult = preHandleChanges(monitor);
-		if( !subResult )
-			return false;
-		
-		handleRemoved(removed);
-		handleAdded(added);
-
-		subResult &= postHandleChanges(monitor);
-		
-		originalReferences.clear();
-		originalReferences.addAll(currentReferences);
-		currentReferences.clear();
-		IVirtualReference[] currentTmp =
-			originalReferences.toArray(new IVirtualReference[originalReferences.size()]); 
-		currentReferences.addAll(Arrays.asList(cloneReferences(currentTmp)));
-		return subResult;
-	}
-
-	protected void handleRemoved(ArrayList<IVirtualReference> removed) {
-		// If it's removed it should *only* be a virtual component already
-		if(removed.isEmpty()) return;
-		final ArrayList<IVirtualReference> refs = new ArrayList<IVirtualReference>();
-		Iterator<IVirtualReference> i = removed.iterator();
-		IVirtualReference o;
-		while(i.hasNext()) {
-			o = i.next();
-			refs.add(o);
-		}
-		IWorkspaceRunnable runnable = new IWorkspaceRunnable(){
-			public void run(IProgressMonitor monitor) throws CoreException{
-				removeReferences(refs);
-			}
-		};
-		try {
-			ResourcesPlugin.getWorkspace().run(runnable, new NullProgressMonitor());
-		} catch( CoreException e ) {
-			ModuleCoreUIPlugin.logError(e);
-		}
-		
-	}
-	
-	protected void removeReferences(ArrayList<IVirtualReference> removed) {
-		Iterator<IVirtualReference> i = removed.iterator();
-		while(i.hasNext()) {
-			removeOneReference(i.next());
-		}
-	}
-
-	protected void removeOneReference(IVirtualReference comp) {
-		try {
-			IDataModelOperation operation = getRemoveComponentOperation(comp);
-			operation.execute(null, null);
-		} catch( ExecutionException e) {
-			ModuleCoreUIPlugin.logError(e);
-		}
-		
-	}
-
-	protected IDataModelOperation getRemoveComponentOperation(IVirtualReference reference) {
-		IDataModelProvider provider = getRemoveReferenceDataModelProvider(reference);
-		IDataModel model = DataModelFactory.createDataModel(provider);
-		model.setProperty(IAddReferenceDataModelProperties.SOURCE_COMPONENT, rootComponent);
-		List<IVirtualReference> toRemove = new ArrayList<IVirtualReference>();
-		toRemove.add(reference); 
-		model.setProperty(IAddReferenceDataModelProperties.TARGET_REFERENCE_LIST, toRemove);
-		return model.getDefaultOperation();
-	}
-	
-	protected IDataModelProvider getRemoveReferenceDataModelProvider(IVirtualReference reference) {
-		return new RemoveReferenceDataModelProvider();
-	}
-	
-	protected void handleAdded(ArrayList<IVirtualReference> added) {
-		final ArrayList<IVirtualReference> refs = new ArrayList<IVirtualReference>();
-		Iterator<IVirtualReference> i = added.iterator();
-		IVirtualReference o;
-		while(i.hasNext()) {
-			o = i.next();
-			refs.add(o);
-		}
-		
-		IWorkspaceRunnable runnable = new IWorkspaceRunnable(){
-			public void run(IProgressMonitor monitor) throws CoreException{
-				addReferences(refs);
-			}
-		};
-		try {
-			ResourcesPlugin.getWorkspace().run(runnable, new NullProgressMonitor());
-		} catch( CoreException e ) {
-			ModuleCoreUIPlugin.logError(e);
-		}
-	}
-	
-	protected void addReferences(ArrayList<IVirtualReference> refs) throws CoreException {
-		Iterator<IVirtualReference> i = refs.iterator();
-		while(i.hasNext()) {
-			addOneReference(i.next());
-		}
-	}
-	
-	protected IDataModelProvider getAddReferenceDataModelProvider(IVirtualReference component) {
-		return new AddReferenceDataModelProvider();
-	}
-	
-	protected void addOneReference(IVirtualReference ref) throws CoreException {
-		String path, archiveName;
-
-		IDataModelProvider provider = getAddReferenceDataModelProvider(ref);
-		IDataModel dm = DataModelFactory.createDataModel(provider);
-		dm.setProperty(IAddReferenceDataModelProperties.SOURCE_COMPONENT, rootComponent);
-		dm.setProperty(IAddReferenceDataModelProperties.TARGET_REFERENCE_LIST, Arrays.asList(ref));
-		
-		IStatus stat = dm.validateProperty(IAddReferenceDataModelProperties.TARGET_REFERENCE_LIST);
-		if (stat != OK_STATUS)
-			throw new CoreException(stat);
-		try {
-			dm.getDefaultOperation().execute(new NullProgressMonitor(), null);
-		} catch (ExecutionException e) {
-			ModuleCoreUIPlugin.logError(e);
-		}	
-	}
-
-	public void labelProviderChanged(LabelProviderChangedEvent event) {
-		if(!availableComponentsViewer.getTree().isDisposed())
-			availableComponentsViewer.refresh(true);
-	}
-
-	protected IModuleHandler getModuleHandler() {
-		if(moduleHandler == null)
-			moduleHandler = new DefaultModuleHandler();
-		return moduleHandler;
-	}
-
-	public void performApply() {
-		performOk();
-		verify();
-	}
-
-}
diff --git a/plugins/org.eclipse.wst.common.modulecore.ui/src/org/eclipse/wst/common/componentcore/ui/propertypage/IDependencyPageProvider.java b/plugins/org.eclipse.wst.common.modulecore.ui/src/org/eclipse/wst/common/componentcore/ui/propertypage/IDependencyPageProvider.java
deleted file mode 100644
index 47332e2..0000000
--- a/plugins/org.eclipse.wst.common.modulecore.ui/src/org/eclipse/wst/common/componentcore/ui/propertypage/IDependencyPageProvider.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2009 Red Hat
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    Rob Stryker - initial implementation and ongoing maintenance
- *    
- * API in these packages is provisional in this release
- ******************************************************************************/
-package org.eclipse.wst.common.componentcore.ui.propertypage;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.wst.common.project.facet.core.IFacetedProject;
-
-/**
- * Suggested use case of this class is as follows:
- * 
- * 		provider = DependencyPageExtensionManager.getManager().getProvider(facetedProject);
- *		if( provider != null ) {
- *			controls = provider.createPages(facetedProject, this);
- *			Composite root = provider.createRootControl(controls, parent);
- *		}
- */
-public interface IDependencyPageProvider {
-	/**
-	 * Returns true if this page provider knows how to 
-	 * handle the given faceted project, false otherwise
-	 * @param project a project
-	 * @return true if this provider can handle it, false otherwise
-	 */
-	public boolean canHandle(IFacetedProject project);
-	
-	/**
-	 * Returns a list of page control objects which should be
-	 * presented to the user for this project type. 
-	 * 
-	 * @param project
-	 * @param parent
-	 * @return
-	 */
-	public IModuleDependenciesControl[] createPages(IFacetedProject project, ModuleAssemblyRootPage parent);
-	
-	/**
-	 * Turn this array of pages / controls into one root control
-	 * that can be returned to the Properties Page container. 
-
-	 * @param pages
-	 * @param parent
-	 * @return
-	 */
-	public Composite createRootControl(IFacetedProject project, IModuleDependenciesControl[] pages, Composite parent);
-
-	/**
-	 * 
-	 * @return String - page title string or null if default title is desired
-	 */
-	public String getPageTitle(IProject project);
-	
-}
diff --git a/plugins/org.eclipse.wst.common.modulecore.ui/src/org/eclipse/wst/common/componentcore/ui/propertypage/IModuleDependenciesControl.java b/plugins/org.eclipse.wst.common.modulecore.ui/src/org/eclipse/wst/common/componentcore/ui/propertypage/IModuleDependenciesControl.java
deleted file mode 100644
index d6ca4c8..0000000
--- a/plugins/org.eclipse.wst.common.modulecore.ui/src/org/eclipse/wst/common/componentcore/ui/propertypage/IModuleDependenciesControl.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2009 Red Hat
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    Rob Stryker - initial implementation and ongoing maintenance
- *    
- * API in these packages is provisional in this release
- ******************************************************************************/
-package org.eclipse.wst.common.componentcore.ui.propertypage;
-
-import org.eclipse.swt.widgets.Composite;
-
-/**
- * This represents one control which may be present on a page
- * and requires to listen in to the specific lifecycle 
- * events of the page. 
- */
-public interface IModuleDependenciesControl {
-	/**
-	 * Creates the Composite associated with this control.
-	 * @param parent Parent Composite.
-	 * @return Composite for the control.
-	 */
-	Composite createContents(Composite parent);
-	
-	/**
-	 * Called when the property page's <code>performOk()</code> method is called.
-	 * @return
-	 */
-	boolean performOk();
-	
-	/**
-	 * Called when the property page's <code>performDefaults()</code> method is called.
-	 * @return
-	 */
-	void performDefaults();
-	
-	/**
-	 * Called when the property page's <code>performCancel()</code> method is called.
-	 * @return
-	 */
-	boolean performCancel();
-	
-	/**
-	 * Called when the property page's <code>performApply()</code> method is called.
-	 * @return
-	 */
-	void performApply();
-	
-	/**
-	 * Called when the property page's <code>setVisible()</code> method is called.
-	 * @return
-	 */
-	void setVisible(boolean visible);
-	
-	/**
-	 * Called when the property page's <code>dispose()</code> method is called.
-	 * @return
-	 */
-	void dispose();
-}
diff --git a/plugins/org.eclipse.wst.common.modulecore.ui/src/org/eclipse/wst/common/componentcore/ui/propertypage/IReferenceWizardConstants.java b/plugins/org.eclipse.wst.common.modulecore.ui/src/org/eclipse/wst/common/componentcore/ui/propertypage/IReferenceWizardConstants.java
deleted file mode 100644
index 11d8ce1..0000000
--- a/plugins/org.eclipse.wst.common.modulecore.ui/src/org/eclipse/wst/common/componentcore/ui/propertypage/IReferenceWizardConstants.java
+++ /dev/null
@@ -1,89 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2009 Red Hat
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    Rob Stryker - initial implementation and ongoing maintenance
- *    IBM - Ongoing maintenance
- *    
- * API in these packages is provisional in this release
- ******************************************************************************/
-package org.eclipse.wst.common.componentcore.ui.propertypage;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.wst.common.frameworks.datamodel.IDataModelOperation;
-
-public interface IReferenceWizardConstants {
-	/**
-	 * The key representing that this wizard can return a folder mapping
-	 * The value should be an instanceof ComponentResourceProxy
-	 */
-	public static final String FOLDER_MAPPING = "folder.mapping"; //$NON-NLS-1$
-	
-	/**
-	 * This property should map to the IProject which is the root project
-	 * which will enclose the returned reference
-	 */
-	public static final String PROJECT = "root.project"; //$NON-NLS-1$
-	
-	/**
-	 * This property should map to the IVirtualComponent which is the root component
-	 * which will enclose the returned reference
-	 */
-	public static final String ROOT_COMPONENT = "root.component"; //$NON-NLS-1$
-	
-	/**
-	 * This property should map to the IModuleHandler for customized behaviour
-	 */
-	public static final String MODULEHANDLER = "module.handler"; //$NON-NLS-1$
-	
-	/**
-	 * This property should map to the original reference, if the wizard has been opened
-	 * in editing mode. 
-	 */
-	public static final String ORIGINAL_REFERENCE = "dependency.reference.original";//$NON-NLS-1$
-	
-	/**
-	 * This property should map to the final reference, either new reference, 
-	 * or a new instance of a modified reference. 
-	 */
-	public static final String FINAL_REFERENCE = "dependency.reference.final";//$NON-NLS-1$
-	
-	/**
-	 * This property should map to the default location that libraries should be placed.
-	 * If this is unset, the creating or editing wizard fragment can choose to 
-	 * set the runtimePath of the reference to whatever it wants.
-	 */
-	public static final String DEFAULT_LIBRARY_LOCATION = "default.library.location";
-	
-	/**
-	 * This property should map to the default location that generic resources should be placed.
-	 * If this is unset, the creating or editing wizard fragment can choose to 
-	 * set the runtimePath of the reference to whatever it wants.
-	 */
-	public static final String DEFAULT_RESOURCE_LOCATION = "default.resource.location";
-
-	/**
-	 * This property helps track the current state of the component ref model as each subsequent action is taken, but not committed
-	 */
-	public static final String CURRENT_REFS = "current.references";
-	
-	/**
-	 * This key should be used when you want to convert a project into 
-	 * a specific modulecore project type.
-	 * 
-	 */
-	public static final String PROJECT_CONVERTER_OPERATION_PROVIDER = "project.converter.operation.provider";
-	
-	public static final String ALL_DIRECTIVES = "all.directives";
-	
-	/**
-	 * An interface to provide an operation for converting a specific project
-	 */
-	public static interface ProjectConverterOperationProvider {
-		public IDataModelOperation getConversionOperation(IProject project);
-	}
-}
diff --git a/plugins/org.eclipse.wst.common.modulecore.ui/src/org/eclipse/wst/common/componentcore/ui/propertypage/ModuleAssemblyRootPage.java b/plugins/org.eclipse.wst.common.modulecore.ui/src/org/eclipse/wst/common/componentcore/ui/propertypage/ModuleAssemblyRootPage.java
deleted file mode 100644
index 1122d0d..0000000
--- a/plugins/org.eclipse.wst.common.modulecore.ui/src/org/eclipse/wst/common/componentcore/ui/propertypage/ModuleAssemblyRootPage.java
+++ /dev/null
@@ -1,415 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2010 Red Hat and Others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    Rob Stryker - initial implementation and ongoing maintenance
- *    Konstantin Komissarchik - misc. UI cleanup
- *    
- * API in these packages is provisional in this release
- ******************************************************************************/
-package org.eclipse.wst.common.componentcore.ui.propertypage;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.MultiStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.SashForm;
-import org.eclipse.swt.custom.ScrolledComposite;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.graphics.Rectangle;
-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.Display;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Listener;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.ISharedImages;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.dialogs.PropertyPage;
-import org.eclipse.wst.common.componentcore.ComponentCore;
-import org.eclipse.wst.common.componentcore.ui.Messages;
-import org.eclipse.wst.common.componentcore.ui.internal.propertypage.DependencyPageExtensionManager;
-import org.eclipse.wst.common.project.facet.core.IFacetedProject;
-import org.eclipse.wst.common.project.facet.core.ProjectFacetsManager;
-
-/**
- * Primary project property page for Module assembly;
- */
-public class ModuleAssemblyRootPage extends PropertyPage {
-	
-	private IProject project;
-	private IModuleDependenciesControl[] controls = new IModuleDependenciesControl[0];
-	private SashForm sform1;
-	private Composite topComposite;
-	private ScrolledComposite problemsViewComposite;
-	private Composite subProblemsViewComposite;
-	
-	public ModuleAssemblyRootPage() {
-		super();
-	}
-	
-	private Composite getFacetErrorComposite(final Composite parent) {
-		final String errorCheckingFacet = Messages.ErrorCheckingFacets;
-		setErrorMessage(errorCheckingFacet);
-		return getErrorComposite(parent, errorCheckingFacet);		
-	}
-	private Composite getVirtCompErrorComposite(final Composite parent) {
-		final String errorCheckingFacet = Messages.ErrorNotVirtualComponent;
-		setErrorMessage(errorCheckingFacet);
-		return getErrorComposite(parent, errorCheckingFacet);		
-	}
-	
-	
-	private Composite getErrorComposite(final Composite parent, final String error) {
-		final Composite composite = new Composite(parent, SWT.NONE);
-		final GridLayout layout = new GridLayout();
-        layout.marginWidth = 0;
-        layout.marginWidth = 0;
-        composite.setLayout(layout);
-        composite.setLayoutData(new GridData(GridData.FILL_BOTH));
-		final Label label= new Label(composite, SWT.NONE);
-		label.setText(error);
-		return composite;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.preference.IPreferencePage#performOk()
-	 */
-	public boolean performOk() {
-		for (int i = 0; i < controls.length; i++) {
-			if (controls[i] != null) {
-				if (!controls[i].performOk()) {
-					return false;
-				}
-			}
-		}
-		return true;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.preference.PreferencePage#performDefaults()
-	 */
-	public void performDefaults() {
-		for (int i = 0; i < controls.length; i++) {
-			if (controls[i] != null) {
-				controls[i].performDefaults();
-			}
-		}
-	}
-	
-	public void performApply() {
-		for (int i = 0; i < controls.length; i++) {
-			if (controls[i] != null) {
-				controls[i].performApply();
-			}
-		}
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.preference.IPreferencePage#performCancel()
-	 */
-	public boolean performCancel() {
-		for (int i = 0; i < controls.length; i++) {
-			if (controls[i] != null) {
-				if (!controls[i].performCancel()) {
-					return false;
-				}
-			}
-		}
-		return super.performCancel();
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.dialogs.IDialogPage#setVisible(boolean)
-	 */
-	public void setVisible(boolean visible) {
-		super.setVisible(visible);
-		for (int i = 0; i < controls.length; i++) {
-			if (controls[i] != null) {
-				controls[i].setVisible(visible);
-			}
-		}
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.dialogs.IDialogPage#dispose()
-	 */
-	public void dispose() {
-		super.dispose();
-		for (int i = 0; i < controls.length; i++) {
-			if(controls[i] != null){
-				controls[i].dispose();
-			}
-		}
-	}
-
-	protected static void createDescriptionComposite(final Composite parent, final String description) {
-		Composite descriptionComp = new Composite(parent, SWT.NONE);
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 1;
-		layout.marginWidth = 0;
-		layout.marginHeight = 0;
-		descriptionComp.setLayout(layout);
-		descriptionComp.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		fillDescription(descriptionComp, description);
-	}
-	
-	private static void fillDescription(Composite c, String s) {
-		GridData data = new GridData(GridData.FILL_HORIZONTAL);
-		data.widthHint = 250;
-		final Text label = new Text( c, SWT.WRAP | SWT.READ_ONLY);
-		label.setBackground(c.getBackground());
-		label.setLayoutData(data);
-		label.setText(s);
-	}
-	
-	protected Control createContents(Composite parent) {
-		
-		// Need to find out what type of project we are handling
-		project = (IProject) getElement().getAdapter(IResource.class);
-		if( project != null ) {
-			try {
-				IFacetedProject facetedProject = ProjectFacetsManager.create(project); 
-				IDependencyPageProvider provider = null;
-				if( facetedProject == null )
-					return getFacetErrorComposite(parent);
-				
-				provider = DependencyPageExtensionManager.getManager().getProvider(facetedProject);
-				if( provider != null ) {
-					controls = provider.createPages(facetedProject, this);
-					controls = controls == null ? new IModuleDependenciesControl[]{} : controls;
-					if (provider.getPageTitle(project) != null)
-						setTitle(provider.getPageTitle(project));
-					
-					this.sform1 = new SashForm( parent, SWT.VERTICAL | SWT.SMOOTH );
-					GridData gd1 = new GridData(SWT.LEFT, SWT.FILL, false, false);
-			        this.sform1.setLayoutData(gd1);
-			        
-					topComposite = provider.createRootControl(facetedProject, controls, sform1);
-				} else {				
-					if( ComponentCore.createComponent(project) == null )
-						return getVirtCompErrorComposite(parent);
-					
-					AddModuleDependenciesPropertiesPage page = new AddModuleDependenciesPropertiesPage(project, this);
-					controls = new IModuleDependenciesControl[1];
-					controls[0] = page;
-					this.sform1 = new SashForm( parent, SWT.VERTICAL | SWT.SMOOTH );
-					GridData gd1 = new GridData(SWT.LEFT, SWT.FILL, false, false);
-			        this.sform1.setLayoutData(gd1);
-			        
-					topComposite = page.createContents(sform1);
-				}
-				
-				problemsViewComposite = new ScrolledComposite(sform1, SWT.BORDER | SWT.V_SCROLL | SWT.H_SCROLL);
-				GridData gd = new GridData();
-	    		gd.heightHint = 100;
-	        	gd.horizontalAlignment = SWT.FILL;
-	    		gd.verticalAlignment = SWT.BOTTOM;
-	    		problemsViewComposite.setLayoutData(gd);
-	    		problemsViewComposite.setBackground( Display.getDefault().getSystemColor(SWT.COLOR_WHITE) );
-				fillProblemsViewComposite();
-		        this.sform1.setWeights( new int[] { 80, 20 } );
-		        problemsViewComposite.addListener(SWT.Resize, new Listener() {
-					public void handleEvent(Event e) {
-						handleProblemsViewResize();
-					}
-				});
-		        return sform1;
-			} catch( CoreException ce )	{
-			}
-		}
-		return getFacetErrorComposite(parent);
-	}
-	
-	private void handleProblemsViewResize() {
-		if(subProblemsViewComposite != null && !subProblemsViewComposite.isDisposed() && topComposite != null) {
-           	int width = topComposite.getClientArea().width;
-           	if(width < 400) {
-           		width = 400;
-           	}
-			int i = 1;
-			for( Control child : subProblemsViewComposite.getChildren() )
-			{
-				if(i%2 == 0) {
-					GridData gd = (GridData) child.getLayoutData();
-					gd.widthHint = width - 50;
-				}
-				i++;
-			}
-			subProblemsViewComposite.setSize(subProblemsViewComposite.computeSize(SWT.DEFAULT, SWT.DEFAULT));
-        	subProblemsViewComposite.update();
-		}
-	}
-	
-	protected void fillProblemsViewComposite() {
-		if(problemsViewComposite != null) {
-			IStatus [] problems = getProblemElements();
-	    	if(problems != null && problems.length > 0) {
-	    		boolean resize = false;
-				for( Control child : problemsViewComposite.getChildren() )
-				{
-					child.dispose();
-					resize = true;
-				}
-
-	        	subProblemsViewComposite = new Composite( problemsViewComposite, SWT.NONE);
-	            subProblemsViewComposite.setLayoutData(new GridData( SWT.FILL, SWT.FILL, true, true));
-	            subProblemsViewComposite.setLayout(glmargins( new GridLayout(2, false ), 0, 0, 5, 5) );
-	            subProblemsViewComposite.setBackground( Display.getDefault().getSystemColor(SWT.COLOR_WHITE));
-
-	            int width = 400;
-	            if(topComposite != null && topComposite.getClientArea().width > 400) {
-	            	width = topComposite.getClientArea().width;
-	            }
-	            
-	            Listener focusOnProblemListener = new Listener() {
-	                public void handleEvent(Event e) {
-	                  Control problemLabel = (Control) e.widget;
-	                  Rectangle problemLabelBounds = problemLabel.getBounds();
-	                  Rectangle scrollableArea = problemsViewComposite.getClientArea();
-	                  Point currentScrollPosition = problemsViewComposite.getOrigin();
-	                  if (currentScrollPosition.y > problemLabelBounds.y)
-	                	  currentScrollPosition.y = Math.max(0, problemLabelBounds.y);
-	                  if (currentScrollPosition.y + scrollableArea.height < problemLabelBounds.y + problemLabelBounds.height)
-	                	  currentScrollPosition.y = Math.max(0, problemLabelBounds.y + problemLabelBounds.height - scrollableArea.height);
-	                  problemsViewComposite.setOrigin(currentScrollPosition);
-	                }
-	              };
-	           	
-	        	for (int i = 0; i < problems.length; i++) {
-	    			IStatus singleStatus = problems[i];
-	    			if (!singleStatus.isOK() && singleStatus.getMessage() != null) {
-	    				final Label image = new Label( subProblemsViewComposite, SWT.NONE );
-	    				GridData gdImage = new GridData();	    				
-	    				gdImage.verticalAlignment = SWT.BEGINNING;
-	    	            image.setBackground( Display.getDefault().getSystemColor(SWT.COLOR_WHITE) );
-	    	            image.setImage(getProblemImage(singleStatus));
-	    	            image.setLayoutData(gdImage);
-	    	            
-	    	            final Text text  = new Text( subProblemsViewComposite, SWT.WRAP | SWT.READ_ONLY);
-	    	            GridData gdLabel = new GridData();
-	    	            gdLabel.widthHint = width - 50;
-	    	            text.setBackground( Display.getDefault().getSystemColor(SWT.COLOR_WHITE) );
-	    	            text.setText(singleStatus.getMessage());
-	    	            text.setLayoutData(gdLabel);
-	    	            text.addListener(SWT.Activate, focusOnProblemListener);
-	    			}
-	    		}
-	            problemsViewComposite.setContent(subProblemsViewComposite);
-	            
-	            if(resize)
-	            	handleProblemsViewResize();
-	            
-	            if( this.sform1.getMaximizedControl() != null ) {
-	                this.sform1.setMaximizedControl( null );
-	            }
-	    	} else {
-	    		this.sform1.setMaximizedControl( this.topComposite );
-	    	}
-		}
-	}
-	
-	
-	private final static GridLayout glmargins( final GridLayout layout,
-			final int marginWidth,
-			final int marginHeight,
-			final int marginTop,
-			final int marginBottom)
-	{
-		layout.marginWidth = marginWidth;
-		layout.marginHeight = marginHeight;
-		layout.marginLeft = 0;
-		layout.marginRight = 0;
-		layout.marginTop = marginTop;
-		layout.marginBottom = marginBottom;
-
-		return layout;
-	}
-	
-    public void createControl(Composite parent){
-    	super.createControl(parent);
-    	getDefaultsButton().setText(Messages.Revert);
-    }
-    
-    public void refreshProblemsView(){
-    	setErrorMessage(null);
-		setMessage(null);
-    	setValid(true);
-    	fillProblemsViewComposite();
-    }
-    
-    private Image getProblemImage(IStatus element) {
-		final ISharedImages sharedImages = PlatformUI.getWorkbench().getSharedImages();
-		final String imageType;
-
-		if(element.getSeverity() == IStatus.ERROR) {
-			imageType = ISharedImages.IMG_OBJS_ERROR_TSK;
-		}
-		else if (element.getSeverity() == IStatus.INFO){
-			imageType = ISharedImages.IMG_OBJS_INFO_TSK;
-		}
-		else {
-			imageType = ISharedImages.IMG_OBJS_WARN_TSK;
-		}
-		return sharedImages.getImage( imageType );
-	}
-    
-    protected IStatus[] getProblemElements() {
-		final List<IStatus> errors = new ArrayList<IStatus>();
-		final List<IStatus> warnings = new ArrayList<IStatus>();
-        
-		for (int i = 0; i < controls.length; i++) {
-			if (controls[i] != null) {
-				IStatus status = Status.OK_STATUS;
-				if(controls[i] instanceof AbstractIModuleDependenciesControl)
-					status = ((AbstractIModuleDependenciesControl) controls[i]).validate();
-				if(status != null) {
-					if (status.isMultiStatus()) {
-						MultiStatus multi = (MultiStatus)status;
-						if (!multi.isOK()) {
-							for (int y = 0; y < multi.getChildren().length; y++) {
-								IStatus singleStatus = multi.getChildren()[y];
-								if(singleStatus.getMessage() != null && singleStatus.getMessage().trim().length() > 0) {
-									if(multi.getChildren()[y].getSeverity() == IStatus.ERROR) {
-										errors.add(multi.getChildren()[y]);
-									} else {
-										warnings.add(multi.getChildren()[y]);
-									}
-								}
-							}
-						}
-					} else if (!status.isOK()) {
-						if(status.getMessage() != null && status.getMessage().trim().length() > 0) {
-							if(status.getSeverity() == IStatus.ERROR) {
-								errors.add(status);
-							} else {
-								warnings.add(status);
-							}
-						}
-					}
-				}
-			}
-		}
-		if(errors.size() > 0) {
-			setValid(false);
-			errors.addAll(warnings);
-			// This returns all the errors followed by all the warnings
-			return errors.toArray(new IStatus[errors.size()]);
-		}
-		return warnings.toArray(new IStatus[warnings.size()]);
-	}
-}
diff --git a/plugins/org.eclipse.wst.validation.ui/.classpath b/plugins/org.eclipse.wst.validation.ui/.classpath
deleted file mode 100644
index 7acdda6..0000000
--- a/plugins/org.eclipse.wst.validation.ui/.classpath
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="validateui"/>
-	<classpathentry kind="src" path="property_files"/>
-	<classpathentry kind="src" path="vf2"/>
-	<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.validation.ui/.cvsignore b/plugins/org.eclipse.wst.validation.ui/.cvsignore
deleted file mode 100644
index b39f8f4..0000000
--- a/plugins/org.eclipse.wst.validation.ui/.cvsignore
+++ /dev/null
@@ -1,7 +0,0 @@
-bin
-temp.folder
-build.xml
-runtime
-@dot
-src.zip
-javaCompiler...args
diff --git a/plugins/org.eclipse.wst.validation.ui/.project b/plugins/org.eclipse.wst.validation.ui/.project
deleted file mode 100644
index 32471f6..0000000
--- a/plugins/org.eclipse.wst.validation.ui/.project
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.wst.validation.ui</name>
-	<comment></comment>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-		<nature>org.eclipse.pde.PluginNature</nature>
-	</natures>
-</projectDescription>
diff --git a/plugins/org.eclipse.wst.validation.ui/.settings/org.eclipse.core.resources.prefs b/plugins/org.eclipse.wst.validation.ui/.settings/org.eclipse.core.resources.prefs
deleted file mode 100644
index 9306ade..0000000
--- a/plugins/org.eclipse.wst.validation.ui/.settings/org.eclipse.core.resources.prefs
+++ /dev/null
@@ -1,3 +0,0 @@
-#Mon May 08 09:24:56 EDT 2006
-eclipse.preferences.version=1
-encoding/<project>=ISO-8859-1
diff --git a/plugins/org.eclipse.wst.validation.ui/.settings/org.eclipse.jdt.core.prefs b/plugins/org.eclipse.wst.validation.ui/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 7f1fe24..0000000
--- a/plugins/org.eclipse.wst.validation.ui/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,71 +0,0 @@
-#Tue Feb 12 12:30:46 EST 2008
-eclipse.preferences.version=1
-org.eclipse.jdt.core.codeComplete.argumentPrefixes=
-org.eclipse.jdt.core.codeComplete.argumentSuffixes=
-org.eclipse.jdt.core.codeComplete.fieldPrefixes=_
-org.eclipse.jdt.core.codeComplete.fieldSuffixes=
-org.eclipse.jdt.core.codeComplete.localPrefixes=
-org.eclipse.jdt.core.codeComplete.localSuffixes=
-org.eclipse.jdt.core.codeComplete.staticFieldPrefixes=_
-org.eclipse.jdt.core.codeComplete.staticFieldSuffixes=
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.5
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.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=ignore
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=ignore
-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=disabled
-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=warning
-org.eclipse.jdt.core.compiler.problem.nullReference=ignore
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
-org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=ignore
-org.eclipse.jdt.core.compiler.problem.rawTypeReference=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=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.compiler.problem.unusedLabel=error
-org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.5
diff --git a/plugins/org.eclipse.wst.validation.ui/.settings/org.eclipse.jdt.ui.prefs b/plugins/org.eclipse.wst.validation.ui/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index 4638d6c..0000000
--- a/plugins/org.eclipse.wst.validation.ui/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,6 +0,0 @@
-#Tue Feb 12 12:30:46 EST 2008
-eclipse.preferences.version=1
-org.eclipse.jdt.ui.exception.name=e
-org.eclipse.jdt.ui.gettersetter.use.is=true
-org.eclipse.jdt.ui.keywordthis=false
-org.eclipse.jdt.ui.overrideannotation=true
diff --git a/plugins/org.eclipse.wst.validation.ui/META-INF/MANIFEST.MF b/plugins/org.eclipse.wst.validation.ui/META-INF/MANIFEST.MF
deleted file mode 100644
index 1da5ca7..0000000
--- a/plugins/org.eclipse.wst.validation.ui/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,22 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %Bundle-Name.0
-Bundle-SymbolicName: org.eclipse.wst.validation.ui; singleton:=true
-Bundle-Version: 1.2.206.qualifier
-Bundle-Activator: org.eclipse.wst.validation.internal.ui.plugin.ValidationUIPlugin
-Bundle-Vendor: %Bundle-Vendor.0
-Bundle-Localization: plugin
-Export-Package: org.eclipse.wst.validation.internal.ui;x-internal:=true,
- org.eclipse.wst.validation.internal.ui.plugin;x-internal:=true
-Require-Bundle: org.eclipse.ui.ide;bundle-version="[3.4.0,4.0.0)",
- org.eclipse.core.resources;bundle-version="[3.4.0,4.0.0)",
- org.eclipse.ui;bundle-version="[3.4.0,4.0.0)",
- org.eclipse.swt;bundle-version="[3.4.0,4.0.0)",
- org.eclipse.wst.common.frameworks.ui;bundle-version="[1.1.200,2.0.0)",
- org.eclipse.core.runtime;bundle-version="[3.4.0,4.0.0)",
- org.eclipse.wst.common.frameworks;bundle-version="[1.1.200,2.0.0)",
- org.eclipse.wst.validation;bundle-version="[1.2.0,2.0.0)",
- org.eclipse.ui.forms;bundle-version="[3.3.100,4.0.0)",
- org.eclipse.wst.common.project.facet.core;bundle-version="[1.4.102,2.0.0)"
-Bundle-ActivationPolicy: lazy
-Bundle-RequiredExecutionEnvironment: J2SE-1.5
diff --git a/plugins/org.eclipse.wst.validation.ui/about.html b/plugins/org.eclipse.wst.validation.ui/about.html
deleted file mode 100644
index 2199df3..0000000
--- a/plugins/org.eclipse.wst.validation.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.validation.ui/build.properties b/plugins/org.eclipse.wst.validation.ui/build.properties
deleted file mode 100644
index 1749ccd..0000000
--- a/plugins/org.eclipse.wst.validation.ui/build.properties
+++ /dev/null
@@ -1,20 +0,0 @@
-###############################################################################
-# Copyright (c) 2001, 2007 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-# IBM Corporation - initial API and implementation
-###############################################################################
-bin.includes = .,\
-               plugin.xml,\
-               META-INF/,\
-               about.html,\
-               icons/,\
-               plugin.properties
-source.. = validateui/,\
-           property_files/,\
-           vf2/
-output.. = bin/
diff --git a/plugins/org.eclipse.wst.validation.ui/icons/fail_tbl.gif b/plugins/org.eclipse.wst.validation.ui/icons/fail_tbl.gif
deleted file mode 100644
index 9bd9b0c..0000000
--- a/plugins/org.eclipse.wst.validation.ui/icons/fail_tbl.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.validation.ui/icons/fail_tbl_disabled.gif b/plugins/org.eclipse.wst.validation.ui/icons/fail_tbl_disabled.gif
deleted file mode 100644
index 91333a1..0000000
--- a/plugins/org.eclipse.wst.validation.ui/icons/fail_tbl_disabled.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.validation.ui/icons/ok_tbl.gif b/plugins/org.eclipse.wst.validation.ui/icons/ok_tbl.gif
deleted file mode 100644
index 9cacb96..0000000
--- a/plugins/org.eclipse.wst.validation.ui/icons/ok_tbl.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.validation.ui/icons/ok_tbl_disabled.gif b/plugins/org.eclipse.wst.validation.ui/icons/ok_tbl_disabled.gif
deleted file mode 100644
index 1d8900b..0000000
--- a/plugins/org.eclipse.wst.validation.ui/icons/ok_tbl_disabled.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.validation.ui/icons/settings.gif b/plugins/org.eclipse.wst.validation.ui/icons/settings.gif
deleted file mode 100644
index 9c99aad..0000000
--- a/plugins/org.eclipse.wst.validation.ui/icons/settings.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.validation.ui/icons/settings_disabled.gif b/plugins/org.eclipse.wst.validation.ui/icons/settings_disabled.gif
deleted file mode 100644
index 09166da..0000000
--- a/plugins/org.eclipse.wst.validation.ui/icons/settings_disabled.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.validation.ui/plugin.properties b/plugins/org.eclipse.wst.validation.ui/plugin.properties
deleted file mode 100644
index 887dfc0..0000000
--- a/plugins/org.eclipse.wst.validation.ui/plugin.properties
+++ /dev/null
@@ -1,19 +0,0 @@
-###############################################################################
-# Copyright (c) 2001, 2009 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-# IBM Corporation - initial API and implementation
-###############################################################################
-#
-# Version 1.3
-#
-VBF_TITLE_PROPERTIES=Validation
-VBF_UI_POPUP_RUNVALIDATION=&Validate
-VBF_TITLE_PREFERENCE=Validation
-
-Bundle-Name.0 = Validation Framework UI
-Bundle-Vendor.0 = Eclipse Web Tools Platform
diff --git a/plugins/org.eclipse.wst.validation.ui/plugin.xml b/plugins/org.eclipse.wst.validation.ui/plugin.xml
deleted file mode 100644
index 20502a4..0000000
--- a/plugins/org.eclipse.wst.validation.ui/plugin.xml
+++ /dev/null
@@ -1,55 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin>
-
-    
-<!-- ============================================== -->
-<!-- Popup Contributions                            -->
-<!-- ============================================== -->
-<!-- By saying "adaptable=true", this item will appear on both IProject and IJavaProject -->
-   <extension
-         point="org.eclipse.ui.popupMenus">
-      <objectContribution
-            adaptable="true"
-            objectClass="org.eclipse.core.resources.IResource"
-            id="ValidationMenuAction">
-         <action
-               label="%VBF_UI_POPUP_RUNVALIDATION"
-               class="org.eclipse.wst.validation.internal.ui.ValidationMenuAction"
-               menubarPath="additions"
-               enablesFor="+"
-               id="ValidationAction">
-         </action>
-      </objectContribution>      
-   </extension>
-  
-
-<!-- ====================================================== -->
-<!--           Validation preference page                   -->
-<!-- ====================================================== -->
-   <extension
-         point="org.eclipse.ui.preferencePages">
-      <page
-            name="%VBF_TITLE_PREFERENCE"
-            class="org.eclipse.wst.validation.ui.internal.preferences.ValidationPreferencePage"
-            id="ValidationPreferencePage">
-      </page>
-   </extension>
-   
-<!-- ====================================================== -->
-<!--           Validation properties page                   -->
-<!-- ====================================================== -->
-<!-- By saying "adaptable=true", this item will appear on both IProject and IJavaProject -->
-   <extension
-         point="org.eclipse.ui.propertyPages">
-      <page
-            name="%VBF_TITLE_PROPERTIES"
-            class="org.eclipse.wst.validation.ui.internal.preferences.ValidationPropertyPage"
-            id="ValidationPropertiesPage">
-         <enabledWhen>
-	         <adapt type="org.eclipse.core.resources.IProject"/>
-         </enabledWhen>
-      </page>
-   </extension>
-
-</plugin>
diff --git a/plugins/org.eclipse.wst.validation.ui/property_files/org/eclipse/wst/validation/internal/ui/validationui.properties b/plugins/org.eclipse.wst.validation.ui/property_files/org/eclipse/wst/validation/internal/ui/validationui.properties
deleted file mode 100644
index 4db102d..0000000
--- a/plugins/org.eclipse.wst.validation.ui/property_files/org/eclipse/wst/validation/internal/ui/validationui.properties
+++ /dev/null
@@ -1,39 +0,0 @@
-###############################################################################
-# Copyright (c) 2008 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-
-SaveFilesDialog_saving=Saving Resources
-SaveFilesDialog_always_save=&Always save all modified resources automatically prior to validating
-SaveFilesDialog_save_all_resources=Save All Modified Resources
-SaveFilesDialog_must_save=All modified resources must be saved before this operation.
-
-PrefPage_always_save=&Save all modified resources automatically prior to validating
-
-RunValidationDialogTitle=Running Validation
-UnableToSave=Unable to set save automatically preference in save files for validation dialog:
-Validate=Validate
-
-ValResults=Validation Results
-
-ValError1Resource1=The validation completed, one error was discovered. One resource was validated in {0}.
-ValErrorsResource1=The validation completed, {0} errors were discovered. One resource was validated in {1}.
-ValWarn1Resource1=The validation completed with one warning. One resource was validated in {0}.
-ValWarnResource1=The validation completed with {0} warnings. One resource was validated in {1}.
-ValInfo1Resource1=The validation completed with one informational message. One resource was validated in {0}.
-ValInfoResource1=The validation completed with {0} informational messages. One resource was validated in {1}.
-
-ValError1Resources=The validation completed, one error was discovered. {0} resources were validated in {1}.
-ValErrorsResources=The validation completed, {0} errors were discovered. {1} resources were validated in {2}.
-ValWarn1Resources=The validation completed with one warning. {0} resources were validated in {1}.
-ValWarnResources=The validation completed with {0} warnings. {1} resources were validated in {2}.
-ValInfo1Resources=The validation completed with one informational message. {0} resources were validated in {1}.
-ValInfoResources=The validation completed with {0} informational messages. {1} resources were validated in {2}.
-
-ValSuccess=The validation completed with no errors or warnings.
diff --git a/plugins/org.eclipse.wst.validation.ui/property_files/org/eclipse/wst/validation/ui/internal/messages.properties b/plugins/org.eclipse.wst.validation.ui/property_files/org/eclipse/wst/validation/ui/internal/messages.properties
deleted file mode 100644
index dd25b6e..0000000
--- a/plugins/org.eclipse.wst.validation.ui/property_files/org/eclipse/wst/validation/ui/internal/messages.properties
+++ /dev/null
@@ -1,162 +0,0 @@
-###############################################################################
-# Copyright (c) 2001, 2009 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-# 
-# Contributors:
-# IBM Corporation - initial API and implementation
-###############################################################################
-#     *************************************************************************
-#     * Code oriented instructions:
-#     *
-#     * In the string, you may see the following special sequences:
-#     * a) {n}  where n is a number. These are replaceable parameters.
-#     * b) ''  In .properties files, in order to see one apostrophe (') in the final
-#     *    string, sometimes two apostrophes must be entered in the string. In the translated
-#     *    string, if there is at least one {n} in the string, then to show one apostrophe
-#     *    to the user, put two apostrophes in the string. If there are no {n} in the string,
-#     *    then put one apostrophe.
-#     *    For example, say that you want the user to read "George's file". 
-#     *        GEORGE=George's file was on the desk.
-#     *        GEORGE2=George''s file and {0} were on the desk.
-#     *    GEORGE uses one apostrophe because there are no {n} and GEORGE2
-#     *    uses two apostrophes because there is a {n}.
-#     * c) '' text '' where text can be any word(s). The text between the double
-#     *    apostrophes should not be translated. 
-#     * d) <text> where text can be any word(s). The text between the angle
-#     *    brackets should NOT be translated.
-#     * e) "text" where text can be any word(s). The text between the quotation 
-#     *    marks should NOT be translated.
-#     *    
-#     *************************************************************************
-#     * Other instructions
-#     * a) Do not translate any text that is on a line which begins with a comment 
-#     *    symbol (#).
-#     * b) Do not translate these words: 
-#     *        schema, EJB, RDB, JAR, RMI, BMP, CMP, OOSQL
-#     * c) Please return the .properties files using the same directory structure.
-#     *    This is necessary because two of the files have the same name.
-#     *
-#     *************************************************************************
-# Any other comments to the translators are on lines which start like this:  # 2TC:
-#
-# Version 1.12
-#
-#
-# ID:
-#    VBF - Validation Builder Framework
-#
-
-# 
-# Begin Validation Builder Framework UI Strings
-#
-# IDs:
-#    VBF_EXC=Exception or error text
-#    VBF_UI=UI label
-#
-PREF_BUTTON_OVERRIDE=Allow projects to &override these preference settings
-PREF_BUTTON_ENABLEALL=E&nable All
-PREF_BUTTON_DISABLEALL=D&isable All
-PREF_VALLIST_TITLE=The selected &validators will run when validation is performed:
-PREF_MNU_MANUAL=&Manual
-PREF_MNU_BUILD=&Build
-PREF_MNU_SETTINGS=&Settings...
-
-VBF_EXC_INTERNAL_TITLE=Internal error
-VBF_EXC_INTERNAL_PAGE=An unexpected error occurred; click Cancel to close the wizard.
-
-VBF_EXC_INVALID_REGISTER=Validators can run only on open resources.
-ProjectOverridesNotAllowed=The workspace validation preferences do not allow projects to override the workspace settings. In order to allow project settings you need to configure the workspace settings to allow project overrides.  
- 
-VBF_UI_NO_VALIDATORS_INSTALLED=No validators are installed.
-
-DISABLE_VALIDATION=S&uspend all validators
-
-DelegatesDialogTitle=Validator Preferences
-DelegatesComboLabel=Im&plementation:
-ADD_VALIDATION_BUILDER=Add Validation &Builder to project
-ConfigWsSettings=Configure Workspace Settings...
-VALIDATOR=Validator
-MANUAL=Manual
-BUILD=Build
-SETTINGS=Settings
-
-SaveFilesDialog_saving=Saving Resources
-SaveFilesDialog_always_save=&Always save all modified resources automatically prior to validating
-SaveFilesDialog_save_all_resources=Save All Modified Resources
-SaveFilesDialog_must_save=All modified resources must be saved before this operation.
-
-PrefPage_always_save=&Save all modified resources automatically prior to validating
-PrefPageConfirmDialog=Show a &confirmation dialog when performing manual validations
-
-RunValidationDialogTitle=Running Validation
-
-fdTitle=Validation Filters for {0}
-fdNoFilters=The validator does not have currently have any filters installed.
-ErrConfig=Extension configuration error. An internal error has happened, the validator {0} has incorrectly configured the validation extension point.
-
-FilterHelp=Filter rules are grouped into groups. Inside of any one group the rules are combined by using the logical OR operator. There are two types of groups Include and Exclude. If any of the rules in the Exclude group match, the resource is not validated. If there are Include groups, at least one rule from each group must match before the resource is validated.
-ButtonAddGroupInclude=Add &Include Group...
-ButtonAddGroupExclude=Add &Exclude Group...
-ButtonAddRule=Add R&ule...
-ButtonRemove=&Remove 
-
-LabelEnableProjectSpecific=Enable pr&oject specific settings
-
-LabelExtension=File &extension
-LabelFile=F&older or file name
-LabelProjects=Project &nature
-LabelFacets=&Facet
-LabelContentType=&Content Type
-LabelTargetRuntime=&Target Runtime
-
-# Note to translators, keep the <A> and </A> tags exactly as they are
-DoNotShowResults=Do not show this dialog in the future.
-
-DescExtension=File extension, for example "html" for HTML files.
-DescFile=Either a folder, a relative file, or a fully qualified file name.
-DescProjects=A project nature.
-DescFacets=A facet.
-DescContentType=A content type, for example the XML content type.
-DescTargetRuntime=A target runtime.
-
-ErrorsWarnings=Errors/Warnings
-
-Validation=Validating
-ValidationStatus=Validation Status
-
-ErrSummary=Validation results. Errors={0}, Warnings={1}, Information={2}
-ValidationSuccessful=Validation was successful
-
-FrWizard=New Filter Rule Wizard
-FrSelectFilterType=Select Filter Type
-FrFileExtension=File Extension
-FrFileExtensionLabel=File &extension, for example html:
-FrCaseSensitive=Is the comparison case &sensitive?
-FrExactMatch=Check this if the content type needs to &match exactly. Do not check it, if sub types need to match as well.
-FrSimpleFileName=For file based &comparisons, use only the simple file name.
-FrFolderOrFile=Folder or File Name
-FrFolderOrFileLabel=Fil&e or folder:
-FrBrowseFile=Browse &File...
-FrFileFilter=Select the file that will serve as the filter
-FrBrowseFolder=Browse F&older...
-FrFolderFilter=Select the folder that will serve as the filter
-FrProjectNature=Project Nature
-FrProjectNatureLabel=Project &nature:
-FrFacit=Facet
-FrFacitLabel=&Facet id:
-FrNewFacitLabel=&Facet:
-FrContentType=Content Type
-FrContentTypeLabel=&Content Type:
-FrMsgSev=Select the severity level for the following problems
-FrTargetRuntimeLabel=Target Runtime
-
-RebuildTitle=Validation Settings Changed
-RebuildMsg=The validation settings have changed. A full rebuild is required for the changes to take effect. Do the full build now?
-
-#
-# End Validation Builder Framework UI Strings
-#
-
diff --git a/plugins/org.eclipse.wst.validation.ui/validateui/org/eclipse/wst/validation/internal/ui/ContextIds.java b/plugins/org.eclipse.wst.validation.ui/validateui/org/eclipse/wst/validation/internal/ui/ContextIds.java
deleted file mode 100644
index d8ce485..0000000
--- a/plugins/org.eclipse.wst.validation.ui/validateui/org/eclipse/wst/validation/internal/ui/ContextIds.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.validation.internal.ui;
-
-import org.eclipse.wst.common.frameworks.internal.ui.WTPUIPlugin;
-
-public interface ContextIds {
-	static final String PREFIX = WTPUIPlugin.PLUGIN_ID;
-
-	// context ids for the Validation Properties Page
-	public static final String VALIDATION_PROPERTIES_PAGE = PREFIX + ".jvpp0000"; //$NON-NLS-1$
-	public static final String VALIDATION_PROPERTIES_PAGE_DISABLED_OVERRIDE = PREFIX + ".jvpp0001"; //$NON-NLS-1$
-	public static final String VALIDATION_PROPERTIES_PAGE_DISABLED_BUILD_NOVALSELECTED = PREFIX + ".jvpp0003"; //$NON-NLS-1$
-	public static final String VALIDATION_PROPERTIES_PAGE_DISABLED_AUTO_AUTOBUILD = PREFIX + ".jvpp0004"; //$NON-NLS-1$
-	public static final String VALIDATION_PROPERTIES_PAGE_DISABLED_AUTO_NOINCVALSELECTED = PREFIX + ".jvpp0005"; //$NON-NLS-1$
-	public static final String VALIDATION_PROPERTIES_PAGE_DISABLED_AUTO_NOINCVALCONFIG = PREFIX + ".jvpp0006"; //$NON-NLS-1$
-	public static final String VALIDATION_PROPERTIES_PAGE_AUTO_ENABLED = PREFIX + ".jvpp0020"; //$NON-NLS-1$
-	public static final String VALIDATION_PROPERTIES_PAGE_OVERRIDE_ENABLED = PREFIX + ".jvpp0030"; //$NON-NLS-1$
-	public static final String VALIDATION_PROPERTIES_PAGE_OVERRIDE_ENABLED_CANNOT_HONOUR_BOTH = PREFIX + ".jvpp0031"; //$NON-NLS-1$
-	public static final String VALIDATION_PROPERTIES_PAGE_OVERRIDE_ENABLED_CANNOT_HONOUR_AUTO = PREFIX + ".jvpp0032"; //$NON-NLS-1$
-	public static final String VALIDATION_PROPERTIES_PAGE_OVERRIDE_ENABLED_CANNOT_HONOUR_MANUAL = PREFIX + ".jvpp0033"; //$NON-NLS-1$
-	public static final String VALIDATION_PROPERTIES_PAGE_REBUILD_ENABLED = PREFIX + ".jvpp0040"; //$NON-NLS-1$
-	public static final String VALIDATION_PROPERTIES_PAGE_MAX_MESSAGES = PREFIX + ".jvpp0050"; //$NON-NLS-1$
-
-	public static final String VALIDATION_PREFERENCE_PAGE = PREFIX + ".jvgp0000"; //$NON-NLS-1$
-	public static final String VALIDATION_PREFERENCE_PAGE_OVERRIDE = PREFIX + ".jvgp0005"; //$NON-NLS-1$
-	public static final String VALIDATION_PREFERENCE_PAGE_DISABLE_ALL_ENABLED = PREFIX + ".jvgp0010"; //$NON-NLS-1$
-	//	public static final String VALIDATION_PREFERENCE_PAGE_REBUILD_DISABLED = PREFIX +
-	// ".jvgp0011"; //$NON-NLS-1$
-	public static final String VALIDATION_PREFERENCE_PAGE_AUTO_ENABLED = PREFIX + ".jvgp0020"; //$NON-NLS-1$
-	//	public static final String VALIDATION_PREFERENCE_PAGE_AUTO_DISABLED_AUTOBUILD = PREFIX +
-	// ".jvgp0021"; //$NON-NLS-1$
-	//	public static final String VALIDATION_PREFERENCE_PAGE_AUTO_DISABLED_NOINCVALSELECTED = PREFIX
-	// + ".jvgp0022"; //$NON-NLS-1$
-	//	public static final String VALIDATION_PREFERENCE_PAGE_AUTO_DISABLED_NOINCVALCONFIG = PREFIX +
-	// ".jvgp0023"; //$NON-NLS-1$
-	public static final String VALIDATION_PREFERENCE_PAGE_MAX_MESSAGES = PREFIX + ".jvgp0030"; //$NON-NLS-1$
-}
diff --git a/plugins/org.eclipse.wst.validation.ui/validateui/org/eclipse/wst/validation/internal/ui/DelegatingValidatorPreferencesDialog.java b/plugins/org.eclipse.wst.validation.ui/validateui/org/eclipse/wst/validation/internal/ui/DelegatingValidatorPreferencesDialog.java
deleted file mode 100644
index e00900a..0000000
--- a/plugins/org.eclipse.wst.validation.ui/validateui/org/eclipse/wst/validation/internal/ui/DelegatingValidatorPreferencesDialog.java
+++ /dev/null
@@ -1,270 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- * David Schneider, david.schneider@unisys.com - [142500] WTP properties pages fonts don't follow Eclipse preferences
- *******************************************************************************/
-
-package org.eclipse.wst.validation.internal.ui;
-
-import java.util.Map;
-
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.resource.JFaceResources;
-import org.eclipse.jface.viewers.ComboViewer;
-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.StructuredSelection;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Combo;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.wst.validation.internal.ValidatorMetaData;
-import org.eclipse.wst.validation.internal.delegates.ValidatorDelegateDescriptor;
-import org.eclipse.wst.validation.internal.delegates.ValidatorDelegatesRegistry;
-import org.eclipse.wst.validation.ui.internal.ValUIMessages;
-
-/**
- * Dialog used to allow the user to select a validator delegate from the list of
- * registered delegates for a given delegating validator.
- */
-public class DelegatingValidatorPreferencesDialog extends Dialog
-{
-  /**
-   * The delegating validator's descriptor.
-   */
-  private ValidatorMetaData delegatingValidatorDescriptor;
-
-  /**
-   * The selected validator delegate ID.
-   */
-  private String delegateID;
-
-  /**
-   * Constructs the dialog on the given shell.
-   * 
-   * @param parentShell
-   *          the dialog's parent. Must not be null.
-   * @param targetID
-   *          the delegating validator's id
-   * 
-   * @param delegateID
-   *          the ID of the currently selected validator delegate.
-   */
-  public DelegatingValidatorPreferencesDialog(Shell parentShell, ValidatorMetaData vmd, String delegateID)
-  {
-    super(parentShell);
-
-    delegatingValidatorDescriptor = vmd;
-    this.delegateID = delegateID;
-  }
-
-  /*
-   * (non-Javadoc)
-   * 
-   * @see org.eclipse.jface.dialogs.Dialog#createDialogArea(org.eclipse.swt.widgets.Composite)
-   */
-  protected Control createDialogArea(Composite parent)
-  {
-    super.createDialogArea(parent);
-
-    getShell().setText(ValUIMessages.DelegatesDialogTitle);
-
-    GridLayout layout = new GridLayout();
-    parent.setLayout(layout);
-
-    Label label = new Label(parent, SWT.NONE);
-    GridData labelData = new GridData(SWT.FILL, SWT.CENTER, true, false);
-    labelData.widthHint = 250;
-    label.setLayoutData(labelData);
-    label.setFont(JFaceResources.getFontRegistry().getBold(JFaceResources.DIALOG_FONT));
-    String delegatingValidatorName = delegatingValidatorDescriptor.getValidatorDisplayName();
-    label.setText(delegatingValidatorName);
-
-    Label separator = new Label(parent, SWT.SEPARATOR | SWT.HORIZONTAL);
-    GridData separatorData = new GridData(SWT.FILL, SWT.CENTER, true, false);
-    separator.setLayoutData(separatorData);
-
-    Composite group = new Composite(parent, SWT.NONE);
-    GridData groupGridData = new GridData(SWT.FILL, SWT.CENTER, true, false);
-    group.setLayoutData(groupGridData);
-    GridLayout groupLayout = new GridLayout(2, false);
-    group.setLayout(groupLayout);
-
-    Label comboLabel = new Label(group, SWT.NONE);
-    comboLabel.setLayoutData(new GridData());
-    comboLabel.setText(ValUIMessages.DelegatesComboLabel);
-    
-    Combo combo = new Combo(group, SWT.READ_ONLY);
-    GridData comboGridData = new GridData(SWT.FILL, SWT.CENTER, true, false);
-    combo.setLayoutData(comboGridData);
-
-    final ComboViewer comboViewer = new ComboViewer(combo);
-    comboViewer.setContentProvider(new DelegatesContentProvider());
-    comboViewer.setLabelProvider(new DelegatesLabelProvider());
-    String targetID = delegatingValidatorDescriptor.getValidatorUniqueName();
-
-    comboViewer.addSelectionChangedListener(new ISelectionChangedListener()
-    {
-
-      public void selectionChanged(org.eclipse.jface.viewers.SelectionChangedEvent event)
-      {
-        IStructuredSelection selection = (IStructuredSelection) comboViewer.getSelection();
-        setDelegateID(((ValidatorDelegateDescriptor) selection.getFirstElement()).getId());
-      }
-    });
-
-    comboViewer.setInput(targetID);
-
-    ValidatorDelegateDescriptor selected = ValidatorDelegatesRegistry.getInstance().getDescriptor(targetID, delegateID);
-
-    if (selected != null)
-    {
-      comboViewer.setSelection(new StructuredSelection(new Object[] { selected }));
-    }
-
-    Label endSeparator = new Label(parent, SWT.SEPARATOR | SWT.HORIZONTAL);
-    GridData endSeparatorData = new GridData(SWT.FILL, SWT.CENTER, true, false); 
-    endSeparator.setLayoutData(endSeparatorData);
-    Dialog.applyDialogFont(parent);
-    
-    return parent;
-  }
-
-  /**
-   * Provides contents for the delegate validators combo box.
-   */
-  private final class DelegatesContentProvider implements IStructuredContentProvider
-  {
-    public void dispose()
-    {
-    }
-
-    /*
-     * (non-Javadoc)
-     * 
-     * @see org.eclipse.jface.viewers.IStructuredContentProvider#getElements(java.lang.Object)
-     */
-    public Object[] getElements(Object inputElement)
-    {
-      String targetID = (String) inputElement;
-      Map delegatesByID = ValidatorDelegatesRegistry.getInstance().getDelegateDescriptors(targetID);
-      
-      if (delegatesByID == null)
-      {
-        return new Object[] {};
-      }
-
-      return delegatesByID.values().toArray();
-    }
-
-    /*
-     * (non-Javadoc)
-     * 
-     * @see org.eclipse.jface.viewers.IContentProvider#inputChanged(org.eclipse.jface.viewers.Viewer,
-     *      java.lang.Object, java.lang.Object)
-     */
-    public void inputChanged(Viewer viewer, Object oldInput, Object newInput)
-    {
-    }
-  }
-
-  /**
-   * Provides the labels/images for the delegate validator combo box
-   * 
-   * @author vbaciul
-   * 
-   */
-  private final class DelegatesLabelProvider implements ILabelProvider
-  {
-    /*
-     * (non-Javadoc)
-     * 
-     * @see org.eclipse.jface.viewers.IBaseLabelProvider#addListener(org.eclipse.jface.viewers.ILabelProviderListener)
-     */
-    public void addListener(ILabelProviderListener listener)
-    {
-    }
-
-    /*
-     * (non-Javadoc)
-     * 
-     * @see org.eclipse.jface.viewers.IBaseLabelProvider#dispose()
-     */
-    public void dispose()
-    {
-    }
-
-    /*
-     * (non-Javadoc)
-     * 
-     * @see org.eclipse.jface.viewers.ILabelProvider#getImage(java.lang.Object)
-     */
-    public Image getImage(Object element)
-    {
-      return null;
-    }
-
-    /*
-     * (non-Javadoc)
-     * 
-     * @see org.eclipse.jface.viewers.ILabelProvider#getText(java.lang.Object)
-     */
-    public String getText(Object element)
-    {
-      return ((ValidatorDelegateDescriptor) element).getName();
-    }
-
-    /*
-     * (non-Javadoc)
-     * 
-     * @see org.eclipse.jface.viewers.IBaseLabelProvider#isLabelProperty(java.lang.Object,
-     *      java.lang.String)
-     */
-    public boolean isLabelProperty(Object element, String property)
-    {
-      return false;
-    }
-
-    /*
-     * (non-Javadoc)
-     * 
-     * @see org.eclipse.jface.viewers.IBaseLabelProvider#removeListener(org.eclipse.jface.viewers.ILabelProviderListener)
-     */
-    public void removeListener(ILabelProviderListener listener)
-    {
-    }
-  }
-
-  /*
-   * Provides the ID of the currently selected validator delegate ID.
-   */
-  public String getDelegateID()
-  {
-    return delegateID;
-  }
-
-  /**
-   * Sets the currently selected validator delegate ID.
-   * 
-   * @param delegateID
-   */
-  private void setDelegateID(String delegateID)
-  {
-    this.delegateID = delegateID;
-  }
-}
diff --git a/plugins/org.eclipse.wst.validation.ui/validateui/org/eclipse/wst/validation/internal/ui/ListContentProvider.java b/plugins/org.eclipse.wst.validation.ui/validateui/org/eclipse/wst/validation/internal/ui/ListContentProvider.java
deleted file mode 100644
index 90b6d02..0000000
--- a/plugins/org.eclipse.wst.validation.ui/validateui/org/eclipse/wst/validation/internal/ui/ListContentProvider.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.validation.internal.ui;
-
-import java.util.List;
-
-import org.eclipse.jface.viewers.IStructuredContentProvider;
-import org.eclipse.jface.viewers.Viewer;
-
-/** 
- * A specialized content provider to show a list of editor parts.
- * This class has been copied from org.eclipse.jdt.internal.ui.viewsupport.ListContentProvider
- * This class should be removed once a generic solution is made available.
- */ 
-public class ListContentProvider implements IStructuredContentProvider {
-	List fContents;	
-
-	public ListContentProvider() {
-	}
-	
-	public Object[] getElements(Object input) {
-		if (fContents != null && fContents == input)
-			return fContents.toArray();
-		return new Object[0];
-	}
-
-	public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
-		if (newInput instanceof List) 
-			fContents= (List)newInput;
-		else
-			fContents= null;
-		// we use a fixed set.
-	}
-
-	public void dispose() {
-	}
-	
-	public boolean isDeleted(Object o) {
-		return fContents != null && !fContents.contains(o);
-	}
-}
diff --git a/plugins/org.eclipse.wst.validation.ui/validateui/org/eclipse/wst/validation/internal/ui/SaveFilesDialog.java b/plugins/org.eclipse.wst.validation.ui/validateui/org/eclipse/wst/validation/internal/ui/SaveFilesDialog.java
deleted file mode 100644
index 2deb872..0000000
--- a/plugins/org.eclipse.wst.validation.ui/validateui/org/eclipse/wst/validation/internal/ui/SaveFilesDialog.java
+++ /dev/null
@@ -1,91 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   IBM - Initial API and implementation
- * /
- *******************************************************************************/
-package org.eclipse.wst.validation.internal.ui;
-
-import java.lang.reflect.InvocationTargetException;
-import java.util.logging.Level;
-import java.util.logging.Logger;
-
-import org.eclipse.jface.viewers.ILabelProvider;
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.dialogs.ListDialog;
-import org.eclipse.wst.validation.internal.ConfigurationManager;
-import org.eclipse.wst.validation.internal.GlobalConfiguration;
-import org.eclipse.wst.validation.internal.ui.plugin.ValidationUIPlugin;
-
-/**
- * A generic save files dialog. The bulk of the code
- * for this dialog was taken from the JDT refactoring
- * support in org.eclipse.jdt.internal.ui.refactoring.RefactoringSaveHelper.
- * This class is a good candidate for reuse amoung components.
- */
-public class SaveFilesDialog extends ListDialog {
-	
-	public SaveFilesDialog(Shell parent)
-	{
-	  super(parent);
-	  setTitle(ValidationUIMessages.SaveFilesDialog_save_all_resources); 
-	  setAddCancelButton(true);
-	  setLabelProvider(createDialogLabelProvider());
-	  setMessage(ValidationUIMessages.SaveFilesDialog_must_save); 
-	  setContentProvider(new ListContentProvider());
-	}
-
-	protected Control createDialogArea(Composite container) 
-	{
-		Composite result= (Composite) super.createDialogArea(container);
-		boolean fAllowSaveAlways = true;
-		if (fAllowSaveAlways) {
-			final Button check= new Button(result, SWT.CHECK);
-			check.setText(ValidationUIMessages.SaveFilesDialog_always_save); 
-			//check.setSelection(RefactoringSavePreferences.getSaveAllEditors());
-			check.addSelectionListener(new SelectionAdapter() {
-				public void widgetSelected(SelectionEvent e) {
-				  try
-				  {
-				    GlobalConfiguration config = ConfigurationManager.getManager().getGlobalConfiguration();
-				    config.setSaveAutomatically(check.getSelection());
-				    config.store();
-				  }
-				  catch(InvocationTargetException exc)
-				  {
-					Logger.getLogger(ValidationUIPlugin.getBundleName()).log(Level.WARNING, 
-						ValidationUIMessages.UnableToSave + exc);
-				  }
-				  
-				}
-			});
-			applyDialogFont(result);
-		}
-		return result;
-	}
-	
-	private ILabelProvider createDialogLabelProvider() {
-		return new LabelProvider() {
-			public Image getImage(Object element) {
-				return ((IEditorPart) element).getTitleImage();
-			}
-			public String getText(Object element) {
-				return ((IEditorPart) element).getTitle();
-			}
-		};
-	}	
-}
diff --git a/plugins/org.eclipse.wst.validation.ui/validateui/org/eclipse/wst/validation/internal/ui/SaveFilesHelper.java b/plugins/org.eclipse.wst.validation.ui/validateui/org/eclipse/wst/validation/internal/ui/SaveFilesHelper.java
deleted file mode 100644
index f323332..0000000
--- a/plugins/org.eclipse.wst.validation.ui/validateui/org/eclipse/wst/validation/internal/ui/SaveFilesHelper.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   IBM - Initial API and implementation
- * /
- *******************************************************************************/
-package org.eclipse.wst.validation.internal.ui;
-
-import java.util.HashSet;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Set;
-
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IFileEditorInput;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PlatformUI;
-
-/**
- * A helper class for the save dirty files dialog.
- */
-public class SaveFilesHelper {
-
-	/**
-	 * Retreive an array of IEditorParts representing all the dirty
-	 * editors open for the files provided in the list.
-	 * 
-	 * @param files
-	 * 			A list of IFiles.
-	 * @return
-	 * 			An array of IEditorParts containing all the dirty editors for the files in the list.
-	 */
-	public static IEditorPart[] getDirtyEditors(List files) {
-		Set<IEditorInput> inputs = new HashSet<IEditorInput>();
-		List<IEditorPart> result = new LinkedList<IEditorPart>();
-		IWorkbench workbench = PlatformUI.getWorkbench();
-		IWorkbenchWindow[] windows = workbench.getWorkbenchWindows();
-		for (int i = 0; i < windows.length; i++) {
-			IWorkbenchPage[] pages = windows[i].getPages();
-			for (int x = 0; x < pages.length; x++) {
-				IEditorPart[] editors = pages[x].getDirtyEditors();
-				for (int z = 0; z < editors.length; z++) {
-					IEditorPart ep = editors[z];
-					IEditorInput input = ep.getEditorInput();
-					if (input instanceof IFileEditorInput) {
-						IFileEditorInput fileInput = (IFileEditorInput) input;
-						if (files.contains(fileInput.getFile())) {
-							if (!inputs.contains(input)) {
-								inputs.add(input);
-								result.add(ep);
-							}
-						}
-					}
-				}
-			}
-		}
-		return result.toArray(new IEditorPart[result.size()]);
-	}
-}
diff --git a/plugins/org.eclipse.wst.validation.ui/validateui/org/eclipse/wst/validation/internal/ui/ValidateAction.java b/plugins/org.eclipse.wst.validation.ui/validateui/org/eclipse/wst/validation/internal/ui/ValidateAction.java
deleted file mode 100644
index a04c829..0000000
--- a/plugins/org.eclipse.wst.validation.ui/validateui/org/eclipse/wst/validation/internal/ui/ValidateAction.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.validation.internal.ui;
-
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.ui.actions.SelectionListenerAction;
-
-
-public class ValidateAction extends SelectionListenerAction {
-	protected ValidationMenuAction delegate;
-
-	public ValidateAction() {
-		super(ValidationUIMessages.Validate);
-		delegate = new ValidationMenuAction();
-	}
-
-	/**
-	 * Implementation of method defined on <code>IAction</code>.
-	 */
-	public void run() {
-		delegate.run(this);
-	}
-
-	/**
-	 * Updates this action in response to the given selection.
-	 * <p>
-	 * The <code>SelectionListenerAction</code> implementation of this method returns
-	 * <code>true</code>. Subclasses may extend to react to selection changes; however, if the
-	 * super method returns <code>false</code>, the overriding method must also return
-	 * <code>false</code>.
-	 * </p>
-	 * 
-	 * @param selection
-	 *            the new selection
-	 * @return <code>true</code> if the action should be enabled for this selection, and
-	 *         <code>false</code> otherwise
-	 */
-	protected boolean updateSelection(IStructuredSelection selection) {
-		if (!super.updateSelection(selection))
-			return false;
-
-		delegate.selectionChanged(this, selection);
-
-		return isEnabled(); // "Enabled" is set by the delegate.
-	}
-
-	/**
-	 * If a subclass of ValidateAction enables this menu action on a type that is not an IResource,
-	 * this method returns the IResource[] that represent that object. If null is returned, the
-	 * object will be ignored and the user will not be notified that the object was not validated.
-	 * This method will be called when updateSelection and run are called. (The result of this
-	 * method is used to determine which resources will be validated)
-	 */
-	protected IResource[] getResource(Object selected) {
-		return null;
-	}
-}
diff --git a/plugins/org.eclipse.wst.validation.ui/validateui/org/eclipse/wst/validation/internal/ui/ValidationJob.java b/plugins/org.eclipse.wst.validation.ui/validateui/org/eclipse/wst/validation/internal/ui/ValidationJob.java
deleted file mode 100644
index aa37f64..0000000
--- a/plugins/org.eclipse.wst.validation.ui/validateui/org/eclipse/wst/validation/internal/ui/ValidationJob.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.validation.internal.ui;
-
-import java.util.Map;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.jobs.Job;
-
-public class ValidationJob extends Job {
-
-
-	private Map projects;
-	public ValidationJob(String name) {
-		super(name);
-	}
-
-
-	public void setProjectsMap(Map projects){
-		this.projects = projects;
-	}
-
-
-	protected IStatus run(IProgressMonitor monitor) {
-
-		return null;
-	}
-	
-	protected Map getProjects() {
-		return projects;
-	}
-}
diff --git a/plugins/org.eclipse.wst.validation.ui/validateui/org/eclipse/wst/validation/internal/ui/ValidationMenuAction.java b/plugins/org.eclipse.wst.validation.ui/validateui/org/eclipse/wst/validation/internal/ui/ValidationMenuAction.java
deleted file mode 100644
index 126c407..0000000
--- a/plugins/org.eclipse.wst.validation.ui/validateui/org/eclipse/wst/validation/internal/ui/ValidationMenuAction.java
+++ /dev/null
@@ -1,393 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.validation.internal.ui;
-
-import java.lang.reflect.InvocationTargetException;
-import java.util.Arrays;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IFolder;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IResourceVisitor;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.SubProgressMonitor;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.dialogs.ProgressMonitorDialog;
-import org.eclipse.jface.operation.IRunnableWithProgress;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.window.Window;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IViewActionDelegate;
-import org.eclipse.ui.IViewPart;
-import org.eclipse.wst.validation.ValidationFramework;
-import org.eclipse.wst.validation.internal.ConfigurationManager;
-import org.eclipse.wst.validation.internal.DisabledResourceManager;
-import org.eclipse.wst.validation.internal.ValType;
-import org.eclipse.wst.validation.internal.ValidationRegistryReader;
-import org.eclipse.wst.validation.internal.ValidationSelectionHandlerRegistryReader;
-import org.eclipse.wst.validation.internal.plugin.ValidationPlugin;
-import org.eclipse.wst.validation.internal.ui.plugin.ValidationUIPlugin;
-import org.eclipse.wst.validation.ui.internal.ManualValidationRunner;
-
-/**
- * This class implements the pop-up menu item "Run Validation" When the item is selected, this
- * action triggers a validation of the project, using all configured, enabled validators.
- */
-public class ValidationMenuAction implements IViewActionDelegate {
-	private ISelection 		_currentSelection;
-	protected static final String SEP = "/"; //$NON-NLS-1$
-	private Display 		_currentDisplay;
-	private IResourceVisitor _folderVisitor;
-	private IResourceVisitor _projectVisitor;
-	private Map<IProject, Set<IResource>> _selectedResources;
-
-	public ValidationMenuAction() {
-		// cache the display before this action is forked. After the action is forked,
-		// Display.getCurrent() returns null.
-		_currentDisplay = Display.getCurrent(); 
-		_selectedResources = new HashMap<IProject, Set<IResource>>();
-	}
-
-	private Display getDisplay() {
-		return (_currentDisplay == null) ? Display.getCurrent() : _currentDisplay;
-	}
-
-	/**
-	 * Return the wizard's shell.
-	 */
-	Shell getShell() {
-		Display display = getDisplay();
-		Shell shell = (display == null) ? null : display.getActiveShell();
-		if (shell == null && display != null) {
-			Shell[] shells = display.getShells();
-			if (shells.length > 0)
-				shell = shells[0];
-		}
-		return shell;
-	}
-
-	/**
-	 * Return a map of the selected elements. Each key of the map is an IProject, and the value is a
-	 * Set of the selected resources in that project. If a project is selected, and nothing else in
-	 * the project is selected, a full validation (null value) will be done on the project. If a
-	 * project is selected, and some files/folders in the project are also selected, only the
-	 * files/folders will be validated. If a folder is selected, all of its contents are also
-	 * validated.
-	 * 
-	 * @return null if there is no selection.
-	 */
-	private Map<IProject, Set<IResource>> loadSelected(ValidateAction action) {
-		// GRK previously this did not do a clear, but I couldn't understand why that would be so I am forcing a clear
-		// GRK In my testing, not doing a clear caused duplicate validations
-		_selectedResources.clear();
-		if ((_currentSelection == null) || _currentSelection.isEmpty() || 
-			!(_currentSelection instanceof IStructuredSelection))return null;
-		
-		Object[] elements = ((IStructuredSelection) _currentSelection).toArray();
-		for (Object element : elements) {
-			if (element != null)addSelected(action, element);
-		}
-		return _selectedResources;
-	}
-
-	private void addSelected(ValidateAction action, Object selected) {
-		if (selected instanceof IProject) {
-			addVisitor((IProject) selected);
-		} else if (selected instanceof IFile) {
-			addSelected((IFile) selected);
-		} else if (selected instanceof IFolder) {
-			addVisitor((IFolder) selected);
-		} else if (isValidType(getExtendedType(selected))) {
-			addSelected(action,getExtendedType(selected));
-		} else {
-			// Not a valid input type. Must be IProject, IJavaProject, or IResource.
-			// If this ValidationMenuAction is a delegate of ValidateAction, is
-			// the input type recognized by the ValidateAction?
-			boolean valid = false;
-			if (action != null) {
-				IResource[] resources = action.getResource(selected);
-				if (resources != null) {
-					valid = true;
-					for (int i = 0; i < resources.length; i++) {
-						addSelected(action, resources[i]);
-					}
-				}
-			}
-			if (!valid) {
-				// Stop processing. This allows the "Run Validation" menu item
-				// to gray out once an element that can not be validated is selected.
-				_selectedResources.clear();
-			}
-		}
-	}
-	
-	private Object getExtendedType(Object selected) {
-		Object result = ValidationSelectionHandlerRegistryReader.getInstance().getExtendedType(selected);
-		return result == null ? selected : result;
-	}
-	
-	private boolean isValidType(Object object) {
-		return object instanceof IProject || object instanceof IFile || object instanceof IFolder;
-	}
-
-
-	void addSelected(IResource selected) {
-		IProject project = selected.getProject();
-		boolean added = _selectedResources.containsKey(project);
-		Set<IResource> changedRes = null;
-		if (added) {
-			// If the value is null, the entire project needs to be validated anyway.
-			changedRes = _selectedResources.get(project);
-			if (changedRes == null)return;
-			
-		} else {
-			changedRes = new HashSet<IResource>();
-		}
-		if (changedRes.add(selected)) {
-			_selectedResources.put(project, changedRes);
-		}
-	}
-
-	private void addVisitor(IFolder selected) {
-		// add the folder and its children
-		try {
-			selected.accept(getFolderVisitor());
-		} catch (CoreException exc) {
-			ValidationUIPlugin.getPlugin().handleException(exc);
-			return;
-		}
-	}
-
-	private IResourceVisitor getFolderVisitor() {
-		if (_folderVisitor == null) {
-			_folderVisitor = new IResourceVisitor() {
-				public boolean visit(IResource res) {
-					if (res instanceof IFile) {
-						addSelected(res);
-					} else if (res instanceof IFolder) {
-						addSelected(res);
-					}
-					return true; // visit the resource's children
-				}
-			};
-		}
-		return _folderVisitor;
-	}
-	
-	private void addVisitor(IProject selected) {
-		// add the folder and its children
-		if(!selected.isAccessible())return;
-		try {
-			selected.accept(getProjectVisitor());
-		} catch (CoreException exc) {
-			ValidationUIPlugin.getPlugin().handleException(exc);
-			return;
-		}
-	}
-
-	private IResourceVisitor getProjectVisitor() {
-		if (_projectVisitor == null) {
-			_projectVisitor = new IResourceVisitor() {
-				public boolean visit(IResource res) {
-					if (DisabledResourceManager.getDefault().isDisabled(res))return false;
-					if (res instanceof IFile)addSelected(res);
-					else if (res instanceof IFolder)addSelected(res);
-					else if (res instanceof IProject)addSelected(res);
-					
-					return true;
-				}
-			};
-		}
-		return _projectVisitor;
-	}
-
-	/**
-	 * The delegating action has been invoked. This method does the actual work.
-	 * 
-	 * @param action
-	 *            Action proxy that handles the presentation portion of the plug-in action.
-	 */
-	public void run(IAction action) {
-		ValidateAction vaction = null;
-		if (action instanceof ValidateAction) {
-			vaction = (ValidateAction) action;
-		}
-		final Map<IProject, Set<IResource>> projects = loadSelected(vaction);
-		if ((projects == null) || (projects.size() == 0)) {
-			return;
-		}
-		
-		// If the files aren't saved do not run validation.
-		if(!handleFilesToSave(projects))return;
-
-		boolean confirm = org.eclipse.wst.validation.internal.ValManager.getDefault().getGlobalPreferences()
-			.getConfirmDialog();
-		ManualValidationRunner.validate(projects, ValType.Manual, confirm);
-	}
-	
-	/**
-	 * Selection in the desktop has changed. Plug-in provider can use it to change the availability
-	 * of the action or to modify other presentation properties.
-	 * 
-	 * <p>
-	 * Action delegate cannot be notified about selection changes before it is loaded. For that
-	 * reason, control of action's enable state should also be performed through simple XML rules
-	 * defined for the extension point. These rules allow enable state control before the delegate
-	 * has been loaded.
-	 * </p>
-	 * 
-	 * @param action
-	 *            action proxy that handles presentation portion of the plug-in action
-	 * @param selection
-	 *            current selection in the desktop
-	 */
-	public void selectionChanged(IAction action, ISelection selection) {
-		_currentSelection = selection;
-		boolean enabled = quickCheck(selection);
-		
-		// Don't force the plug-in to be activated just to check this setting.
-		if (enabled && ValidationPlugin.isActivated() && ValidationRegistryReader.isActivated()){
-			enabled = hasManualValidators(selection);
-		}
-		action.setEnabled(enabled);
-	}
-	
-	/**
-	 * Do a quick check on the selection, so see if we know that we don't want to validate the selection.
-	 * 
-	 * @param selection
-	 * @return false if we are sure that we don't want to validate it. Return true if we are still not sure.
-	 */
-	private boolean quickCheck(ISelection selection){
-		if (selection == null || selection.isEmpty())return false;
-		if (selection instanceof IStructuredSelection){
-			IStructuredSelection ss = (IStructuredSelection)selection;
-			Object sel = ss.getFirstElement();
-			if (sel != null){
-				if (sel instanceof IProject){
-					IProject project = (IProject)sel;
-					if (!project.isOpen())return false;
-				}
-			}
-		}
-
-		return true;
-	}
-	
-	/**
-	 * Answer true if any of the selected items have manual validators enabled.
-	 * @param selection
-	 */
-	private boolean hasManualValidators(ISelection selection){
-				
-		if (selection instanceof IStructuredSelection){
-			IStructuredSelection ss = (IStructuredSelection)selection;
-			for (Iterator it = ss.iterator(); it.hasNext();){
-				Object sel = it.next();
-				if (sel instanceof IResource){
-					IResource resource = (IResource)sel;
-					if (ValidationFramework.getDefault().hasValidators(resource, true, false))return true;
-				}
-			}		
-		}
-		
-		return false;
-		
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IViewActionDelegate#init(org.eclipse.ui.IViewPart)
-	 */
-	public void init(IViewPart view) { 
-	}
-	
-	/**
-	 * Handle any files that must be saved prior to running
-	 * validation.
-	 * 
-	 * @param projects
-	 * 			The list of projects that will be validated.
-	 * @return
-	 * 			True if all files have been saved, false otherwise.
-	 */
-	protected boolean handleFilesToSave(Map<IProject, Set<IResource>> projects)
-	{
-	  List fileList = getIFiles(projects);
-      final IEditorPart[] dirtyEditors = SaveFilesHelper.getDirtyEditors(fileList);
-      if(dirtyEditors == null || dirtyEditors.length == 0)return true;
-      boolean saveAutomatically = false;
-      try
-      {
-        saveAutomatically = ConfigurationManager.getManager().getGlobalConfiguration().getSaveAutomatically();
-      }
-      catch(InvocationTargetException e)
-      {
-    	// In this case simply default to false.
-      }
-      SaveFilesDialog sfDialog = null;
-      if(!saveAutomatically)
-      {
-	    sfDialog = new SaveFilesDialog(ValidationUIPlugin.getPlugin().getWorkbench().getActiveWorkbenchWindow().getShell());
-	    sfDialog.setInput(Arrays.asList(dirtyEditors));
-      }
-      
-      if(saveAutomatically || sfDialog.open() == Window.OK){
-    	  ProgressMonitorDialog ctx = new ProgressMonitorDialog(getShell());
-          
-          IRunnableWithProgress runnable = new IRunnableWithProgress(){
-              public void run(IProgressMonitor monitor) throws InvocationTargetException, InterruptedException{
-            	  try {
-            		  monitor.beginTask(ValidationUIMessages.SaveFilesDialog_saving, dirtyEditors.length);
-            		  int numDirtyEditors = dirtyEditors.length;
-                      for(int i = 0; i < numDirtyEditors; i++){
-                    	  dirtyEditors[i].doSave(new SubProgressMonitor(monitor, 1));
-                      }
-            	  } finally {
-            		  monitor.done();
-            	  }
-             }
-          };
-          
-          try {
-                ctx.run(false, true, runnable);
-                return true;
-          } catch (InvocationTargetException e) {
-                ValidationUIPlugin.getPlugin().handleException(e);
-          } catch (InterruptedException e) {
-        	  ValidationUIPlugin.getPlugin().handleException(e);
-          }
-      }
-	  return false;
-	}
-	
-	protected List<IFile> getIFiles(Map<IProject, Set<IResource>> projects) {
-		List<IFile> fileList = new LinkedList<IFile>();
-		for(IProject project : projects.keySet()) {
-		  for(IResource resource : projects.get(project)) {
-			if(resource instanceof IFile)fileList.add((IFile)resource);
-		  }
-		}
-		return fileList;
-	}
-	
-}
diff --git a/plugins/org.eclipse.wst.validation.ui/validateui/org/eclipse/wst/validation/internal/ui/ValidationUIMessages.java b/plugins/org.eclipse.wst.validation.ui/validateui/org/eclipse/wst/validation/internal/ui/ValidationUIMessages.java
deleted file mode 100644
index d6963b3..0000000
--- a/plugins/org.eclipse.wst.validation.ui/validateui/org/eclipse/wst/validation/internal/ui/ValidationUIMessages.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   IBM - Initial API and implementation
- * /
- *******************************************************************************/
-package org.eclipse.wst.validation.internal.ui;
-
-import org.eclipse.osgi.util.NLS;
-
-/**
- * Strings used by Validation UI.
- */
-public class ValidationUIMessages extends NLS {
-	private static final String BUNDLE_NAME = "org.eclipse.wst.validation.internal.ui.validationui";//$NON-NLS-1$
-
-	public static String SaveFilesDialog_saving;
-	public static String SaveFilesDialog_always_save;
-	public static String SaveFilesDialog_save_all_resources;
-	public static String SaveFilesDialog_must_save;
-	public static String PrefPage_always_save;
-	public static String RunValidationDialogTitle;
-	public static String UnableToSave;
-	
-	public static String Validate;
-	
-	public static String ValResults;
-
-	// results validating one resource
-	public static String ValError1Resource1;
-	public static String ValErrorsResource1;
-	public static String ValWarn1Resource1;
-	public static String ValWarnResource1;
-	public static String ValInfo1Resource1;
-	public static String ValInfoResource1;
-
-	// results validating multiple resources
-	public static String ValError1Resources;
-	public static String ValErrorsResources;
-	public static String ValWarn1Resources;
-	public static String ValWarnResources;
-	public static String ValInfo1Resources;
-	public static String ValInfoResources;
-
-	public static String ValSuccess;
-	
-
-	static {
-		// load message values from bundle file
-		NLS.initializeMessages(BUNDLE_NAME, ValidationUIMessages.class);
-	}
-
-	private ValidationUIMessages() {
-		// cannot create new instance
-	}
-}
diff --git a/plugins/org.eclipse.wst.validation.ui/validateui/org/eclipse/wst/validation/internal/ui/plugin/RunnableWithProgressWrapper.java b/plugins/org.eclipse.wst.validation.ui/validateui/org/eclipse/wst/validation/internal/ui/plugin/RunnableWithProgressWrapper.java
deleted file mode 100644
index 4a8acb8..0000000
--- a/plugins/org.eclipse.wst.validation.ui/validateui/org/eclipse/wst/validation/internal/ui/plugin/RunnableWithProgressWrapper.java
+++ /dev/null
@@ -1,97 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.validation.internal.ui.plugin;
-
-import java.lang.reflect.InvocationTargetException;
-
-import org.eclipse.core.resources.IWorkspaceRunnable;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jface.operation.IRunnableWithProgress;
-import org.eclipse.wst.common.frameworks.internal.operations.IHeadlessRunnableWithProgress;
-import org.eclipse.wst.validation.internal.operations.ValidationOperation;
-
-
-/**
- * This is a wrapper for an IWorkspaceRunnable to the IRunnableWithProgress. This class needs to be
- * used when running the operation from a IRunnableContext.
- * 
- * @see IRunnableContext
- * @see ValidationUIPlugin#getRunnableWithProgress Creation date: (5/8/2001 1:28:45 PM)
- * @author: Administrator
- */
-public class RunnableWithProgressWrapper implements IRunnableWithProgress {
-	private IHeadlessRunnableWithProgress headlessRunnable = null;
-	private IWorkspaceRunnable workspaceRunnable = null;
-	private ValidationOperation validationOperation = null;
-
-	/**
-	 * @deprecated Will be removed in Milestone 3. Use
-	 *             RunnableWithProgressWrapper(IWorkspaceRunnable)
-	 */
-	public RunnableWithProgressWrapper(IHeadlessRunnableWithProgress aHeadlessRunnableWithProgress) {
-		setHeadlessRunnable(aHeadlessRunnableWithProgress);
-	}
-
-	public RunnableWithProgressWrapper(IWorkspaceRunnable aHeadlessRunnableWithProgress) {
-		setWorkspaceRunnable(aHeadlessRunnableWithProgress);
-	}
-
-	public RunnableWithProgressWrapper(ValidationOperation op) {
-		setValidationOperation(op);
-	}
-
-	/**
-	 * @deprecated Will be removed in Milestone 3. Use getWorkspaceRunnable()
-	 */
-	protected IHeadlessRunnableWithProgress getHeadlessRunnable() {
-		return headlessRunnable;
-	}
-
-	protected IWorkspaceRunnable getWorkspaceRunnable() {
-		return workspaceRunnable;
-	}
-
-	/**
-	 * @see IRunnableWithProgress
-	 */
-	public void run(IProgressMonitor monitor) throws InvocationTargetException, InterruptedException {
-		try {
-			if (getHeadlessRunnable() != null) {
-				getHeadlessRunnable().run(monitor);
-			} else {
-				IWorkspaceRunnable runnable = (getWorkspaceRunnable() == null) ? validationOperation : getWorkspaceRunnable();
-				if (runnable == null) {
-					return;
-				}
-				ResourcesPlugin.getWorkspace().run(runnable, monitor);
-			}
-		} catch (CoreException exc) {
-			throw new InvocationTargetException(exc);
-		}
-	}
-
-	/**
-	 * @deprecated Will be removed in Milestone 3. Use setWorkspaceRunnable(IWorkspaceRunnable)
-	 */
-	protected void setHeadlessRunnable(IHeadlessRunnableWithProgress newHeadlessRunnable) {
-		headlessRunnable = newHeadlessRunnable;
-	}
-
-	protected void setWorkspaceRunnable(IWorkspaceRunnable newWorkspaceRunnable) {
-		workspaceRunnable = newWorkspaceRunnable;
-	}
-
-	protected void setValidationOperation(ValidationOperation op) {
-		validationOperation = op;
-	}
-}
diff --git a/plugins/org.eclipse.wst.validation.ui/validateui/org/eclipse/wst/validation/internal/ui/plugin/ValidationUIPlugin.java b/plugins/org.eclipse.wst.validation.ui/validateui/org/eclipse/wst/validation/internal/ui/plugin/ValidationUIPlugin.java
deleted file mode 100644
index 3f0496b..0000000
--- a/plugins/org.eclipse.wst.validation.ui/validateui/org/eclipse/wst/validation/internal/ui/plugin/ValidationUIPlugin.java
+++ /dev/null
@@ -1,171 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.validation.internal.ui.plugin;
-
-import java.net.MalformedURLException;
-import java.net.URL;
-
-import org.eclipse.core.resources.IWorkspaceRunnable;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jface.operation.IRunnableWithProgress;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.resource.ImageRegistry;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.wst.common.frameworks.internal.ui.WTPUIPlugin;
-import org.eclipse.wst.validation.internal.operations.ValidationOperation;
-import org.osgi.framework.Bundle;
-import org.osgi.framework.BundleContext;
-
-
-
-public class ValidationUIPlugin extends WTPUIPlugin {
-	private static ValidationUIPlugin _plugin = null;
-
-	public final static String VALIDATION_PROP_FILE_NAME = "validate_ui"; //$NON-NLS-1$
-	public static final String VALIDATION_PLUGIN_ID = "org.eclipse.wst.validation.ui"; //$NON-NLS-1$
-	public static final String[] ICON_DIRS = new String[]{"icons"}; //$NON-NLS-1$
-
-	public ValidationUIPlugin() {
-		super();
-		if (_plugin == null) {
-			_plugin = this;
-		}
-	}
-
-	public static String getBundleName() {
-		return VALIDATION_PROP_FILE_NAME;
-	}
-
-	public static ValidationUIPlugin getPlugin() {
-		return _plugin;
-	}
-
-	/**
-	 * Returns the translated String found with the given key.
-	 * 
-	 * @param key
-	 *            java.lang.String
-	 * @return java.lang.String
-	 */
-	public static String getResourceString(String key) {
-		try {
-			return Platform.getResourceString(Platform.getBundle(VALIDATION_PLUGIN_ID), key);
-		} catch (Exception e) {
-			ValidationUIPlugin.getPlugin().handleException(e);
-			return key;
-		}
-	}
-
-	/**
-	 * This method should be called whenever you need to run one of our headless operations in the
-	 * UI.
-	 */
-	public static IRunnableWithProgress getRunnableWithProgress(IWorkspaceRunnable aWorkspaceRunnable) {
-		return new RunnableWithProgressWrapper(aWorkspaceRunnable);
-	}
-
-//	public static IRunnableWithProgress getRunnableWithProgress(IHeadlessRunnableWithProgress aHeadlessRunnableWithProgress) {
-//		return new RunnableWithProgressWrapper(aHeadlessRunnableWithProgress);
-//	}
-
-	// Need a third, ValidationOperation version of this method, because ValidationOperation
-	// is both an IWorkspaceRunnable and an IHeadlessRunnableWithProgress. This method will
-	// exist only while IHeadlessRunnableWithProgress exists.
-	public static IRunnableWithProgress getRunnableWithProgress(ValidationOperation op) {
-		return new RunnableWithProgressWrapper(op);
-	}
-
-	public void start(BundleContext context) throws Exception {
-		super.start(context);
-		//	org.eclipse.wst.validation.internal.operations.ValidatorManager.setResourceUtilClass(org.eclipse.wst.validation.internal.operations.ui.UIResourceUtil.class);
-	}
-	
-	/**
-	 * Get a .gif from the image registry.
-	 */
-	public Image getImage(String key) {
-		ImageRegistry imageRegistry = getImageRegistry();
-		Image image = imageRegistry.get(key);
-		if (image == null || image.isDisposed()) {
-			ImageDescriptor descriptor = getImageDescriptor(key);
-			if (descriptor != null) {
-				image = descriptor.createImage();
-				imageRegistry.put(key, image);
-			}
-		}
-		return image;
-	}
-	
-	/**
-	 * This gets a .gif from the icons folder.
-	 */
-	public ImageDescriptor getImageDescriptor(String key) {
-		ImageDescriptor imageDescriptor = null;
-		URL gifImageURL = getImageURL(key);
-		if (gifImageURL != null)
-			imageDescriptor = ImageDescriptor.createFromURL(gifImageURL);
-		return imageDescriptor;
-	}
-	
-	/**
-	 * @param key
-	 * @return
-	 */
-	private URL getImageURL(String key) {
-		return ValidationUIPlugin.getImageURL(key, getBundle());
-	}
-	
-	/**
-	 * This gets a .gif from the icons folder.
-	 */
-	public static URL getImageURL(String key, Bundle bundle) {
-		String gif = "/" + key + ".gif"; //$NON-NLS-1$ //$NON-NLS-2$
-		IPath path = null;
-		for (int i = 0; i < ICON_DIRS.length; i++) {
-			path = new Path(ICON_DIRS[i]).append(gif);
-			if (Platform.find(bundle,path) == null)
-				continue;
-			try {
-				return new URL( bundle.getEntry("/"), path.toString()); //$NON-NLS-1$ 
-			} catch (MalformedURLException exception) {
-				exception.printStackTrace();
-				continue;
-			}
-		}
-		return null;
-	}
-	
-	
-	public void handleException(Throwable e){
-		Status status = new Status(IStatus.ERROR, PLUGIN_ID, e.getLocalizedMessage(), e);
-		getLog().log(status);
-	}
-	
-	/** 
-	 * Write a message into the log. 
-	 * 
-	 * We are in the transition of moving to a new approach for localized messages. This is the new 
-	 * approach for exceptions.
-	 * 
-	 * @param severity message severity, see IStaus
-	 * @param message a localized message
-	 */
-	public void logMessage(int severity, String message){
-		Status status = new Status(severity, PLUGIN_ID, message);
-		getLog().log(status);
-		
-	}	
-
-}
diff --git a/plugins/org.eclipse.wst.validation.ui/vf2/org/eclipse/wst/validation/ui/internal/AdapterFactory.java b/plugins/org.eclipse.wst.validation.ui/vf2/org/eclipse/wst/validation/ui/internal/AdapterFactory.java
deleted file mode 100644
index 750c6fd..0000000
--- a/plugins/org.eclipse.wst.validation.ui/vf2/org/eclipse/wst/validation/ui/internal/AdapterFactory.java
+++ /dev/null
@@ -1,116 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.validation.ui.internal;
-
-import org.eclipse.core.runtime.IAdapterFactory;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.ui.model.IWorkbenchAdapter;
-import org.eclipse.wst.validation.Validator;
-import org.eclipse.wst.validation.internal.ValidatorMutable;
-import org.eclipse.wst.validation.internal.model.FilterGroup;
-import org.eclipse.wst.validation.internal.model.FilterRule;
-
-public class AdapterFactory implements IAdapterFactory {
-
-	public Object getAdapter(Object adaptableObject, Class adapterType) {
-		if (adapterType == IWorkbenchAdapter.class && adaptableObject instanceof Validator.V2)return _valAdaptor;
-		if (adapterType == IWorkbenchAdapter.class && adaptableObject instanceof FilterGroup)return _fgAdaptor;
-		if (adapterType == IWorkbenchAdapter.class && adaptableObject instanceof FilterRule)return _ruleAdaptor;
-		if (adapterType == IWorkbenchAdapter.class && adaptableObject instanceof ValidatorMutable)return _valMutableAdaptor;
-
-		return null;
-	}
-
-	public Class[] getAdapterList() {
-		return new Class[] { IWorkbenchAdapter.class };
-	}
-
-	private IWorkbenchAdapter _valAdaptor = new IWorkbenchAdapter() {
-
-		public Object[] getChildren(Object o) {
-			return ((Validator.V2) o).getGroups();
-		}
-
-		public ImageDescriptor getImageDescriptor(Object o) {
-			return null;
-		}
-
-		public String getLabel(Object o) {
-			return ((Validator.V2) o).getName();
-		}
-
-		public Object getParent(Object o) {
-			return null;
-		}
-
-	};
-	private IWorkbenchAdapter _valMutableAdaptor = new IWorkbenchAdapter() {
-
-		public Object[] getChildren(Object o) {
-			return ((ValidatorMutable) o).getGroups();
-		}
-
-		public ImageDescriptor getImageDescriptor(Object o) {
-			return null;
-		}
-
-		public String getLabel(Object o) {
-			return ((ValidatorMutable) o).getName();
-		}
-
-		public Object getParent(Object o) {
-			return null;
-		}
-
-	};
-
-	private IWorkbenchAdapter _fgAdaptor = new IWorkbenchAdapter() {
-
-		public Object[] getChildren(Object o) {
-			return ((FilterGroup) o).getRules();
-		}
-
-		public ImageDescriptor getImageDescriptor(Object o) {
-			return null;
-		}
-
-		public String getLabel(Object o) {
-			FilterGroup fg = (FilterGroup) o;
-			return fg.getDisplayableType();
-		}
-
-		public Object getParent(Object o) {
-			return null;
-		}
-	};
-
-	private IWorkbenchAdapter _ruleAdaptor = new IWorkbenchAdapter() {
-
-		public Object[] getChildren(Object o) {
-			return new Object[0];
-		}
-
-		public ImageDescriptor getImageDescriptor(Object o) {
-			return null;
-		}
-
-		public String getLabel(Object o) {
-			FilterRule rule = (FilterRule) o;
-			return rule.getName();
-		}
-
-		public Object getParent(Object o) {
-			return null;
-		}
-
-	};
-
-}
diff --git a/plugins/org.eclipse.wst.validation.ui/vf2/org/eclipse/wst/validation/ui/internal/HelpContextIds.java b/plugins/org.eclipse.wst.validation.ui/vf2/org/eclipse/wst/validation/ui/internal/HelpContextIds.java
deleted file mode 100644
index 1af7aeb..0000000
--- a/plugins/org.eclipse.wst.validation.ui/vf2/org/eclipse/wst/validation/ui/internal/HelpContextIds.java
+++ /dev/null
@@ -1,18 +0,0 @@
-package org.eclipse.wst.validation.ui.internal;
-
-import org.eclipse.wst.validation.internal.ui.plugin.ValidationUIPlugin;
-
-public interface HelpContextIds {
-	String PreferencePage = ValidationUIPlugin.VALIDATION_PLUGIN_ID + ".jvgp0000"; //$NON-NLS-1$
-	
-	String FilterRule = ValidationUIPlugin.VALIDATION_PLUGIN_ID + ".jvgp0100";  //$NON-NLS-1$
-	String FRFileExt = ValidationUIPlugin.VALIDATION_PLUGIN_ID + ".jvgp0101";  //$NON-NLS-1$
-	String FRName = ValidationUIPlugin.VALIDATION_PLUGIN_ID + ".jvgp0102";  //$NON-NLS-1$
-	String FRProjectNature = ValidationUIPlugin.VALIDATION_PLUGIN_ID + ".jvgp0103";  //$NON-NLS-1$
-	String FRFacet = ValidationUIPlugin.VALIDATION_PLUGIN_ID + ".jvgp0104";  //$NON-NLS-1$
-	String FRContentType = ValidationUIPlugin.VALIDATION_PLUGIN_ID + ".jvgp0105";  //$NON-NLS-1$
-	
-	String ProjectPage = ValidationUIPlugin.VALIDATION_PLUGIN_ID + ".jvpp0000"; //$NON-NLS-1$
-	String ProjectFilterRule = ValidationUIPlugin.VALIDATION_PLUGIN_ID + ".jvpp0100";  //$NON-NLS-1$
-
-}
diff --git a/plugins/org.eclipse.wst.validation.ui/vf2/org/eclipse/wst/validation/ui/internal/ImageNames.java b/plugins/org.eclipse.wst.validation.ui/vf2/org/eclipse/wst/validation/ui/internal/ImageNames.java
deleted file mode 100644
index 5873170..0000000
--- a/plugins/org.eclipse.wst.validation.ui/vf2/org/eclipse/wst/validation/ui/internal/ImageNames.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.validation.ui.internal;
-
-/**
- * Names of the images.
- * @author karasiuk
- *
- */
-public interface ImageNames {
-	
-	String okTable 		= "ok_tbl"; //$NON-NLS-1$
-	String failTable 	= "fail_tbl"; //$NON-NLS-1$	
-	String settings 	= "settings"; //$NON-NLS-1$
-	String disabled 	= "_disabled"; //$NON-NLS-1$
-}
diff --git a/plugins/org.eclipse.wst.validation.ui/vf2/org/eclipse/wst/validation/ui/internal/ManualValidationRunner.java b/plugins/org.eclipse.wst.validation.ui/vf2/org/eclipse/wst/validation/ui/internal/ManualValidationRunner.java
deleted file mode 100644
index f70bcce..0000000
--- a/plugins/org.eclipse.wst.validation.ui/vf2/org/eclipse/wst/validation/ui/internal/ManualValidationRunner.java
+++ /dev/null
@@ -1,105 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.validation.ui.internal;
-
-import java.util.Map;
-import java.util.Set;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.WorkspaceJob;
-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.core.runtime.jobs.MultiRule;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.wst.validation.internal.ValOperation;
-import org.eclipse.wst.validation.internal.ValType;
-import org.eclipse.wst.validation.internal.ValidationResultSummary;
-import org.eclipse.wst.validation.internal.ValidationRunner;
-import org.eclipse.wst.validation.ui.internal.dialog.ResultsDialog;
-
-/**
- * Run a manual validation. 
- * @author karasiuk
- *
- */
-public class ManualValidationRunner extends WorkspaceJob {
-	
-	private Map<IProject, Set<IResource>> 	_projects;
-	private ValType _valType;
-	private boolean	_showResults;
-	
-	/**
-	 * Validate the selected projects and/or resources.
-	 * 
-	 * @param projects
-	 *            The selected projects. The key is an IProject and the value is
-	 *            the Set of IResources that were selected. Often this will be
-	 *            every resource in the project.
-	 * 
-	 * @param isManual
-	 *            Is this a manual validation?
-	 * 
-	 * @param isBuild
-	 *            Is this a build based validation?
-	 * 
-	 * @param showResults
-	 *            When the validation is finished, show the results in a dialog box.
-	 */
-	public static void validate(Map<IProject, Set<IResource>> projects, ValType valType, boolean showResults){
-		ManualValidationRunner me = new ManualValidationRunner(projects, valType, showResults);
-		
-		//TODO optimize this, I don't like the idea of validators having to lock the entire project
-		Set<IProject> keys = projects.keySet();
-		IProject[] projectArray = new IProject[keys.size()];
-		keys.toArray(projectArray);
-		if (projectArray.length == 1)me.setRule(projectArray[0]);
-		else {
-			me.setRule(MultiRule.combine(projectArray));
-		}
-		me.schedule();
-	}
-	
-	private ManualValidationRunner(Map<IProject, Set<IResource>> projects, ValType valType, boolean showResults){
-		super(ValUIMessages.Validation);
-		_projects = projects;
-		_valType = valType;
-		_showResults = showResults;
-	}
-
-	public IStatus runInWorkspace(IProgressMonitor monitor) throws CoreException {
-		
-		long start = System.currentTimeMillis();
-		final ValOperation vo = ValidationRunner.validate(_projects, _valType, monitor, false);
-		final long time = System.currentTimeMillis() - start;
-		int resourceCount = 0;
-		for (Set s : _projects.values())resourceCount += s.size();
-		final int finalResourceCount = resourceCount;
-		if (vo.isCanceled())return Status.CANCEL_STATUS;
-		
-		if (_showResults){
-			Display display = Display.getDefault();
-			Runnable run = new Runnable(){
-
-				public void run() {
-					ValidationResultSummary vr = vo.getResult();
-					ResultsDialog rd = new ResultsDialog(null, vr, time, finalResourceCount);
-					rd.open();
-				}
-				
-			};
-			display.asyncExec(run);			
-		}
-		return Status.OK_STATUS;
-	}
-}
diff --git a/plugins/org.eclipse.wst.validation.ui/vf2/org/eclipse/wst/validation/ui/internal/ValUIMessages.java b/plugins/org.eclipse.wst.validation.ui/vf2/org/eclipse/wst/validation/ui/internal/ValUIMessages.java
deleted file mode 100644
index 5001d84..0000000
--- a/plugins/org.eclipse.wst.validation.ui/vf2/org/eclipse/wst/validation/ui/internal/ValUIMessages.java
+++ /dev/null
@@ -1,122 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.wst.validation.ui.internal;
-
-import org.eclipse.osgi.util.NLS;
-
-public class ValUIMessages extends NLS {
-	
-	private static final String BUNDLE_NAME = "org.eclipse.wst.validation.ui.internal.messages"; //$NON-NLS-1$
-	   
-	public static String ADD_VALIDATION_BUILDER;
-	
-	public static String PREF_BUTTON_OVERRIDE;
-	public static String PREF_VALLIST_TITLE;
-	public static String PREF_BUTTON_ENABLEALL;
-	public static String PREF_BUTTON_DISABLEALL;
-	public static String PREF_MNU_MANUAL;
-	public static String PREF_MNU_BUILD;
-	public static String PREF_MNU_SETTINGS;
-	
-	public static String ConfigWsSettings;
-	public static String DoNotShowResults;
-	public static String DelegatesDialogTitle;
-	public static String DelegatesComboLabel;
-	
-	public static String ErrorsWarnings;
-		
-	public static String VBF_EXC_INTERNAL_TITLE;
-	public static String VBF_EXC_INTERNAL_PAGE;
-	public static String VBF_EXC_INVALID_REGISTER;
-	public static String DISABLE_VALIDATION;
-	
-	public static String MANUAL;
-	public static String BUILD;
-	public static String SETTINGS;
-	public static String VALIDATOR;
-	public static String VBF_UI_NO_VALIDATORS_INSTALLED;
-	
-	public static String SaveFilesDialog_saving;
-	public static String SaveFilesDialog_always_save;
-	public static String SaveFilesDialog_save_all_resources;
-	public static String SaveFilesDialog_must_save;
-	public static String PrefPage_always_save;
-	public static String PrefPageConfirmDialog;
-	public static String ProjectOverridesNotAllowed;
-	public static String RunValidationDialogTitle;
-	
-	/* Validator Filters */
-	public static String fdTitle;
-	public static String fdNoFilters;
-
-	public static String ErrConfig;
-	
-	public static String FilterHelp;
-	
-	public static String ButtonAddGroupInclude;	
-	public static String ButtonAddGroupExclude;	
-	public static String ButtonAddRule;	
-	public static String ButtonRemove;
-	
-	public static String LabelExtension;
-	public static String LabelFile;
-	public static String LabelProjects;
-	public static String LabelFacets;
-	public static String LabelContentType;
-	public static String LabelEnableProjectSpecific;
-	public static String LabelTargetRuntime;
-	
-	public static String DescExtension;
-	public static String DescFile;
-	public static String DescProjects;
-	public static String DescFacets;
-	public static String DescContentType;
-	public static String DescTargetRuntime;
-	
-	public static String Validation;
-	public static String ValidationStatus;
-	
-	public static String ErrSummary;
-	public static String ValidationSuccessful;
-	
-	public static String FrWizard;
-	public static String FrSelectFilterType;
-	public static String FrFileExtension;
-	public static String FrFileExtensionLabel;
-	public static String FrCaseSensitive;
-	public static String FrExactMatch;
-	public static String FrFolderOrFile;
-	public static String FrFolderOrFileLabel;
-	public static String FrBrowseFile;
-	public static String FrFileFilter;
-	public static String FrBrowseFolder;
-	public static String FrFolderFilter;
-	public static String FrProjectNature;
-	public static String FrProjectNatureLabel;
-	public static String FrSimpleFileName;
-	public static String FrFacit;
-	public static String FrFacitLabel;
-	public static String FrContentType;
-	public static String FrNewFacitLabel;
-	public static String FrContentTypeLabel;
-	public static String FrMsgSev;
-	public static String FrTargetRuntimeLabel;
-	
-	public static String RebuildTitle;
-	public static String RebuildMsg;
-	
-		
-	static {
-		NLS.initializeMessages(BUNDLE_NAME, ValUIMessages.class);
-	  }
-
-}
diff --git a/plugins/org.eclipse.wst.validation.ui/vf2/org/eclipse/wst/validation/ui/internal/dialog/FilterDialog.java b/plugins/org.eclipse.wst.validation.ui/vf2/org/eclipse/wst/validation/ui/internal/dialog/FilterDialog.java
deleted file mode 100644
index 186eaae..0000000
--- a/plugins/org.eclipse.wst.validation.ui/vf2/org/eclipse/wst/validation/ui/internal/dialog/FilterDialog.java
+++ /dev/null
@@ -1,469 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.validation.ui.internal.dialog;
-
-import java.lang.reflect.InvocationTargetException;
-import java.util.Iterator;
-import java.util.Map;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.IAdapterFactory;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.resource.JFaceResources;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.jface.viewers.TreeViewer;
-import org.eclipse.jface.wizard.WizardDialog;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.layout.RowLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Combo;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Group;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.model.BaseWorkbenchContentProvider;
-import org.eclipse.ui.model.WorkbenchLabelProvider;
-import org.eclipse.wst.validation.MessageSeveritySetting;
-import org.eclipse.wst.validation.Validator;
-import org.eclipse.wst.validation.internal.ValManager;
-import org.eclipse.wst.validation.internal.ValMessages;
-import org.eclipse.wst.validation.internal.ValidatorMutable;
-import org.eclipse.wst.validation.internal.delegates.ValidatorDelegateDescriptor;
-import org.eclipse.wst.validation.internal.delegates.ValidatorDelegatesRegistry;
-import org.eclipse.wst.validation.internal.model.FilterGroup;
-import org.eclipse.wst.validation.internal.model.FilterRule;
-import org.eclipse.wst.validation.internal.model.ValidatorHelper;
-import org.eclipse.wst.validation.ui.internal.AdapterFactory;
-import org.eclipse.wst.validation.ui.internal.ValUIMessages;
-
-/**
- * Display a filter dialog for a particular Validator, that is a list of all the filters that are active for
- * the validator.
- * 
- * @author karasiuk
- *
- */
-public final class FilterDialog extends Dialog {
-	
-	/** 
-	 * If we are doing project level filters this will point to the project. This is null if we are doing
-	 * workspace level filters. 
-	 */
-	private IProject	_project;
-	
-	private ValidatorMutable 	_validator;
-	
-	private TreeViewer		_tree;
-	private Combo			_delegating;
-	private IAdapterFactory _adaptorFactory = new AdapterFactory();
-	
-	private Button		_addGroupInclude;
-	private Button		_addGroupExclude;
-	private Button		_addRule;
-	private Button		_remove;
-	private ISelectionChangedListener	_nodeChangedListener;
-	
-	/** The currently selected group. If a rule is selected instead, then this will be null. */
-	private FilterGroup	_selectedGroup;
-	
-	/** The currently selected rule. If a group is selected instead, then this will be null. */
-	private FilterRule	_selectedRule;
-	
-	private Combo[]		_messageSev;
-	
-	private static String[] _messages = new String[]{
-		ValMessages.SevError, ValMessages.SevWarning, ValMessages.SevIgnore};
-	
-	private Shell		_shell;
-	
-	/**
-	 * Create a dialog that knows how to change a validator's filters.
-	 * 
-	 * @param shell
-	 * 
-	 * @param validator the validator that is being updated.
-	 * 
-	 * @param project the project that the filters are being added to. If these are workspace
-	 * level filters, then this must be null. 
-	 */
-	public FilterDialog(Shell shell, ValidatorMutable validator, IProject project){
-		super(shell);
-		_shell = shell;
-		setShellStyle(getShellStyle() | SWT.CLOSE|SWT.MIN|SWT.MAX|SWT.RESIZE);
-		_validator = validator;
-		_project = project;
-	}
-	
-	protected void configureShell(Shell newShell) {
-		super.configureShell(newShell);
-		newShell.setText(NLS.bind(ValUIMessages.fdTitle, _validator.getName()));
-	}
-	
-	protected Control createDialogArea(Composite parent) {
-		Composite c = (Composite)super.createDialogArea(parent);
-		c.setLayout(new GridLayout(2, false));
-		if (!_validator.isV2Validator()){
-			new Label(c, SWT.NONE).setText(ValUIMessages.fdNoFilters);
-		}
-		else {
-			Label blurb = new Label(c, SWT.LEFT | SWT.WRAP);
-			blurb.setLayoutData(new GridData(SWT.FILL, SWT.TOP, true, false, 2, 1));
-			blurb.setText(ValUIMessages.FilterHelp);
-			
-			_tree = new TreeViewer(c, SWT.SINGLE | SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER);
-			_tree.getControl().setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
-			Platform.getAdapterManager().registerAdapters(_adaptorFactory, ValidatorMutable.class);
-			Platform.getAdapterManager().registerAdapters(_adaptorFactory, FilterGroup.class);
-			Platform.getAdapterManager().registerAdapters(_adaptorFactory, FilterRule.class);
-			_tree.setContentProvider(new BaseWorkbenchContentProvider());
-			_tree.setLabelProvider(new WorkbenchLabelProvider());
-			_tree.setInput(_validator);
-			_tree.expandAll();
-			
-			addButtons(c);
-			
-			String delegatingId = _validator.getDelegatingId();
-			if (delegatingId != null){
-				addDelegatorSelection(c);
-			}
-				
-			_nodeChangedListener = new ISelectionChangedListener(){
-
-				public void selectionChanged(SelectionChangedEvent event) {
-					_selectedGroup = null;
-					_selectedRule = null;
-					if (event.getSelection() instanceof IStructuredSelection){
-						IStructuredSelection sel = (IStructuredSelection)event.getSelection();
-						if (sel.getFirstElement() instanceof FilterGroup){
-							_selectedGroup = (FilterGroup)sel.getFirstElement();
-						}
-						else if (sel.getFirstElement() instanceof FilterRule){
-							_selectedRule = (FilterRule)sel.getFirstElement();
-						}
-					}
-					updateButtons();
-				}
-				
-			};
-			
-			_tree.addSelectionChangedListener(_nodeChangedListener);
-			
-			addMessageMappings(c);
-		}
-		return c;
-	}
-
-	private void addButtons(Composite c) {
-		Composite buttons = new Composite(c, SWT.TOP);
-		GridData gd = new GridData(SWT.LEFT, SWT.TOP, false, false, 1, 1);
-		buttons.setLayoutData(gd);
-		buttons.setLayout(new GridLayout(1, true));
-		_addGroupInclude = new Button(buttons, SWT.PUSH | SWT.FILL | SWT.CENTER);
-		_addGroupInclude.setText(ValUIMessages.ButtonAddGroupInclude);
-		_addGroupInclude.setLayoutData(new GridData(SWT.FILL, SWT.TOP, true, false, 1, 1));
-		
-		_addGroupInclude.addSelectionListener(new SelectionListener(){
-
-			public void widgetDefaultSelected(SelectionEvent e) {
-				addGroup(false);				
-			}
-
-			public void widgetSelected(SelectionEvent e) {
-				addGroup(false);						
-			}
-			
-		});
-			
-		_addGroupExclude = new Button(buttons, SWT.PUSH | SWT.FILL | SWT.CENTER);
-		_addGroupExclude.setText(ValUIMessages.ButtonAddGroupExclude);
-		_addGroupExclude.setLayoutData(new GridData(SWT.FILL, SWT.TOP, true, false, 1, 1));
-		
-		_addGroupExclude.addSelectionListener(new SelectionListener(){
-
-			public void widgetDefaultSelected(SelectionEvent e) {
-				addGroup(true);				
-			}
-
-			public void widgetSelected(SelectionEvent e) {
-				addGroup(true);						
-			}
-			
-		});
-
-		_addRule = new Button(buttons, SWT.PUSH | SWT.FILL | SWT.CENTER);
-		_addRule.setText(ValUIMessages.ButtonAddRule);
-		_addRule.setLayoutData(new GridData(SWT.FILL, SWT.TOP, true, false, 1, 1));
-		_addRule.addSelectionListener(new SelectionListener(){
-
-			public void widgetDefaultSelected(SelectionEvent e) {
-				doIt();
-			}
-
-			public void widgetSelected(SelectionEvent e) {
-				doIt();
-			}
-			
-			private void doIt(){
-				NewFilterRule nfr = new NewFilterRule(_project);
-				WizardDialog wd = new WizardDialog(_shell, nfr);
-				wd.setBlockOnOpen(true);
-				int rc = wd.open();
-				if (rc == WizardDialog.CANCEL)return;
-				
-				FilterRule rule = nfr.getRule();
-				if (rule != null){
-					FilterGroup newGroup = FilterGroup.addRule(_selectedGroup, rule);
-					_validator.replaceFilterGroup(_selectedGroup, newGroup);
-					_selectedGroup = newGroup;
-					refresh();
-				}
-			}
-			
-		});
-
-		_remove = new Button(buttons, SWT.PUSH | SWT.FILL | SWT.CENTER);
-		_remove.setLayoutData(new GridData(SWT.FILL, SWT.TOP, true, false, 1, 1));
-		_remove.setText(ValUIMessages.ButtonRemove);
-		_remove.addSelectionListener(new SelectionListener(){
-
-			public void widgetDefaultSelected(SelectionEvent e) {
-				remove();					
-			}
-
-			public void widgetSelected(SelectionEvent e) {
-				remove();						
-			}				
-		});
-		
-		Button restore = new Button(buttons, SWT.PUSH | SWT.FILL | SWT.CENTER);
-		restore.setLayoutData(new GridData(SWT.FILL, SWT.TOP, true, false, 1, 1));
-		String defaults = JFaceResources.getString("defaults"); //$NON-NLS-1$
-		restore.setText(defaults);
-		restore.addSelectionListener(new SelectionListener(){
-
-			public void widgetDefaultSelected(SelectionEvent e) {
-				restoreDefaults();					
-			}
-
-			public void widgetSelected(SelectionEvent e) {
-				restoreDefaults();						
-			}				
-		});
-	}
-	
-	private void restoreDefaults() {
-		if (_validator.isV2Validator()){
-			try {
-				String id = _validator.getId();
-				Validator[] vals = ValManager.getDefaultValidators();
-				for (Validator v : vals){
-					if (v.getId().equals(id)){
-						_validator = new ValidatorMutable(v);
-						_tree.setInput(_validator);
-						_tree.expandAll();
-						refresh();
-						return;
-					}
-				}
-			}
-			catch (InvocationTargetException e){
-				
-			}
-		}
-		
-	}
-
-
-	private void addMessageMappings(Composite c) {
-		if (!_validator.isV2Validator())return;
-		Map<String,MessageSeveritySetting> mappings = _validator.getMessageSettings();
-		if (mappings == null || mappings.size() == 0)return;
-		
-		Group group = new Group(c, SWT.NONE);
-		group.setText(ValUIMessages.FrMsgSev);
-		group.setLayoutData(new GridData(SWT.FILL, SWT.TOP, true, false, 2, 1));
-		group.setLayout(new GridLayout(2, false));
-		
-//		Label heading = new Label(c, SWT.LEFT);
-//		heading.setText(ValUIMessages.ErrorsWarnings);
-//		heading.setFont(JFaceResources.getHeaderFont());
-//		heading.setLayoutData(new GridData(SWT.FILL, SWT.TOP, true, false, 2, 1));
-		
-		_messageSev = new Combo[mappings.size()];
-		int i= 0;
-		for (MessageSeveritySetting ms : mappings.values()){
-			Label label = new Label(group, SWT.LEFT);
-			label.setText("   " + ms.getLabel() + ":"); //$NON-NLS-1$ //$NON-NLS-2$
-			
-			Combo sev = new Combo(group, SWT.RIGHT);
-			_messageSev[i++] = sev;
-			sev.setItems(_messages);
-			sev.select(ms.getCurrent().ordinal());
-			sev.setData(ms);
-			sev.addSelectionListener(new SelectionListener(){
-
-				public void widgetDefaultSelected(SelectionEvent e) {
-					select(e);
-				}
-
-				public void widgetSelected(SelectionEvent e) {
-					select(e);
-				}
-				
-				private void select(SelectionEvent e){
-					Combo w = (Combo)e.widget;
-					MessageSeveritySetting ms = (MessageSeveritySetting)w.getData();
-					int i = w.getSelectionIndex();
-					if (ms.setCurrent(MessageSeveritySetting.Severity.values()[i]))
-						_validator.bumpChangeCountMessages();
-				}
-				
-			});
-		}
-	}
-		
-	/**
-	 * Add a combo box so that the user can change which delegating validator to call.
-	 */
-	private void addDelegatorSelection(Composite c) {
-		Map map = ValidatorDelegatesRegistry.getInstance().getDelegateDescriptors(_validator.getValidatorClassname());
-		if (map == null)return;
-		
-		Composite line = new Composite(c, SWT.NONE);
-		line.setLayout(new RowLayout(SWT.HORIZONTAL));
-		line.setLayoutData(new GridData(SWT.FILL, SWT.TOP, true, false, 2, 1));
-
-		Label label = new Label(line, SWT.CENTER);
-		label.setText(ValUIMessages.DelegatesComboLabel);
-
-				
-		_delegating = new Combo(line, SWT.READ_ONLY);
-		String[] items = new String[map.size()];
-		final String ids[] = new String[map.size()];
-		String selected = null;
-		Iterator it = map.values().iterator();
-		for (int i=0; i<items.length;i++){
-			ValidatorDelegateDescriptor vd = (ValidatorDelegateDescriptor)it.next();
-			items[i] = vd.getName();
-			ids[i] = vd.getId();
-			if (vd.getId().equals(_validator.getDelegatingId())){
-				selected = vd.getName();
-			}
-		}
-		_delegating.setItems(items);
-		_delegating.setText(selected);
-		_delegating.addSelectionListener(new SelectionListener(){
-
-			public void widgetDefaultSelected(SelectionEvent e) {
-			}
-
-			public void widgetSelected(SelectionEvent e) {
-				int sel = _delegating.getSelectionIndex();
-				_validator.setDelegatingId(ids[sel]);
-			}
-			
-		});
-	}
-
-	/**
-	 * Add a new filter group to the validator.
-	 * @param exclude
-	 */
-	private void addGroup(boolean exclude){
-		if (!_validator.isV2Validator())return;
-		FilterRule[] rules = new FilterRule[0];
-		_validator.add(FilterGroup.create(exclude, rules));
-		refresh();
-		
-	}
-	
-	private void refresh(){
-		_tree.refresh();
-		_tree.expandAll();
-		updateButtons();		
-	}
-	
-	/**
-	 * Remove the current selection from the validator.
-	 */
-	private void remove(){
-		if (_selectedRule != null){
-			FilterGroup group = findGroup(_selectedRule);
-			if (group != null){
-				FilterGroup newGroup = FilterGroup.removeRule(group, _selectedRule);
-				_validator.replaceFilterGroup(group, newGroup);
-				refresh();
-			}
-		}
-		
-		if (_selectedGroup != null){
-			_validator.remove(_selectedGroup);
-			refresh();
-			return;
-		}
-	}
-	
-	/**
-	 * Find the group in the current validator that has this rule.
-	 * @param rule The rule that we are searching for.
-	 * @return null if we can not find the group.
-	 */
-	private FilterGroup findGroup(FilterRule rule) {
-		for (FilterGroup group : _validator.getGroups()){
-			for (FilterRule fr : group.getRules()){
-				if (fr.equals(rule))return group;
-			}
-		}
-		return null;
-	}
-
-	private void updateButtons() {
-		if (_validator.isV2Validator()){
-			_addGroupExclude.setEnabled(!ValidatorHelper.hasExcludeGroup(_validator));
-		}
-		_addRule.setEnabled(_selectedGroup != null);
-		_remove.setEnabled(_selectedGroup != null || _selectedRule != null);
-		if (_messageSev != null){
-			Map<String,MessageSeveritySetting> msgs = _validator.getMessageSettings();
-			if (msgs != null && _messageSev.length == msgs.size()){
-				int i = 0;
-				for (MessageSeveritySetting ms : msgs.values()){
-					_messageSev[i++].select(ms.getCurrent().ordinal());
-				}
-			}
-		}
-	}
-
-
-	public boolean close() {
-		Platform.getAdapterManager().unregisterAdapters(_adaptorFactory);
-		if (_tree != null)_tree.removeSelectionChangedListener(_nodeChangedListener);
-		return super.close();
-	}
-	
-	protected Point getInitialSize() {
-		return new Point(600, 475);
-	}
-
-	public ValidatorMutable getValidator() {
-		return _validator;
-	}
-}
diff --git a/plugins/org.eclipse.wst.validation.ui/vf2/org/eclipse/wst/validation/ui/internal/dialog/NewFilterRule.java b/plugins/org.eclipse.wst.validation.ui/vf2/org/eclipse/wst/validation/ui/internal/dialog/NewFilterRule.java
deleted file mode 100644
index e0e6797..0000000
--- a/plugins/org.eclipse.wst.validation.ui/vf2/org/eclipse/wst/validation/ui/internal/dialog/NewFilterRule.java
+++ /dev/null
@@ -1,662 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2011 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.validation.ui.internal.dialog;
-
-import java.util.Map;
-import java.util.Set;
-import java.util.TreeMap;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IProjectNatureDescriptor;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.content.IContentType;
-import org.eclipse.jface.wizard.IWizardPage;
-import org.eclipse.jface.wizard.Wizard;
-import org.eclipse.jface.wizard.WizardPage;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.ModifyEvent;
-import org.eclipse.swt.events.ModifyListener;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Combo;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.DirectoryDialog;
-import org.eclipse.swt.widgets.FileDialog;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.wst.common.project.facet.core.IProjectFacet;
-import org.eclipse.wst.common.project.facet.core.ProjectFacetsManager;
-import org.eclipse.wst.common.project.facet.core.internal.ProjectFacet;
-import org.eclipse.wst.validation.internal.model.FilterRule;
-import org.eclipse.wst.validation.internal.model.ValidatorHelper;
-import org.eclipse.wst.validation.ui.internal.HelpContextIds;
-import org.eclipse.wst.validation.ui.internal.ValUIMessages;
-
-/**
- * A wizard that adds new rules to validators.
- * @author karasiuk
- *
- */
-public class NewFilterRule extends Wizard {
-	
-	private Page1 			_page1;
-	private IWizardPage		_page2;
-	
-	private IProject		_project;
-	
-	private FilterRule		_rule;
-	
-	public NewFilterRule(IProject project){
-		_project = project;
-		setWindowTitle(ValUIMessages.FrWizard);
-		_page1 = new Page1(project);
-		addPage(_page1);
-		setForcePreviousAndNextButtons(true);
-	}
-	
-	public boolean canFinish() {	
-		if (_page2 != null)return _page2.isPageComplete();
-		return false;
-	}
-		
-	public FilterRule getRule(){
-		return _rule;
-	}
-	
-	public boolean performFinish() {
-		if (_page2 == null)return false;
-		FilterWizardPage page = (FilterWizardPage)_page2;
-		_rule = page.getFilterRule();
-		return _rule != null;
-	}
-	
-	public IWizardPage getNextPage(IWizardPage page) {
-		if (page == _page1){
-			setForcePreviousAndNextButtons(false);
-			_page2 = returnOrBuildPage(_page1.getSelectedFilter());
-			return _page2;
-		}
-		return null;
-	}
-	
-	private IWizardPage returnOrBuildPage(int selectedFilter) {
-			IWizardPage page =  null;
-			if (_project != null){
-				if(selectedFilter == 2) selectedFilter = 4;
-				else if(selectedFilter == 3) selectedFilter = 5;
-			}
-			
-			switch (selectedFilter){
-			case 0:
-				page = new FileExtPage();
-				break;
-			case 1:
-				page = new FilePage(_project);
-				break;
-			case 2:
-				page = new ProjectPage();
-				break;
-			case 3:
-				page = new FacetPage();
-				break;
-			case 4:
-				page = new ContentTypePage();
-				break;
-			case 5:
-				page = new TargetRuntimePage();
-				break;
-			}
-		addPage(page);
-		return page;
-	}
-
-	public static class Page1 extends WizardPage {
-		
-		private int 		_selectedFilter;
-		private IProject	_project;
-
-		
-		public Page1(IProject project){
-			super("page1", ValUIMessages.FrSelectFilterType, null); //$NON-NLS-1$
-			setPageComplete(true);
-			_project = project;
-		}
-		
-		public void createControl(Composite parent) {
-			String helpId = _project == null ? HelpContextIds.FilterRule : HelpContextIds.ProjectFilterRule;
-			PlatformUI.getWorkbench().getHelpSystem().setHelp(parent, helpId);
-			String[] labels = null;
-			String[] desc = null;
-			if (_project != null){
-				labels = new String[]{ValUIMessages.LabelExtension, ValUIMessages.LabelFile,
-						ValUIMessages.LabelContentType, ValUIMessages.LabelTargetRuntime};
-				
-				desc = new String[]{ValUIMessages.DescExtension, ValUIMessages.DescFile,
-						ValUIMessages.DescContentType, ValUIMessages.DescTargetRuntime};
-			}
-			else {
-				labels = new String[]{ValUIMessages.LabelExtension, ValUIMessages.LabelFile,
-						ValUIMessages.LabelProjects, ValUIMessages.LabelFacets,
-						ValUIMessages.LabelContentType, ValUIMessages.LabelTargetRuntime};
-				
-				desc = new String[]{ValUIMessages.DescExtension, ValUIMessages.DescFile,
-						ValUIMessages.DescProjects, ValUIMessages.DescFacets, 
-						ValUIMessages.DescContentType, ValUIMessages.DescTargetRuntime};
-			}
-			
-			Composite control = new Composite(parent, SWT.NONE);
-			control.setLayout(new GridLayout(2, false));
-
-			SelectionListener listener = new SelectionListener(){
-
-				public void widgetDefaultSelected(SelectionEvent e) {
-					doIt(e);
-				}
-
-				public void widgetSelected(SelectionEvent e) {
-					doIt(e);
-				}
-				
-				private void doIt(SelectionEvent e){
-					if (e.getSource() instanceof Button){
-						Button b = (Button)e.getSource();
-						if (b.getData() instanceof Integer) {
-							Integer index = (Integer) b.getData();
-							setSelectedFilter(index.intValue());
-						}
-					}
-				}
-				
-			};
-			for (int i=0; i<labels.length; i++){
-				Button button = new Button(control, SWT.RADIO);
-				button.setText(labels[i]);
-				button.setData(new Integer(i));			
-				button.addSelectionListener(listener);
-				(new Text(control, SWT.WRAP|SWT.READ_ONLY)).setText(desc[i]);
-				if (i == 0)button.setSelection(true);				
-			}			
-			setControl(control);			
-		}
-
-		public int getSelectedFilter() {
-			return _selectedFilter;
-		}
-
-		public void setSelectedFilter(int selectedFilter) {
-			_selectedFilter = selectedFilter;
-			getContainer().updateButtons();
-		}
-						
-	}
-	
-	public static class FileExtPage extends WizardPage implements FilterWizardPage {
-		
-		private Text 	_pattern;
-		private Button	_case;
-		
-		public FileExtPage(){
-			super("fileext", ValUIMessages.FrFileExtension, null); //$NON-NLS-1$
-		}
-
-		public void createControl(Composite parent) {
-			PlatformUI.getWorkbench().getHelpSystem().setHelp(parent, HelpContextIds.FRFileExt);
-			Composite control = new Composite(parent, SWT.NONE);
-			setControl(control);
-			control.setLayout(new GridLayout(2, false));
-			(new Label(control, SWT.NONE)).setText(ValUIMessages.FrFileExtensionLabel);
-			_pattern = new Text(control, SWT.BORDER);
-			_pattern.setFocus();
-			_pattern.addModifyListener(new ModifyListener(){
-
-				public void modifyText(ModifyEvent e) {
-					getContainer().updateButtons();
-				}
-				
-			});
-			
-			_case = new Button(control, SWT.CHECK);
-			_case.setText(ValUIMessages.FrCaseSensitive);
-			_case.setSelection(false);
-			_case.setLayoutData(new GridData(SWT.BEGINNING, SWT.BEGINNING,false, false, 2, 1));
-			
-		}
-
-		public FilterRule getFilterRule() {
-			if (!isPageComplete())return null;
-			return FilterRule.FileExt.createFileExt(_pattern.getText(), _case.getSelection());
-		}
-		
-		public boolean isPageComplete() {
-			return _pattern != null && _pattern.getText().trim().length() > 0;
-		}
-		
-		
-	}
-	
-	public static class FilePage extends WizardPage implements FilterWizardPage {
-		
-		private Text 	_pattern;
-		private Button	_browseFile;
-		private Button	_browseFolder;
-		private Button	_case;
-		private Button	_simpleFileName;
-		
-		private IProject	_project;
-		private int			_type = FilterRule.File.FileTypeFile;
-		private IPath		_fullFileName;
-		private String		_root;
-		
-		public FilePage(IProject project){
-			super("file", ValUIMessages.FrFolderOrFile, null); //$NON-NLS-1$
-			_project = project;
-		}
-
-		public void createControl(Composite parent) {
-			PlatformUI.getWorkbench().getHelpSystem().setHelp(parent, HelpContextIds.FRName);
-			final Composite control = new Composite(parent, SWT.NONE);
-			setControl(control);
-			control.setLayout(new GridLayout(4, false));
-			(new Label(control, SWT.NONE)).setText(ValUIMessages.FrFolderOrFileLabel);
-			_pattern = new Text(control, SWT.BORDER);
-			_pattern.setFocus();
-			_pattern.setLayoutData(new GridData(300, SWT.DEFAULT));
-			_pattern.addModifyListener(new ModifyListener(){
-
-				public void modifyText(ModifyEvent e) {
-					getContainer().updateButtons();
-				}
-				
-			});
-
-			_root = null;
-			IPath base = _project == null ? ResourcesPlugin.getWorkspace().getRoot().getLocation() :
-				_project.getLocation();
-			if (base != null)_root = base.toOSString();
-						
-			_browseFile = new Button(control, SWT.PUSH);
-			_browseFile.setText(ValUIMessages.FrBrowseFile);
-			_browseFile.setEnabled(_root != null);
-			_browseFile.addSelectionListener(new SelectionListener(){
-
-				public void widgetDefaultSelected(SelectionEvent e) {
-					browse();
-				}
-
-				public void widgetSelected(SelectionEvent e) {
-					browse();
-				}
-				
-				private void browse(){
-					FileDialog fd = new FileDialog(control.getShell(), SWT.OPEN);
-					fd.setText(ValUIMessages.FrFileFilter);
-					fd.setFilterPath(_root);
-					
-					String file = fd.open();
-					if (file != null){
-						if (file.startsWith(_root))file = file.substring(_root.length()+1);
-						else file = null;
-					}
-					if (file != null){
-						_fullFileName = new Path(file);
-						if (_project == null)_fullFileName = _fullFileName.removeFirstSegments(1);
-
-						if (_simpleFileName.getSelection()){
-							_type = FilterRule.File.FileTypeFile;
-							_pattern.setText(_fullFileName.lastSegment());
-						}
-						else {
-							_type = FilterRule.File.FileTypeFull;
-							_pattern.setText(_fullFileName.toPortableString());
-						}
-					}
-					else {
-						_fullFileName = null;
-						_pattern.setText(""); //$NON-NLS-1$
-					}
-				}				
-			});
-			
-			_browseFolder = new Button(control, SWT.PUSH);
-			_browseFolder.setText(ValUIMessages.FrBrowseFolder);
-			_browseFolder.setEnabled(_root != null);
-			_browseFolder.addSelectionListener(new SelectionListener(){
-
-				public void widgetDefaultSelected(SelectionEvent e) {
-					browse();
-				}
-
-				public void widgetSelected(SelectionEvent e) {
-					browse();
-				}
-				
-				private void browse(){
-					DirectoryDialog fd = new DirectoryDialog(control.getShell());
-					fd.setMessage(ValUIMessages.FrFolderFilter);
-					fd.setFilterPath(_root);
-					String dir = fd.open();
-					if (dir != null){
-						_fullFileName = null;
-						_type = FilterRule.File.FileTypeFolder;
-						if (dir.startsWith(_root) && dir.length() > _root.length()){
-							dir = dir.substring(_root.length()+1);
-							IPath path = new Path(dir);
-							if (_project == null)path = path.removeFirstSegments(1);
-							_pattern.setText(path.toPortableString());
-						}
-						else {
-							_pattern.setText(""); //$NON-NLS-1$
-						}
-					}
-				}
-				
-			});
-			
-			_case = new Button(control, SWT.CHECK);
-			_case.setText(ValUIMessages.FrCaseSensitive);
-			_case.setSelection(false);
-			_case.setLayoutData(new GridData(SWT.BEGINNING, SWT.BEGINNING,false, false, 4, 1));
-			
-			addSimpleFileNameButton(control);
-		}
-
-		private void addSimpleFileNameButton(final Composite control) {
-			_simpleFileName = new Button(control, SWT.CHECK);
-			_simpleFileName.setText(ValUIMessages.FrSimpleFileName);
-			_simpleFileName.setSelection(_type == FilterRule.File.FileTypeFile);
-			_simpleFileName.setLayoutData(new GridData(SWT.BEGINNING, SWT.BEGINNING,false, false, 4, 1));
-			
-			_simpleFileName.addSelectionListener(new SelectionListener(){
-
-				public void widgetDefaultSelected(SelectionEvent e) {
-				}
-
-				public void widgetSelected(SelectionEvent e) {
-					if (_type == FilterRule.File.FileTypeFolder)return;
-					if (_simpleFileName.getSelection()){
-						if (_fullFileName != null)_pattern.setText(_fullFileName.lastSegment());
-						_type = FilterRule.File.FileTypeFile;
-					}
-					else {
-						if (_fullFileName != null)_pattern.setText(_fullFileName.toPortableString());
-						_type = FilterRule.File.FileTypeFull;					}
-					}				
-				});
-		}
-
-		public FilterRule getFilterRule() {
-			if (!isPageComplete())return null;
-			return FilterRule.createFile(_pattern.getText(), _case.getSelection(), _type);
-		}
-		
-		public boolean isPageComplete() {
-			if (_pattern == null)return false;
-			if (_pattern.getText() == null)return false;
-			return _pattern.getText().trim().length() > 0;
-		}
-		
-	}
-	
-	public static class ProjectPage extends WizardPage implements FilterWizardPage{
-		
-		private Combo		_natures;
-		private String[]	_ids;
-		
-		public ProjectPage(){
-			super("project", ValUIMessages.FrProjectNature, null); //$NON-NLS-1$
-		}
-
-		public void createControl(Composite parent) {
-			PlatformUI.getWorkbench().getHelpSystem().setHelp(parent, HelpContextIds.FRProjectNature);
-			Composite control = new Composite(parent, SWT.NONE);
-			setControl(control);
-			control.setLayout(new GridLayout(2, false));
-			(new Label(control, SWT.NONE)).setText(ValUIMessages.FrProjectNatureLabel);
-			
-			IProjectNatureDescriptor[] pn = ResourcesPlugin.getWorkspace().getNatureDescriptors();
-			String items[] = new String[pn.length];
-			_ids = new String[pn.length];
-			String natureLabel = null;
-			for (int i=0; i<pn.length; i++){
-				natureLabel = pn[i].getLabel();
-				_ids[i] = pn[i].getNatureId();
-				items[i] = natureLabel.length() == 0 ? _ids[i] : natureLabel + " - " + _ids[i]; //$NON-NLS-1$
-			}
-			_natures = new Combo(control, SWT.DROP_DOWN);
-			_natures.setItems(items);
-			_natures.addModifyListener(new ModifyListener(){
-
-				public void modifyText(ModifyEvent e) {
-					getContainer().updateButtons();					
-				}
-				
-			});
-						
-		}
-
-		public FilterRule getFilterRule() {
-			if (!isPageComplete())return null;
-			int i = _natures.getSelectionIndex();
-			if (i == -1)return null;
-			
-			return FilterRule.createProject(_ids[i]);
-		}
-		
-		public boolean isPageComplete() {
-			if (_natures == null)return false;
-			if (_natures.getText() == null)return false;
-			return _natures.getText().trim().length() > 0;
-		}
-	
-	}
-	
-	public static class FacetPage extends WizardPage implements FilterWizardPage {
-		
-		private Combo facets;
-		private String [] ids;
-		
-		public FacetPage(){
-			super("facet", ValUIMessages.FrFacit, null); //$NON-NLS-1$
-		}
-
-		public void createControl(Composite parent) {
-			PlatformUI.getWorkbench().getHelpSystem().setHelp(parent, HelpContextIds.FRFacet);
-			Composite control = new Composite(parent, SWT.NONE);
-			setControl(control);
-			control.setLayout(new GridLayout(2, false));
-			(new Label(control, SWT.NONE)).setText(ValUIMessages.FrNewFacitLabel);
-			
-			Set<IProjectFacet> projectFacets = ProjectFacetsManager.getProjectFacets();
-			
-			Object[] projectFacetsArray = projectFacets.toArray();
-			String items[] = new String[projectFacetsArray.length];
-			ids = new String[projectFacetsArray.length];
-			
-			for(int i = 0; i < projectFacetsArray.length; i++)
-			{
-				ProjectFacet facet = (ProjectFacet)projectFacetsArray[i];
-				ids[i] = facet.getId();
-				items[i] = facet.getLabel() + " - " + ids[i]; //$NON-NLS-1$
-			}
-			
-			facets = new Combo(control, SWT.DROP_DOWN);
-			facets.setItems(items);
-			facets.addModifyListener(new ModifyListener(){
-
-				public void modifyText(ModifyEvent e) {
-					getContainer().updateButtons();
-				}
-				
-			});
-		}
-
-		public FilterRule getFilterRule() {
-			if (!isPageComplete())return null;
-			
-			int i = facets.getSelectionIndex();
-			if (i == -1) return null;
-			
-			FilterRule rule = FilterRule.createFacet(ids[i]);
-			return rule;
-		}
-		
-		public boolean isPageComplete() {
-			if (facets == null)return false;
-			if (facets.getText() == null)return false;
-			return facets.getText().trim().length() > 0;
-		}
-		
-	}
-	
-	public static class ContentTypePage extends WizardPage implements FilterWizardPage {
-		private Combo	_pattern;
-		private Button	_exactMatch;
-		private Map<String, IContentType> _map;
-		
-		public ContentTypePage(){
-			super("contentType", ValUIMessages.FrContentType, null); //$NON-NLS-1$
-		}
-
-		public void createControl(Composite parent) {
-			PlatformUI.getWorkbench().getHelpSystem().setHelp(parent, HelpContextIds.FRContentType);
-			Composite control = new Composite(parent, SWT.NONE);
-			setControl(control);
-			control.setLayout(new GridLayout(2, false));
-			(new Label(control, SWT.NONE)).setText(ValUIMessages.FrContentTypeLabel);
-			
-			IContentType[] types = Platform.getContentTypeManager().getAllContentTypes();
-			_map = new TreeMap<String, IContentType>();
-			for (IContentType type : types){
-				String name = type.getName();
-				if (name == null)name = type.getId();
-				else
-					name = name + " - " + type.getId(); //$NON-NLS-1$
-				_map.put(name, type);
-			}
-			String items[] = new String[_map.size()];
-			int i = 0;
-			for (String label : _map.keySet()){
-				items[i++] = label;
-			}
-			_pattern = new Combo(control, SWT.DROP_DOWN | SWT.READ_ONLY);
-			_pattern.setFocus();
-			_pattern.setLayoutData(new GridData(300, SWT.DEFAULT));
-			_pattern.setVisibleItemCount(20);
-			_pattern.setItems(items);
-			_pattern.addModifyListener(new ModifyListener(){
-
-				public void modifyText(ModifyEvent e) {
-					getContainer().updateButtons();
-				}
-				
-			});
-			
-			_exactMatch = new Button(control, SWT.CHECK);
-			_exactMatch.setText(ValUIMessages.FrExactMatch);
-			_exactMatch.setSelection(false);
-			_exactMatch.setLayoutData(new GridData(SWT.BEGINNING, SWT.BEGINNING,false, false, 2, 1));
-
-		}
-
-		public FilterRule getFilterRule() {
-			if (!isPageComplete())return null;
-			IContentType type = _map.get(_pattern.getText());
-			if (type == null)return null;
-			FilterRule rule = FilterRule.createContentType(type.getId(), _exactMatch.getSelection());
-			return rule;
-		}
-		
-		public boolean isPageComplete() {
-			if (_pattern == null)return false;
-			if (_pattern.getText() == null)return false;
-			return _pattern.getText().trim().length() > 0;
-		}
-		
-	}
-	
-	public static class TargetRuntimePage extends WizardPage implements FilterWizardPage {
-		
-		private Combo	_pattern;
-		private String [] ids;
-		
-		public TargetRuntimePage(){
-			super("targetRuntime", ValUIMessages.FrTargetRuntimeLabel, null); //$NON-NLS-1$
-		}
-
-		public void createControl(Composite parent) {
-			PlatformUI.getWorkbench().getHelpSystem().setHelp(parent, HelpContextIds.FRContentType);
-			Composite control = new Composite(parent, SWT.NONE);
-			setControl(control);
-			control.setLayout(new GridLayout(2, false));
-			(new Label(control, SWT.NONE)).setText("Target Runtime"); //$NON-NLS-1$
-
-			Object[] targetRuntimes = ValidatorHelper.getRuntimes();
-			
-			String items[] = new String[targetRuntimes.length];
-			ids = new String[targetRuntimes.length];
-			
-			for(int i = 0; i < targetRuntimes.length; i++)
-			{
-				ids[i] = ValidatorHelper.getRuntimeID(targetRuntimes[i]);
-				items[i] = ValidatorHelper.getRuntimeName(targetRuntimes[i]);
-			}
-			
-			_pattern = new Combo(control, SWT.DROP_DOWN | SWT.READ_ONLY);
-			_pattern.setFocus();
-			_pattern.setLayoutData(new GridData(300, SWT.DEFAULT));
-			_pattern.setVisibleItemCount(20);
-			_pattern.setItems(items);
-			_pattern.addModifyListener(new ModifyListener(){
-
-				public void modifyText(ModifyEvent e) {
-					getContainer().updateButtons();
-				}
-				
-			});
-		}
-		
-		public FilterRule getFilterRule() {
-			if (!isPageComplete())return null;
-			
-			int i = _pattern.getSelectionIndex();
-			if (i == -1) return null;
-			
-			FilterRule rule = FilterRule.createTargetRuntime(ids[i]);
-			return rule;
-		}
-		
-		
-		public boolean isPageComplete() {
-			if (_pattern == null)return false;
-			if (_pattern.getText() == null)return false;
-			return _pattern.getText().trim().length() > 0;
-		}
-		
-	}
-	
-	interface FilterWizardPage {
-		/**
-		 * Answer the rule that was created.
-		 * 
-		 * @return null if the user didn't create a new rule.
-		 */
-		FilterRule getFilterRule();
-	}
-
-
-}
diff --git a/plugins/org.eclipse.wst.validation.ui/vf2/org/eclipse/wst/validation/ui/internal/dialog/ResultsDialog.java b/plugins/org.eclipse.wst.validation.ui/vf2/org/eclipse/wst/validation/ui/internal/dialog/ResultsDialog.java
deleted file mode 100644
index 3534eb7..0000000
--- a/plugins/org.eclipse.wst.validation.ui/vf2/org/eclipse/wst/validation/ui/internal/dialog/ResultsDialog.java
+++ /dev/null
@@ -1,162 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.wst.validation.ui.internal.dialog;
-
-
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.dialogs.IconAndMessageDialog;
-import org.eclipse.jface.layout.GridDataFactory;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.wst.validation.internal.Misc;
-import org.eclipse.wst.validation.internal.ValManager;
-import org.eclipse.wst.validation.internal.ValPrefManagerGlobal;
-import org.eclipse.wst.validation.internal.ValidationResultSummary;
-import org.eclipse.wst.validation.internal.model.GlobalPreferences;
-import org.eclipse.wst.validation.internal.model.GlobalPreferencesValues;
-import org.eclipse.wst.validation.internal.ui.ValidationUIMessages;
-import org.eclipse.wst.validation.ui.internal.ValUIMessages;
-
-/**
- * A dialog for displaying the results of a manual validation.
- * @author karasiuk
- *
- */
-public class ResultsDialog extends IconAndMessageDialog {
-	
-	private ValidationResultSummary 	_result;
-	private long				_time;
-	private int					_resourceCount;
-	private Button _hideButton;
-
-	/**
-	 * Create a dialog for displaying validation results.
-	 * 
-	 * @param parentShell this can be null
-	 * @param results the results of the validation
-	 * @param time the time that the validation took in milliseconds
-	 * @param resourceCount the number of resources that were validated
-	 */
-	public ResultsDialog(Shell parentShell, ValidationResultSummary results, long time, int resourceCount) {
-		super(parentShell);
-		_result = results;
-		_time = time;
-		_resourceCount = resourceCount;
-	}
-	
-	@Override
-	protected void okPressed() {
-		if(_hideButton!=null) {
-			ValManager vm = ValManager.getDefault();
-			GlobalPreferences gp = vm.getGlobalPreferences();
-			GlobalPreferencesValues gpv = gp.asValues();
-			gpv.confirmDialog = !_hideButton.getSelection();
-			int changes = vm.replace(gpv);
-			if (changes != 0)ValPrefManagerGlobal.getDefault().savePreferences();
-		}
-		super.okPressed();
-	}
-	
-	@Override
-	public int open() {
-		if (!ErrorDialog.AUTOMATED_MODE) {
-			return super.open();
-		}
-		setReturnCode(OK);
-		return OK;
-	}
-	
-	@Override
-	protected Image getImage() {
-		if (_result.getSeverityError() > 0)return getErrorImage();
-		if (_result.getSeverityWarning() > 0)return getWarningImage();
-		return getInfoImage();
-	}
-	
-	@Override
-	protected Control createDialogArea(Composite parent) {
-		message = getMessage();
-		createMessageArea(parent);
-				
-		new Label(parent, SWT.NONE).setLayoutData(GridDataFactory.swtDefaults().span(2, 1).create());		
-		addHideCheckbox(parent);
-
-		Control c = super.createDialogArea(parent);
-		return c;
-	}
-	
-	private void addHideCheckbox(Composite parent) {
-		_hideButton = new Button(parent, SWT.CHECK);
-		GridDataFactory.swtDefaults().align(SWT.BEGINNING, SWT.BEGINNING).span(2, 1).applyTo(_hideButton);
-		_hideButton.setText(ValUIMessages.DoNotShowResults);
-		if (ValManager.getDefault().getGlobalPreferences().getConfirmDialog() && _hideButton.getSelection()) {
-			// tell the user where to re-enable it?
-		}
-		_hideButton.setSelection(!ValManager.getDefault().getGlobalPreferences().getConfirmDialog());
-	}
-
-	
-	@Override
-	protected void configureShell(Shell newShell) {
-		super.configureShell(newShell);
-		newShell.setText(ValidationUIMessages.ValResults);
-	}
-	
-	@Override
-	protected void createButtonsForButtonBar(Composite parent) {
-		Button ok = createButton(parent, IDialogConstants.OK_ID, IDialogConstants.OK_LABEL, false);
-		ok.setFocus();
-	}
-
-	private String getMessage(){
-		if (_resourceCount > 1) {
-			if (_result.getSeverityError() > 1)
-				return NLS.bind(ValidationUIMessages.ValErrorsResources, new Object[]{_result.getSeverityError(), _resourceCount, Misc.getTimeMS(_time)});
-			if (_result.getSeverityError() == 1)
-				return NLS.bind(ValidationUIMessages.ValError1Resources, _resourceCount, Misc.getTimeMS(_time));
-
-			if (_result.getSeverityWarning() > 1)
-				return NLS.bind(ValidationUIMessages.ValWarnResources, new Object[]{_result.getSeverityWarning(), _resourceCount, Misc.getTimeMS(_time)});
-			if (_result.getSeverityWarning() == 1)
-				return NLS.bind(ValidationUIMessages.ValWarn1Resources, _resourceCount, Misc.getTimeMS(_time));
-
-			if (_result.getSeverityInfo() > 1)
-				return NLS.bind(ValidationUIMessages.ValInfoResources, new Object[]{_result.getSeverityInfo(), _resourceCount, Misc.getTimeMS(_time)});
-			if (_result.getSeverityInfo() == 1)
-				return NLS.bind(ValidationUIMessages.ValInfo1Resources, _resourceCount, Misc.getTimeMS(_time));
-		}
-		else if (_resourceCount == 1) {
-			if (_result.getSeverityError() > 1)
-				return NLS.bind(ValidationUIMessages.ValErrorsResource1, _result.getSeverityError(), Misc.getTimeMS(_time));
-			if (_result.getSeverityError() == 1)
-				return NLS.bind(ValidationUIMessages.ValError1Resource1, Misc.getTimeMS(_time));
-
-			if (_result.getSeverityWarning() > 1)
-				return NLS.bind(ValidationUIMessages.ValWarnResource1, _result.getSeverityWarning(), Misc.getTimeMS(_time));
-			if (_result.getSeverityWarning() == 1)
-				return NLS.bind(ValidationUIMessages.ValWarn1Resource1, Misc.getTimeMS(_time));
-
-			if (_result.getSeverityInfo() > 1)
-				return NLS.bind(ValidationUIMessages.ValInfoResource1, _result.getSeverityInfo(), Misc.getTimeMS(_time));
-			if (_result.getSeverityInfo() == 1)
-				return NLS.bind(ValidationUIMessages.ValInfo1Resource1, Misc.getTimeMS(_time));
-		}
-		return ValidationUIMessages.ValSuccess;
-	}
-}
diff --git a/plugins/org.eclipse.wst.validation.ui/vf2/org/eclipse/wst/validation/ui/internal/preferences/ValidationPreferencePage.java b/plugins/org.eclipse.wst.validation.ui/vf2/org/eclipse/wst/validation/ui/internal/preferences/ValidationPreferencePage.java
deleted file mode 100644
index 2f1da24..0000000
--- a/plugins/org.eclipse.wst.validation.ui/vf2/org/eclipse/wst/validation/ui/internal/preferences/ValidationPreferencePage.java
+++ /dev/null
@@ -1,838 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2009 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.validation.ui.internal.preferences;
-
-import java.lang.reflect.InvocationTargetException;
-import java.util.LinkedList;
-import java.util.List;
-
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.layout.GridDataFactory;
-import org.eclipse.jface.preference.PreferencePage;
-import org.eclipse.jface.viewers.IStructuredContentProvider;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.ITableLabelProvider;
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.jface.viewers.TableViewer;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.jface.viewers.ViewerSorter;
-import org.eclipse.jface.window.Window;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.ScrolledComposite;
-import org.eclipse.swt.events.FocusAdapter;
-import org.eclipse.swt.events.FocusEvent;
-import org.eclipse.swt.events.MenuAdapter;
-import org.eclipse.swt.events.MenuEvent;
-import org.eclipse.swt.events.MouseAdapter;
-import org.eclipse.swt.events.MouseEvent;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.graphics.Rectangle;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Menu;
-import org.eclipse.swt.widgets.MenuItem;
-import org.eclipse.swt.widgets.MessageBox;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Table;
-import org.eclipse.swt.widgets.TableColumn;
-import org.eclipse.swt.widgets.TableItem;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchPreferencePage;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.wst.validation.Validator;
-import org.eclipse.wst.validation.internal.ConfigurationManager;
-import org.eclipse.wst.validation.internal.FullBuildJob;
-import org.eclipse.wst.validation.internal.GlobalConfiguration;
-import org.eclipse.wst.validation.internal.ValManager;
-import org.eclipse.wst.validation.internal.ValPrefManagerGlobal;
-import org.eclipse.wst.validation.internal.ValidatorMetaData;
-import org.eclipse.wst.validation.internal.ValidatorMutable;
-import org.eclipse.wst.validation.internal.model.GlobalPreferences;
-import org.eclipse.wst.validation.internal.model.GlobalPreferencesValues;
-import org.eclipse.wst.validation.internal.ui.DelegatingValidatorPreferencesDialog;
-import org.eclipse.wst.validation.internal.ui.plugin.ValidationUIPlugin;
-import org.eclipse.wst.validation.ui.internal.HelpContextIds;
-import org.eclipse.wst.validation.ui.internal.ImageNames;
-import org.eclipse.wst.validation.ui.internal.ValUIMessages;
-import org.eclipse.wst.validation.ui.internal.dialog.FilterDialog;
-
-/**
- * From this page the user can configure individual validators.
- * <p>
- * This class and its inner classes are not intended to be subclassed outside of
- * the validation framework.
- * </p>
- */
-public class ValidationPreferencePage extends PreferencePage implements	IWorkbenchPreferencePage {
-
-	private IValidationPage _pageImpl = null;
-	private Shell _shell;
-
-	public interface IValidationPage {
-		
-		Composite createPage(Composite parent) throws InvocationTargetException;
-		boolean performOk() throws InvocationTargetException;
-		boolean performDefaults() throws InvocationTargetException;
-		Composite getControl();
-		void dispose();
-		void loseFocus();
-		void gainFocus();
-	}
-
-	public final class InvalidPage implements IValidationPage {
-		private Composite page = null;
-
-		private Composite composite = null;
-		private GridLayout layout = null;
-		private Label messageLabel = null;
-
-		public InvalidPage(Composite parent) {
-			page = createPage(parent);
-		}
-
-		/**
-		 * This page is added to the Properties guide if some internal problem
-		 * occurred; for example, the highlighted item in the workbench is not
-		 * an IProject (according to this page's plugin.xml, this page is only
-		 * valid when an IProject is selected).
-		 */
-		public Composite createPage(Composite parent) {
-			// Don't create the default and apply buttons.
-			noDefaultAndApplyButton();
-
-			final ScrolledComposite sc1 = new ScrolledComposite(parent,	SWT.H_SCROLL | SWT.V_SCROLL);
-			sc1.setLayoutData(new GridData(GridData.FILL_BOTH));
-			composite = new Composite(sc1, SWT.NONE);
-			sc1.setContent(composite);
-			layout = new GridLayout();
-			composite.setLayout(layout);
-
-			messageLabel = new Label(composite, SWT.NONE);
-			messageLabel.setText(ValUIMessages.VBF_EXC_INVALID_REGISTER);
-
-			composite.setSize(composite.computeSize(SWT.DEFAULT, SWT.DEFAULT));
-
-			return composite;
-		}
-
-		public boolean performDefaults() {
-			return true;
-		}
-
-		/**
-		 * Since this page occurs under invalid circumstances, there is nothing
-		 * to save.
-		 */
-		public boolean performOk() {
-			return true;
-		}
-
-		public Composite getControl() {
-			return page;
-		}
-
-		public void dispose() {
-			messageLabel.dispose();
-			// layout.dispose();
-			composite.dispose();
-		}
-
-		public void loseFocus() {
-			// This page does not depend on the contents of any other page in
-			// the wizard, so do nothing.
-		}
-
-		public void gainFocus() {
-			// This page does not depend on the contents of any other page in
-			// the wizard, so do nothing.
-		}
-	}
-
-	private final class ValidatorListPage implements IValidationPage {
-		private Composite _page;
-		private TableViewer _validatorList;
-		private Button _enableAllButton;
-		private Button _disableAllButton;
-		private Button _override;
-		private Button _suspend;
-		private Button _autoSave;
-		private Button _confirmButton;
-		private Label _listLabel;
-		private Table _validatorsTable;
-		private GlobalPreferencesValues 	_globalPreferences = ValManager.getDefault().getGlobalPreferences().asValues();
-		private GlobalConfiguration _globalConfig;
-		private ValidatorMutable[] _validators;
-		
-		private int _changeCount;
-
-		/**
-		 * This class is provided for the CheckboxTableViewer in the
-		 * ValidationPropertiesPage$ValidatorListPage class.
-		 */
-		public class ValidationContentProvider implements IStructuredContentProvider {
-			public void dispose() {
-			}
-
-			public Object[] getElements(Object inputElement) {
-				if (inputElement instanceof ValidatorMutable[]) {
-					return (ValidatorMutable[]) inputElement;
-				}
-				return new Object[0];
-			}
-
-			public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
-			}
-		}
-
-		/**
-		 * This class is provided for
-		 * ValidationPropertiesPage$ValidatorListPage's checkboxTableViewer element.
-		 */
-		public class ValidationLabelProvider extends LabelProvider implements ITableLabelProvider {
-			public String getText(Object element) {
-				if (element == null)return ""; //$NON-NLS-1$
-				else if (element instanceof ValidatorMutable)
-					return ((ValidatorMutable) element).getName();
-				else
-					return super.getText(element);
-			}
-
-			private Image getImage(String imageName) {
-				boolean isDisabled = !_validatorsTable.isEnabled();
-				if (isDisabled)imageName = imageName + ImageNames.disabled;
-
-				return ValidationUIPlugin.getPlugin().getImage(imageName);
-			}
-
-			public Image getColumnImage(Object element, int columnIndex) {
-				ValidatorMutable v = (ValidatorMutable) element;
-				if (columnIndex == 1) {
-					return getImage(v.isManualValidation() ? ImageNames.okTable : ImageNames.failTable);
-				} else if (columnIndex == 2) {
-					return getImage(v.isBuildValidation() ? ImageNames.okTable : ImageNames.failTable);
-				} else if (columnIndex == 3) {
-					if (hasSettings(v))return getImage(ImageNames.settings);
-					return  null;
-
-				}
-				return null;
-			}
-
-			public String getColumnText(Object element, int columnIndex) {
-				if (columnIndex == 0)return ((ValidatorMutable) element).getName();
-				return null;
-			}
-		}
-
-		/**
-		 * This class is used to sort the CheckboxTableViewer elements.
-		 */
-		public class ValidationViewerSorter extends ViewerSorter {
-			public int compare(Viewer viewer, Object e1, Object e2) {
-				// Can't instantiate ViewerSorter because it's abstract, so use this
-				// inner class to represent it.
-				return super.compare(viewer, e1, e2);
-			}
-		}
-
-		public ValidatorListPage(Composite parent) throws InvocationTargetException {
-			_page = createPage(parent);
-		}
-
-		private void setupTableColumns(Table table) {
-			TableColumn validatorColumn = new TableColumn(table, SWT.NONE);
-			validatorColumn.setText(ValUIMessages.VALIDATOR);
-			validatorColumn.setWidth(245);
-			TableColumn manualColumn = new TableColumn(table, SWT.CENTER);
-			manualColumn.setText(ValUIMessages.MANUAL);
-			manualColumn.pack();
-			TableColumn buildColumn = new TableColumn(table, SWT.CENTER);
-			buildColumn.setText(ValUIMessages.BUILD);
-			buildColumn.pack();
-			TableColumn settingsColumn = new TableColumn(table, SWT.CENTER);
-			settingsColumn.setText(ValUIMessages.SETTINGS);
-			settingsColumn.pack();
-		}
-		
-		private ValidatorMutable[] getDefaultValidators(){
-			Validator[] vals = ValManager.getDefault().getValidators();
-			ValidatorMutable[] vms = new ValidatorMutable[vals.length];
-			for (int i=0; i<vals.length; i++)vms[i] = new ValidatorMutable(vals[i]);
-			return vms;
-		}
-
-		public Composite createPage(Composite parent) throws InvocationTargetException {
-			_globalConfig = new GlobalConfiguration(ConfigurationManager.getManager().getGlobalConfiguration());
-			_validators = getDefaultValidators();
-			
-			Composite validatorGroup = new Composite(parent, SWT.NONE);
-
-			GridLayout validatorGroupLayout = new GridLayout();
-			validatorGroupLayout.numColumns = 2;
-			validatorGroup.setLayout(validatorGroupLayout);
-			GridDataFactory.fillDefaults().grab(true, true).applyTo(validatorGroup);
-			
-			new Label(validatorGroup, SWT.NONE).setLayoutData(new GridData());
-
-			addOverride(validatorGroup);
-			addSuspend(validatorGroup);
-			addAutoSave(validatorGroup);
-			addConfirm(validatorGroup);
-
-			_listLabel = new Label(validatorGroup, SWT.NONE);
-			GridData listLabelData = new GridData(GridData.FILL_HORIZONTAL);
-			listLabelData.horizontalSpan = 2;
-			_listLabel.setLayoutData(listLabelData);
-			_listLabel.setText(ValUIMessages.PREF_VALLIST_TITLE);
-			
-			_validatorsTable = new Table(validatorGroup, SWT.SINGLE | SWT.BORDER | SWT.FULL_SELECTION);
-			Point preferredSize = _validatorsTable.computeSize(SWT.DEFAULT, SWT.DEFAULT);
-			GridDataFactory.fillDefaults().grab(true, true).hint(preferredSize)
-				.span(2,1).applyTo(_validatorsTable);
-						
-
-			_validatorsTable.setHeaderVisible(true);
-			_validatorsTable.setLinesVisible(true);
-
-			_validatorList = new TableViewer(_validatorsTable);			
-//			_validatorsTable.setLayoutData(validatorListData);
-//			_validatorList.getTable().setLayoutData(validatorListData);
-			_validatorList.setLabelProvider(new ValidationLabelProvider());
-			_validatorList.setContentProvider(new ValidationContentProvider());
-			_validatorList.setSorter(new ValidationViewerSorter());
-			setupTableColumns(_validatorsTable);
-
-			_validatorList.setInput(_validators);
-			_validatorsTable.addMouseListener(new MouseAdapter() {
-
-				public void mouseDown(MouseEvent e) {
-					if (e.button != 1)return;
-
-					TableItem tableItem = _validatorsTable.getItem(new Point(e.x, e.y));
-					if (tableItem == null || tableItem.isDisposed())return;
-					int columnNumber;
-					int columnsCount = _validatorsTable.getColumnCount();
-					if (columnsCount == 0) {
-						// If no TableColumn, Table acts as if it has a single
-						// column which takes the whole width.
-						columnNumber = 0;
-					} else {
-						columnNumber = -1;
-						for (int i = 0; i < columnsCount; i++) {
-							Rectangle bounds = tableItem.getBounds(i);
-							if (bounds.contains(e.x, e.y)) {
-								columnNumber = i;
-								break;
-							}
-						}
-						if (columnNumber == -1)return;
-					}
-
-					columnClicked(columnNumber);
-				}
-			});
-
-			_validatorsTable.setMenu(createContextMenu());
-			_validatorsTable.addFocusListener(new FocusAdapter() {
-
-				public void focusGained(FocusEvent e) {
-					super.focusGained(e);
-					if (_validatorsTable.getSelectionCount() == 0) {
-						_validatorsTable.select(0);
-					}
-				}
-			});
-
-			addEnableDisable(validatorGroup);
-
-			updateWidgets();
-
-			applyDialogFont(validatorGroup);
-			validatorGroup.setSize(validatorGroup.computeSize(SWT.DEFAULT, SWT.DEFAULT));
-			return validatorGroup;
-		}
-
-		private void addEnableDisable(Composite validatorGroup) {
-			_enableAllButton = new Button(validatorGroup, SWT.PUSH);
-			_enableAllButton.setLayoutData(new GridData());
-			_enableAllButton.setText(ValUIMessages.PREF_BUTTON_ENABLEALL);
-			_enableAllButton.addSelectionListener(new SelectionAdapter() {
-				public void widgetSelected(SelectionEvent e) {
-					try {
-						performEnableAll();
-					} catch (InvocationTargetException exc) {
-						displayAndLogError(ValUIMessages.VBF_EXC_INTERNAL_TITLE,
-							ValUIMessages.VBF_EXC_INTERNAL_PAGE, exc);
-					}
-				}
-			});
-
-			_disableAllButton = new Button(validatorGroup, SWT.PUSH);
-			_disableAllButton.setLayoutData(new GridData());
-			_disableAllButton.setText(ValUIMessages.PREF_BUTTON_DISABLEALL);
-			_disableAllButton.addSelectionListener(new SelectionAdapter() {
-				public void widgetSelected(SelectionEvent e) {
-					try {
-						performDisableAll();
-					} catch (InvocationTargetException exc) {
-						displayAndLogError(ValUIMessages.VBF_EXC_INTERNAL_TITLE,
-							ValUIMessages.VBF_EXC_INTERNAL_PAGE, exc);
-					}
-				}
-			});
-		}
-		
-		private void addConfirm(Composite validatorGroup) {
-			GridData gd;
-			gd = new GridData(GridData.FILL_HORIZONTAL);
-			gd.horizontalSpan = 2;
-			_confirmButton = new Button(validatorGroup, SWT.CHECK);
-			_confirmButton.setLayoutData(gd);
-			_confirmButton.setText(ValUIMessages.PrefPageConfirmDialog);
-			_confirmButton.setSelection(_globalPreferences.confirmDialog);
-			_confirmButton.addSelectionListener(new SelectionAdapter() {
-				public void widgetSelected(SelectionEvent e) {
-					// do not increment the _changeCount as this by itself should not trigger a build prompt
-					_globalPreferences.confirmDialog = _confirmButton.getSelection();
-					_confirmButton.setFocus();
-				}
-			});
-		}
-
-		private void addAutoSave(Composite validatorGroup) {
-			GridData gd;
-			gd = new GridData(GridData.FILL_HORIZONTAL);
-			gd.horizontalSpan = 2;
-			_autoSave = new Button(validatorGroup, SWT.CHECK);
-			_autoSave.setLayoutData(gd);
-			_autoSave.setText(ValUIMessages.PrefPage_always_save);
-			_autoSave.setSelection(_globalPreferences.saveAutomatically);
-			_autoSave.addSelectionListener(new SelectionAdapter() {
-				public void widgetSelected(SelectionEvent e) {
-					// do not increment the _changeCount as this by itself should not trigger a build prompt
-					_globalPreferences.saveAutomatically = _autoSave.getSelection();
-					_autoSave.setFocus();
-				}
-			});
-		}
-
-		private void addSuspend(Composite validatorGroup) {
-			GridData gd;
-			gd = new GridData(GridData.FILL_HORIZONTAL);
-			gd.horizontalSpan = 2;
-			
-			_suspend = new Button(validatorGroup, SWT.CHECK);
-			_suspend.setLayoutData(gd);
-			_suspend.setText(ValUIMessages.DISABLE_VALIDATION);
-			_suspend.setSelection(_globalPreferences.disableAllValidation);
-			_suspend.addSelectionListener(new SelectionAdapter() {
-				public void widgetSelected(SelectionEvent e) {
-					_suspend.setFocus();
-					_validatorsTable.setEnabled(!_suspend.getSelection());
-					_enableAllButton.setEnabled(!_suspend.getSelection());
-					_disableAllButton.setEnabled(!_suspend.getSelection());
-					_validatorList.refresh();
-				}
-			});
-		}
-
-		private void addOverride(Composite validatorGroup) {
-			GridData gd = new GridData(GridData.FILL_HORIZONTAL);
-			gd.horizontalSpan = 2;
-			
-			_override = new Button(validatorGroup, SWT.CHECK);
-			_override.setLayoutData(gd);
-			_override.setText(ValUIMessages.PREF_BUTTON_OVERRIDE);
-			_override.setEnabled(true);
-			_override.setSelection(_globalPreferences.override);
-			_override.addSelectionListener(new SelectionAdapter() {
-				public void widgetSelected(SelectionEvent e) {
-					_globalPreferences.override = _override.getSelection();
-					_override.setFocus();
-					
-				}
-			});
-		}
-
-		protected Menu createContextMenu() {
-			final Menu menu = new Menu(_validatorsTable.getShell(), SWT.POP_UP);
-			final MenuItem manualItem = new MenuItem(menu, SWT.CHECK);
-			manualItem.setText(ValUIMessages.PREF_MNU_MANUAL);
-			final MenuItem buildItem = new MenuItem(menu, SWT.CHECK);
-			buildItem.setText(ValUIMessages.PREF_MNU_BUILD);
-			final MenuItem settingsItem = new MenuItem(menu, SWT.PUSH);
-			settingsItem.setText(ValUIMessages.PREF_MNU_SETTINGS);
-
-			class MenuItemListener extends SelectionAdapter {
-				public void widgetSelected(SelectionEvent e) {
-					MenuItem menuItem = (MenuItem) e.getSource();
-					int index = menu.indexOf(menuItem) + 1;
-					columnClicked(index);
-				}
-			}
-			MenuItemListener listener = new MenuItemListener();
-			manualItem.addSelectionListener(listener);
-			buildItem.addSelectionListener(listener);
-			settingsItem.addSelectionListener(listener);
-
-			menu.addMenuListener(new MenuAdapter() {
-				public void menuShown(MenuEvent e) {
-					IStructuredSelection selection = (IStructuredSelection) _validatorList.getSelection();
-					ValidatorMutable vw = (ValidatorMutable) selection.getFirstElement();
-					manualItem.setSelection(vw.isManualValidation());
-					buildItem.setSelection(vw.isBuildValidation());
-					settingsItem.setEnabled(hasSettings(vw));
-				}
-			});
-
-			return menu;
-		}
-
-		protected void columnClicked(int columnToEdit) {
-			IStructuredSelection selection = (IStructuredSelection) _validatorList.getSelection();
-			ValidatorMutable val = (ValidatorMutable) selection.getFirstElement();
-
-			switch (columnToEdit) {
-			case 1:
-				_changeCount++;
-				val.setManualValidation(!val.isManualValidation());
-				break;
-			case 2:
-				_changeCount++;
-				val.setBuildValidation(!val.isBuildValidation());
-				break;
-			case 3:
-				if (val.isV2Validator()){
-					ValidatorMutable newVal = new ValidatorMutable(val);
-					FilterDialog fd = new FilterDialog(_shell, newVal, null);
-					if (Window.OK == fd.open()){
-						_changeCount++;
-						newVal = fd.getValidator();
-						int i = findit(val);
-						if (i != -1)_validators[i] = newVal;
-					}
-				}
-				else {
-					handleOldDelegate(val);
-				}
-
-				break;
-			default:
-				break;
-			}
-			_validatorList.refresh();
-		}
-
-		private int findit(ValidatorMutable val) {
-			for (int i=0; i<_validators.length; i++)if (_validators[i] == val)return i;
-			return -1;
-		}
-
-		private void handleOldDelegate(ValidatorMutable val) {
-			if (!val.isV1Validator())return;
-			
-			ValidatorMetaData vmd = val.getVmd();
-		    if (!vmd.isDelegating())return;
-		    
-		    String delegateID = _globalConfig.getDelegateUniqueName(vmd);
-		    Shell shell = Display.getCurrent().getActiveShell();
-		    DelegatingValidatorPreferencesDialog dialog = 
-		    	new DelegatingValidatorPreferencesDialog(shell, vmd, delegateID);
-		
-		    dialog.setBlockOnOpen(true);
-		    dialog.create();
-		
-		    int result = dialog.open();
-	        if (result == Window.OK){
-	        	_changeCount++;
-	        	_globalConfig.setDelegateUniqueName(vmd, dialog.getDelegateID());
-	        }
-		}
-		
-		/**
-		 * Does this validator have extra settings that can be configured?
-		 * @param v
-		 * @return true if it does
-		 */
-		boolean hasSettings(ValidatorMutable v){
-			if (v.isV2Validator())return true;
-			if (v.getDelegatingId() != null)return true;
-			return false;
-		}
-
-		protected void updateWidgets() throws InvocationTargetException {
-			// Need to update even the widgets that do not change based on another
-			// widgets because of performDefaults(). If performDefaults() is
-			// selected, then the pagePreferences values are reset, and these widgets
-			// might also need to be updated.
-			updateAllWidgets();
-			updateHelp();
-		}
-
-		private void updateAllWidgets() throws InvocationTargetException {
-			_suspend.setSelection(_globalPreferences.disableAllValidation);
-			_autoSave.setSelection(_globalPreferences.saveAutomatically);
-			_confirmButton.setSelection(_globalPreferences.confirmDialog);
-			_override.setSelection(_globalPreferences.override);
-			_validatorsTable.setEnabled(!_suspend.getSelection());
-			_enableAllButton.setEnabled(!_suspend.getSelection());
-			_disableAllButton.setEnabled(!_suspend.getSelection());
-			_validatorList.setInput(_validators);
-			_validatorList.refresh();
-		}
-
-		public boolean performOk() throws InvocationTargetException {
-			_globalPreferences.disableAllValidation = _suspend.getSelection();
-			_globalPreferences.saveAutomatically = _autoSave.getSelection();
-			ValManager vm = ValManager.getDefault();
-			int changes = vm.replace(_globalPreferences);
-			if ((changes & GlobalPreferences.BuildChangeMask) != 0)_changeCount++;
-			
-			ValPrefManagerGlobal vpm = ValPrefManagerGlobal.getDefault();
-			vpm.savePreferences(vm.getGlobalPreferences(), _validators, null);
-			saveV1Preferences();
-			
-			if (_changeCount > 0 && 
-				MessageDialog.openQuestion(_shell, ValUIMessages.RebuildTitle, ValUIMessages.RebuildMsg)){
-				
-				FullBuildJob fbj = new FullBuildJob();
-				fbj.schedule();
-			}
-			return true;
-		}
-		
-		/**
-		 * Save the V1 preferences, so that the old validators continue to work.
-		 */
-		private void saveV1Preferences(){
-			try {
-				GlobalConfiguration gc = ConfigurationManager.getManager().getGlobalConfiguration();
-				gc.setDisableAllValidation(_globalPreferences.disableAllValidation);
-				gc.setEnabledManualValidators(getEnabledManualValidators());				
-				gc.setEnabledBuildValidators(getEnabledBuildValidators());
-	
-				gc.passivate();
-				gc.store();
-			}
-			catch (InvocationTargetException e){
-				ValidationUIPlugin.getPlugin().handleException(e);
-			}			
-		}
-
-		/**
-		 * Answer all the V1 validators that are manually enabled.
-		 * @return
-		 */
-		private ValidatorMetaData[] getEnabledManualValidators() {
-			List<ValidatorMetaData> list = new LinkedList<ValidatorMetaData>();
-			for (ValidatorMutable v : _validators){
-				if (v.isManualValidation() && v.isV1Validator())list.add(v.getVmd());
-			}
-			ValidatorMetaData[] result = new ValidatorMetaData[list.size()];
-			list.toArray(result);
-			return result;
-		}
-
-		/**
-		 * Answer all the V1 validators that are enabled for build.
-		 * @return
-		 */
-		private ValidatorMetaData[] getEnabledBuildValidators() {
-			List<ValidatorMetaData> list = new LinkedList<ValidatorMetaData>();
-			for (ValidatorMutable v : _validators){
-				if (v.isBuildValidation() && v.isV1Validator())list.add(v.getVmd());
-			}
-			ValidatorMetaData[] result = new ValidatorMetaData[list.size()];
-			list.toArray(result);
-			return result;
-		}
-
-		public boolean performDefaults() throws InvocationTargetException {
-			_changeCount++;
-			Validator[] vals = ValManager.getDefaultValidators();
-			_validators = new ValidatorMutable[vals.length];
-			for (int i=0; i<vals.length; i++)_validators[i] = new ValidatorMutable(vals[i]);
-			updateWidgets();
-			getDefaultsButton().setFocus();
-			return true;
-		}
-
-		public boolean performEnableAll() throws InvocationTargetException {
-			setAllValidators(true);
-			_enableAllButton.setFocus();
-			_validatorList.refresh();
-			return true;
-		}
-
-		public boolean performDisableAll() throws InvocationTargetException {
-			setAllValidators(false);
-			_disableAllButton.setFocus();
-			_validatorList.refresh();
-			return true;
-		}
-		
-		private void setAllValidators(boolean bool){
-			_changeCount++;
-			for (ValidatorMutable v : _validators){
-				v.setBuildValidation(bool);
-				v.setManualValidation(bool);
-			}
-		}
-
-		protected void updateHelp() {
-//			PlatformUI.getWorkbench().getHelpSystem().setHelp(_suspend, ContextIds.VALIDATION_PREFERENCE_PAGE_DISABLE_ALL_ENABLED);
-		}
-
-		/*
-		 * Store the current values of the controls into the preference store.
-		 */
-
-		public Composite getControl() {
-			return _page;
-		}
-
-		public void dispose() {
-			_autoSave.dispose();
-			_suspend.dispose();
-			_disableAllButton.dispose();
-			_enableAllButton.dispose();
-			_listLabel.dispose();
-			_suspend.dispose();
-			_validatorList.getTable().dispose();
-		}
-
-		public void loseFocus() {
-		}
-
-		public void gainFocus() {
-		}
-	}
-
-	/*
-	 * @see PreferencePage#createContents(Composite)
-	 */
-	protected Control createContents(Composite parent) {
-		PlatformUI.getWorkbench().getHelpSystem().setHelp(parent, HelpContextIds.PreferencePage);
-		try {
-			_shell = parent.getShell();
-			_pageImpl = new ValidatorListPage(parent);
-		} catch (Exception exc) {
-			_pageImpl = new InvalidPage(parent);
-			displayAndLogError(ValUIMessages.VBF_EXC_INTERNAL_TITLE, ValUIMessages.VBF_EXC_INTERNAL_PAGE, exc);
-		}
-
-		return _pageImpl.getControl();
-	}
-
-	public void init(IWorkbench workbench) {
-	}
-
-	/**
-	 * Performs special processing when this page's Defaults button has been
-	 * pressed.
-	 * <p>
-	 * This is a framework hook method for subclasses to do special things when
-	 * the Defaults button has been pressed. Subclasses may override, but should
-	 * call <code>super.performDefaults</code>.
-	 * </p>
-	 */
-	protected void performDefaults() {
-		super.performDefaults();
-
-		try {
-			_pageImpl.performDefaults();
-		} catch (Exception exc) {
-			displayAndLogError(ValUIMessages.VBF_EXC_INTERNAL_TITLE, ValUIMessages.VBF_EXC_INTERNAL_PAGE, exc);
-		}
-	}
-
-	/**
-	 * When the user presses the "OK" or "Apply" button on the Properties
-	 * Guide/Properties Page, respectively, some processing is performed by this
-	 * PropertyPage. If the page is found, and completes successfully, true is
-	 * returned. Otherwise, false is returned, and the guide doesn't finish.
-	 */
-	public boolean performOk() {
-		try {
-			return _pageImpl.performOk();
-		} 
-		catch (Exception exc) {
-			displayAndLogError(ValUIMessages.VBF_EXC_INTERNAL_TITLE, ValUIMessages.VBF_EXC_INTERNAL_PAGE, exc);
-			return false;
-		}
-	}
-
-	/**
-	 * Since the pages are inner classes of a child PreferencePage, not a
-	 * PreferencePage itself, DialogPage's automatic disposal of its children's
-	 * widgets cannot be used. Instead, dispose of each inner class' widgets
-	 * explicitly.
-	 */
-	public void dispose() {
-		super.dispose();
-		try {
-			if (_pageImpl != null) {
-				_pageImpl.dispose();
-				_pageImpl = null;
-			}
-
-			// TODO figure out what this thing did
-			// ExtensionManger.instance().getDelegate().disposePreferencePage();
-		} catch (Exception exc) {
-			displayAndLogError(ValUIMessages.VBF_EXC_INTERNAL_TITLE, ValUIMessages.VBF_EXC_INTERNAL_PAGE, exc);
-		}
-	}
-
-	private void logError(Throwable exc) {
-		ValidationUIPlugin.getPlugin().handleException(exc);
-	}
-
-	/*
-	 * package visibility because if this method is private, then the compiler
-	 * needs to create a synthetic accessor method for the internal classes, and
-	 * that can have performance implications.
-	 */
-	void displayAndLogError(String title, String message, Throwable exc) {
-		logError(exc);
-		displayMessage(title, message, org.eclipse.swt.SWT.ICON_ERROR);
-	}
-
-	private void displayMessage(String title, String message, int iIconType) {
-		MessageBox messageBox = new MessageBox(getShell(),
-				org.eclipse.swt.SWT.OK | iIconType	| org.eclipse.swt.SWT.APPLICATION_MODAL);
-		messageBox.setMessage(message);
-		messageBox.setText(title);
-		messageBox.open();
-	}
-
-	/**
-	 * @see org.eclipse.jface.dialogs.IDialogPage#setVisible(boolean)
-	 */
-	public void setVisible(boolean visible) {
-		super.setVisible(visible);
-
-		if (_pageImpl == null)return;
-		if (visible)_pageImpl.gainFocus();
-		else _pageImpl.loseFocus();
-	}
-
-	protected Button getDefaultsButton() {
-		return super.getDefaultsButton();
-	}
-}
diff --git a/plugins/org.eclipse.wst.validation.ui/vf2/org/eclipse/wst/validation/ui/internal/preferences/ValidationPropertyPage.java b/plugins/org.eclipse.wst.validation.ui/vf2/org/eclipse/wst/validation/ui/internal/preferences/ValidationPropertyPage.java
deleted file mode 100644
index 53c574a..0000000
--- a/plugins/org.eclipse.wst.validation.ui/vf2/org/eclipse/wst/validation/ui/internal/preferences/ValidationPropertyPage.java
+++ /dev/null
@@ -1,879 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2009 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.validation.ui.internal.preferences;
-
-import java.lang.reflect.InvocationTargetException;
-import org.eclipse.core.resources.ICommand;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IProjectDescription;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.layout.GridDataFactory;
-import org.eclipse.jface.viewers.IStructuredContentProvider;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.ITableLabelProvider;
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.jface.viewers.TableViewer;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.jface.viewers.ViewerSorter;
-import org.eclipse.jface.window.Window;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.ScrolledComposite;
-import org.eclipse.swt.events.FocusAdapter;
-import org.eclipse.swt.events.FocusEvent;
-import org.eclipse.swt.events.MenuAdapter;
-import org.eclipse.swt.events.MenuEvent;
-import org.eclipse.swt.events.MouseAdapter;
-import org.eclipse.swt.events.MouseEvent;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.graphics.Rectangle;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.layout.RowLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Link;
-import org.eclipse.swt.widgets.Menu;
-import org.eclipse.swt.widgets.MenuItem;
-import org.eclipse.swt.widgets.MessageBox;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Table;
-import org.eclipse.swt.widgets.TableColumn;
-import org.eclipse.swt.widgets.TableItem;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.dialogs.PreferencesUtil;
-import org.eclipse.ui.dialogs.PropertyPage;
-import org.eclipse.wst.validation.Validator;
-import org.eclipse.wst.validation.internal.ConfigurationManager;
-import org.eclipse.wst.validation.internal.GlobalConfiguration;
-import org.eclipse.wst.validation.internal.ProjectConfiguration;
-import org.eclipse.wst.validation.internal.ValManager;
-import org.eclipse.wst.validation.internal.ValPrefManagerProject;
-import org.eclipse.wst.validation.internal.ValidatorMetaData;
-import org.eclipse.wst.validation.internal.ValidatorMutable;
-import org.eclipse.wst.validation.internal.ValManager.UseProjectPreferences;
-import org.eclipse.wst.validation.internal.model.ProjectPreferences;
-import org.eclipse.wst.validation.internal.operations.ValidatorManager;
-import org.eclipse.wst.validation.internal.plugin.ValidationPlugin;
-import org.eclipse.wst.validation.internal.ui.DelegatingValidatorPreferencesDialog;
-import org.eclipse.wst.validation.internal.ui.plugin.ValidationUIPlugin;
-import org.eclipse.wst.validation.ui.internal.HelpContextIds;
-import org.eclipse.wst.validation.ui.internal.ImageNames;
-import org.eclipse.wst.validation.ui.internal.ValUIMessages;
-import org.eclipse.wst.validation.ui.internal.dialog.FilterDialog;
-
-/**
- * From this page the user can configure individual validators on individual projects.
- * 
- * @author karasiuk
- */
-public class ValidationPropertyPage extends PropertyPage  {
-
-	private IValidationPage _pageImpl;
-	private Shell 			_shell;
-
-	public interface IValidationPage {
-		
-		Composite createPage(Composite parent) throws InvocationTargetException;
-		boolean performOk() throws InvocationTargetException;
-		boolean performDefaults() throws InvocationTargetException;
-		Composite getControl();
-		void dispose();
-		void loseFocus();
-		void gainFocus();
-	}
-
-	public class InvalidPage implements IValidationPage {
-		
-		private Composite page = null;
-		private Composite composite = null;
-		private GridLayout layout = null;
-		private Label messageLabel = null;
-
-		public InvalidPage(Composite parent) {
-			page = createPage(parent);
-		}
-
-		/**
-		 * This page is added to the Properties guide if some internal problem
-		 * occurred; for example, the highlighted item in the workbench is not
-		 * an IProject (according to this page's plugin.xml, this page is only
-		 * valid when an IProject is selected).
-		 */
-		public Composite createPage(Composite parent) {
-			noDefaultAndApplyButton();
-
-			final ScrolledComposite sc1 = new ScrolledComposite(parent, SWT.H_SCROLL | SWT.V_SCROLL);
-			sc1.setLayoutData(new GridData(GridData.FILL_BOTH));
-			composite = new Composite(sc1, SWT.NONE);
-			sc1.setContent(composite);
-			layout = new GridLayout();
-			composite.setLayout(layout);
-
-			messageLabel = new Label(composite, SWT.NONE);
-			messageLabel.setText(ValUIMessages.VBF_EXC_INVALID_REGISTER);
-
-			composite.setSize(composite.computeSize(SWT.DEFAULT, SWT.DEFAULT));
-
-			return composite;
-		}
-
-		public boolean performDefaults() {
-			return true;
-		}
-
-		/**
-		 * Since this page occurs under invalid circumstances, there is nothing
-		 * to save.
-		 */
-		public boolean performOk() {
-			return true;
-		}
-
-		public Composite getControl() {
-			return page;
-		}
-
-		public void dispose() {
-			messageLabel.dispose();
-			// layout.dispose();
-			composite.dispose();
-		}
-
-		public void loseFocus() {
-		}
-
-		public void gainFocus() {
-		}
-	}
-
-	private final class ValidatorListPage implements IValidationPage {
-		private Composite 		_page;
-
-		private TableViewer 	_validatorList;
-		private Button 			_enableAllButton;
-		private Button 			_disableAllButton;
-		private Button 			_override;
-		private Button 			_suspend;
-		private Link			_configLink;
-		private Button			_addValidationBuilder;
-		private Table 			_validatorsTable;
-		private ValidatorMutable[]		_validators;
-		
-		/** Number of things that may have changed. */
-		private int				_changes;
-
-		/**
-		 * This class is provided for the CheckboxTableViewer in the
-		 * ValidationPropertiesPage$ValidatorListPage class.
-		 */
-		public class ValidationContentProvider implements IStructuredContentProvider {
-			public void dispose() {
-			}
-
-			public Object[] getElements(Object inputElement) {
-				if (inputElement instanceof ValidatorMutable[]) {
-					return (ValidatorMutable[]) inputElement;
-				}
-				return new Object[0];
-			}
-
-			public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
-			}
-		}
-
-		/**
-		 * This class is provided for
-		 * ValidationPropertiesPage$ValidatorListPage's checkboxTableViewer
-		 * element.
-		 */
-		public class ValidationLabelProvider extends LabelProvider implements ITableLabelProvider {
-			public String getText(Object element) {
-				if (element == null)return ""; //$NON-NLS-1$
-				else if (element instanceof Validator)
-					return ((ValidatorMutable) element).getName();
-				else
-					return super.getText(element);
-			}
-
-			private Image getImage(String imageName) {
-				boolean isDisabled = !_validatorsTable.isEnabled();
-				if (isDisabled)
-					imageName = imageName + ImageNames.disabled;
-
-				return ValidationUIPlugin.getPlugin().getImage(imageName);
-			}
-
-			public Image getColumnImage(Object element, int columnIndex) {
-				ValidatorMutable v = (ValidatorMutable) element;
-				if (columnIndex == 1) {
-					return getImage(v.isManualValidation() ? ImageNames.okTable
-							: ImageNames.failTable);
-				} else if (columnIndex == 2) {
-					return getImage(v.isBuildValidation() ? ImageNames.okTable
-							: ImageNames.failTable);
-				} else if (columnIndex == 3) {
-					if (hasSettings(v))return getImage(ImageNames.settings);
-					return  null;
-				}
-				return null;
-			}
-
-			public String getColumnText(Object element, int columnIndex) {
-				if (columnIndex == 0)return ((ValidatorMutable) element).getName();
-				return null;
-			}
-		}
-
-		public ValidatorListPage(Composite parent) throws InvocationTargetException {
-			_page = createPage(parent);
-		}
-
-		private void setupTableColumns(Table table) {
-			TableColumn validatorColumn = new TableColumn(table, SWT.NONE);
-			validatorColumn.setText(ValUIMessages.VALIDATOR);
-			validatorColumn.setWidth(245);
-			TableColumn manualColumn = new TableColumn(table, SWT.CENTER);
-			manualColumn.setText(ValUIMessages.MANUAL);
-			manualColumn.pack();
-			TableColumn buildColumn = new TableColumn(table, SWT.CENTER);
-			buildColumn.setText(ValUIMessages.BUILD);
-			buildColumn.pack();
-			TableColumn settingsColumn = new TableColumn(table, SWT.CENTER);
-			settingsColumn.setText(ValUIMessages.SETTINGS);
-			settingsColumn.pack();
-		}
-
-		public Composite createPage(Composite parent) throws InvocationTargetException {
-			Validator[] vals = ValManager.getDefault()
-				.getValidatorsConfiguredForProject(getProject(), UseProjectPreferences.MustUse);
-			_validators = new ValidatorMutable[vals.length];
-			for (int i=0; i<vals.length; i++)_validators[i] = new ValidatorMutable(vals[i]);
-
-			Composite validatorGroup = new Composite(parent, SWT.NONE);
-
-			GridLayout validatorGroupLayout = new GridLayout();
-			validatorGroupLayout.numColumns = 2;
-			validatorGroup.setLayout(validatorGroupLayout);
-			GridDataFactory.fillDefaults().grab(true, true).applyTo(validatorGroup);
-
-			addOverride(validatorGroup);
-			addConfigLink(validatorGroup);
-			//
-			addLine(validatorGroup);
-			addSuspend(validatorGroup);
-			addValidationBuilder(validatorGroup);
-			new Label(validatorGroup, SWT.NONE).setLayoutData(new GridData());
-
-			Label listLabel = new Label(validatorGroup, SWT.NONE);
-			GridData listLabelData = new GridData(GridData.FILL_HORIZONTAL);
-			listLabelData.horizontalSpan = 2;
-			listLabel.setLayoutData(listLabelData);
-			listLabel.setText(ValUIMessages.PREF_VALLIST_TITLE);
-			
-			_validatorsTable = new Table(validatorGroup, SWT.BORDER | SWT.FULL_SELECTION);
-			Point preferredSize = _validatorsTable.computeSize(SWT.DEFAULT, SWT.DEFAULT);
-			GridDataFactory.fillDefaults().grab(true, true).hint(preferredSize)
-				.span(2,1).applyTo(_validatorsTable);
-
-			_validatorsTable.setHeaderVisible(true);
-			_validatorsTable.setLinesVisible(true);
-
-			_validatorList = new TableViewer(_validatorsTable);
-			_validatorList.setLabelProvider(new ValidationLabelProvider());
-			_validatorList.setContentProvider(new ValidationContentProvider());
-			_validatorList.setSorter(new ViewerSorter());
-			setupTableColumns(_validatorsTable);
-
-			_validatorList.setInput(_validators);
-			_validatorsTable.addMouseListener(new MouseAdapter() {
-
-				public void mouseDown(MouseEvent e) {
-					if (e.button != 1)return;
-
-					TableItem tableItem = _validatorsTable.getItem(new Point(e.x, e.y));
-					if (tableItem == null || tableItem.isDisposed()) {
-						// item no longer exists
-						return;
-					}
-					int columnNumber;
-					int columnsCount = _validatorsTable.getColumnCount();
-					if (columnsCount == 0) {
-						// If no TableColumn, Table acts as if it has a single column
-						// which takes the whole width.
-						columnNumber = 0;
-					} else {
-						columnNumber = -1;
-						for (int i = 0; i < columnsCount; i++) {
-							Rectangle bounds = tableItem.getBounds(i);
-							if (bounds.contains(e.x, e.y)) {
-								columnNumber = i;
-								break;
-							}
-						}
-						if (columnNumber == -1)return;
-					}
-
-					columnClicked(columnNumber);
-				}
-			});
-
-			_validatorsTable.setMenu(createContextMenu());
-			_validatorsTable.addFocusListener(new FocusAdapter() {
-
-				public void focusGained(FocusEvent e) {
-					super.focusGained(e);
-					if (_validatorsTable.getSelectionCount() == 0) {
-						_validatorsTable.select(0);
-					}
-				}
-			});
-			
-			addButtons(validatorGroup);
-
-			updateWidgets();
-
-			applyDialogFont(validatorGroup);
-			validatorGroup.setSize(validatorGroup.computeSize(SWT.DEFAULT, SWT.DEFAULT));
-
-			return validatorGroup;
-		}
-
-		private void addButtons(Composite validatorGroup) {
-			
-			Composite buttons = new Composite(validatorGroup, SWT.NONE);
-			GridData gd = new GridData(GridData.FILL_HORIZONTAL);
-			gd.horizontalSpan = 2;
-			buttons.setLayout(new RowLayout());
-			
-			_enableAllButton = new Button(buttons, SWT.PUSH);
-			_enableAllButton.setText(ValUIMessages.PREF_BUTTON_ENABLEALL);
-			_enableAllButton.addSelectionListener(new SelectionAdapter() {
-				public void widgetSelected(SelectionEvent e) {
-					try {
-						performEnableAll();
-					} catch (InvocationTargetException exc) {
-						displayAndLogError(ValUIMessages.VBF_EXC_INTERNAL_TITLE,ValUIMessages.VBF_EXC_INTERNAL_PAGE, exc);
-					}
-				}
-			});
-
-			_disableAllButton = new Button(buttons, SWT.PUSH);
-			_disableAllButton.setText(ValUIMessages.PREF_BUTTON_DISABLEALL);
-			_disableAllButton.addSelectionListener(new SelectionAdapter() {
-				public void widgetSelected(SelectionEvent e) {
-					try {
-						performDisableAll();
-					} catch (InvocationTargetException exc) {
-						displayAndLogError(ValUIMessages.VBF_EXC_INTERNAL_TITLE, ValUIMessages.VBF_EXC_INTERNAL_PAGE, exc);
-					}
-				}
-			});
-		}
-
-		private void addSuspend(Composite validatorGroup) {
-			GridData gd = new GridData(GridData.FILL_HORIZONTAL);
-			gd.horizontalSpan = 2;
-			_suspend = new Button(validatorGroup, SWT.CHECK);
-			_suspend.setLayoutData(gd);
-			_suspend.setText(ValUIMessages.DISABLE_VALIDATION);
-			_suspend.setSelection(getProjectPreferences().getSuspend());
-			_suspend.addSelectionListener(new SelectionAdapter() {
-				public void widgetSelected(SelectionEvent e) {
-					_suspend.setFocus();
-					_changes++;
-					enableDisableWidgets();
-					_validatorList.refresh();
-				}
-			});
-		}
-		
-		//Add a line separator
-		private void addLine(Composite validatorGroup) {
-			GridData gd = new GridData(GridData.FILL_HORIZONTAL);
-			gd.horizontalSpan = 2;
-			Label line = new Label(validatorGroup,SWT.SEPARATOR | SWT.SHADOW_OUT | SWT.HORIZONTAL);
-			line.setLayoutData(gd);
-			
-			
-		}
-		
-		private void addConfigLink(Composite validatorGroup){
-			_configLink = new Link(validatorGroup,SWT.None);
-			GridData layout = new GridData(GridData.HORIZONTAL_ALIGN_END);
-			_configLink.setLayoutData(layout);
-			_configLink.setText("<A>"+ //$NON-NLS-1$
-				ValUIMessages.ConfigWsSettings+"</A>"); //$NON-NLS-1$
-			_configLink.addSelectionListener(new SelectionListener() {
-				public static final String DATA_NO_LINK = "PropertyAndPreferencePage.nolink"; //$NON-NLS-1$
-
-				public void doLinkActivated(Link e) {
-					String id = getPreferencePageID();
-					PreferencesUtil.createPreferenceDialogOn(getShell(), id, new String[]{id}, DATA_NO_LINK).open();
-					try {
-						updateWidgets();
-					} catch (InvocationTargetException ie) {
-
-					}
-				}
-
-				private String getPreferencePageID() {
-					return "ValidationPreferencePage"; //$NON-NLS-1$
-				}
-
-				public void widgetDefaultSelected(SelectionEvent e) {
-					doLinkActivated((Link) e.widget);					
-				}
-
-				public void widgetSelected(SelectionEvent e) {
-					doLinkActivated((Link) e.widget);					
-				}
-			});
-			
-		}
-		
-		/**
-		 * If the current project doesn't have the validation builder configured on it, 
-		 * and the user has asked us to add a builder, add the builder. 
-		 * Otherwise return without doing anything.
-		 */
-		private void addBuilder() {
-			if (_addValidationBuilder != null && _addValidationBuilder.getSelection())
-				ValidatorManager.addProjectBuildValidationSupport(getProject());
-		}
-
-		
-		private void addValidationBuilder(Composite validatorGroup) {
-			if (hasValidationBuilder())return;
-			
-			GridData gd = new GridData(GridData.FILL_HORIZONTAL);
-			gd.horizontalSpan = 2;
-			_addValidationBuilder = new Button(validatorGroup, SWT.CHECK);
-			_addValidationBuilder.setLayoutData(gd);
-			_addValidationBuilder.setText(ValUIMessages.ADD_VALIDATION_BUILDER);
-			_addValidationBuilder.setSelection(false);
-		}
-				
-		/**
-		 * Does this validator have extra settings that can be configured?
-		 * @param v
-		 * @return true if it does
-		 */
-		boolean hasSettings(ValidatorMutable v){
-			if (v.isV2Validator())return true;
-			if (v.getDelegatingId() != null)return true;
-			return false;
-		}
-
-		/**
-		 * Answer if this project has a validator builder assigned to it.
-		 */
-		private boolean hasValidationBuilder(){
-			try {
-				IProjectDescription description = getProject().getDescription();
-				ICommand[] commands = description.getBuildSpec();
-				for (int i = 0; i < commands.length; i++) {
-					if (commands[i].getBuilderName().equals(ValidationPlugin.VALIDATION_BUILDER_ID))
-						return true;
-				}
-				return false;
-			}
-			catch (CoreException e){
-				ValidationPlugin.getPlugin().handleException(e);
-			}
-			return false;
-		}
-
-
-		private void addOverride(Composite validatorGroup) {
-			GridData gd = new GridData(GridData.FILL_HORIZONTAL);
-//			gd.horizontalSpan = 2;
-			_override = new Button(validatorGroup, SWT.CHECK);
-			_override.setLayoutData(gd);
-			_override.setText(ValUIMessages.LabelEnableProjectSpecific);
-			_override.setSelection(getProjectPreferences().getOverride());
-			_override.addSelectionListener(new SelectionAdapter() {
-				public void widgetSelected(SelectionEvent e) {
-					_override.setFocus();
-					_changes++;
-					ValManager vm = ValManager.getDefault();
-					if (vm.getGlobalPreferences().getOverride()){
-//						IProject project = getProject();
-//						UseProjectPreferences useProject = UseProjectPreferences.Normal;
-//						if (_override.getSelection())useProject = UseProjectPreferences.MustUse;
-//						_validators = copyValidators(vm.getValidatorsConfiguredForProject(project, useProject));
-//						_validatorList.setInput(_validators);
-						enableDisableWidgets();
-						_validatorList.refresh();
-					}
-					else {
-						MessageDialog.openWarning(_shell, ValUIMessages.Validation, 
-							ValUIMessages.ProjectOverridesNotAllowed);						
-					}
-				}
-
-			});
-		}
-
-		protected Menu createContextMenu() {
-			final Menu menu = new Menu(_validatorsTable.getShell(), SWT.POP_UP);
-			final MenuItem manualItem = new MenuItem(menu, SWT.CHECK);
-			manualItem.setText(ValUIMessages.PREF_MNU_MANUAL);
-			final MenuItem buildItem = new MenuItem(menu, SWT.CHECK);
-			buildItem.setText(ValUIMessages.PREF_MNU_BUILD);
-			final MenuItem settingsItem = new MenuItem(menu, SWT.PUSH);
-			settingsItem.setText(ValUIMessages.PREF_MNU_SETTINGS);
-
-			class MenuItemListener extends SelectionAdapter {
-				public void widgetSelected(SelectionEvent e) {
-					MenuItem menuItem = (MenuItem) e.getSource();
-					int index = menu.indexOf(menuItem) + 1;
-					columnClicked(index);
-				}
-			}
-			MenuItemListener listener = new MenuItemListener();
-			manualItem.addSelectionListener(listener);
-			buildItem.addSelectionListener(listener);
-			settingsItem.addSelectionListener(listener);
-
-			menu.addMenuListener(new MenuAdapter() {
-				public void menuShown(MenuEvent e) {
-					IStructuredSelection selection = (IStructuredSelection) _validatorList.getSelection();
-					ValidatorMutable val = (ValidatorMutable) selection.getFirstElement();
-					manualItem.setSelection(val.isManualValidation());
-					buildItem.setSelection(val.isBuildValidation());
-					settingsItem.setEnabled(hasSettings(val));
-				}
-			});
-
-			return menu;
-		}
-
-		protected void columnClicked(int columnToEdit) {
-			IStructuredSelection selection = (IStructuredSelection) _validatorList.getSelection();
-			ValidatorMutable val = (ValidatorMutable) selection.getFirstElement();
-
-			switch (columnToEdit) {
-			case 1:
-				val.setManualValidation(!val.isManualValidation());
-				break;
-			case 2:
-				val.setBuildValidation(!val.isBuildValidation());
-				break;
-			case 3:
-				if (val.isV2Validator()){
-					ValidatorMutable newVal = new ValidatorMutable(val);
-					FilterDialog fd = new FilterDialog(_shell, newVal, getProject());
-					if (Window.OK == fd.open()){
-						_changes++;
-						newVal = fd.getValidator();
-						int i = findit(val);
-						if (i != -1)_validators[i] = newVal;
-					}
-				}
-				else {
-					handleOldDelegate(val);
-				}
-
-				break;
-			default:
-				break;
-			}
-			_validatorList.refresh();
-		}
-
-		private int findit(ValidatorMutable val) {
-			for (int i=0; i<_validators.length; i++)if (_validators[i] == val)return i;
-			return -1;
-		}
-		
-		private void handleOldDelegate(ValidatorMutable val) {
-			try {
-				if (!val.isV1Validator())return;
-				
-				ValidatorMetaData vmd = val.getVmd();
-			    if (!vmd.isDelegating())return;
-			    
-			    GlobalConfiguration gc = ConfigurationManager.getManager().getGlobalConfiguration();
-			    String delegateID = gc.getDelegateUniqueName(vmd);
-			    Shell shell = Display.getCurrent().getActiveShell();
-			    DelegatingValidatorPreferencesDialog dialog = 
-			    	new DelegatingValidatorPreferencesDialog(shell, vmd, delegateID);
-			
-			    dialog.setBlockOnOpen(true);
-			    dialog.create();
-			
-			    int result = dialog.open();
-		        if (result == Window.OK){
-		        	_changes++;
-		        	gc.setDelegateUniqueName(vmd, dialog.getDelegateID());
-		        }
-			}
-			catch (InvocationTargetException e){
-				
-			}
-		}
-
-		protected void updateWidgets() throws InvocationTargetException {
-			// Need to update even the widgets that do not change based on another
-			// widgets because of performDefaults(). If performDefaults() is selected,
-			// then the pagePreferences values are reset, and these widgets
-			// might also need to be updated.
-			updateAllWidgets();
-			updateHelp();
-		}
-
-		protected void updateWidgetsForDefaults() throws InvocationTargetException {
-			_suspend.setSelection(false);
-			_override.setSelection(false);
-			enableDisableWidgets();
-			_validatorList.setInput(_validators);
-			_validatorList.refresh();
-		}
-
-		private void updateAllWidgets() throws InvocationTargetException {
-			_suspend.setSelection(getProjectPreferences().getSuspend());
-			_override.setSelection(getProjectPreferences().getOverride());
-			enableDisableWidgets();
-			_validatorList.setInput(_validators);
-			_validatorList.refresh();
-		}
-
-		public boolean performOk() throws InvocationTargetException {
-			
-			addBuilder();
-			for (ValidatorMutable vm : _validators)if (vm.isChanged())_changes++;
-			if (_changes == 0)return true;
-			// [213631] this warning should only be shown if the user actually tried to override
-			// the validators
-			if (!ValManager.getDefault().getGlobalPreferences().getOverride() && _override.getSelection()){
-				MessageDialog.openWarning(_shell, ValUIMessages.Validation, ValUIMessages.ProjectOverridesNotAllowed);
-				return false;
-			}
-			updateV1ProjectSettings();
-			IProject project = getProject();
-			ProjectPreferences pp = new ProjectPreferences(project, _override.getSelection(), _suspend.getSelection(), null);
-			ValPrefManagerProject vpm = new ValPrefManagerProject(project);
-			vpm.savePreferences(pp, _validators);
-			return true;
-		}
-		
-		/**
-		 * Update the version 1 project settings.
-		 */
-		private void updateV1ProjectSettings() {
-			try {
-				ProjectConfiguration pc = ConfigurationManager.getManager().getProjectConfiguration(getProject());
-				pc.setDoesProjectOverride(_override.getSelection());
-				pc.setDisableAllValidation(_suspend.getSelection());
-			}
-			catch (InvocationTargetException e){
-				ValidationPlugin.getPlugin().handleException(e);
-			}			
-		}
-
-		/**
-		 * Answer the specific project preferences. If the project didn't have any specific project
-		 * preferences, then create a default set.
-		 * @return
-		 */
-		private ProjectPreferences getProjectPreferences(){
-			return ValManager.getDefault().getProjectPreferences(getProject());
-		}
-
-		public boolean performDefaults() throws InvocationTargetException {
-			Validator[] vals = ValManager.getDefault()
-				.getValidatorsConfiguredForProject(getProject(), UseProjectPreferences.MustNotUse);
-			_validators = new ValidatorMutable[vals.length];
-			for (int i=0; i<vals.length; i++)_validators[i] = new ValidatorMutable(vals[i]);
-
-			_changes++;
-			updateWidgetsForDefaults();
-			getDefaultsButton().setFocus();
-			return true;
-		}
-
-		public boolean performEnableAll() throws InvocationTargetException {
-			setAllValidators(true);
-			_enableAllButton.setFocus();
-			_validatorList.refresh();
-			return true;
-		}
-
-		private void setAllValidators(boolean bool) {
-			for (TableItem item : _validatorsTable.getItems()) {
-				ValidatorMutable val = (ValidatorMutable) item.getData();
-				val.setManualValidation(bool);
-				val.setBuildValidation(bool);
-			}
-		}
-
-		public boolean performDisableAll() throws InvocationTargetException {
-			setAllValidators(false);
-			_disableAllButton.setFocus();
-			_validatorList.refresh();
-			return true;
-		}
-
-		protected void updateHelp() {
-//			PlatformUI.getWorkbench().getHelpSystem().setHelp(_suspend, ContextIds.VALIDATION_PREFERENCE_PAGE_DISABLE_ALL_ENABLED);
-		}
-
-		/*
-		 * Store the current values of the controls into the preference store.
-		 */
-
-		public Composite getControl() {
-			return _page;
-		}
-
-		public void dispose() {
-			_override.dispose();
-			_suspend.dispose();
-			_configLink.dispose();
-			_disableAllButton.dispose();
-			_enableAllButton.dispose();
-			_validatorList.getTable().dispose();
-		}
-		
-		/**
-		 * Enable or disable the widgets based on some top level preferences. 
-		 */
-		private void enableDisableWidgets() {
-			boolean globalOverride = ValManager.getDefault().getGlobalPreferences().getOverride();
-			boolean enable = !_suspend.getSelection() & _override.getSelection() & globalOverride;
-			_suspend.setEnabled(_override.getSelection() & globalOverride);
-			_validatorsTable.setEnabled(enable);
-			_enableAllButton.setEnabled(enable);
-			_disableAllButton.setEnabled(enable);
-			_configLink.setEnabled(!globalOverride || !_override.getSelection());
-		}
-
-		public void loseFocus() {
-			// This page does not need to cache anything before it loses focus.
-		}
-
-		public void gainFocus() {
-		}
-	}
-
-	protected Control createContents(Composite parent) {
-		try {
-			PlatformUI.getWorkbench().getHelpSystem().setHelp(parent, HelpContextIds.ProjectPage);
-			_shell = parent.getShell();
-			_pageImpl = new ValidatorListPage(parent);
-		} catch (Exception exc) {
-			_pageImpl = new InvalidPage(parent);
-			displayAndLogError(ValUIMessages.VBF_EXC_INTERNAL_TITLE, ValUIMessages.VBF_EXC_INTERNAL_PAGE, exc);
-		}
-
-		return _pageImpl.getControl();
-	}
-
-	protected void performDefaults() {
-		super.performDefaults();
-
-		try {
-			_pageImpl.performDefaults();
-		} catch (Exception exc) {
-			displayAndLogError(ValUIMessages.VBF_EXC_INTERNAL_TITLE, ValUIMessages.VBF_EXC_INTERNAL_PAGE, exc);
-		}
-	}
-
-	public boolean performOk() {
-		try {
-			return _pageImpl.performOk();
-		} catch (Exception exc) {
-			displayAndLogError(ValUIMessages.VBF_EXC_INTERNAL_TITLE, ValUIMessages.VBF_EXC_INTERNAL_PAGE, exc);
-			return false;
-		}
-	}
-
-	/**
-	 * Since the pages are inner classes of a child PreferencePage, not a
-	 * PreferencePage itself, DialogPage's automatic disposal of its children's
-	 * widgets cannot be used. Instead, dispose of each inner class' widgets
-	 * explicitly.
-	 */
-	public void dispose() {
-		super.dispose();
-		try {
-			if (_pageImpl != null) {
-				_pageImpl.dispose();
-				_pageImpl = null;
-			}
-		} catch (Exception exc) {
-			displayAndLogError(ValUIMessages.VBF_EXC_INTERNAL_TITLE, ValUIMessages.VBF_EXC_INTERNAL_PAGE, exc);
-		}
-	}
-
-	private void logError(Throwable exc) {
-		ValidationUIPlugin.getPlugin().handleException(exc);
-	}
-
-	/*
-	 * package visibility because if this method is private, then the compiler
-	 * needs to create a synthetic accessor method for the internal classes, and
-	 * that can have performance implications.
-	 */
-	void displayAndLogError(String title, String message, Throwable exc) {
-		logError(exc);
-		displayMessage(title, message, org.eclipse.swt.SWT.ICON_ERROR);
-	}
-
-	private void displayMessage(String title, String message, int iIconType) {
-		MessageBox messageBox = new MessageBox(getShell(),
-			org.eclipse.swt.SWT.OK | iIconType | org.eclipse.swt.SWT.APPLICATION_MODAL);
-		messageBox.setMessage(message);
-		messageBox.setText(title);
-		messageBox.open();
-	}
-
-	/**
-	 * @see org.eclipse.jface.dialogs.IDialogPage#setVisible(boolean)
-	 */
-	public void setVisible(boolean visible) {
-		super.setVisible(visible);
-
-		if (_pageImpl == null)return;
-		if (visible)_pageImpl.gainFocus();
-		else _pageImpl.loseFocus();
-	}
-
-	/**
-	 * @see org.eclipse.jface.preference.PreferencePage#getDefaultsButton()
-	 */
-	protected Button getDefaultsButton() {
-		return super.getDefaultsButton();
-	}
-	
-	/**
-	 * Returns the selected project.
-	 */
-	public IProject getProject() {
-		IAdaptable selectedElement = getElement();
-		if (selectedElement == null)return null;
-		if (selectedElement instanceof IProject)return (IProject) selectedElement;
-
-		Object adaptedObject = selectedElement.getAdapter(IProject.class);
-		if (adaptedObject instanceof IProject)return (IProject) adaptedObject;
-		return null;
-
-	}
-}
diff --git a/plugins/org.eclipse.wst.validation/.classpath b/plugins/org.eclipse.wst.validation/.classpath
deleted file mode 100644
index 64ae09a..0000000
--- a/plugins/org.eclipse.wst.validation/.classpath
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="validate"/>
-	<classpathentry kind="src" path="validate_core"/>
-	<classpathentry kind="src" path="property_files"/>
-	<classpathentry kind="src" path="vf2"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins">
-		<accessrules>
-			<accessrule kind="accessible" pattern="org/eclipse/wst/common/**"/>
-		</accessrules>
-	</classpathentry>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/plugins/org.eclipse.wst.validation/.cvsignore b/plugins/org.eclipse.wst.validation/.cvsignore
deleted file mode 100644
index e936909..0000000
--- a/plugins/org.eclipse.wst.validation/.cvsignore
+++ /dev/null
@@ -1,11 +0,0 @@
-bin
-temp.folder
-validate.jar
-build.xml
-common.jar
-validatesrc.zip
-commonsrc.zip
-src.zip
-org.eclipse.wst.validation_1.0.0.zip
-@dot
-javaCompiler...args
diff --git a/plugins/org.eclipse.wst.validation/.options b/plugins/org.eclipse.wst.validation/.options
deleted file mode 100644
index e0cc192..0000000
--- a/plugins/org.eclipse.wst.validation/.options
+++ /dev/null
@@ -1,35 +0,0 @@
-org.eclipse.wst.validation/debug=true
-
-# Set this to true if you wish performance information to be logged
-org.eclipse.wst.validation/timings=false
-
-# set this to true if you want version 1 validator tracing
-org.eclipse.wst.validation/v1=false
-
-# Set this to a file name, if you wish the results to be logged to a file, otherwise
-# they will be written to stderr. When logged to a file the results are in a
-# CSV (comma separated values) form. When logged to stderr they are in a more 
-# human readable form.
-org.eclipse.wst.validation/timings/tracefile=
-
-# By default times that are written to the trace file are in milliseconds for elapsed
-# time and nanoseconds for cpu time. If you find these times easier to read as seconds
-# as expressed by a double, the following flag can be turned on.
-org.eclipse.wst.validation/timings/useDoubles=false
-
-# If extra detail is needed for a particular validator it's id can be specified here.
-# For example, if you wanted more detail on the XML validator you would use
-# org.eclipse.wst.xml.core.xml 
-org.eclipse.wst.validation/extraValDetail=
-
-# To make debugging easier, you can make it appear is if only one validator has been 
-# registered via the extension points. You do this by setting the following filter
-# to validator id of the one validator that you want registered.
-#
-# As an example, you could use this plug-in id for a v1 validator: org.eclipse.jst.j2ee.ejb.EJBValidator
-# and org.eclipse.wst.html.ui.HTMLValidator for a v2 validator
-org.eclipse.wst.validation/filter/allExcept=
-
-# The tracing level. If not supplied a default of zero is used. The higher the number the
-# more verbose the tracing.
-org.eclipse.wst.validation/trace/level=
diff --git a/plugins/org.eclipse.wst.validation/.project b/plugins/org.eclipse.wst.validation/.project
deleted file mode 100644
index 846dae7..0000000
--- a/plugins/org.eclipse.wst.validation/.project
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.wst.validation</name>
-	<comment></comment>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-		<nature>org.eclipse.pde.PluginNature</nature>
-	</natures>
-</projectDescription>
diff --git a/plugins/org.eclipse.wst.validation/.settings/org.eclipse.jdt.core.prefs b/plugins/org.eclipse.wst.validation/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 58507dd..0000000
--- a/plugins/org.eclipse.wst.validation/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,78 +0,0 @@
-#Fri Apr 11 07:15:44 EDT 2008
-eclipse.preferences.version=1
-org.eclipse.jdt.core.codeComplete.argumentPrefixes=
-org.eclipse.jdt.core.codeComplete.argumentSuffixes=
-org.eclipse.jdt.core.codeComplete.fieldPrefixes=_
-org.eclipse.jdt.core.codeComplete.fieldSuffixes=
-org.eclipse.jdt.core.codeComplete.localPrefixes=
-org.eclipse.jdt.core.codeComplete.localSuffixes=
-org.eclipse.jdt.core.codeComplete.staticFieldPrefixes=_
-org.eclipse.jdt.core.codeComplete.staticFieldSuffixes=
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.5
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.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.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.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=warning
-org.eclipse.jdt.core.compiler.problem.nullReference=ignore
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
-org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=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=ignore
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-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=warning
-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.validation/.settings/org.eclipse.jdt.ui.prefs b/plugins/org.eclipse.wst.validation/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index 76ddc11..0000000
--- a/plugins/org.eclipse.wst.validation/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,7 +0,0 @@
-#Mon Jun 11 14:58:22 EDT 2007
-eclipse.preferences.version=1
-org.eclipse.jdt.ui.exception.name=e
-org.eclipse.jdt.ui.gettersetter.use.is=true
-org.eclipse.jdt.ui.javadoc=false
-org.eclipse.jdt.ui.keywordthis=false
-org.eclipse.jdt.ui.overrideannotation=true
diff --git a/plugins/org.eclipse.wst.validation/META-INF/MANIFEST.MF b/plugins/org.eclipse.wst.validation/META-INF/MANIFEST.MF
deleted file mode 100644
index 12202b1..0000000
--- a/plugins/org.eclipse.wst.validation/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,24 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %Bundle-Name.0
-Bundle-SymbolicName: org.eclipse.wst.validation; singleton:=true
-Bundle-Version: 1.2.250.qualifier
-Bundle-Activator: org.eclipse.wst.validation.internal.plugin.ValidationPlugin
-Bundle-Vendor: %Bundle-Vendor.0
-Bundle-Localization: plugin
-Export-Package: org.eclipse.wst.validation,
- org.eclipse.wst.validation.internal;x-friends:="org.eclipse.wst.common.tests.validation",
- org.eclipse.wst.validation.internal.core;x-friends:="org.eclipse.wst.common.tests.validation",
- org.eclipse.wst.validation.internal.delegates;x-internal:=true,
- org.eclipse.wst.validation.internal.model;x-internal:=true,
- org.eclipse.wst.validation.internal.operations;x-friends:="org.eclipse.wst.common.tests.validation",
- org.eclipse.wst.validation.internal.plugin;x-friends:="org.eclipse.wst.common.tests.validation",
- org.eclipse.wst.validation.internal.provisional;x-internal:=true,
- org.eclipse.wst.validation.internal.provisional.core
-Require-Bundle: org.eclipse.core.resources;bundle-version="[3.4.0,4.0.0)",
- org.eclipse.wst.common.frameworks;bundle-version="[1.1.200,2.0.0)",
- org.eclipse.core.runtime;bundle-version="[3.4.0,4.0.0)",
- org.eclipse.wst.common.project.facet.core;bundle-version="[1.3.0,2.0.0)",
- org.eclipse.core.expressions;bundle-version="[3.4.0,4.0.0)"
-Bundle-ActivationPolicy: lazy
-Bundle-RequiredExecutionEnvironment: J2SE-1.5
diff --git a/plugins/org.eclipse.wst.validation/about.html b/plugins/org.eclipse.wst.validation/about.html
deleted file mode 100644
index 2199df3..0000000
--- a/plugins/org.eclipse.wst.validation/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.validation/build.properties b/plugins/org.eclipse.wst.validation/build.properties
deleted file mode 100644
index 167d165..0000000
--- a/plugins/org.eclipse.wst.validation/build.properties
+++ /dev/null
@@ -1,25 +0,0 @@
-###############################################################################
-# Copyright (c) 2001, 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
-###############################################################################
-bin.includes = plugin.xml,\
-               plugin.properties,\
-               META-INF/,\
-               about.html,\
-               .,\
-               .options,\
-               xsds/
-jars.compile.order = .
-src.includes = component.xml,\
-               xsds/
-output.. = bin/
-source.. = validate_core/,\
-           property_files/,\
-           validate/,\
-           vf2/
diff --git a/plugins/org.eclipse.wst.validation/component.xml b/plugins/org.eclipse.wst.validation/component.xml
deleted file mode 100644
index 21011d7..0000000
--- a/plugins/org.eclipse.wst.validation/component.xml
+++ /dev/null
@@ -1 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?><component  xmlns="http://eclipse.org/wtp/releng/tools/component-model" name="org.eclipse.wst.validation"><component-depends unrestricted="true"></component-depends><plugin id="org.eclipse.wst.validation" fragment="false"/><plugin id="org.eclipse.wst.validation.ui" fragment="false"/><package name="org.eclipse.wst.validation.core"></package><package name="org.eclipse.wst.validation.plugin"></package></component>
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.validation/plugin.properties b/plugins/org.eclipse.wst.validation/plugin.properties
deleted file mode 100644
index 0fcb3b5..0000000
--- a/plugins/org.eclipse.wst.validation/plugin.properties
+++ /dev/null
@@ -1,27 +0,0 @@
-###############################################################################
-# Copyright (c) 2001, 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
-###############################################################################
-
-VALIDATION_BUILDER_NAME=Validation
-VALIDATION_PROBLEMMARKER_NAME=Validation Message
-ProblemMarkerV2=Validation Message
-
-VALIDATION_PROJECTMARKER_NAME=Enabled Validators
-VALIDATION_PREFERENCEMARKER_NAME=Validation Preferences
-Validator=Validator
-ReferencialFileValidator=ReferencialFileValidator
-validationSelectionHandler=validationSelectionHandler
-ValidatorDelegates=Validator Delegates
-
-Bundle-Name.0 = Validation Framework
-Bundle-Vendor.0 = Eclipse Web Tools Platform
-
-Extension.validator=Validator (Version 2)
-removeV2Validator=Remove V2 Validator
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.validation/plugin.xml b/plugins/org.eclipse.wst.validation/plugin.xml
deleted file mode 100644
index b8a430a..0000000
--- a/plugins/org.eclipse.wst.validation/plugin.xml
+++ /dev/null
@@ -1,132 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin>
-  
-<!-- Validation extension points -->
-   <extension-point id="validator" name="%Validator" schema="xsds/validatorExtSchema.exsd"/>
-   <extension-point id="validatorV2" name="%Extension.validator" schema="xsds/validator.exsd"/>
-   <extension-point id="referencialFileValidator" name="%ReferencialFileValidator" schema="xsds/referencialFileExtSchema.exsd"/>
-   <extension-point id="validationSelectionHandler" name="%validationSelectionHandler" schema="xsds/validationSelectionHandler.exsd"/>
-   <extension-point id="validationHelper" name="validationHelper" schema="xsds/validationHelper.exsd"/>
-   <extension-point id="validatorDelegates" name="%ValidatorDelegates" schema="xsds/validatorDelegates.exsd"/>   
-   <extension-point id="validatorGroup" name="Validator Group" schema="xsds/validatorgroup.exsd"/>   
-   <extension-point id="exclude" name="Validator Exclusions" schema="xsds/exclude.exsd"/>
-   <extension-point id="removeV2Validator" name="%removeV2Validator" schema="xsds/removeV2Validator.exsd"/>   
-   
-<!--============================-->
-<!-- Validation Contributions   -->
-<!--============================-->
-   <extension
-         id="validationbuilder"
-         name="%VALIDATION_BUILDER_NAME"
-         point="org.eclipse.core.resources.builders">
-      <builder>
-         <run
-               class="org.eclipse.wst.validation.internal.operations.ValidationBuilder">
-         </run>
-      </builder>
-   </extension>
-<!-- Problem markers must be a subtype of problemmarker to be displayed in the task view -->
-   <extension
-         id="problemmarker"
-         name="%VALIDATION_PROBLEMMARKER_NAME"
-         point="org.eclipse.core.resources.markers">
-      <super
-            type="org.eclipse.core.resources.problemmarker">
-      </super>
-      <persistent
-            value="true">
-      </persistent>
-      <attribute
-            name="owner">
-      </attribute>
-      <attribute
-            name="validationSeverity">
-      </attribute>
-      <attribute
-            name="targetObject">
-      </attribute>
-      <attribute
-            name="groupName">
-      </attribute>
-      <attribute
-            name="messageId">
-      </attribute>
-   </extension>
-<!-- Don't want to display this marker in the task view -->
-   <extension
-         id="projectmarker"
-         name="%VALIDATION_PROJECTMARKER_NAME"
-         point="org.eclipse.core.resources.markers">
-      <super
-            type="org.eclipse.core.resources.textmarker">
-      </super>
-      <persistent
-            value="true">
-      </persistent>
-      <attribute
-            name="enabledValidatorList">
-      </attribute>
-      <attribute
-            name="autoValidate">
-      </attribute>
-      <attribute
-            name="runWhenBuild">
-      </attribute>
-      <attribute
-            name="maxNumMessages">
-      </attribute>
-      <attribute
-            name="overrideGlobalPreferences">
-      </attribute>
-      <attribute
-            name="version">
-      </attribute>
-   </extension>
-<!-- Don't want to display this marker in the task view -->
-   <extension
-         id="preferencemarker"
-         name="%VALIDATION_PREFERENCEMARKER_NAME"
-         point="org.eclipse.core.resources.markers">
-      <super
-            type="org.eclipse.core.resources.textmarker">
-      </super>
-      <persistent
-            value="true">
-      </persistent>
-      <attribute
-            name="enabledValidatorList">
-      </attribute>
-      <attribute
-            name="autoValidate">
-      </attribute>
-      <attribute
-            name="runWhenBuild">
-      </attribute>
-      <attribute
-            name="maxNumMessages">
-      </attribute>
-      <attribute
-            name="projectsCanOverride">
-      </attribute>
-      <attribute
-            name="version">
-      </attribute>
-   </extension>
-   <!-- GRK - I added a new problem marker so that we can keep the v2 changes separate from the v1 framework. -->
-   <extension
-         id="problemmarker2"
-         name="%ProblemMarkerV2"
-         point="org.eclipse.core.resources.markers">
-      <super
-            type="org.eclipse.core.resources.problemmarker">
-      </super>
-      <persistent
-            value="true">
-      </persistent>
-      <attribute
-            name="owner">
-      </attribute>
-  </extension>
-
-</plugin>
diff --git a/plugins/org.eclipse.wst.validation/property_files/org/eclipse/wst/validation/internal/messages.properties b/plugins/org.eclipse.wst.validation/property_files/org/eclipse/wst/validation/internal/messages.properties
deleted file mode 100644
index db8a008..0000000
--- a/plugins/org.eclipse.wst.validation/property_files/org/eclipse/wst/validation/internal/messages.properties
+++ /dev/null
@@ -1,79 +0,0 @@
-###############################################################################
-# Copyright (c) 2005, 2010 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-ErrConfig=IWAE0100E Extension configuration error. An internal error has happened, the validator {0} has incorrectly configured the validation extension point.
-ErrGroupName=IWAE0101E Invalid element, expect either the element "include" or "exclude".
-ErrFilterRule=IWAE0102E An invalid filter rule has been encountered. Contributing plug-in: {0}, element name: {1}
-
-ErrGroupNoType=IWAE0103E Groups must have a valid type, no type was returned
-ErrGroupInvalidType=IWAE0104E Groups must have a valid type, the following invalid type was returned: {0}
-ErrDependencyVersion=IWAE0105E Only version {0} is supported
-
-ErrPatternAttrib=IWAE0106E The pattern attribute must be supplied
-ErrTypeReq=IWAE0107E Type is a required attribute for file filters
-
-VbfExcSyntaxNoValClass=IWAE0016E Validator cannot be created because no "class" attribute is specified in the <run> element of the plugin.xml file for the validator named {0}. Cannot create a validator unless a <run> element exists that specifies the "class" attribute. The value of the "class" attribute should be the name of the class that implements the IWorkbenchHelper interface.
-VbfExcSyntaxNoValRun=IWAE0015E Validator cannot be created because no <run> element is specified in the plugin.xml file for the validator named {0}. Cannot create a validator unless a <run> element exists that specifies the "class" attribute. The value of the "class" attribute should be the name of the class that implements the IWorkbenchHelper interface.
-VbfExcSyntaxNoValNull=IWAE0018E Validator class {0} could not be created. IConfigurationElement.createExecutableExtension(String) returned null.
-
-ErrType=The value of the type attribute is incorrect. It was specified as {0} but the only valid values are: {1}, {2}, {3}
-ConfigError=It appears that validator {0} (with id {1}) has been configured incorrectly, it produced {2} messages while validating {3}. It has been disabled. Try restoring the defaults for this validator.
-
-DecodeError1=IWAE0019E There was a problem deserializing a string. A boolean was expected but not found. 
-Error20=IWAE0020E Internal error, the incoming validator must be a v2 validator
-Error21=The following dependency could not be restored because the following resource {0} could no longer be found.
-GroupInclude=Include Group
-GroupExclude=Exclude Group
-
-TypeInclude=include
-TypeExclude=exclude
-
-JobName=Validation
-JobNameWithProjectName=Validating {0}
-JobNameMonitor=Validation Monitor
-JobIndexSave=Index Save
-
-MigrationJobName=Validation Setup
-
-RuleProjectNature=Project nature
-RuleFileExt=File extension
-RuleFile=File
-RuleContentType=Content Type
-RuleFacet=Facet
-RuleFolder=Folder
-RuleFull=Qualified File
-RulePattern=Pattern
-RuleTargetRuntime=Target Runtime
-
-FileExtWithCase={0}: {1} (case sensitive)
-FileExtWithoutCase={0}: {1}
-
-ContentTypeExact={0}: {1} (excludes subtypes)
-ContentTypeNotExact={0}: {1} (includes subtypes)
-
-LogValStart=Validator {0} starting to validate: {1}
-LogValEnd=Validator {0} finished validating: {1}
-LogValEndTime=Validator {0} with id {1} finished validating: {2} in {3}
-LogValSummary=Validator {0} with id {1} validated {2} resources in {3}
-LogValSummary2=Validator {0} with id {1} validated {2} resources in {3} using {4} of CPU time
-LogSession=Session started on: {0}
-
-SevError=Error
-SevWarning=Warning
-SevIgnore=Ignore
-
-TimeUnder=under a second
-TimeNano={0} nanoseconds
-TimeMicro={0} microseconds
-TimeSec={0} seconds
-TimeMin={0} minutes
-
-RogueValidator=Rogue validator delegate from contributor {0}
-
diff --git a/plugins/org.eclipse.wst.validation/property_files/validate_base.properties b/plugins/org.eclipse.wst.validation/property_files/validate_base.properties
deleted file mode 100644
index 9e2583d..0000000
--- a/plugins/org.eclipse.wst.validation/property_files/validate_base.properties
+++ /dev/null
@@ -1,140 +0,0 @@
-###############################################################################
-# Copyright (c) 2001, 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
-###############################################################################
-# To avoid name collisions, each extension point should preface their property names with an identifier.
-#
-#     *************************************************************************
-#     * Code oriented instructions:
-#     *
-#     * In the string, you may see the following special sequences:
-#     * a) {n}  where n is a number. These are replaceable parameters.
-#     * b) ''  In .properties files, in order to see one apostrophe (') in the final
-#     *    string, sometimes two apostrophes must be entered in the string. In the translated
-#     *    string, if there is at least one {n} in the string, then to show one apostrophe
-#     *    to the user, put two apostrophes in the string. If there are no {n} in the string,
-#     *    then put one apostrophe.
-#     *    For example, say that you want the user to read "George's file". 
-#     *        GEORGE=George's file was on the desk.
-#     *        GEORGE2=George''s file and {0} were on the desk.
-#     *    GEORGE uses one apostrophe because there are no {n} and GEORGE2
-#     *    uses two apostrophes because there is a {n}.
-#     * c) '' text '' where text can be any word(s). The text between the double
-#     *    apostrophes should not be translated. 
-#     * d) <text> where text can be any word(s). The text between the angle
-#     *    brackets should NOT be translated.
-#     * e) "text" where text can be any word(s). The text between the quotation 
-#     *    marks should NOT be translated.
-#     *    
-#     *************************************************************************
-#     * Other instructions
-#     * a) Do not translate any text that is on a line which begins with a comment 
-#     *    symbol (#).
-#     * b) Do not translate these words: 
-#     *        schema, EJB, RDB, JAR, RMI, BMP, CMP, OOSQL
-#     * c) Please return the .properties files using the same directory structure.
-#     *    This is necessary because two of the files have the same name.
-#     *
-#     *************************************************************************
-# Any other comments to the translators are on lines which start like this:  # 2TC:
-#
-# Version 1.14
-#
-#
-# ID:
-#    VBF - Validation Builder Framework
-#       VBF_EXC=Exception or error text
-#       VBF_STATUS=Status message
-#       VBF_TASK=Task list message
-#
-
-# 
-# Begin Validation Builder Framework Strings
-#
-# IDs:
-#    VBF_EXC=Exception or error text
-#    VBF_STATUS=Status message
-#    VBF_TASK=Task list message
-#
-VBF_EXC_CANNOT_ADD_MARKER=IWAE0001E The marker cannot be added to resource {0} in the task list.
-VBF_EXC_CANNOT_REMOVE_MARKER=IWAE0002E The marker cannot be removed from resource {0} in the task list.
-
-VBF_EXC_HELPER_MISSING=IWAE0003E Unable to load {0} because it did not specify a <helper>. Each validator must identify the helper class that loads its MOF model.
-VBF_EXC_HELPER_CANNOTLOAD=IWAE0004E Unable to load {0} because its <helper>, {1}, could not be loaded. Ensure that the case-sensitive file name is spelled correctly.
-
-VBF_EXC_INTERNAL=IWAE0005E An internal error occurred during validation. Validation was being run on project {0} with validator {1}. The message thrown was {2}.
-
-# 2TC: In the following string, "type" is a noun
-VBF_EXC_INVALID_TYPE_FILTER=IWAE0006E Invalid type filter; {0} must be an instance of {1}.
-VBF_EXC_INVALID_RESOURCE=IWAE0007E Cannot add message "{0}" with target object "{1}" because no file, folder, or project can be found with which to associate the message.
-
-VBF_EXC_MISSING_VALIDATOR_EP=IWAE0008E The validator framework could not be started. The extension point named \"{0}\" could not be found. Save all log files and contact your IBM representative.
-VBF_EXC_MISSING_PROJECTNATURE_ID=IWAE0009E A projectNature must have an associated ID. Validation is ignoring this tag and continuing.
-
-VBF_EXC_RUNTIME=IWAE0010E Run-time exception {0} occurred during validation. The validator being run was {1} and the message thrown was {2}.
-
-VBF_EXC_SYNTAX_NO_HELPER=IWAE0012E No <helper> element is specified in the plugin.xml file for validator {0}. Since the helper cannot be created, the validator will not be loaded.
-VBF_EXC_SYNTAX_NO_HELPER_CLASS=IWAE0013E No "class" attribute in the <helper> element is specified in the plugin.xml file for validator {0}. The helper cannot be created without the name of the class that implements it. Since the helper cannot be created, the validator will not be loaded.
-VBF_EXC_SYNTAX_NO_HELPER_THROWABLE=IWAE0014E The helper {0} cannot be created because a Throwable was caught.
-VBF_EXC_SYNTAX_NO_VAL_THROWABLE=IWAE0017E Cannot create validator {0} because a Throwable was caught.
-
-VBF_EXC_DISABLEV=IWAE0019E Cannot instantiate validator {0}. Disabling the validator; read the log for details.
-VBF_EXC_DISABLEH=IWAE0020E Cannot instantiate helper {0}. Disabling validator {1}; read the log for details.
-VBF_EXC_ORPHAN_IVALIDATOR=IWAE0021E Cannot locate meta-data for validator {0}.
-
-VBF_EXC_VALIDATORNAME_IS_NULL=IWAE0022E The plugin with ID {0} has been disabled because its getName() method returns null. The method must return a value.
-
-VBF_EXC_NULLCREATE=IWAE0023E Cannot create a validation configuration on a null resource.
-VBF_EXC_NULLSAVE=IWAE0024E Cannot save a validation configuration on a null resource.
-VBF_EXC_SAVE=IWAE0025E Could not save the validation configuration on resource {0}.
-VBF_EXC_NULLRETRIEVE=IWAE0026E Cannot retrieve the validation configuration because resource is null.
-VBF_EXC_RETRIEVE=IWAE0027E Could not retrieve the validation configuration for resource {0}.
-
-VBF_EXC_BADVMD=IWAE0028E ValidatorMetaData[] must not be null or empty.
-VBF_EXC_OPENPRJ=IWAE0029E Project {0} must be open.
-VBF_EXC_EXISTPRJ=IWAE0030E Project {0} must exist.
-VBF_EXC_BADPRJ=IWAE0031E Project {0} must be the project that contains the resources in the IResource[].
-VBF_EXC_MULTIPRJ=IWAE0032E All IResource instances in the IResource[] must be part of the same IProject instance. The resources come from the following projects: {0}.
-VBF_EXC_BADVAL=IWAE0033E Validator {0} must be configured on {1};
-
-VBF_STATUS_INITIALIZING=Initializing {0}.
-
-VBF_STATUS_VALIDATOR_CLEANUP=Performing cleanup on {0} before termination.
-
-VBF_STATUS_PROGRESSMONITOR_TITLE=Validating
-VBF_STATUS_NULL_DELTA=Last build state of {0} could not be retrieved. Performing a full validation.
-
-VBF_STATUS_VALIDATOR_TERMINATED=Validation of {0} using {1} was cancelled.
-
-VBF_STATUS_START_REMOVING_OLD_MESSAGES=Removing {0} messages on {1} has started...
-VBF_STATUS_FINISH_REMOVING_OLD_MESSAGES=Messages removed.
-
-VBF_STATUS_STARTING_VALIDATION=Validation of {0} by {1} has started...
-VBF_STATUS_ENDING_VALIDATION=Validation of {0} by {1} is complete. All known problems have been reported.
-VBF_STATUS_ENDING_VALIDATION_ABNORMALLY=Validation of {0} by {1} ended abnormally. The list of problems may be incomplete. Please check the information messages for the cause of the abnormal termination.
-
-VBF_STATUS_LOOKING=Looking for validation messages owned by uninstalled validators...
-VBF_STATUS_LOOKINGDONE=Looking for validation messages owned by uninstalled validators...done.
-VBF_STATUS_REMOVING=Removing validation messages owned by uninstalled validators...
-VBF_STATUS_REMOVINGDONE=Removing validation messages owned by uninstalled validators...done.
-
-VBF_WRONG_CONTEXT_FOR_DELEGATE=The validator {0} is a being invoked with a wrong context. Please use an IProjectValidationContext.
-VBF_NO_DELEGATE=The validator {0} is a delegating validator but no delegate can found for it.
-VBF_CANNOT_INSTANTIATE_DELEGATE=The validator delegate {0} registered for {1} cannot be instantiated.
-
-# The following message will be deleted soon.
-VBF_TASK_WARN_MESSAGE_LIMIT_ABORT=IWAE0034W IWAD3000I: {1} terminated validation of {0} because the maximum number of messages were reported. Some messages may be missing.
-
-VBF_TASK_WARN_MESSAGE_LIMIT_VAL=IWAE0035W IWAD3000I: Some messages may be missing because the maximum number of messages has been reported. Increase the maximum number of messages and try again.
-VBF_VALIDATION_JOB_MSG=Waiting for build
-
-#
-# End Validation Builder Framework Strings
-#
-
diff --git a/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/ConfigurationConstants.java b/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/ConfigurationConstants.java
deleted file mode 100644
index 16aef08..0000000
--- a/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/ConfigurationConstants.java
+++ /dev/null
@@ -1,86 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.validation.internal;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.QualifiedName;
-import org.eclipse.wst.validation.internal.plugin.ValidationPlugin;
-
-/**
- * Validation constants needed to implement the marker extension point and the user's preferences.
- * 
- * Only the validation framework should use this interface.
- */
-public interface ConfigurationConstants {
-	String DISABLE_ALL_VALIDATION_SETTING = "disableAllValidation"; //$NON-NLS-1$ // boolean
-	String SAVE_AUTOMATICALLY_SETTING = "saveAutomatically"; //$NON-NLS-1$ // boolean
-
-	// Defaults for the preference and project values
-	
-	String CURRENT_VERSION = (String) ValidationPlugin.getPlugin().getBundle().getHeaders().get(org.osgi.framework.Constants.BUNDLE_VERSION);  // this is a constant, so it should be intern
-	boolean DEFAULT_ASYNC = true;
-	boolean DEFAULT_DISABLE_VALIDATION_SETTING = false;
-	ValidatorMetaData[] DEFAULT_ENABLED_VALIDATORS = ValidationRegistryReader.getReader().getValidatorMetaDataArrayEnabledByDefault();  // store a copy here so that we don't modify the original and don't create a copy every time we need this value
-	int DEFAULT_MAXNUMMESSAGES = 50;
-	int DEPTH_INFINITE = IResource.DEPTH_INFINITE;
-	int DEPTH_ZERO = IResource.DEPTH_ZERO;
-	String ELEMENT_SEPARATOR = ";"; //$NON-NLS-1$ // separates the name of one IValidator from the next in the list of enabled validators for a project or preference
-	String DELEGATES_SEPARATOR = "="; //$NON-NLS-1$ // Separates the delegating validator id from the delegate validator id in the list of delegates
-
-	// The following values must match the attributes in the preference marker as shown in plugin.xml
-	// Even though the plugin.xml values are not used to create new Preference or Project markers,
-	// maintaining one local name ensures that there's no confusion writing the migration code.
-	// These are the QualifiedNames used to persist the user's settings.
-	String ENABLED_MANUAL_VALIDATORS = "enabledManualValidatorList"; //$NON-NLS-1$ // String
-	String ENABLED_BUILD_VALIDATORS = "enabledBuildValidatorList"; //$NON-NLS-1$ // String
-	String DELEGATE_VALIDATORS = "delegateValidatorList"; //$NON-NLS-1$ // String
-	String J2EE_PLUGIN_ID = "org.eclipse.jst.j2ee"; //$NON-NLS-1$ // For 4.03, this is the plugin id that the validation constants were declared in.
-	String MAXNUMMESSAGES = "maxNumMessages"; //$NON-NLS-1$ // integer
-	String PLUGIN_ID = ValidationPlugin.PLUGIN_ID;
-	String PREF_PROJECTS_CAN_OVERRIDE = "projectsCanOverride"; //$NON-NLS-1$ // boolean
-	// end validation message marker constants
-
-	// Preference and Project constants
-	String PREFERENCE_MARKER = PLUGIN_ID + ".preferencemarker"; //$NON-NLS-1$
-	String PRJ_MARKER = PLUGIN_ID + ".projectmarker"; //$NON-NLS-1$ // The extension which saves user validation preferences for a particular project (e.g. which validators run on the project)
-	String PRJ_MARKER_403 = J2EE_PLUGIN_ID + ".projectmarker"; //$NON-NLS-1$ // The extension which saves user validation preferences for a particular project (e.g. which validators run on the project)
-	String PRJ_OVERRIDEGLOBAL = "overrideGlobalPreferences"; //$NON-NLS-1$ // boolean (Use the global preferences or override)
-
-	QualifiedName USER_PREFERENCE = new QualifiedName(PLUGIN_ID, "ValidationConfiguration"); //$NON-NLS-1$ // ValidationConfiguration for the IResource
-	QualifiedName USER_MANUAL_PREFERENCE = new QualifiedName(PLUGIN_ID, "ValidationManualConfiguration"); //$NON-NLS-1$ // ValidationConfiguration for the IResource
-	QualifiedName USER_BUILD_PREFERENCE = new QualifiedName(PLUGIN_ID, "ValidationBuildConfiguration"); //$NON-NLS-1$ // ValidationConfiguration for the IResource
-	QualifiedName DELEGATES_PREFERENCE = new QualifiedName(PLUGIN_ID, "ValidationDelegatesConfiguration"); //$NON-NLS-1$ // ValidationConfiguration for the IResource
-
-	// Validation message marker constants
-	
-	/** 
-	 * org.eclipse.wst.validation.problemmarker - The marker id which is used to add v1 validation markers 
-	 * to the task list */
-	String VALIDATION_MARKER = PLUGIN_ID + ".problemmarker"; //$NON-NLS-1$ 
-	
-	/** For incremental validation, this field associates a message with a group, so that a subset of messages may be removed from a file. */
-	String VALIDATION_MARKER_GROUP = "groupName"; //$NON-NLS-1$
-	
-	/**  Persist the message id of the message, not just the translated text. */
-	String VALIDATION_MARKER_MESSAGEID = "messageId"; //$NON-NLS-1$
-	
-	// The following values must match the attributes in the validation message marker as shown in plugin.xml
-	String VALIDATION_MARKER_OWNER = "owner"; //$NON-NLS-1$ // The IValidator who owns the IMarker on the task list
-	String VALIDATION_MARKER_SEVERITY = "validationSeverity"; //$NON-NLS-1$ // one of the SeverityEnum values
-	String VALIDATION_MARKER_TARGETOBJECT = "targetObject"; //$NON-NLS-1$ // When more than one target object resolves to the same IResource, this field identifies which targetObject owns a particular message.
-	String VERSION = "version"; //$NON-NLS-1$
-
-	// WSAD versions which created markers of these types
-	String VERSION4_03 = "4.03"; //$NON-NLS-1$
-	String VERSION5_0 = "5.0"; //$NON-NLS-1$
-	String VERSION5_01 = "5.0.1"; //$NON-NLS-1$
-	// end preference and project defaults
-}
diff --git a/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/ConfigurationManager.java b/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/ConfigurationManager.java
deleted file mode 100644
index 2baad42..0000000
--- a/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/ConfigurationManager.java
+++ /dev/null
@@ -1,256 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2009 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.validation.internal;
-
-import java.lang.reflect.InvocationTargetException;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IWorkspaceRoot;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.wst.validation.internal.plugin.ValidationPlugin;
-
-
-/**
- * Only the validation framework can use this class.
- */
-public final class ConfigurationManager implements ConfigurationConstants {
-	private static ConfigurationManager _instance = null;
-
-	private ConfigurationManager() {}
-
-	public static ConfigurationManager getManager() {
-		if (_instance == null) {
-			_instance = new ConfigurationManager();
-		}
-		return _instance;
-	}
-
-	/**
-	 * Given a validation marker, return the fully-qualified class name of the validator who owns
-	 * the message. If the validator cannot be found or if the marker is not a validation marker,
-	 * return null.
-	 */
-	public String getValidator(IMarker marker) {
-		if (marker == null)return null;
-
-		try {
-			if (!marker.getType().equals(VALIDATION_MARKER))return null;
-
-			Object attrib = marker.getAttribute(VALIDATION_MARKER_OWNER);
-			if (attrib == null)return null;
-			return attrib.toString();
-		} catch (CoreException e) {
-			ValidationPlugin.getPlugin().handleException(e);
-			return null;
-		}
-	}
-
-	/**
-	 * Return true if the given marker is a validation marker. Otherwise return false.
-	 */
-	public boolean isValidationMarker(IMarker marker) {
-		if (marker == null)return false;
-
-		try {
-			return marker.getType().equals(VALIDATION_MARKER);
-		} catch (CoreException e) {
-			ValidationPlugin.getPlugin().handleException(e);
-			return false;
-		}
-	}
-
-	/**
-	 * This method is for use by the TVT Validation plug-in ONLY!!! No code should access the
-	 * validation markers in the list directly except for the validation framework and the TVT
-	 * Validation plug-in.
-	 */
-	public void removeAllValidationMarkers(IProject project) {
-		if ((project == null) || (!project.isOpen()))return;
-
-		try {
-			project.deleteMarkers(VALIDATION_MARKER, false, DEPTH_INFINITE); // false means only
-			// consider VALIDATION_MARKER, not variants of VALIDATION_MARKER. 
-			//Since addTask only adds VALIDATION_MARKER, we don't need to consider its subtypes.
-		} catch (CoreException e) {
-			ValidationPlugin.getPlugin().handleException(e);
-		}
-	}
-
-	/**
-	 * This method returns the global preferences for the workspace.
-	 */
-	public GlobalConfiguration getGlobalConfiguration() throws InvocationTargetException {
-		IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot();
-		GlobalConfiguration gp = null;
-		try {
-			gp = (GlobalConfiguration) root.getSessionProperty(USER_PREFERENCE);
-			if (gp == null)gp = getGlobalConfiguration(root);
-		} catch (CoreException exc) {
-			throw new InvocationTargetException(exc, ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_EXC_RETRIEVE, new String[]{root.getName()}));
-		}
-		return gp;
-	}
-	
-	private synchronized GlobalConfiguration getGlobalConfiguration(IWorkspaceRoot root) throws InvocationTargetException {
-		GlobalConfiguration gp = null;
-		try {
-			gp = (GlobalConfiguration) root.getSessionProperty(USER_PREFERENCE);
-			if (gp == null) {
-				gp = new GlobalConfiguration(root);
-//				PreferencesWrapper prefs = PreferencesWrapper.getPreferences(null, null);
-//				prefs.addPropertyChangeListener(gp);
-				
-				gp.getVersion(); // initialize the configuration's version attribute
-				gp.load(); // initialize this instance from the stored values
-				gp.passivate(); // store this instance as a property on the IResource
-			}
-			return gp;
-		} catch (CoreException exc) {
-			throw new InvocationTargetException(exc, ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_EXC_RETRIEVE, new String[]{root.getName()}));
-		}
-	}
-
-	public ProjectConfiguration getProjectConfiguration(IProject project) throws InvocationTargetException {
-		ProjectConfiguration prjp = null;
-		try {
-			prjp = (ProjectConfiguration) project.getSessionProperty(USER_PREFERENCE);
-			if (prjp == null || !prjp.getResource().exists()) {
-				prjp = new ProjectConfiguration(project);
-				prjp.getVersion(); // initialize the configuration's version attribute
-				prjp.load(); // initialize this instance from the stored values
-				prjp.passivate(); // store this instance as a property on the IResource
-			}
-			return prjp;
-		} catch (CoreException exc) {
-			throw new InvocationTargetException(exc, ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_EXC_RETRIEVE, new String[]{project.getName()}));
-		}
-	}
-
-	public ProjectConfiguration getProjectConfigurationWithoutMigrate(IProject project) throws InvocationTargetException {
-		ProjectConfiguration prjp = null;
-		try {
-			prjp = (ProjectConfiguration) project.getSessionProperty(USER_PREFERENCE);
-			if (prjp == null || !prjp.getResource().exists()) {
-				prjp = new ProjectConfiguration(project);
-				prjp.getVersion(); // initialize the configuration's version attribute
-				prjp.load(); // initialize this instance from the stored values
-				prjp.passivate(); // store this instance as a property on the IResource
-			}
-			return prjp;
-		} catch (CoreException exc) {
-			throw new InvocationTargetException(exc, ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_EXC_RETRIEVE, new String[]{project.getName()}));
-		}
-	}
-
-
-	/**
-	 * The nature of the project has changed; update the enabled validators on the project.
-	 * 
-	 * @deprecated this method doesn't do anything.
-	 */
-	public void resetProjectNature(IProject project) throws InvocationTargetException {
-	}
-
-	public void closing(IProject project) {
-		try {
-			if (isMigrated(project)) {
-				ProjectConfiguration prjp = ConfigurationManager.getManager().getProjectConfiguration(project);
-				if(!prjp.useGlobalPreference())prjp.store();
-			}
-		} catch (InvocationTargetException e) {
-			ValidationPlugin.getPlugin().handleException(e);
-			if (e.getTargetException() != null)
-				ValidationPlugin.getPlugin().handleException(e.getTargetException());
-		}
-	}
-
-	/**
-	 * @deprecated this method does not do anything.
-	 * @param project
-	 */
-	public void deleting(IProject project) {
-	}
-
-	/**
-	 * @deprecated this method does not do anything.
-	 * @param project
-	 */
-	public void opening(IProject project) {
-		// Do not load or migrate the project in this method; let the getConfiguration(IProject)
-		// method do that. Do not load the project before it's necessary.
-	}
-
-	/**
-	 * Return true if the global preferences are at the current level of metadata, false otherwise.
-	 */
-	public boolean isGlobalMigrated() throws InvocationTargetException {
-		IWorkspaceRoot root = ValidationConfiguration.getRoot();
-		if (root == null)return false;
-
-		try {
-			GlobalConfiguration gp = (GlobalConfiguration) root.getSessionProperty(USER_PREFERENCE);
-			if (gp != null) {
-				return gp.isVersionCurrent();
-			}
-
-			String serializedPrjp = root.getPersistentProperty(USER_PREFERENCE);
-			if (serializedPrjp != null) {
-				gp = new GlobalConfiguration(root);
-				gp.getVersion(); // initialize the configuration's version attribute
-				return gp.isVersionCurrent();
-			}
-		} catch (CoreException exc) {
-			throw new InvocationTargetException(exc, ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_EXC_RETRIEVE, new String[]{root.getName()}));
-		}
-
-		return false;
-	}
-
-	/**
-	 * Return true if the given project has the current level of metadata, false otherwise.
-	 */
-	public boolean isMigrated(IProject project) throws InvocationTargetException {
-		if (project == null)return false;
-		
-		try {
-			if (project.isAccessible()) {
-				ProjectConfiguration prjp = (ProjectConfiguration) project.getSessionProperty(USER_PREFERENCE);
-				if (prjp != null)return prjp.isVersionCurrent();
-				
-				String serializedPrjp = project.getPersistentProperty(USER_PREFERENCE);
-				if (serializedPrjp != null) {
-					prjp = new ProjectConfiguration(project);
-					prjp.getVersion(); 
-					return prjp.isVersionCurrent();
-				}
-			}
-		} catch (CoreException exc) {
-			throw new InvocationTargetException(exc, ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_EXC_RETRIEVE, new String[]{project.getName()}));
-		}
-		return false;
-	}
-
-	/**
-	 * Answer the appropriate configuration based on whether the project has overridden the configuration
-	 * or not. If the project exists and is allowed to override the global configuration answer the
-	 * project configuration, otherwise answer the global configuration.
-	 * @param project it can be null
-	 */
-	public ValidationConfiguration getConfiguration(IProject project) throws InvocationTargetException {
-		if (project == null)return getGlobalConfiguration();
-		ProjectConfiguration pc = getProjectConfiguration(project);
-		if (pc != null && !pc.useGlobalPreference())return pc;
-		return getGlobalConfiguration();
-	}
-
-}
diff --git a/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/EventManager.java b/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/EventManager.java
deleted file mode 100644
index d603b8d..0000000
--- a/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/EventManager.java
+++ /dev/null
@@ -1,358 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.validation.internal;
-
-import java.lang.reflect.InvocationTargetException;
-import java.util.Set;
-import java.util.concurrent.CopyOnWriteArraySet;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IResourceChangeEvent;
-import org.eclipse.core.resources.IResourceChangeListener;
-import org.eclipse.core.resources.IResourceDelta;
-import org.eclipse.core.resources.IResourceDeltaVisitor;
-import org.eclipse.core.resources.IWorkspace;
-import org.eclipse.core.resources.IWorkspaceRoot;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.wst.validation.internal.operations.IWorkbenchContext;
-import org.eclipse.wst.validation.internal.plugin.ValidationPlugin;
-
-/**
- * This class manages resource change events for the validation framework.
- */
-public class EventManager implements IResourceChangeListener {
-	private static EventManager _inst;
-	
-	// false means that eclipse is not shutting down, and true means that it is shutting down. 
-	private boolean _shutdown; 
-
-	private IResourceDeltaVisitor _postAutoBuildVisitor;
-	private boolean _isActive; // has the registry been read?
-	
-	private Set<IProjectChangeListener> _listeners = new CopyOnWriteArraySet<IProjectChangeListener>();
-
-	private EventManager() {
-	}
-
-	public static EventManager getManager() {
-		if (_inst == null)_inst = new EventManager();
-		return _inst;
-	}
-	
-	public void addProjectChangeListener(IProjectChangeListener listener){
-		Tracing.log("EventManager-03: add listener: ", listener); //$NON-NLS-1$
-		_listeners.add(listener);
-	}
-	
-	public void removeProjectChangeListener(IProjectChangeListener listener){
-		_listeners.remove(listener);
-	}
-	
-	private void signal(IProject project, int type){
-		if (Tracing.isLogging()){
-			String name = "Null"; //$NON-NLS-1$
-			if (project != null)name = project.getName();
-			Tracing.log("EventManager-02: signal project: " + name + ", IProjectChangeListener type: " + type); //$NON-NLS-1$ //$NON-NLS-2$
-		}
-		for (IProjectChangeListener pcl : _listeners){
-			try {
-				pcl.projectChanged(project, type);
-			}
-			catch (Exception e){
-				ValidationPlugin.getPlugin().handleException(e);
-			}
-		}
-	}
-
-	public void opening(IProject project) {
-		if (project == null || !ValidationPlugin.isActivated())return;
-		
-		signal(project, IProjectChangeListener.ProjectOpened);
-
-		// When the project is opened, check for any orphaned tasks or tasks whose owners need to be updated.
-//		ConfigurationManager.getManager().opening(project);
-	}
-
-	public void closing(IProject project) {
-		if (project == null || !ValidationPlugin.isActivated())return;
-		
-		signal(project, IProjectChangeListener.ProjectClosed);
-		
-		try {
-			boolean isMigrated = ConfigurationManager.getManager().isMigrated(project);
-			// If it's not migrated, then it hasn't been loaded, and we don't want to load the
-			// validator and its prerequisite plug-ins until they're needed.
-			if (isMigrated) {
-				ValidatorMetaData[] vmds = ConfigurationManager.getManager().getProjectConfiguration(project).getValidators();
-				for (ValidatorMetaData vmd : vmds) {
-
-					if (!vmd.isActive()) {
-						// If this validator has not been activated, or if it has been shut down,
-						// don't activate it again.
-						continue;
-					}
-
-					IWorkbenchContext helper = null;
-					try {
-						helper = vmd.getHelper(project);
-						helper.closing();
-					} catch (InstantiationException e) {
-						// Remove the vmd from the reader's list
-						ValidationRegistryReader.getReader().disableValidator(vmd);
-
-						ValidationPlugin.getPlugin().handleException(e);
-					} catch (Exception e) {
-						// If there is a problem with this particular helper, log the error and
-						// continue with the next validator.
-						ValidationPlugin.getPlugin().handleException(e);
-					}
-				}
-
-				ConfigurationManager.getManager().closing(project);
-			}
-		} catch (InvocationTargetException e) {
-			ValidationPlugin.getPlugin().handleException(e);
-			if (e.getTargetException() != null)
-				ValidationPlugin.getPlugin().handleException(e.getTargetException());
-		}
-	}
-
-	public void deleting(IProject project) {
-		if (project == null)return;
-		
-		signal(project, IProjectChangeListener.ProjectDeleted);
-
-		try {
-			boolean isMigrated = ConfigurationManager.getManager().isMigrated(project);
-			// If it's not migrated, then it hasn't been loaded, and we don't want to load the
-			// validator and its prerequisite plug-ins until they're needed.
-			if (isMigrated) {
-				ValidatorMetaData[] vmds = ConfigurationManager.getManager().getProjectConfiguration(project).getValidators();
-				for (ValidatorMetaData vmd : vmds) {
-
-					if (!vmd.isActive()) {
-						// If this validator has not been activated, or if it has been shut down,
-						// don't activate it again.
-						continue;
-					}
-
-					IWorkbenchContext helper = null;
-					try {
-						helper = vmd.getHelper(project);
-						helper.deleting();
-					} catch (InstantiationException e) {
-						// Remove the vmd from the reader's list
-						ValidationRegistryReader.getReader().disableValidator(vmd);
-						ValidationPlugin.getPlugin().handleException(e);
-						continue;
-					} catch (Exception e) {
-						// If there is a problem with this particular helper, log the error and
-						// continue with the next validator.
-						ValidationPlugin.getPlugin().handleException(e);
-						continue;
-					}
-				}
-
-//				ConfigurationManager.getManager().deleting(project);
-			}
-		} catch (InvocationTargetException e) {
-			ValidationPlugin.getPlugin().handleException(e);
-			if (e.getTargetException() != null)
-				ValidationPlugin.getPlugin().handleException(e.getTargetException());
-
-		}
-	}
-
-	/**
-	 * If a project's description changes, The project may have changed its nature. Update the cache
-	 * to reflect the new natures. The project could be opening. Migrate.
-	 */
-	private void postAutoChange(IResourceDelta delta) {
-		if (_postAutoBuildVisitor == null) {
-			_postAutoBuildVisitor = new IResourceDeltaVisitor() {
-				public boolean visit(IResourceDelta subdelta) throws CoreException {
-					if (subdelta == null)return false;
-
-					IResource resource = subdelta.getResource();
-					if (resource instanceof IWorkspaceRoot)return true;
-					if (resource instanceof IProject) {
-						IProject project = (IProject) resource;
-						if ((subdelta.getFlags() & IResourceDelta.DESCRIPTION) == IResourceDelta.DESCRIPTION) {
-							signal(project, IProjectChangeListener.ProjectChanged);
-							return false;
-						}
-
-						if ((subdelta.getFlags() & IResourceDelta.OPEN) == IResourceDelta.OPEN) {
-							if (project.isOpen()) {
-								// Project was just opened. If project.isOpen() had returned false,
-								// project would just have been closed.
-								opening(project);
-							}
-							return false;
-						}
-						
-						if ((subdelta.getFlags() & IResourceDelta.ADDED) == IResourceDelta.ADDED) {
-							signal(project, IProjectChangeListener.ProjectAdded);
-							return false;
-						}
-					}
-
-					return false;
-				}
-			};
-		}
-
-		try {
-			delta.accept(_postAutoBuildVisitor, true);
-		} catch (CoreException exc) {
-			ValidationPlugin.getPlugin().handleException(exc);
-		}
-	}
-
-	/**
-	 * Notifies this manager that some resource changes have happened on the platform. If the change
-	 * is a project deletion, that project should be removed from the cache.
-	 * 
-	 * @see IResourceDelta
-	 * @see IResource
-	 */
-	public void resourceChanged(IResourceChangeEvent event) {
-		if (_shutdown && !isActive()) {
-			// If we're shutting down, and nothing has been activated, don't need to do anything.
-			return;
-		}
-
-		if (Tracing.isLogging()){
-			Tracing.log("Eventmanager-01: IResourceChangeEvent type=" + //$NON-NLS-1$
-				Misc.resourceChangeEventType(event.getType()) + 
-				", resource=" +  //$NON-NLS-1$
-				event.getResource() + ", source=" + event.getSource() + ", delta=" +   //$NON-NLS-1$//$NON-NLS-2$
-				event.getDelta());				
-		}
-		
-		if (event.getSource() instanceof IWorkspace) {
-			boolean isProject = event.getResource() instanceof IProject;
-			if ((event.getType() == IResourceChangeEvent.PRE_DELETE) && isProject) {
-				deleting((IProject) event.getResource());
-			} else if ((event.getType() == IResourceChangeEvent.PRE_CLOSE) && isProject) {
-				closing((IProject) event.getResource());
-			} else if (event.getType() == IResourceChangeEvent.POST_BUILD) {
-				postAutoChange(event.getDelta());
-			}
-		}
-	}
-
-	/**
-	 * Notifies this manager that the ValidationPlugin is shutting down. (Usually implies that
-	 * either the plug-in could not load, or that the workbench is shutting down.)
-	 * <p>
-	 * The manager will then notify all active helpers of the shutdown, so that they may perform any
-	 * last-minute writes to disk, cleanup, etc.
-	 */
-	public void shutdown() {
-		try {
-			// resourceChanged(IResourceChangeEvent) needs to know when a shutdown has started.
-			_shutdown = true;
-
-			// If the validators are loaded, then for every project in the workbench,
-			// we must see if it has been loaded. If it has, every enabled IWorkbenchContext
-			// must be called to clean up. If the project hasn't been loaded, then no
-			// IWorkbenchContext built anything, and there's nothing to clean up.
-			IWorkspace workspace = ResourcesPlugin.getWorkspace();
-			IWorkspaceRoot workspaceRoot = workspace.getRoot();
-			IProject[] projects = workspaceRoot.getProjects();
-			ProjectConfiguration prjp = null;
-			for (IProject project : projects) {
-				if (!project.isOpen()) {
-					// If the project isn't opened, there's nothing to clean up.
-					// If the project was opened, it would have been migrated, and there's something
-					// to clean up.
-					continue;
-				}
-
-				try {
-					boolean isMigrated = ConfigurationManager.getManager().isMigrated(project);
-					// If it's not migrated, then it hasn't been loaded, and we don't want to load
-					// the validator and its prerequisite plug-ins until they're needed.
-					if (isMigrated) {
-						prjp = ConfigurationManager.getManager().getProjectConfiguration(project);
-
-						ValidatorMetaData[] vmdList = prjp.getEnabledValidators();
-						// if vmdList is null, IProject has never been loaded, so nothing to clean up
-						if (vmdList != null) {
-							for (int j = 0; j < vmdList.length; j++) {
-								ValidatorMetaData vmd = vmdList[j];
-
-								if (!vmd.isActive()) {
-									// If this validator has not been activated, or if it has been
-									// shut down, don't activate it again.
-									continue;
-								}
-
-								IWorkbenchContext helper = vmd.getHelper(project);
-								if (helper != null) {
-									try {
-										helper.shutdown();
-									} catch (Exception exc) {
-										// Since we're shutting down, ignore the exception.
-									}
-								}
-							}
-						}
-					}
-				} catch (InvocationTargetException e) {
-					ValidationPlugin.getPlugin().handleException(e);
-					if (e.getTargetException() != null)
-						ValidationPlugin.getPlugin().handleException(e.getTargetException());
-
-				}
-			}
-		} catch (Exception exc) {
-			// Since we're shutting down, ignore the exception.
-		}
-	}
-
-	public boolean isActive() {
-		// Have to use this convoluted technique for the shutdown problem.
-		// i.e., when eclipse is shut down, if validation plug-in hasn't been loaded,
-		// the EventManager is activated for the first time, and it
-		// sends many exceptions to the .log. At first, I wrote a
-		// static method on ValidationRegistryReader, which returned true
-		// if the registry had been read, and false otherwise. However,
-		// that didn't solve the exception problem, because eclipse's
-		// class loader failed to load the ValidationRegistryReader class.
-		//
-		// The fix is to keep all shutdown mechanisms in this class.
-		// Track everything in here.
-		return _isActive;
-	}
-
-	/**
-	 * This method should only be called by the ValidationRegistryReader once the registry has been
-	 * read.
-	 */
-	public void setActive(boolean b) {
-		_isActive = b;
-	}
-
-	/**
-	 * This method should be used to determine if the workbench is running in UI or Headless.
-	 * 
-	 * @deprecated This plug-in no longer depends on jem. If you need this function use the jem
-	 * code directly.
-	 */
-	public static boolean isHeadless() {
-		//return UIContextDetermination.getCurrentContext() == UIContextDetermination.HEADLESS_CONTEXT;
-		return false;
-	}
-}
diff --git a/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/FilterUtil.java b/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/FilterUtil.java
deleted file mode 100644
index 39a36bc..0000000
--- a/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/FilterUtil.java
+++ /dev/null
@@ -1,658 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.validation.internal;
-
-
-import java.util.HashMap;
-import java.util.HashSet;
-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.IResource;
-import org.eclipse.core.resources.IResourceDelta;
-import org.eclipse.core.resources.IResourceDeltaVisitor;
-import org.eclipse.core.resources.IResourceVisitor;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.core.runtime.OperationCanceledException;
-import org.eclipse.wst.validation.internal.core.IFileDelta;
-import org.eclipse.wst.validation.internal.operations.IWorkbenchContext;
-import org.eclipse.wst.validation.internal.operations.WorkbenchFileDelta;
-import org.eclipse.wst.validation.internal.plugin.ValidationPlugin;
-
-/**
- * Utility class for the ValidationOperation hierarchy.
- */
-public final class FilterUtil {
-	private static VMDDeltaVisitor _deltaVisitor = null;
-	private static VMDResourceVisitor _resourceVisitor = null;
-
-	private interface VMDRecorder {
-		public Map<ValidatorMetaData, Set<IFileDelta>> getResult();
-
-		public void setEnabledValidators(Set<ValidatorMetaData> enabledValidators);
-
-		public void setProgressMonitor(IProgressMonitor monitor);
-
-		public IProgressMonitor getProgressMonitor();
-	}
-
-	private interface VMDDeltaVisitor extends VMDRecorder, IResourceDeltaVisitor {
-	}
-
-	private interface VMDResourceVisitor extends VMDRecorder, IResourceVisitor {
-	}
-
-	private FilterUtil() {
-	}
-
-	/**
-	 * Given a Set of enabled ValidatorMetaData, create a Map with each ValidatorMetaData as a key
-	 * with an associated null value.
-	 */
-	static Map<ValidatorMetaData, Set<IFileDelta>> wrapInMap(Set<ValidatorMetaData> enabledValidators) {
-		Map<ValidatorMetaData, Set<IFileDelta>> result = new HashMap<ValidatorMetaData, Set<IFileDelta>>();
-		if ((enabledValidators == null) || (enabledValidators.size() == 0))return result;
-
-		for (ValidatorMetaData vmd : enabledValidators)result.put(vmd, null);
-		return result;
-	}
-
-	static void checkCanceled(IProgressMonitor monitor) throws OperationCanceledException {
-		if (monitor == null)return;
-		else if (monitor.isCanceled())throw new OperationCanceledException(""); //$NON-NLS-1$
-	}
-
-	/**
-	 * Given a Map of VMD <=>Set(IFileDelta), either return the existing Set or create a Set and
-	 * return it.
-	 */
-	private static Set<IFileDelta> getResourceDeltas(Map<ValidatorMetaData, Set<IFileDelta>> enabledValidators, 
-			ValidatorMetaData vmd) {
-		Set<IFileDelta> fileDeltas = enabledValidators.get(vmd);
-		if (fileDeltas == null) {
-			fileDeltas = new HashSet<IFileDelta>();
-			enabledValidators.put(vmd, fileDeltas);
-		}
-		return fileDeltas;
-	}
-
-	/**
-	 * Given the IFileDelta type, return the corresponding IResourceDelta type.
-	 */
-	private static int getResourceDeltaType(int ifileDeltaType) {
-		switch (ifileDeltaType) {
-			case (IFileDelta.ADDED) : {
-				return IResourceDelta.ADDED;
-			}
-
-			case (IFileDelta.DELETED) : {
-				return IResourceDelta.REMOVED;
-			}
-
-			case (IFileDelta.CHANGED) :
-			default : {
-				return IResourceDelta.CHANGED;
-			}
-		}
-	}
-
-	/**
-	 * Given the IResourceDelta type, return the corresponding IFileDelta type.
-	 */
-	static int getFileDeltaType(int iresourceDeltaType) {
-		switch (iresourceDeltaType) {
-			case IResourceDelta.ADDED : // resource has been added to the workbench
-			{
-				return IFileDelta.ADDED;
-			}
-
-			case IResourceDelta.CHANGED : // resources has been changed in the workbench
-			{
-				return IFileDelta.CHANGED;
-			}
-
-			case IResourceDelta.REMOVED : // resource has been deleted from the workbench
-			{
-				return IFileDelta.DELETED;
-			}
-
-			case IResourceDelta.ADDED_PHANTOM : // incoming workbench resource
-			{
-				return IFileDelta.ADDED;
-			}
-
-			case IResourceDelta.REMOVED_PHANTOM : // outgoing workbench resource
-			{
-				return IFileDelta.DELETED;
-			}
-
-			default : {
-				return IFileDelta.CHANGED;
-			}
-		}
-	}
-
-
-	/**
-	 * Return the validators which are both configured on this type of project, (as stored in
-	 * getProject()), and enabled by the user on this project.
-	 */
-	static void addFileDelta(Map<ValidatorMetaData, Set<IFileDelta>> enabledValidators, 
-			ValidatorMetaData vmd, WorkbenchFileDelta fileDelta) {
-		Set<IFileDelta> fileDeltas = getResourceDeltas(enabledValidators, vmd);
-		fileDeltas.add(fileDelta);
-		enabledValidators.put(vmd, fileDeltas);
-	}
-
-	/**
-	 * Return a Map wrapper, with each VMD from enabledValidators as the key, and the value a Set of
-	 * IFileDelta wrapper around the changed Object[].
-	 * 
-	 * If filterIn is true, do not check if the resources are filtered in by the validator. If
-	 * filterIn is false, check if the resources are filtered in by the validator (recommended).
-	 */
-	public static Map<ValidatorMetaData, Set<IFileDelta>> 
-		getFileDeltas(Set<ValidatorMetaData> enabledValidators, Object[] changedResources, boolean filterIn) {
-		// by default assume that the resources have changed, i.e. not added or deleted
-		return getFileDeltas(enabledValidators, changedResources, IFileDelta.CHANGED, filterIn); 
-	}
-
-	/**
-	 * Return a Map wrapper, with each VMD from enabledValidators as the key, and the value a Set of
-	 * IFileDelta wrapper around the changed Object[], with each delta of type deltaType.
-	 */
-	public static Map<ValidatorMetaData, Set<IFileDelta>> 
-		getFileDeltas(Set<ValidatorMetaData> enabledValidators, Object[] changedResources, int ifileDeltaType) {
-		// by default check if the Objects are filtered in by the validator
-		return getFileDeltas(enabledValidators, changedResources, ifileDeltaType, false); 
-	}
-
-	/**
-	 * Return a Map wrapper, with each VMD from enabledValidators as the key, and the value a Set of
-	 * IFileDelta wrapper around the changed Object[].
-	 * <p>
-	 * If "force" is true, then don't check if the object is filtered in by the validator or not.
-	 * ValidatorSubsetOperation can use validators that don't filter in these particular resources,
-	 * but can use a defaultExtension's validators instead.
-	 */
-	public static Map<ValidatorMetaData, Set<IFileDelta>> getFileDeltas(Set<ValidatorMetaData> enabledValidators, 
-		Object[] changedResources, int ifileDeltaType, boolean force) {
-		
-		Map<ValidatorMetaData, Set<IFileDelta>> result = new HashMap<ValidatorMetaData, Set<IFileDelta>>();
-		if ((enabledValidators == null) || (enabledValidators.size() == 0)) {
-			return result;
-		}
-
-		boolean cannotLoad = false;
-		IWorkbenchContext helper = null;
-		for (ValidatorMetaData vmd : enabledValidators) {
-			try {
-				Set<IFileDelta> deltas = new HashSet<IFileDelta>();
-				IProgressMonitor monitor = new NullProgressMonitor();
-				for (int i = 0; i < changedResources.length; i++) {
-					Object obj = changedResources[i];
-					WorkbenchFileDelta wfd = null;
-					if (obj instanceof IResource) {
-						IResource res = (IResource) obj;
-						if (force || !filterOut(monitor, vmd, res, getResourceDeltaType(ifileDeltaType))) {
-							helper = vmd.getHelper(res.getProject());
-
-							wfd = getFileDelta(helper, vmd, res, getResourceDeltaType(ifileDeltaType));
-						}
-					} else {
-						wfd = new WorkbenchFileDelta(obj);
-					}
-
-					if (wfd != null) {
-						deltas.add(wfd);
-					}
-				}
-				result.put(vmd, deltas);
-			} catch (InstantiationException e) {
-				cannotLoad = true;
-
-				// Remove the vmd from the reader's list
-				ValidationRegistryReader.getReader().disableValidator(vmd);
-				ValidationPlugin.getPlugin().handleException(e);
-				continue;
-			}
-
-		}
-
-		if (cannotLoad) {
-			// Some of the validators should not be in the result set because either their
-			// validator class or helper class could not be instantiated.
-			Object[] vmds = enabledValidators.toArray();
-			for (int i = 0; i < vmds.length; i++) {
-				ValidatorMetaData vmd = (ValidatorMetaData) vmds[i];
-				if (vmd.cannotLoad()) {
-					result.remove(vmd);
-				}
-			}
-		}
-
-		return result;
-	}
-
-	public static WorkbenchFileDelta getFileDelta(IWorkbenchContext helper, ValidatorMetaData vmd, IResource resource, int iresourceDeltaType) {
-		// strip off the eclipse-specific information
-		String fileName = helper.getPortableName(resource);
-		if (fileName == null) {
-			// The resource is not contained in the current project.
-			// Can't see how this would happen, but check for it anyway.
-			
-			// [122960] null should be allowed
-//			String result = MessageFormat.format(ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_EXC_SYNTAX_NULL_NAME), 
-//				new Object[]{resource.getName(), vmd.getValidatorDisplayName()});
-//			ValidationPlugin.getPlugin().logMessage(IStatus.ERROR, result);
-
-			IPath resourcePath = resource.getFullPath();
-			if (resourcePath != null) {
-				// Since null file names are not allowed, default to the fully-qualified name of the
-				// resource.
-				fileName = resourcePath.toString();
-			} else {
-				ValidationPlugin.getPlugin().logMessage(IStatus.ERROR, 
-					"portableName is null and path is null for resource " + resource); //$NON-NLS-1$
-				return null;
-			}
-		}
-
-		int ifileDeltaType = getFileDeltaType(iresourceDeltaType);
-		return new WorkbenchFileDelta(fileName, ifileDeltaType, resource);
-	}
-
-
-	/**
-	 * Add the IResource to the vmd's list of resources to validate. Return true if the add was
-	 * successful or false if the add was not successful.
-	 */
-	static boolean addToFileList(Map<ValidatorMetaData, Set<IFileDelta>> enabledValidators, IWorkbenchContext helper, ValidatorMetaData vmd, IResource resource, int resourceDelta, boolean isFullBuild) {
-		if ((vmd == null) || (resource == null)) {
-			return false;
-		}
-
-		try {
-			helper.registerResource(resource);
-		} catch (Exception exc) {
-			ValidationPlugin.getPlugin().handleException(exc);
-			InternalValidatorManager.getManager().addInternalErrorTask(resource.getProject(), vmd, exc);
-
-			// Don't return ... even though the register threw an exception, that's not to say
-			// that the validator can't validate.
-		}
-
-		if (isFullBuild) {
-			// To indicate a full build to the validator, don't build up a list of files;
-			// pass in null instead. Given that the list of files should not be used,
-			// don't calculate it.
-			return true;
-		}
-
-
-		WorkbenchFileDelta newFileDelta = getFileDelta(helper, vmd, resource, resourceDelta);
-		if (newFileDelta != null) {
-			// if delta is null, getFileDelta will have logged the problem already
-			addFileDelta(enabledValidators, vmd, newFileDelta);
-		}
-
-		return true;
-	}
-
-	/**
-	 * Whether a full verification or a delta verification is in progress, both will call this
-	 * method to process the resource. This method calls the current Validator to filter the
-	 * resource (i.e., this method returns if the resource fails the filter test).
-	 * <code>process</code> also sends output to the <code>IProgressMonitor</code>, and calls
-	 * the current Validator to validate the resource.
-	 * 
-	 * To process a resource, there are several steps: 1. check if the resource is registered for
-	 * this validator (i.e., the validator has either specified it in a filter, or has not filtered
-	 * it out explicitly) 2. call <code>isValidationSource</code> on the current validator with
-	 * the current resource. This method performs further filtering by the Validator itself, in
-	 * addition to the static filtering done by the framework, based on the information in
-	 * plugin.xml. 3. If the resource passes both filters, call <code>validate</code> on the
-	 * validator, with the resource. 4. When complete (either by failing to pass a filter, or by the
-	 * completion of the <code>validate</code>), increment the IProgressMonitor's status by one
-	 * (i.e., one resource has been processed.)
-	 */
-	static boolean filterOut(IProgressMonitor monitor, ValidatorMetaData vmd, IResource resource, int resourceDelta) {
-		if (monitor == null) {
-			return false;
-		}
-
-		checkCanceled(monitor);
-		return !(vmd.isApplicableTo(resource, resourceDelta));
-	}
-
-	/**
-	 * Whether a full verification or a delta verification is in progress, both
-	 * will call this method to process the resource. This method calls the
-	 * current Validator to filter the resource (i.e., this method returns if
-	 * the resource fails the filter test). It also sends output to the
-	 * <code>IProgressMonitor</code>, and calls the current Validator to
-	 * validate the resource.
-	 * <p>
-	 * To process a resource, there are several steps:
-	 * <ol>
-	 * <li>Check if the resource is registered for this validator (i.e., the
-	 * validator has either specified it in a filter, or has not filtered it out
-	 * explicitly)
-	 * <li>Call <code>isValidationSource</code> on the current validator with
-	 * the current resource. This method performs further filtering by the
-	 * Validator itself, in addition to the static filtering done by the
-	 * framework, based on the information in the extension point.
-	 * <li>If the resource passes both filters, call <code>validate</code> on
-	 * the validator, with the resource.
-	 * <li>When complete (either by failing to pass a filter, or by the
-	 * completion of the <code>validate</code>), increment the
-	 * IProgressMonitor's status by one (i.e., one resource has been processed.)
-	 * </ol>
-	 */
-	static void filterOut(IProgressMonitor monitor, Map<ValidatorMetaData, Set<IFileDelta>> enabledValidators, 
-		IResource resource, int resourceDelta, boolean isFullBuild) {
-		if (monitor == null)return;
-
-		checkCanceled(monitor);
-
-		boolean cannotLoad = false;
-		for (ValidatorMetaData vmd : enabledValidators.keySet()) {
-			checkCanceled(monitor);
-
-			if (!filterOut(monitor, vmd, resource, resourceDelta)) {
-				try {
-					// Notify the helper that a resource is about to be filtered in
-					IWorkbenchContext helper = vmd.getHelper(resource.getProject());
-					addToFileList(enabledValidators, helper, vmd, resource, resourceDelta, isFullBuild);
-				} catch (InstantiationException e) {
-					cannotLoad = true;
-
-					// Remove the vmd from the reader's list
-					ValidationRegistryReader.getReader().disableValidator(vmd);
-					ValidationPlugin.getPlugin().handleException(e);
-				}
-			}
-		}
-
-		if (cannotLoad) {
-			// Some of the validators need to be removed from the set because the validator
-			// or helper cannot be instantiated.
-			Object[] vmds = enabledValidators.keySet().toArray();
-			for (int i = 0; i < vmds.length; i++) {
-				ValidatorMetaData vmd = (ValidatorMetaData) vmds[i];
-				if (vmd.cannotLoad()) {
-					enabledValidators.remove(vmd);
-				}
-			}
-		}
-	}
-
-	/**
-	 * Whether a full verification or a delta verification is in progress, both will call this
-	 * method to process the resource. This method calls the current Validator to filter the
-	 * resource (i.e., this method returns if the resource fails the filter test).
-	 * <code>process</code> also sends output to the <code>IProgressMonitor</code>, and calls
-	 * the current Validator to validate the resource.
-	 * 
-	 * This method is called during an incremental, not a full, validation. The full validation
-	 * fakes an IResourceDelta, and the incremental needs to check that the delta is one of the
-	 * deltas which is filtered in by the validation framework.
-	 * 
-	 * @see filterOut(IResourceDelta)
-	 * 
-	 * To process a resource, there are several steps: 1. check if the resource is registered for
-	 * this validator (i.e., the validator has either specified it in a filter, or has not filtered
-	 * it out explicitly) 2. call <code>isValidationSource</code> on the current validator with
-	 * the current resource. This method performs further filtering by the Validator itself, in
-	 * addition to the static filtering done by the framework, based on the information in
-	 * plugin.xml. 3. If the resource passes both filters, call <code>validate</code> on the
-	 * validator, with the resource. 4. When complete (either by failing to pass a filter, or by the
-	 * completion of the <code>validate</code>), increment the IProgressMonitor's status by one
-	 * (i.e., one resource has been processed.)
-	 */
-	static void filterOut(IProgressMonitor monitor, Map<ValidatorMetaData, Set<IFileDelta>> enabledValidators, 
-			IResource resource, IResourceDelta delta) {
-		// filter in only resources which have been added, deleted, or its content changed.
-		// moves will be registered as an add & delete combination
-		if (filterOut(delta))return;
-		
-		filterOut(monitor, enabledValidators, resource, delta.getKind(), false); // false =
-		// incremental
-		// build
-	}
-
-	/**
-	 * Filter out resource deltas which don't correspond to changes that validators can validate.
-	 * 
-	 * This method will filter in deltas only if the delta is an add, a delete, or if the content of
-	 * the file has changed.
-	 * 
-	 * Return true if the delta should be filtered out, and false if we should validate it.
-	 * 
-	 * @see IResourceDelta
-	 */
-	static boolean filterOut(IResourceDelta delta) {
-		if (delta == null) {
-			return true;
-		}
-
-		switch (delta.getKind()) {
-			case IResourceDelta.ADDED : // resource has been added to the workbench
-			{
-				return false;
-			}
-
-			case IResourceDelta.REMOVED : // resource has been deleted from the workbench
-			{
-				// If the delta is an IProject, and the IProject is getting deleted or closed, don't
-				// validate it or its children.
-				if (delta.getResource() instanceof IProject) {
-					return true;
-				}
-				return false;
-			}
-
-			case IResourceDelta.CHANGED : // resources has been changed in the workbench
-			{
-				// We want to add the enterprise bean only if its source file's
-				// contents have changed. (for example, if a folder has been
-				// added to the project, the IFile will be changed because
-				// its position has been changed, but the enterprise bean
-				// doesn't need to be redeployed. See IResourceDelta.getFlags()
-				// for more information.)
-				//
-				// Or, if ejb-jar.xml has changed, the EJBJar is destroyed & created
-				// from scratch, so the list of EnterpriseBean is new. Purge the old
-				// EJBJar from the EJBCache (since it will never be referenced again),
-				// and load the new EJBJar into the cache.
-				if ((delta.getResource() instanceof IFile) && ((delta.getFlags() & IResourceDelta.CONTENT) != 0)) {
-					return false;
-				}
-			}
-		}
-		return true;
-	}
-
-	/**
-	 * This method returns true if the given resource and its children should be processed by the
-	 * validators. That is, there are several types of changes which can occur to an IProject which
-	 * should not trigger a revalidation of the project or its children. (e.g. project is deleted or
-	 * closed.) For those cases, or if the IResourceDelta is invalid, this method will return false
-	 * (do not validate the IProject or its children). Otherwise, return true (validate the resource &
-	 * its children). If an IProject itself has not changed, but one of its children has
-	 * (delta.getKind() of NO_CHANGE), then return true so that the children are validated.
-	 */
-	static boolean shouldProcess(IResource resource, IResourceDelta delta) {
-		if ((resource != null) && !(resource instanceof IProject)) {
-			return true;
-		}
-
-		if (delta == null) {
-			return false;
-		}
-
-		switch (delta.getKind()) {
-			case IResourceDelta.ADDED : // resource has been deleted from the workbench; may be part
-			// of a move
-			{
-				if (0 != (delta.getFlags() & IResourceDelta.MOVED_FROM)) {
-					// If it's being moved, don't revalidate its children. If it's being added, fall
-					// through to the "return true;" at the end of this method.
-					return false;
-				}
-				break;
-			}
-
-			case IResourceDelta.REMOVED : // resource has been deleted from the workbench; may be
-			// part of a move
-			{
-				// Whether it's being deleted or moved, don't revalidate its children.
-				return false;
-			}
-
-			case IResourceDelta.CHANGED : // resource has been changed in the workbench; may be part
-			// of a move
-			{
-				if ((delta.getFlags() & IResourceDelta.OPEN) != 0) {
-					// Change is related to the OPEN bit. Whether the project was closed and is now
-					// open,
-					// or the project was open and is now closed, don't need to revalidate the
-					// children.
-					return false;
-				} else if ((delta.getFlags() & IResourceDelta.REPLACED) != 0) {
-					// project was moved
-					return false;
-				}
-
-				break;
-			}
-		}
-
-		return true;
-	}
-
-	private static VMDResourceVisitor getResourceVisitor(IProgressMonitor monitor, Set<ValidatorMetaData> enabledValidators) {
-		if (_resourceVisitor == null) {
-			_resourceVisitor = new VMDResourceVisitor() {
-				private Map<ValidatorMetaData, Set<IFileDelta>> _vmdDeltas = null;
-				private IProgressMonitor _progressMonitor = null;
-
-				public Map<ValidatorMetaData, Set<IFileDelta>> getResult() {
-					return _vmdDeltas;
-				}
-
-				public void setEnabledValidators(Set<ValidatorMetaData> validators) {
-					_vmdDeltas = wrapInMap(validators);
-				}
-
-				public IProgressMonitor getProgressMonitor() {
-					return _progressMonitor;
-				}
-
-				public void setProgressMonitor(IProgressMonitor m) {
-					_progressMonitor = m;
-				}
-
-				public boolean visit(IResource res) throws CoreException {
-					FilterUtil.checkCanceled(getProgressMonitor());
-
-					// We don't need to filter out anything, because a full validation
-					// is about to be performed.
-					filterOut(getProgressMonitor(), _vmdDeltas, res, IResourceDelta.CHANGED, true);
-
-					return true; // visit the resource's children as well
-				}
-			};
-		}
-		_resourceVisitor.setProgressMonitor(monitor);
-		_resourceVisitor.setEnabledValidators(enabledValidators);
-
-		return _resourceVisitor;
-	}
-
-	private static VMDDeltaVisitor getDeltaVisitor(IProgressMonitor monitor, Set<ValidatorMetaData> enabledValidators) {
-		if (_deltaVisitor == null) {
-			_deltaVisitor = new VMDDeltaVisitor() {
-				private Map<ValidatorMetaData, Set<IFileDelta>> _vmdDeltas = null;
-				private IProgressMonitor _progressMonitor = null;
-
-				public Map<ValidatorMetaData, Set<IFileDelta>> getResult() {
-					return _vmdDeltas;
-				}
-
-				public void setEnabledValidators(Set<ValidatorMetaData> validators) {
-					_vmdDeltas = wrapInMap(validators);
-				}
-
-				public IProgressMonitor getProgressMonitor() {
-					return _progressMonitor;
-				}
-
-				public void setProgressMonitor(IProgressMonitor m) {
-					_progressMonitor = m;
-				}
-
-				public boolean visit(IResourceDelta subdelta) throws CoreException {
-					checkCanceled(getProgressMonitor());
-					if (subdelta == null)
-						return true;
-
-					IResource resource = subdelta.getResource();
-
-					if (Tracing.isLogging(2)) {
-						StringBuffer buffer = new StringBuffer("FilterUtil-01: subdelta of "); //$NON-NLS-1$
-						buffer.append(resource.getName());
-						buffer.append(" has resource delta kind: "); //$NON-NLS-1$
-						buffer.append(subdelta.getKind());
-						buffer.append(" Does the resource exist? "); //$NON-NLS-1$
-						buffer.append(resource.exists());
-						buffer.append(" Is it a phantom? "); //$NON-NLS-1$
-						buffer.append(resource.isPhantom());
-						Tracing.log(buffer);
-					}
-
-					// If the delta is an IProject, and the IProject is getting deleted or closed,
-					// don't validate it or its children.
-					if (shouldProcess(resource, subdelta)) {
-						filterOut(getProgressMonitor(), _vmdDeltas, resource, subdelta);
-						return true; // visit the delta's children as well
-					}
-					return false; // do not visit the delta's children
-				}
-			};
-		}
-		_deltaVisitor.setProgressMonitor(monitor);
-		_deltaVisitor.setEnabledValidators(enabledValidators);
-
-		return _deltaVisitor;
-	}
-
-	public static Map<ValidatorMetaData, Set<IFileDelta>> loadDeltas(final IProgressMonitor monitor, 
-			final Set<ValidatorMetaData> enabledValidators,	IResourceDelta delta) throws CoreException {
-		VMDDeltaVisitor visitor = getDeltaVisitor(monitor, enabledValidators);
-		delta.accept(visitor, true); // true means include phantom resources
-		return visitor.getResult();
-	}
-
-	public static Map<ValidatorMetaData, Set<IFileDelta>> loadDeltas(final IProgressMonitor monitor, 
-			final Set<ValidatorMetaData> enabledValidators,	IProject project) throws CoreException {
-		VMDResourceVisitor visitor = getResourceVisitor(monitor, enabledValidators);
-		project.accept(visitor, IResource.DEPTH_INFINITE, true); // true means include phantom
-		// resources
-		return visitor.getResult();
-	}
-}
diff --git a/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/GlobalConfiguration.java b/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/GlobalConfiguration.java
deleted file mode 100644
index 20c044f..0000000
--- a/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/GlobalConfiguration.java
+++ /dev/null
@@ -1,197 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.validation.internal;
-
-import java.lang.reflect.InvocationTargetException;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IWorkspaceRoot;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.wst.validation.internal.plugin.ValidationPlugin;
-
-
-/**
- * This class represents the global Preferences as set on the Validation Preferences page.
- */
-public class GlobalConfiguration extends ValidationConfiguration {
-	static final boolean PREF_PROJECTS_CAN_OVERRIDE_DEFAULT = true;
-	static final boolean PREF_SAVE_AUTOMATICALLY_DEFAULT = false;
-
-	private boolean _canProjectsOverride = getCanProjectsOverrideDefault();
-	private boolean _saveAutomatically = getSaveAutomaticallyDefault();
-
-	/**
-	 * This constructor should be used in all cases except for the Preference page's values.
-	 */
-	public GlobalConfiguration(IWorkspaceRoot root) throws InvocationTargetException {
-		super(root, convertToArray(ValidationRegistryReader.getReader().getAllValidators()));
-
-		// Can't put the call to load() and passivate() in the ValidationConfiguration constructor due
-		// to the order of initialization.
-		//    1. First the ValidationConfiguration constructor is called, and that loads the stored values.
-		//    2. Then this class's <init> method is called, and that initializes the "override" field
-		// 	  to the default, which may be different than the stored value.
-	}
-
-	/**
-	 * This constructor is provided only for the Preference page, so that the page can store values
-	 * without persisting them (i.e., if the user presses Cancel then nothing needs to be done.)
-	 */
-	public GlobalConfiguration(GlobalConfiguration original) throws InvocationTargetException {
-		super(original.getResource());
-		original.copyTo(this);
-	}
-
-	public boolean canProjectsOverride() {
-		return _canProjectsOverride;
-	}
-
-	public void setCanProjectsOverride(boolean can) {
-		_canProjectsOverride = can;
-	}
-	
-	public boolean getSaveAutomatically() {
-		return _saveAutomatically;
-	}
-	
-	public void setSaveAutomatically(boolean save) {
-		_saveAutomatically = save;
-	}
-
-	public void resetToDefault()  throws InvocationTargetException {
-		setDisableAllValidation(getDisableValidationDefault());
-		setEnabledValidators(getEnabledValidatorsDefault());
-		setEnabledManualValidators(getManualEnabledValidators());
-		setEnabledBuildValidators(getBuildEnabledValidators());
-		setCanProjectsOverride(getCanProjectsOverrideDefault());
-		setSaveAutomatically(getSaveAutomaticallyDefault());
-		setDefaultDelegates(getValidators());
-	}
-
-	/**
-	 * This method exists only for migration purposes. The root marker must be deleted after
-	 * migration is complete.
-	 */
-	protected IMarker[] getMarker() {
-		try {
-			IWorkspaceRoot root = getRoot();
-			IMarker[] markers = root.findMarkers(ConfigurationConstants.PREFERENCE_MARKER, false, IResource.DEPTH_ONE);
-
-			if (markers.length == 1) {
-				return markers;
-			}
-			// job is done. Nothing to migrate.
-			return null;
-
-		} catch (CoreException e) {
-			// Can't find the IMarker? Assume it's deleted.
-			ValidationPlugin.getPlugin().handleException(e);
-			return null;
-		}
-	}
-
-	protected void load(IMarker[] marker) throws InvocationTargetException {
-		// The 5.0 preferences were stored in an IMarker, and the current.preferences are stored in
-		// PersistentProperties on the IResource.
-		// A 5.0 root can have no marker values if the preference page, properties page, and
-		// validation were never viewed or run.
-		try {
-			IWorkspaceRoot root = getRoot();
-			if (marker == null) {
-				// There were no global preferences in 4.03, so the migration is to create some.
-				resetToDefault(); // assign the default values to the new Global Preference
-				return;
-			}
-
-			IMarker rootMarker = marker[0]; // getMarker() has already checked that there's a marker
-			// in the array
-//			ValidatorMetaData[] enabledValidators = null;
-//			String enabledValidatorsString = (String) getValue(rootMarker, ConfigurationConstants.ENABLED_VALIDATORS);
-//			if (enabledValidatorsString == null) {
-//				enabledValidators = ConfigurationConstants.DEFAULT_ENABLED_VALIDATORS;
-//			} else {
-//				enabledValidators = getStringAsEnabledElementsArray(enabledValidatorsString);
-//			}
-//
-//			setEnabledValidators(enabledValidators);
-			String enabledManualValidators = (String) getValue(rootMarker, ConfigurationConstants.ENABLED_MANUAL_VALIDATORS);
-			setEnabledManualValidators(getStringAsEnabledElementsArray(enabledManualValidators));
-			String enabledBuildValidators = (String) getValue(rootMarker, ConfigurationConstants.ENABLED_BUILD_VALIDATORS);
-			setEnabledManualValidators(getStringAsEnabledElementsArray(enabledBuildValidators));
-//			if (enabledManualValidators.equals(null) || enabledBuildValidators.equals(null)) 
-//				enabledValidators = ConfigurationConstants.DEFAULT_ENABLED_VALIDATORS;
-			setCanProjectsOverride(getValue(rootMarker, ConfigurationConstants.PREF_PROJECTS_CAN_OVERRIDE, PREF_PROJECTS_CAN_OVERRIDE_DEFAULT));
-			root.getWorkspace().deleteMarkers(marker);
-		} catch (CoreException e) {
-			ValidationPlugin.getPlugin().handleException(e);
-		}
-	}
-
-	protected void copyTo(GlobalConfiguration gp) throws InvocationTargetException {
-		super.copyTo(gp);
-
-		// Need to have a distinct method for this child class (i.e., the parameter
-		// is not a ValidationConfiguration) because if this initialization is
-		// called as part of ValidationConfiguration's constructor, then the value of
-		// this field is overwritten. Fields of this class are initialized to the
-		// default after the ValidationConfiguration parent is created.
-		gp.setCanProjectsOverride(canProjectsOverride());
-		gp.setSaveAutomatically(getSaveAutomatically());
-	}
-
-	public static boolean getCanProjectsOverrideDefault() {
-		return PREF_PROJECTS_CAN_OVERRIDE_DEFAULT;
-	}
-	
-	public static boolean getSaveAutomaticallyDefault() {
-		return PREF_SAVE_AUTOMATICALLY_DEFAULT;
-	}
-
-	/**
-	 * @see org.eclipse.wst.validation.internal.operations.internal.attribute.ValidationConfiguration#deserialize(String)
-	 */
-	public void deserialize(String storedConfiguration) throws InvocationTargetException {
-		super.deserialize(storedConfiguration);
-
-		if (storedConfiguration != null && storedConfiguration.length() > 0) {
-			// If it's null, then super.deserialize has already called resetToDefault to initialize
-			// this instance.
-			int canOverrideIndex = storedConfiguration.indexOf(ConfigurationConstants.PREF_PROJECTS_CAN_OVERRIDE);
-			int disableAllValidationIndex = storedConfiguration.indexOf(ConfigurationConstants.DISABLE_ALL_VALIDATION_SETTING);
-			int saveAutomaticallyIndex = storedConfiguration.indexOf(ConfigurationConstants.SAVE_AUTOMATICALLY_SETTING);
-			if (disableAllValidationIndex != -1) {
-				String canOverride = storedConfiguration.substring(canOverrideIndex + ConfigurationConstants.PREF_PROJECTS_CAN_OVERRIDE.length(), disableAllValidationIndex);
-				setCanProjectsOverride(Boolean.valueOf(canOverride).booleanValue());
-			}
-			if(saveAutomaticallyIndex != -1)
-			{
-				String saveAutomatically = storedConfiguration.substring(saveAutomaticallyIndex + ConfigurationConstants.SAVE_AUTOMATICALLY_SETTING.length(), canOverrideIndex);
-				setSaveAutomatically(Boolean.valueOf(saveAutomatically).booleanValue());
-			}
-		}
-	}
-
-	/**
-	 * @see org.eclipse.wst.validation.internal.operations.internal.attribute.ValidationConfiguration#serialize()
-	 */
-	public String serialize() throws InvocationTargetException {
-		StringBuffer buffer = new StringBuffer();
-		buffer.append(ConfigurationConstants.SAVE_AUTOMATICALLY_SETTING);
-		buffer.append(String.valueOf(getSaveAutomatically()));
-		buffer.append(ConfigurationConstants.PREF_PROJECTS_CAN_OVERRIDE);
-		buffer.append(String.valueOf(canProjectsOverride()));
-		buffer.append(super.serialize());
-		return buffer.toString();
-	}
-
-	
-}
diff --git a/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/IProjectValidationHelper.java b/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/IProjectValidationHelper.java
deleted file mode 100644
index 959988e..0000000
--- a/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/IProjectValidationHelper.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.validation.internal;
-
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.resources.IProject;
-
-/**
- * ValidatorHelper extensions must implement this interface.
- */
-public interface IProjectValidationHelper {
-	
-	public IContainer[] getOutputContainers(IProject project);
-	
-	public IContainer[] getSourceContainers(IProject project);
-	
-	public void disposeInstance();
-
-}
diff --git a/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/IValidationSelectionHandler.java b/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/IValidationSelectionHandler.java
deleted file mode 100644
index 38292b6..0000000
--- a/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/IValidationSelectionHandler.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.validation.internal;
-
-import org.eclipse.core.resources.IResource;
-
-/**
- * This is used by extensions to add valid validation types to the validate
- * menu action.
- */
-public interface IValidationSelectionHandler {
-
-	/**
-	 * Return a valid IResource type for the extensible object selection,
-	 * should be instance of IFolder, IFile, or IProject if this extension knows
-	 * how to handle the selection, otherwise it should return null
-	 */ 
-	public IResource getBaseValidationType(Object selection);
-	
-	/**
-	 * @return the classname of the validation type to register for validation
-	 */
-	public String getValidationTypeString();
-	
-	public void setValidationTypeString(String validationType);
-	
-}
diff --git a/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/InternalValidatorManager.java b/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/InternalValidatorManager.java
deleted file mode 100644
index 5f9dba8..0000000
--- a/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/InternalValidatorManager.java
+++ /dev/null
@@ -1,183 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.validation.internal;
-
-
-import java.lang.reflect.InvocationTargetException;
-import java.util.Collection;
-import java.util.HashSet;
-import java.util.Set;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.wst.validation.internal.core.Message;
-import org.eclipse.wst.validation.internal.operations.WorkbenchReporter;
-import org.eclipse.wst.validation.internal.plugin.ValidationPlugin;
-import org.eclipse.wst.validation.internal.provisional.core.IMessage;
-
-public final class InternalValidatorManager {
-	private static InternalValidatorManager _inst = null;
-	private static final String OP_GROUP = "ValidationOperation"; //$NON-NLS-1$ // when the ValidationOperation
-
-	// adds a message to the task
-	// list; e.g. cancel, or internal
-	// error, this group name is used
-	// to distinguish between the
-	// messages that the validator
-	// itself put, and the ones which
-	// the validator owns, but the
-	// operation put. //$NON-NLS-1$
-
-	private InternalValidatorManager() {
-		//default
-	}
-
-	public static InternalValidatorManager getManager() {
-		if (_inst == null) {
-			_inst = new InternalValidatorManager();
-		}
-		return _inst;
-	}
-
-	/**
-	 * Return a new Set that contains all of the elements from the array.
-	 */
-	public static Set<ValidatorMetaData> wrapInSet(ValidatorMetaData[] vmds) {
-		Set<ValidatorMetaData> result = new HashSet<ValidatorMetaData>();
-		if ((vmds == null) || (vmds.length == 0))return result;
-
-		for (ValidatorMetaData vmd : vmds)result.add(vmd);
-
-		return result;
-	}
-
-	/**
-	 * If the current validator throws a Throwable, log the internal error to the task list.
-	 * 
-	 * This method is for use by the validation framework only.
-	 */
-	public void addInternalErrorTask(IProject project, ValidatorMetaData vmd, Throwable exc) {
-		addOperationTask(project, vmd, ResourceConstants.VBF_EXC_INTERNAL, new String[]{project.getName(), vmd.getValidatorDisplayName(), ((exc.getMessage() == null) ? "" : exc.getMessage())}); //$NON-NLS-1$
-	}
-
-	/**
-	 * If the user is cancelling validation on the current project/resource, Add an information task
-	 * to the task list informing the user that validation has not been run on the current project.
-	 * 
-	 * If the current validator throws a Throwable, log the internal error to the task list.
-	 */
-	public void addOperationTask(IProject project, ValidatorMetaData vmd, String messageId, String[] parms) {
-		Message message = ValidationPlugin.getMessage();
-		message.setSeverity(IMessage.LOW_SEVERITY);
-		message.setId(messageId);
-		message.setParams(parms);
-		message.setGroupName(OP_GROUP);
-
-		// Although the message is owned by the validator, the string of the message has to be
-		// loaded by this class' ClassLoader
-		WorkbenchReporter.addMessage(project, vmd.getValidatorUniqueName(), getClass().getClassLoader(), message);
-	}
-
-
-	/**
-	 * If the user cancelled the previous validation with this validator, or if there was a
-	 * Throwable caught during the last execution of this validator, and the validator is in the
-	 * process of validating now, remove the former information task messages.
-	 */
-	public void removeOperationTasks(IProject project, ValidatorMetaData vmd) {
-		WorkbenchReporter.removeMessageSubset(project, vmd.getValidatorUniqueName(), OP_GROUP);
-	}
-
-	/**
-	 * Return an array of the fully-qualified names of the validator classes.
-	 */
-	public String[] getValidatorNames(ValidatorMetaData[] vmds) {
-		Set<String> temp = new HashSet<String>();
-		for (ValidatorMetaData vmd : vmds) {
-			for (String name : vmd.getValidatorNames()) {
-				temp.add(name);
-			}
-		}
-
-		String[] vmdNames = new String[temp.size()];
-		temp.toArray(vmdNames);
-		return vmdNames;
-	}
-
-	/**
-	 * Return an array of the fully-qualified names of the validator classes.
-	 */
-	public String[] getValidatorNames(Collection<ValidatorMetaData> vmds) {
-		Set<String> temp = new HashSet<String>();
-		for (ValidatorMetaData vmd : vmds) {
-			for (String name : vmd.getValidatorNames()) {
-				temp.add(name);
-			}
-		}
-
-		String[] vmdNames = new String[temp.size()];
-		temp.toArray(vmdNames);
-		return vmdNames;
-	}
-
-	/**
-	 * Return a list of validators that validate files with the given extension.
-	 */
-	public ValidatorMetaData[] getValidatorsForExtension(IProject project, String fileExtension) {
-		try {
-			ProjectConfiguration prjp = ConfigurationManager.getManager().getProjectConfiguration(project);
-
-			// Get all of the validators configured on the project for the given file extension
-			ValidatorMetaData[] vmds = prjp.getValidators();
-
-			// Construct a fake IFile type to represent a file with this extension.
-			StringBuffer buffer = new StringBuffer(project.getName());
-			buffer.append(IPath.SEPARATOR);
-			buffer.append(fileExtension);
-			IPath path = new Path(buffer.toString());
-			IFile file = ResourcesPlugin.getWorkspace().getRoot().getFile(path);
-
-			ValidatorMetaData[] temp = new ValidatorMetaData[vmds.length];
-			int count = 0;
-			for (int i = 0; i < vmds.length; i++) {
-				ValidatorMetaData vmd = vmds[i];
-				if (vmd.isApplicableTo(file)) {
-					temp[count++] = vmd;
-				}
-			}
-
-			ValidatorMetaData[] result = new ValidatorMetaData[count];
-			System.arraycopy(temp, 0, result, 0, count);
-			return result;
-		} catch (InvocationTargetException e) {
-			ValidationPlugin.getPlugin().handleException(e);
-			if (e.getTargetException() != null)
-				ValidationPlugin.getPlugin().handleException(e.getTargetException());
-			return new ValidatorMetaData[0];
-		}
-	}
-
-	/**
-	 * Return a list of validator names that validate files with the given extension.
-	 */
-	public String[] getValidatorNamesForExtension(IProject project, String fileExtension) {
-		ValidatorMetaData[] vmds = getValidatorsForExtension(project, fileExtension);
-
-		String[] names = new String[vmds.length];
-		for (int i = 0; i < names.length; i++) {
-			names[i] = vmds[i].getValidatorUniqueName();
-		}
-		return names;
-	}
-}
diff --git a/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/ProjectConfiguration.java b/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/ProjectConfiguration.java
deleted file mode 100644
index 5f39ecf..0000000
--- a/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/ProjectConfiguration.java
+++ /dev/null
@@ -1,659 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2009 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.validation.internal;
-
-import java.lang.reflect.InvocationTargetException;
-import java.util.HashSet;
-import java.util.Map;
-import java.util.Set;
-import java.util.StringTokenizer;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.wst.validation.internal.delegates.ValidatorDelegateDescriptor;
-import org.eclipse.wst.validation.internal.plugin.ValidationPlugin;
-import org.osgi.service.prefs.BackingStoreException;
-
-/**
- * This class represents the Project Preferences as set on the Project's Validation Properties page.
- */
-public class ProjectConfiguration extends ValidationConfiguration {
-	
-	/** false - If the user has never set a preference before, this is the override default */
-	static final boolean PRJ_OVERRIDEGLOBAL_DEFAULT = false;
-	
-	/** default_value - the configuration is using the defaults. */
-	private static final String DefaultValue = "default_value"; //$NON-NLS-1$
-	
-	private boolean _doesProjectOverride = getDoesProjectOverrideDefault();
-
-	/**
-	 * This constructor should be used in all cases except for the Properties page's values.
-	 */
-	protected ProjectConfiguration(IProject project) throws InvocationTargetException {
-		// The extractProjectValidators method extracts just this project's validators from the
-		// global list.
-		super(project, extractProjectValidators(convertToArray(ValidationRegistryReader.getReader().getAllValidators()), project));
-
-		// Can't put the call to load() and passivate() in the ValidationConfiguration constructor due
-		// to the order of initialization.
-		//    1. First the ValidationConfiguration constructor is called, and that loads the stored values.
-		//    2. Then this class's <init> method is called, and that initializes the "override" field
-		//       to the default, which may be different than the stored value.
-	}
-
-	/**
-	 * This constructor is provided only for the Properties page, so that the page can store values
-	 * without persisting them (i.e., if the user presses Cancel then nothing needs to be done.)
-	 * 
-	 * @deprecated
-	 */
-	public ProjectConfiguration(ProjectConfiguration original) throws InvocationTargetException {
-		super(original.getResource());
-		original.copyTo(this);
-	}
-
-	/**
-	 * Return the ValidationConfiguration to use, whether global or project.
-	 */
-	public boolean useGlobalPreference() {
-		try {
-			GlobalConfiguration gp = ConfigurationManager.getManager().getGlobalConfiguration();
-			if (gp == null) {
-				return false;
-			}
-
-			if (!gp.canProjectsOverride()) {
-				// If project's can't override the global, use the global
-				return true;
-			}
-
-			// If the project overrides, then don't use the global.
-			// If the project does not override, use the global.
-			return !_doesProjectOverride;
-		} catch (InvocationTargetException e) {
-			ValidationPlugin.getPlugin().handleException(e);
-			return false;
-		}
-	}
-	
-	public boolean getDoesProjectOverride(){
-		return _doesProjectOverride;
-	}
-
-	public boolean doesProjectOverride() {
-		// If the global preference doesn't allow projects to override, it doesn't matter what the
-		// value of _doesProjectOverride is.
-		return !useGlobalPreference();
-	}
-
-	public void setDoesProjectOverride(boolean does) {
-		_doesProjectOverride = does;
-	}
-
-	/**
-	 * If the preferences should be used then the preference settings are returned; otherwise return
-	 * the project settings.
-	 */
-	public ValidatorMetaData[] getEnabledValidators() throws InvocationTargetException {
-		if (useGlobalPreference()) {
-			return extractProjectValidators(ConfigurationManager.getManager().getGlobalConfiguration().getEnabledValidators(), getResource());
-		}
-		return super.getEnabledValidators();
-	}
-	
-	public ValidatorMetaData[] getManualEnabledValidators() throws InvocationTargetException  {
-		if (useGlobalPreference()) {
-			return extractProjectValidators(ConfigurationManager.getManager().getGlobalConfiguration().getManualEnabledValidators(), getResource());
-		}
-		return super.getManualEnabledValidators();
-	}
-	
-	public ValidatorMetaData[] getBuildEnabledValidators() throws InvocationTargetException {
-		if (useGlobalPreference()) {
-			return extractProjectValidators(ConfigurationManager.getManager().getGlobalConfiguration().getBuildEnabledValidators(), getResource());
-		}
-		return super.getBuildEnabledValidators();
-	}
-	
-
-	/**
-	 * @see org.eclipse.wst.validation.internal.operations.internal.preference.ValidationConfiguration#getDisabledValidators()
-	 */
-	public ValidatorMetaData[] getDisabledValidators() throws InvocationTargetException {
-		if (useGlobalPreference()) {
-			return extractProjectValidators(ConfigurationManager.getManager().getGlobalConfiguration().getDisabledValidators(), getResource());
-		}
-		return super.getDisabledValidators();
-	}
-
-	/**
-	 * @see org.eclipse.wst.validation.internal.operations.internal.preference.ValidationConfiguration#getValidators()
-	 */
-	public ValidatorMetaData[] getValidators() throws InvocationTargetException {
-		if (useGlobalPreference()) {
-			return extractProjectValidators(ConfigurationManager.getManager().getGlobalConfiguration().getValidators(), getResource());
-		}
-		return super.getValidators();
-	}
-
-  public Map<String,String> getDelegatingValidators() throws InvocationTargetException {
-    if (useGlobalPreference()) {
-      return ConfigurationManager.getManager().getGlobalConfiguration().getDelegatingValidators();
-    }
-    return super.getDelegatingValidators();
-  }
-
-	/**
-	 * @see org.eclipse.wst.validation.internal.operations.internal.attribute.ValidationConfiguration#getEnabledIncrementalValidators(boolean)
-	 */
-	public ValidatorMetaData[] getEnabledIncrementalValidators(boolean incremental) throws InvocationTargetException {
-		if (useGlobalPreference()) {
-			return extractProjectValidators(ConfigurationManager.getManager().getGlobalConfiguration().getEnabledIncrementalValidators(incremental), getResource());
-		}
-		return super.getEnabledIncrementalValidators(incremental);
-	}
-
-	/**
-	 * @see org.eclipse.wst.validation.internal.operations.internal.preference.ValidationConfiguration#isEnabled(ValidatorMetaData)
-	 */
-	public boolean isEnabled(ValidatorMetaData vmd) throws InvocationTargetException {
-		if (useGlobalPreference()) {
-			return ConfigurationManager.getManager().getGlobalConfiguration().isEnabled(vmd);
-		}
-		return super.isEnabled(vmd);
-	}
-
-	/**
-	 * @see org.eclipse.wst.validation.internal.operations.internal.preference.ValidationConfiguration#numberOfDisabledValidators()
-	 */
-	public int numberOfDisabledValidators() throws InvocationTargetException {
-		if (useGlobalPreference()) {
-			return ConfigurationManager.getManager().getGlobalConfiguration().numberOfDisabledValidators();
-		}
-		return super.numberOfDisabledValidators();
-	}
-
-	/**
-	 * @see org.eclipse.wst.validation.internal.operations.internal.preference.ValidationConfiguration#numberOfEnabledIncrementalValidators()
-	 */
-	public int numberOfEnabledIncrementalValidators() throws InvocationTargetException {
-		if (useGlobalPreference()) {
-			return ConfigurationManager.getManager().getGlobalConfiguration().numberOfEnabledIncrementalValidators();
-		}
-		return super.numberOfEnabledIncrementalValidators();
-	}
-
-	/**
-	 * @see org.eclipse.wst.validation.internal.operations.internal.preference.ValidationConfiguration#numberOfEnabledValidators()
-	 */
-	public int numberOfEnabledValidators() throws InvocationTargetException {
-		if (useGlobalPreference()) {
-			return ConfigurationManager.getManager().getGlobalConfiguration().numberOfEnabledValidators();
-		}
-		return super.numberOfEnabledValidators();
-	}
-
-	/**
-	 * @see org.eclipse.wst.validation.internal.operations.internal.preference.ValidationConfiguration#numberOfIncrementalValidators()
-	 */
-	public int numberOfIncrementalValidators() throws InvocationTargetException {
-		if (useGlobalPreference()) {
-			return ConfigurationManager.getManager().getGlobalConfiguration().numberOfIncrementalValidators();
-		}
-		return super.numberOfIncrementalValidators();
-	}
-
-	/**
-	 * @see org.eclipse.wst.validation.internal.operations.internal.preference.ValidationConfiguration#numberOfValidators()
-	 */
-	public int numberOfValidators() throws InvocationTargetException {
-		if (useGlobalPreference()) {
-			return ConfigurationManager.getManager().getGlobalConfiguration().numberOfValidators();
-		}
-		return super.numberOfValidators();
-	}
-
-	/**
-	 * This method could be called with the project's values, or with the global preference values.
-	 * Validators that are not configured on this project will be ignored.
-	 */
-	public void setEnabledValidators(ValidatorMetaData[] vmds) {
-		super.setEnabledValidators(extractProjectValidators(vmds, getResource()));
-	}
-
-	/**
-	 * This method could be called with the project's values, or with the global preference values.
-	 * Validators that are not configured on this project will be ignored.
-	 */
-	public void setValidators(ValidatorMetaData[] vmds) {
-		super.setValidators(extractProjectValidators(vmds, getResource()));
-	}
-
-	/**
-	 * Given a set of validators, usually the global preference set, change the set so that it
-	 * contains only the validators configured on this project.
-	 */
-	private static ValidatorMetaData[] extractProjectValidators(ValidatorMetaData[] vmds, IResource resource) {
-		ValidationRegistryReader reader = ValidationRegistryReader.getReader();
-		int length = (vmds == null) ? 0 : vmds.length;
-		ValidatorMetaData[] temp = new ValidatorMetaData[length];
-		if (length == 0) {
-			return temp;
-		}
-
-		int count = 0;
-		IProject project = (IProject) resource;
-		for (int i = 0; i < vmds.length; i++) {
-			ValidatorMetaData vmd = vmds[i];
-			if (reader.isConfiguredOnProject(vmd, project)) {
-				temp[count++] = vmd;
-			}
-		}
-
-		ValidatorMetaData[] result = new ValidatorMetaData[count];
-		System.arraycopy(temp, 0, result, 0, count);
-		temp = null;
-
-		return result;
-	}
-
-	public void resetToDefault() throws InvocationTargetException {
-		// The default values of the project is whatever the preference values are
-		GlobalConfiguration gp = ConfigurationManager.getManager().getGlobalConfiguration();
-
-		setEnabledManualValidators(gp.getManualEnabledValidators());
-		setEnabledBuildValidators(gp.getBuildEnabledValidators());
-		setDelegatingValidators(gp.getDelegatingValidators());
-		
-		// except for this field, which is unique to the project preferences
-		setDoesProjectOverride(getDoesProjectOverrideDefault());
-	}
-
-	public void resetToDefaultForProjectDescriptionChange() throws InvocationTargetException {
-		// The default values of the project is whatever the preference values are
-		GlobalConfiguration gp = ConfigurationManager.getManager().getGlobalConfiguration();
-		setEnabledManualValidators(gp.getManualEnabledValidators());
-		setEnabledBuildValidators(gp.getBuildEnabledValidators());
-		setDelegatingValidators(gp.getDelegatingValidators());
-	}
-
-	/**
-	 * The project's nature has changed, so recalculate the validators that are configured on the
-	 * project, and reset the values of the project to the default.
-	 * 
-	 * @deprecated this method doesn't do anything
-	 */
-	public void resetProjectNature() {
-		/*
-		 * We do not want to perform the resetting the of the validators as the nature never gets
-		 * reset due to change in the project references - VKB GlobalConfiguration gp =
-		 * ConfigurationManager.getManager().getGlobalConfiguration();
-		 * setValidators(gp.getValidators()); // Reset the validators that are configured on the
-		 * project (the ProjectConfiguration automatically saves only the validators that are
-		 * configured on the project). resetToDefault(); // Given that the project is "new", reset
-		 * its values to the Preferences.
-		 */
-	}
-
-	/**
-	 * This method exists only for migration purposes. The project marker must be deleted after
-	 * migration is complete.
-	 */
-	protected IMarker[] getMarker() {
-		try {
-			// First try to find the 4.03 project marker.
-			IMarker[] allMarkers = getResource().findMarkers(ConfigurationConstants.PRJ_MARKER_403, false, IResource.DEPTH_ZERO);
-
-			// If it doesn't exist, then this might be a 5.0 project marker.
-			if ((allMarkers == null) || (allMarkers.length == 0)) {
-				allMarkers = getResource().findMarkers(ConfigurationConstants.PRJ_MARKER, false, IResource.DEPTH_ZERO);
-			}
-
-			// There should be only one projectmarker.
-			if (allMarkers.length == 1) {
-				return allMarkers;
-			}
-			// Job is done. Nothing to migrate.
-			return null;
-		} catch (CoreException e) {
-			ValidationPlugin.getPlugin().handleException(e);
-			return null;
-		}
-	}
-
-	protected void load(IMarker[] marker) {
-		// 4.03 project preferences are different from the current in the following ways:
-		//    1. Only preferences that could be set were the enabled validators and the auto-validate
-		// option.
-		//    2. The preferences were stored in an IMarker instead of a PersistentProperty.
-		// The 5.0 project settings were stored in an IMarker, and the current settings are stored
-		// in a PersistentProperty.
-		// A 5.0 project could have a null validation marker if the validation page was never
-		// opened on it, and if validation was never run.
-		try {
-			if (marker == null) {
-				// Assume default values
-				resetToDefault();
-				return;
-			}
-
-			IMarker prjMarker = marker[0]; // getProjectMarker() has already checked that there's a
-			// marker in the array
-//			GlobalConfiguration gp = ConfigurationManager.getManager().getGlobalConfiguration();
-
-//			String enabledValStr = (String) getValue(prjMarker, ConfigurationConstants.ENABLED_VALIDATORS);
-//			ValidatorMetaData[] enabledVal = null;
-//			if (enabledValStr == null) {
-//				enabledVal = gp.getEnabledValidators();
-//			} else {
-//				enabledVal = getStringAsEnabledElementsArray(enabledValStr);
-//			}
-//			setEnabledValidators(enabledVal);
-			
-			ValidatorMetaData[] enabledManaualVal = null;
-			ValidatorMetaData[] enabledBuildVal = null;
-			String enabledManualValStr = (String) getValue(prjMarker, ConfigurationConstants.ENABLED_MANUAL_VALIDATORS);
-			String enabledBuildValStr = (String) getValue(prjMarker, ConfigurationConstants.ENABLED_BUILD_VALIDATORS);
-//			ValidatorMetaData[] enabledVal = null;
-//			if (enabledManualValStr.equals(null) || enabledBuildValStr.equals(null)) {
-//				enabledVal = gp.getEnabledValidators();
-//			} else {
-			if (!enabledManualValStr.equals(null) && !enabledBuildValStr.equals(null)) {
-				enabledManaualVal = getStringAsEnabledElementsArray(enabledManualValStr);
-				setEnabledManualValidators(enabledManaualVal);
-				enabledBuildVal = getStringAsEnabledElementsArray(enabledManualValStr);
-				setEnabledBuildValidators(enabledBuildVal);
-			}
-			
-			String version = loadVersion(marker); // In 4.03, every project had its own validators &
-			// auto-validate settings.
-			Boolean boolVal = (Boolean) getValue(prjMarker, ConfigurationConstants.PRJ_OVERRIDEGLOBAL);
-			if ((boolVal == null) && (version.equals(ConfigurationConstants.VERSION4_03))) {
-				// Different default for 4.03. In 4.03, all projects overrode the global, because
-				// the
-				// global preferences didn't exist.
-				setDoesProjectOverride(true);
-			} else if (boolVal == null) {
-				setDoesProjectOverride(getDoesProjectOverrideDefault());
-			} else {
-				setDoesProjectOverride(boolVal.booleanValue());
-			}
-
-			getResource().getWorkspace().deleteMarkers(marker);
-		} catch (CoreException e) {
-			ValidationPlugin.getPlugin().handleException(e);
-		} catch (InvocationTargetException e) {
-			ValidationPlugin.getPlugin().handleException(e);
-		}
-	}
-
-	protected void copyTo(ProjectConfiguration prjp) throws InvocationTargetException {
-		super.copyTo(prjp);
-
-		// Need to have a distinct method for this child class (i.e., the parameter
-		// is not a ValidationConfiguration) because if this initialization is
-		// called as part of ValidationConfiguration's constructor, then the value of
-		// this field is overwritten. Fields of this class are initialized to the
-		// default after the ValidationConfiguration parent is created.
-		prjp.setDoesProjectOverride(doesProjectOverride());
-	}
-
-	public static boolean getDoesProjectOverrideDefault() {
-		return PRJ_OVERRIDEGLOBAL_DEFAULT;
-	}
-
-	/**
-	 * Return true if the enabled validators have not changed since this ValidationConfiguration was
-	 * constructed, false otherwise. (This method is needed for the Properties and Preference pages;
-	 * if the list of validators hasn't changed, then there is no need to update the task list;
-	 * updating the task list is a costly operation.)
-	 * 
-	 * The "allow" parameter represents whether or not the global "allow projects to override" has
-	 * been changed: - TRUE means that the preference "allow" parameter has been changed - FALSE
-	 * means that the preference "allow" paramter has not been changed
-	 */
-	public boolean hasEnabledValidatorsChanged(ValidatorMetaData[] oldEnabledVmd, boolean allow) throws InvocationTargetException {
-		// First check the obvious: is every enabled validator still enabled, and is
-		// the number of enabled validators the same as it was before? If not, return true.
-		if (super.hasEnabledValidatorsChanged(oldEnabledVmd)) {
-			return true;
-		}
-
-
-		// If the global preference validators have changed, does the task list need to be updated?
-		// PREF | PROJ | UPDATE
-		// ALLOW | OVERRIDE | TASK LIST
-		//------------------------------
-		//     0 | 0 | 1
-		//     0 | 1 | 1
-		//     1 | 0 | 1
-		//     1 | 1 | 0
-		//
-		// If the global "allow" preference changes from "allow" to "don't allow", or vice versa,
-		// and the project overrides the preferences, and the validators differ between the project
-		// and the preferences, then the task list must be updated.
-		if (allow) {
-			// "allow" has changed, so see if the preference and the project validators match.
-			ValidatorMetaData[] projEnabledVmd = super.getEnabledValidators(); // bypass the check
-			// for whether the global preferences are to be used or not
-			GlobalConfiguration gp = ConfigurationManager.getManager().getGlobalConfiguration();
-			return gp.hasEnabledValidatorsChanged(projEnabledVmd);
-		}
-
-		return false;
-	}
-
-  public boolean haveDelegatesChanged(Map<String, String> oldDelegates, boolean allow) throws InvocationTargetException {
-
-    if (super.haveDelegatesChanged(oldDelegates)) {
-      return true;
-    }
-
-    if (allow) {
-      Map<String, String> projDelegates = super.getDelegatingValidators(); 
-      GlobalConfiguration gp = ConfigurationManager.getManager().getGlobalConfiguration();
-      return gp.haveDelegatesChanged(projDelegates);
-    }
-      
-    return false;
-  }
-
-
-	public void deserialize(String storedConfiguration) throws InvocationTargetException {
-		if (storedConfiguration == null || storedConfiguration.length() == 0 || storedConfiguration.equals(DefaultValue)) {
-			resetToDefault();
-		} else if (storedConfiguration != null) {
-			int prjOverrideIndex = storedConfiguration.indexOf(ConfigurationConstants.PRJ_OVERRIDEGLOBAL);
-			int disableAllValidationIndex = storedConfiguration.indexOf(ConfigurationConstants.DISABLE_ALL_VALIDATION_SETTING);
-			int versionIndex = storedConfiguration.indexOf(ConfigurationConstants.VERSION);
-			if (disableAllValidationIndex != -1) {
-				String disableAllValidation = storedConfiguration.substring(disableAllValidationIndex + ConfigurationConstants.DISABLE_ALL_VALIDATION_SETTING.length(), versionIndex);
-				setDisableAllValidation(Boolean.valueOf(disableAllValidation).booleanValue());
-			} else {
-				setDisableAllValidation(false);
-			}
-			// project doesn't override the global
-			if (disableAllValidationIndex != -1) {
-				String prjOverride = storedConfiguration.substring(prjOverrideIndex + ConfigurationConstants.PRJ_OVERRIDEGLOBAL.length(), disableAllValidationIndex);
-				setDoesProjectOverride(Boolean.valueOf(prjOverride).booleanValue());
-			}
-		}
-	}
-
-	public String serialize() throws InvocationTargetException {
-		StringBuffer buffer = new StringBuffer();
-		buffer.append(ConfigurationConstants.PRJ_OVERRIDEGLOBAL);
-		buffer.append(String.valueOf(doesProjectOverride()));
-		if (doesProjectOverride()) {
-			// Store common values for the Project configuration only if they differ from the global
-			buffer.append(super.serialize());
-		}
-		return buffer.toString();
-	}
-
-	public ValidatorMetaData[] getEnabledFullBuildValidators(boolean fullBuild) throws InvocationTargetException {
-		if (useGlobalPreference()) {
-			return extractProjectValidators(ConfigurationManager.getManager().getGlobalConfiguration().getEnabledFullBuildValidators(fullBuild), getResource());
-		}
-		return super.getEnabledFullBuildValidators(fullBuild);
-	}
-
-	/**
-	 * Given a set of validators, usually the global preference set, change the set so that it
-	 * contains only the validators configured on this project.
-	 */
-	private static ValidatorMetaData[] extractProjectValidators(ValidatorMetaData[] vmds, IResource resource, boolean onlyReferenced) {
-		ValidationRegistryReader reader = ValidationRegistryReader.getReader();
-		int length = (vmds == null) ? 0 : vmds.length;
-		ValidatorMetaData[] temp = new ValidatorMetaData[length];
-		if (length == 0) {
-			return temp;
-		}
-
-		int count = 0;
-		IProject project = (IProject) resource;
-		for (int i = 0; i < vmds.length; i++) {
-			ValidatorMetaData vmd = vmds[i];
-			if (reader.isConfiguredOnProject(vmd, project)) {
-				if (!onlyReferenced || vmd.isDependentValidator())
-					temp[count++] = vmd;
-			}
-		}
-
-		ValidatorMetaData[] result = new ValidatorMetaData[count];
-		System.arraycopy(temp, 0, result, 0, count);
-		temp = null;
-
-		return result;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.validation.internal.operations.internal.attribute.ValidationConfiguration#getEnabledFullBuildValidators(boolean)
-	 */
-	public ValidatorMetaData[] getEnabledFullBuildValidators(boolean fullBuild, boolean onlyReferenced) throws InvocationTargetException {
-		if (useGlobalPreference()) {
-			return extractProjectValidators(ConfigurationManager.getManager().getGlobalConfiguration().getEnabledFullBuildValidators(fullBuild), getResource(), onlyReferenced);
-		}
-		return super.getEnabledFullBuildValidators(fullBuild, onlyReferenced);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.validation.internal.operations.internal.attribute.ValidationConfiguration#getIncrementalValidators()
-	 */
-	public ValidatorMetaData[] getIncrementalValidators() throws InvocationTargetException {
-		if (useGlobalPreference()) {
-			return extractProjectValidators(ConfigurationManager.getManager().getGlobalConfiguration().getIncrementalValidators(), getResource());
-		}
-		return super.getIncrementalValidators();
-	}
-
-	public int numberOfManualValidators() throws InvocationTargetException {
-		if (useGlobalPreference()) {
-			return ConfigurationManager.getManager().getGlobalConfiguration().numberOfManualEnabledValidators();
-		}
-		return super.numberOfManualEnabledValidators();
-	}
-	public boolean isDisableAllValidation() throws InvocationTargetException{
-		if (useGlobalPreference()) {
-			return ConfigurationManager.getManager().getGlobalConfiguration().isDisableAllValidation();
-		}
-		return super.isDisableAllValidation();
-	}	
-
-  public ValidatorDelegateDescriptor getDelegateDescriptor(ValidatorMetaData vmd) throws InvocationTargetException {
-    if (useGlobalPreference()) {
-      return ConfigurationManager.getManager().getGlobalConfiguration().getDelegateDescriptor(vmd);
-    }
-    
-    return super.getDelegateDescriptor(vmd);
-  }
-  
-  public void store() throws InvocationTargetException {
-		IProject project = (IProject) getResource();
-		final PreferencesWrapper pref = PreferencesWrapper.getPreferences(project, null);
-		if (pref != null) {
-			try {
-				pref.put(ValidationConfiguration.UserPreference, serialize());
-				pref.put(ValidationConfiguration.UserManualPreference, serializeManualSetting());
-				pref.put(ValidationConfiguration.UserBuildPreference, serializeBuildSetting());
-				pref.put(ValidationConfiguration.DelegatesPreference, serializeDelegatesSetting());
-				pref.flush();
-			} catch (BackingStoreException e) {
-				// A common error is that the project has been closed, in which case there
-				// is nothing that we can do.
-				if (project.isAccessible())ValidationPlugin.getPlugin().handleException(e);
-			}
-		}
-	}
-  
-  protected void loadPreference() throws InvocationTargetException {
-		IProject project = (IProject) getResource();
-		final PreferencesWrapper prefs = PreferencesWrapper.getPreferences(project, null);
-		if (prefs.nodeExists()) { 
-			String storedConfig = prefs.get(ValidationConfiguration.UserPreference, DefaultValue);
-			deserialize(storedConfig);
-			String storedManualConfig = prefs.get(ValidationConfiguration.UserManualPreference, DefaultValue);
-			deserializeManual(storedManualConfig);
-			String storedBuildConfig = prefs.get(ValidationConfiguration.UserBuildPreference, DefaultValue);
-			deserializeBuild(storedBuildConfig);
-			String storedDelegatesConfiguration = prefs.get(ValidationConfiguration.DelegatesPreference, DefaultValue);
-			deserializeDelegates(storedDelegatesConfiguration);
-		}
-	}
-  
-  /**
-   * Answer the validator id's that have been enabled for manual validation.
-   * @return null if they are all enabled
-   */
-  Set<String> getEnabledManualValidators(){
-	  return getIds(ValidationConfiguration.UserManualPreference, ConfigurationConstants.ENABLED_MANUAL_VALIDATORS);
-  }
-  
-  /**
-   * Answer the validator id's that have been enabled for build validation.
-   * @return null if they are all enabled
-   */
-  Set<String> getEnabledBuildlValidators(){
-	  return getIds(ValidationConfiguration.UserBuildPreference, ConfigurationConstants.ENABLED_BUILD_VALIDATORS);
-  }
-  
-  /**
-   * A helper method to extract some validator id's from a preference store field.
-   * 
-   * @return null if all the validators are enabled.
-   */
-  private Set<String> getIds(String prefKey, String enabledPhrase){
-	IProject project = (IProject) getResource();
-	final PreferencesWrapper prefs = PreferencesWrapper.getPreferences(project, null);
-	if (prefs == null)return null;
-	
-	String storedConfig = prefs.get(prefKey, DefaultValue);
-	if (storedConfig == null || storedConfig.length() == 0 || storedConfig.equals(DefaultValue))return null;
-	int validationIndex = storedConfig.indexOf(enabledPhrase);
-
-	String ids = storedConfig.substring(validationIndex + enabledPhrase.length(),storedConfig.length());
-
-	StringTokenizer tokenizer = new StringTokenizer(ids, ConfigurationConstants.ELEMENT_SEPARATOR);
-	Set<String> set = new HashSet<String>(20);
-	while (tokenizer.hasMoreTokens())set.add(tokenizer.nextToken());
-	if (set.size() == 0)return null;
-	  
-	return set;
-	  
-  }
-}
diff --git a/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/ReferencialFileValidatorExtension.java b/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/ReferencialFileValidatorExtension.java
deleted file mode 100644
index d638d0a..0000000
--- a/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/ReferencialFileValidatorExtension.java
+++ /dev/null
@@ -1,88 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *******************************************************************************/
-/*
- * Created on May 3, 2004
- *
- * To change the template for this generated file go to
- * Window - Preferences - Java - Code Generation - Code and Comments
- */
-package org.eclipse.wst.validation.internal;
-
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.wst.validation.internal.operations.ReferencialFileValidator;
-import org.eclipse.wst.validation.internal.plugin.ValidationPlugin;
-
-/**
- * @author vijayb
- */
-public class ReferencialFileValidatorExtension {
-	private String id = null;
-	private ReferencialFileValidator instance;
-	private boolean errorCondition = false;
-	private IConfigurationElement element;
-	
-	/** referencialFileValidator */
-	public static final String REF_FILE_VALIDATOR_EXTENSION = "referencialFileValidator"; //$NON-NLS-1$
-	
-	/** run */
-	public static final String RUN = "run"; //$NON-NLS-1$
-	
-	/** id */
-	public static final String ATT_ID = "id"; //$NON-NLS-1$
-	
-	/** class */
-	public static final String ATT_CLASS = "class"; //$NON-NLS-1$
-
-	public ReferencialFileValidatorExtension() {
-		super();
-	}
-
-	public ReferencialFileValidator getInstance() {
-		try {
-			if (instance == null && !errorCondition)
-				instance = (ReferencialFileValidator) element.createExecutableExtension(RUN);
-		} catch (Exception e) {
-			ValidationPlugin.getPlugin().handleException(e);
-			errorCondition = true;
-		}
-		return instance;
-	}
-
-	public ReferencialFileValidatorExtension(IConfigurationElement element) {
-		if(!REF_FILE_VALIDATOR_EXTENSION.equals(element.getName()))
-			throw new IllegalArgumentException("Extensions must be of the type \"" + REF_FILE_VALIDATOR_EXTENSION + "\"."); //$NON-NLS-1$ //$NON-NLS-2$
-		this.element = element;
-		init();
-	}
-
-	private void init() {
-		this.id = this.element.getAttribute(ATT_ID);
-	}
-
-	/**
-	 * @return Returns the id.
-	 */
-	public String getId() {
-		return id;
-	}
-	
-	public IConfigurationElement getElement() {
-		return element;
-	}
-
-	/**
-	 * @param id
-	 *            The id to set.
-	 */
-	public void setId(String id) {
-		this.id = id;
-	}
-}
diff --git a/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/ReferencialFileValidatorRegistryReader.java b/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/ReferencialFileValidatorRegistryReader.java
deleted file mode 100644
index c9233ef..0000000
--- a/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/ReferencialFileValidatorRegistryReader.java
+++ /dev/null
@@ -1,150 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *******************************************************************************/
-/*
- * Created on May 3, 2004
- *
- * To change the template for this generated file go to
- * Window - Preferences - Java - Code Generation - Code and Comments
- */
-package org.eclipse.wst.validation.internal;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IExtension;
-import org.eclipse.core.runtime.IExtensionPoint;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.wst.validation.internal.operations.ReferencialFileValidator;
-import org.eclipse.wst.validation.internal.plugin.ValidationPlugin;
-
-/**
- * @author vijayb
- */
-public class ReferencialFileValidatorRegistryReader {
-	static ReferencialFileValidatorRegistryReader instance;
-	
-	private static final String Id = "id"; //$NON-NLS-1$
-	private static final String ExtensionPoint = "referencialFileValidator"; //$NON-NLS-1$
-	
-	protected List<ReferencialFileValidatorExtension> referencialFileValidationExtensions;
-
-	public ReferencialFileValidatorRegistryReader() {
-	}
-	
-	/**
-	 * Read the extension point and parse it.
-	 */
-	public void readRegistry() {
-		IExtensionPoint point = Platform.getExtensionRegistry().getExtensionPoint(Id, ExtensionPoint);
-		if (point == null)return;
-		IConfigurationElement[] elements = point.getConfigurationElements();
-		for (int i = 0; i < elements.length; i++) {
-			internalReadElement(elements[i]);
-		}
-	}
-	
-	private void internalReadElement(IConfigurationElement element) {
-		boolean recognized = this.readElement(element);
-		if (!recognized) {
-			logError(element, "Error processing extension: " + element); //$NON-NLS-1$
-		}
-	}
-
-	/*
-	 * Logs the error in the desktop log using the provided text and the information in the configuration element.
-	 */
-	protected void logError(IConfigurationElement element, String text) {
-		IExtension extension = element.getDeclaringExtension();
-		StringBuffer buf = new StringBuffer();
-		buf.append("Plugin " + extension.getContributor().getName() + ", extension " + extension.getExtensionPointUniqueIdentifier()); //$NON-NLS-1$ //$NON-NLS-2$
-		buf.append("\n" + text); //$NON-NLS-1$
-		ValidationPlugin.getPlugin().logMessage(IStatus.ERROR, buf.toString());
-	}
-
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.common.frameworks.internal.RegistryReader#readElement(org.eclipse.core.runtime.IConfigurationElement)
-	 */
-	public boolean readElement(IConfigurationElement element) {
-		if (ReferencialFileValidatorExtension.REF_FILE_VALIDATOR_EXTENSION.equals(element.getName())) {
-			addExtension(element);
-			return true;
-		}
-		return false;
-	}
-
-	/**
-	 * Sets the extension point.
-	 * 
-	 * @param newExtension
-	 *            The extensions to set
-	 */
-	protected void addExtension(IConfigurationElement newExtension) {
-
-    	//add to the list of post validator extensions only if the extension is not added yet
-    	boolean containsExt = true;
-    	for(ReferencialFileValidatorExtension ext : getReferencialFileValidationExtensions()) {
-    		if(!ext.getElement().getAttribute(Id).equals(newExtension.getAttribute(Id)))containsExt = false;
-    	}
-    	if(!containsExt ||getReferencialFileValidationExtensions().isEmpty())
-    		getReferencialFileValidationExtensions().add(new ReferencialFileValidatorExtension(newExtension));
-    
-		getReferencialFileValidationExtensions().add(new ReferencialFileValidatorExtension(newExtension));
-	}
-
-	/**
-	 * Sets the extension point.
-	 * 
-	 * @param newExtension
-	 *            The extensions to set
-	 */
-	protected void addExtensionPoint(ReferencialFileValidatorExtension newExtension) {
-		if (referencialFileValidationExtensions == null)
-			referencialFileValidationExtensions = new ArrayList<ReferencialFileValidatorExtension>();
-		referencialFileValidationExtensions.add(newExtension);
-	}
-
-	/**
-	 * @return the appropriate handler for the project based on priorities of those which are
-	 *         available and enabled
-	 */
-	public ReferencialFileValidator getReferencialFileValidator() {
-		for (ReferencialFileValidatorExtension refFileValExt: getReferencialFileValidationExtensions()) {
-			return refFileValExt.getInstance();
-		}
-		return null;
-	}
-
-	/**
-	 * Gets the singleton instance.
-	 */
-	public static ReferencialFileValidatorRegistryReader getInstance() {
-		if (instance == null) {
-			instance = new ReferencialFileValidatorRegistryReader();
-			instance.readRegistry();
-		}
-		return instance;
-	}
-
-	/**
-	 * @return Returns the handlerExtensions.
-	 */
-	protected List<ReferencialFileValidatorExtension> getReferencialFileValidationExtensions() {
-		if (referencialFileValidationExtensions == null)
-			referencialFileValidationExtensions = new ArrayList<ReferencialFileValidatorExtension>();
-		return referencialFileValidationExtensions;
-	}
-
-}
diff --git a/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/RegistryConstants.java b/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/RegistryConstants.java
deleted file mode 100644
index 140240a..0000000
--- a/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/RegistryConstants.java
+++ /dev/null
@@ -1,153 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2010 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.validation.internal;
-
-
-import org.eclipse.wst.validation.internal.operations.IRuleGroup;
-import org.eclipse.wst.validation.internal.plugin.ValidationPlugin;
-
-
-/**
- * Validation constants needed to declare an extension point, and to implement an extension.
- */
-public interface RegistryConstants {
-	String PLUGIN_ID = ValidationPlugin.PLUGIN_ID;
-	
-	/** validator - extension point declaration of the validator */
-	String VALIDATOR_EXT_PT_ID = "validator"; //$NON-NLS-1$
-
-	/** run - identifies the Validator class */
-	String TAG_RUN_CLASS = "run"; //$NON-NLS-1$
-	
-	/** 
-	 * filter - identifies a filter -- type and/or name -- used to filter out resources which are
-	 * not to be validated. (i.e., if the resource doesn't pass this filter test, don't validate it.) 
-	 */ 
-	String TAG_FILTER = "filter"; //$NON-NLS-1$
-	
-	/**
-	 * identifies a filter -- type and/or name -- used to filter out resources which are not to be validated. (i.e., if the resource doesn't pass this filter test, don't validate it.)
-	 */
-	String TAG_CONTENTTYPE = "contentTypeBinding"; //$NON-NLS-1$ 
-	
-	/**
-	 *  identifies a type
-	 */
-	String ATT_CONTENTTYPEID = "contentTypeId"; //$NON-NLS-1$ 
-	/** helper - IValidationContext which loads the MOF model for the IValidator */ 
-	String TAG_HELPER_CLASS = "helper"; //$NON-NLS-1$
-	
-	/** projectNature - identifies the projects which the validator should run on */
-	String TAG_PROJECT_NATURE = "projectNature"; //$NON-NLS-1$
-	
-	/** 
-	 * aggregateValidator - identifies a validator(s) which this validator aggregates. This value is used 
-	 * to remove all messages owned by a particular validator. Aggregate validators cannot be shared. 
-	 * only one validator may use an aggregate of that type. */
-	String TAG_AGGREGATE_VALIDATORS = "aggregateValidator"; //$NON-NLS-1$ 
-
-	/** runStrategy - identifies the run strategy of  Validator*/
-	String TAG_RUN_STRATEGY = "runStrategy"; //$NON-NLS-1$
-	
-	/** objectClass - identifies a type */ 
-	String ATT_OBJECT_CLASS = "objectClass"; //$NON-NLS-1$
-	
-	/** nameFilter - identifies a name (may include the '*' wildcard anywhere in the name) */
-	String ATT_NAME_FILTER = "nameFilter"; //$NON-NLS-1$
-	
-	/** id - identifies a unique id to filter on */
-	String ATT_ID = "id"; //$NON-NLS-1$
-	
-	/** class - identifies a class name of a tag, e.g. "helper class", or "run class" */
-	String ATT_CLASS = "class"; //$NON-NLS-1$
-	
-	/** action - identifies the incremental validation actions for which a resource should be filtered in */ 
-	String ATT_ACTION_FILTER = "action"; //$NON-NLS-1$
-	
-	/** 
-	 * incremental - identifies whether or not the validator supports incremental build validation. 
-	 * Default is true (i.e., incremental builds are supported). 
-	 */
-	String ATT_INCREMENTAL = "incremental"; //$NON-NLS-1$
-	
-	/** true - The incremental default. */
-	boolean ATT_INCREMENTAL_DEFAULT = true;
-	
-	/** 
-	 * fullBuild - identifies whether or not the validator supports full build validation. 
-	 * Default is true (i.e., full build validation is supported).
-	 */ 
-	String ATT_FULLBUILD = "fullBuild"; //$NON-NLS-1$ 
-	
-	/** true - The build default. */
-	boolean ATT_FULLBUILD_DEFAULT = true;
-	
-	/** enabled - identifies whether or not the validator is enabled by default. Default is "true" (enabled). */ 
-	String ATT_ENABLED = "enabled"; //$NON-NLS-1$
-	
-	/** true - The "enabled" default. */
-	boolean ATT_ENABLED_DEFAULT = true;
-	
-	/** include - Include projects with this nature */
-	String ATT_INCLUDE = "include"; //$NON-NLS-1$
-	
-	/** 
-	 * true - By default, if "include" is not specified in the projectNature element, 
-	 * then assume that the nature is included. */
-	boolean ATT_INCLUDE_DEFAULT = true;
-	
-	/** 
-	 * ruleGroup - identifies the different validation passes which this validator recognizes. 
-	 * The values are identified in IRuleGroup.
-	 */
-	String ATT_RULE_GROUP = "ruleGroup"; //$NON-NLS-1$
-	
-	/** the default pass includes only the FAST PASS. FULL can be invoked only explicitly by an operation. */
-	int ATT_RULE_GROUP_DEFAULT = IRuleGroup.PASS_FAST;
-	
-	/** caseSensitive */
-	String ATT_CASE_SENSITIVE = "caseSensitive"; //$NON-NLS-1$
-	
-	/** async - Is the validator thread-safe? */
-	String ATT_ASYNC = "async"; //$NON-NLS-1$
-	
-	/** false - The "can validator run asynchronously" default. In the future this may be changed to true. */
-	boolean ATT_ASYNC_DEFAULT = false;
-
-	/** 
-	 * project - identifies whether or not the validator is called per project. 
-	 * Default is false (i.e. the validator is called per resource). 
-	 */
-	String ATT_PROJECT = "project"; //$NON-NLS-1$
-	
-	/** false - The project default. */
-	boolean ATT_PROJECT_DEFAULT = false;
-	
-	
-	/** migrate - the "migrate" section of the validator */
-	String TAG_MIGRATE = "migrate"; //$NON-NLS-1$
-	
-	/** validator - the "validator" element of the "migrate" section */
-	String TAG_VALIDATOR = "validator"; //$NON-NLS-1$
-	
-	/** from - the fully-qualified class name of the former validator class */
-	String ATT_FROM = "from"; //$NON-NLS-1$
-	
-	/** to - the fully-qualified class name of the current validator class */
-	String ATT_TO = "to"; //$NON-NLS-1$
-	String DEP_VALIDATOR = "dependentValidator"; //$NON-NLS-1$
-	String DEP_VAL_VALUE = "depValValue"; //$NON-NLS-1$
-	String MARKER_ID = "markerId"; //$NON-NLS-1$
-	String MARKER_ID_VALUE = "markerIdValue"; //$NON-NLS-1$
-	boolean DEP_VAL_VALUE_DEFAULT = false;
-	String FACET = "facet"; //$NON-NLS-1$
-	String FACET_ID ="facetId"; //$NON-NLS-1$
-}
diff --git a/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/ResourceConstants.java b/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/ResourceConstants.java
deleted file mode 100644
index 62f8a08..0000000
--- a/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/ResourceConstants.java
+++ /dev/null
@@ -1,119 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.validation.internal;
-
-
-
-/**
- * Constants used to access the string resources associated with the plug-in.
- * 
- * See the plugin.properties file, in the plugin's directory, for the contents of the strings.
- */
-public interface ResourceConstants {
-	// A marker cannot be added to the task list.
-	String VBF_EXC_CANNOT_ADD_MARKER = "VBF_EXC_CANNOT_ADD_MARKER"; //$NON-NLS-1$ 
-
-	// A marker cannot be removed from the task list.
-	String VBF_EXC_CANNOT_REMOVE_MARKER = "VBF_EXC_CANNOT_REMOVE_MARKER"; //$NON-NLS-1$ 
-
-	// Internal error has occurred.
-	String VBF_EXC_INTERNAL = "VBF_EXC_INTERNAL"; //$NON-NLS-1$ 
-
-	// If the validator cannot be loaded because it didn't specify a helper
-	String VBF_EXC_HELPER_MISSING = "VBF_EXC_HELPER_MISSING"; //$NON-NLS-1$ 
-
-	// If the validator cannot be loaded because its helper cannot be loaded
-	String VBF_EXC_HELPER_CANNOTLOAD = "VBF_EXC_HELPER_CANNOTLOAD"; //$NON-NLS-1$ 
-
-	// A java.lang.Runtime error has occurred during the build.
-	String VBF_EXC_RUNTIME = "VBF_EXC_RUNTIME"; //$NON-NLS-1$ 
-
-	// If the "Validator" extension point has been removed from the plugin.xml file.
-	String VBF_EXC_MISSING_VALIDATOR_EP = "VBF_EXC_MISSING_VALIDATOR_EP"; //$NON-NLS-1$ 
-
-	// If the user has specified an invalid type filter in their plugin.xml file.
-	// i.e., it isn't an instance of IResource.
-	String VBF_EXC_INVALID_TYPE_FILTER = "VBF_EXC_INVALID_TYPE_FILTER"; //$NON-NLS-1$ 
-
-	// The validator extension has made a mistake in its plugin.xml's projectNature tag
-	String VBF_EXC_MISSING_PROJECTNATURE_ID = "VBF_EXC_MISSING_PROJECTNATURE_ID"; //$NON-NLS-1$ 
-
-	// The validator extension has made a mistake in its plugin.xml's syntax.
-	String VBF_EXC_VALIDATORNAME_IS_NULL = "VBF_EXC_VALIDATORNAME_IS_NULL"; //$NON-NLS-1$ 
-
-	// Title for the IProgressMonitor.
-	String VBF_STATUS_PROGRESSMONITOR_TITLE = "VBF_STATUS_PROGRESSMONITOR_TITLE"; //$NON-NLS-1$ 
-
-	// Status line for the IProgressMonitor
-	String VBF_STATUS_INITIALIZING = "VBF_STATUS_INITIALIZING"; //$NON-NLS-1$ 
-
-	// If the user has cancelled validation, each validator might have cleanup to do. This message
-	// is shown to tell the user which validator is being cleaned up at the moment.
-	String VBF_STATUS_VALIDATOR_CLEANUP = "VBF_STATUS_VALIDATOR_CLEANUP"; //$NON-NLS-1$ 
-
-	// If the user cancelled validation, remove all of the validator's tasks from the task list, and
-	// put an entry saying that validation on {project} using {validator} was cancelled.
-	String VBF_STATUS_VALIDATOR_TERMINATED = "VBF_STATUS_VALIDATOR_TERMINATED"; //$NON-NLS-1$ 
-
-	// Before a validator is begun, this message informs the user that validation, using a
-	// particular validator, has begun
-	String VBF_STATUS_STARTING_VALIDATION = "VBF_STATUS_STARTING_VALIDATION"; //$NON-NLS-1$ 
-
-	// After a validator is finished, this message informs the user that validation, using a
-	// particular validator, has completed.
-	String VBF_STATUS_ENDING_VALIDATION = "VBF_STATUS_ENDING_VALIDATION"; //$NON-NLS-1$ 
-
-	// If a validator throws an unchecked exception, this message is displayed to the user.
-	String VBF_STATUS_ENDING_VALIDATION_ABNORMALLY = "VBF_STATUS_ENDING_VALIDATION_ABNORMALLY"; //$NON-NLS-1$ 
-
-	// If the build's getDelta(getProject()) method returns null, let the user know that a full
-	// validation will be performed because there's no delta information.
-	String VBF_STATUS_NULL_DELTA = "VBF_STATUS_NULL_DELTA"; //$NON-NLS-1$ 
-
-	String VBF_EXC_SYNTAX_NO_HELPER = "VBF_EXC_SYNTAX_NO_HELPER"; //$NON-NLS-1$ 
-	String VBF_EXC_SYNTAX_NO_HELPER_CLASS = "VBF_EXC_SYNTAX_NO_HELPER_CLASS"; //$NON-NLS-1$ 
-	String VBF_EXC_SYNTAX_NO_HELPER_THROWABLE = "VBF_EXC_SYNTAX_NO_HELPER_THROWABLE"; //$NON-NLS-1$ 
-	String VBF_EXC_SYNTAX_NO_VAL_THROWABLE = "VBF_EXC_SYNTAX_NO_VAL_THROWABLE"; //$NON-NLS-1$ 
-	String VBF_EXC_INVALID_RESOURCE = "VBF_EXC_INVALID_RESOURCE"; //$NON-NLS-1$ 
-
-	String VBF_EXC_NULLCREATE = "VBF_EXC_NULLCREATE"; //$NON-NLS-1$ 
-	String VBF_EXC_NULLSAVE = "VBF_EXC_NULLSAVE"; //$NON-NLS-1$ 
-	String VBF_EXC_SAVE = "VBF_EXC_SAVE"; //$NON-NLS-1$ 
-	String VBF_EXC_NULLRETRIEVE = "VBF_EXC_NULLRETRIEVE"; //$NON-NLS-1$ 
-	String VBF_EXC_RETRIEVE = "VBF_EXC_RETRIEVE"; //$NON-NLS-1$ 
-
-	String VBF_EXC_BADVMD = "VBF_EXC_BADVMD"; //$NON-NLS-1$ 
-	String VBF_EXC_OPENPRJ = "VBF_EXC_OPENPRJ"; //$NON-NLS-1$ 
-	String VBF_EXC_EXISTPRJ = "VBF_EXC_EXISTPRJ"; //$NON-NLS-1$ 
-	String VBF_EXC_BADPRJ = "VBF_EXC_BADPRJ"; //$NON-NLS-1$ 
-	String VBF_EXC_MULTIPRJ = "VBF_EXC_MULTIPRJ"; //$NON-NLS-1$ 
-	String VBF_EXC_BADVAL = "VBF_EXC_BADVAL"; //$NON-NLS-1$ 
-
-	String VBF_STATUS_START_REMOVING_OLD_MESSAGES = "VBF_STATUS_START_REMOVING_OLD_MESSAGES"; //$NON-NLS-1$ 
-	String VBF_STATUS_FINISH_REMOVING_OLD_MESSAGES = "VBF_STATUS_FINISH_REMOVING_OLD_MESSAGES"; //$NON-NLS-1$ 
-
-	String VBF_TASK_WARN_MESSAGE_LIMIT_VAL = "VBF_TASK_WARN_MESSAGE_LIMIT_VAL"; //$NON-NLS-1$
-	
-	String VBF_VALIDATION_JOB_MSG = "VBF_VALIDATION_JOB_MSG"; //$NON-NLS-1$
-
-	String VBF_EXC_DISABLEV = "VBF_EXC_DISABLEV"; //$NON-NLS-1$ 
-	String VBF_EXC_DISABLEH = "VBF_EXC_DISABLEH"; //$NON-NLS-1$ 
-	String VBF_EXC_ORPHAN_IVALIDATOR = "VBF_EXC_ORPHAN_IVALIDATOR"; //$NON-NLS-1$ 
-
-	String VBF_STATUS_LOOKING = "VBF_STATUS_LOOKING"; //$NON-NLS-1$ 
-	String VBF_STATUS_LOOKINGDONE = "VBF_STATUS_LOOKINGDONE"; //$NON-NLS-1$ 
-	String VBF_STATUS_REMOVING = "VBF_STATUS_REMOVING"; //$NON-NLS-1$ 
-	String VBF_STATUS_REMOVINGDONE = "VBF_STATUS_REMOVINGDONE"; //$NON-NLS-1$
-  
-	String VBF_WRONG_CONTEXT_FOR_DELEGATE = "VBF_WRONG_CONTEXT_FOR_DELEGATE"; //$NON-NLS-1$
-	String VBF_NO_DELEGATE = "VBF_NO_DELEGATE"; //$NON-NLS-1$
-	String VBF_CANNOT_INSTANTIATE_DELEGATE = "VBF_CANNOT_INSTANTIATE_DELEGATE"; //$NON-NLS-1$  
-}
diff --git a/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/ResourceHandler.java b/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/ResourceHandler.java
deleted file mode 100644
index c3d2f7e..0000000
--- a/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/ResourceHandler.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.validation.internal;
-
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-import org.eclipse.wst.validation.internal.plugin.ValidationPlugin;
-
-
-/**
- * This class retrieves the Strings from the .properties file appropriate for the machine's Locale.
- */
-public class ResourceHandler {
-	//TODO Make this class final once the public ResourceHandler has been deleted.
-	private static ResourceBundle _bundle = null;
-
-	protected ResourceHandler() {
-		//TODO Make this method private once the public ResourceHandler has been deleted.
-		super();
-	}
-
-	/**
-	 * Return the resource bundle which contains the messages, as identified by
-	 */
-	public static ResourceBundle getBundle() {
-		if (_bundle == null) {
-			try {
-				_bundle = ResourceBundle.getBundle(ValidationPlugin.getBundlePropertyFileName());
-			} catch (MissingResourceException exc) {
-				_bundle = null;
-				if (Tracing.isLogging()) {
-					Tracing.log("ResourceHandler-01", "Cannot find bundle " + ValidationPlugin.getBundlePropertyFileName()); //$NON-NLS-1$ //$NON-NLS-2$
-				}
-			}
-		}
-		return _bundle;
-	}
-
-	public static String getExternalizedMessage(String key) {
-		try {
-			ResourceBundle bundle = getBundle();
-			if (bundle == null) {
-				Tracing.log("ResourceHandler-02: ", "Resource bundle is null"); //$NON-NLS-1$ //$NON-NLS-2$
-				return key;
-			}
-
-			return bundle.getString(key);
-		} catch (NullPointerException exc) {
-			Tracing.log("ResourceHandler-03: ", "Cannot find message id ", key); //$NON-NLS-1$ //$NON-NLS-2$
-		}
-		return key;
-	}
-
-	public static String getExternalizedMessage(String key, String[] parms) {
-		String res = ""; //$NON-NLS-1$
-		try {
-			res = java.text.MessageFormat.format(getExternalizedMessage(key), (Object[])parms);
-		} catch (MissingResourceException exc) {
-			Tracing.log("ResourceHandler-04: ", "Cannot find message id ", key); //$NON-NLS-1$ //$NON-NLS-2$
-		} catch (NullPointerException exc) {
-			if (Tracing.isLogging()) {
-				Tracing.log("ResourceHandler-05: Cannot format message id " + key + " with " + parms.length + " parameters."); //$NON-NLS-1$  //$NON-NLS-2$  //$NON-NLS-3$
-			}
-		}
-		return res;
-	}
-}
diff --git a/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/TaskListUtility.java b/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/TaskListUtility.java
deleted file mode 100644
index 1cae3c1..0000000
--- a/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/TaskListUtility.java
+++ /dev/null
@@ -1,451 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.validation.internal;
-
-import java.util.Map;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IWorkspaceRoot;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.wst.validation.internal.plugin.ValidationPlugin;
-import org.eclipse.wst.validation.internal.provisional.core.IMessage;
-
-/**
- * This class must be called only by the validation framework.
- * 
- * This singleton interacts with the eclipse workbench's Task list. TaskListUtility adds and removes
- * tasks from the list.
- * 
- * This class must not be called outside of an IWorkspaceRunnable or IRunnableWithProgress. Many
- * resource deltas can be generated by the methods in this class.
- */
-public class TaskListUtility implements ConfigurationConstants {
-	protected static final int DEPTH_INFINITE = IResource.DEPTH_INFINITE;
-	protected static final int DEPTH_ZERO = IResource.DEPTH_ZERO;
-	protected static final String VALIDATION_MARKER_TARGETOBJECT = "targetObject"; //$NON-NLS-1$
-	private final static IMarker[] NO_MARKERS = new IMarker[0];
-
-	public static IWorkspaceRoot getRoot() {
-		IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot();
-		return root;
-	}
-
-	/**
-	 * This method is here for use by the SABER validator's reporter instance ONLY. Do not use. See
-	 * defect 260144 for details.
-	 */
-	@SuppressWarnings("unchecked")
-	public static IMarker setPriority(IMarker item, int priority) throws CoreException {
-		Map attrib = item.getAttributes();
-		attrib.put(IMarker.PRIORITY, new Integer(priority));
-		item.setAttributes(attrib);
-		return item;
-	}
-	
-	/**
-	 * This method adds a message to a resource in the task list.
-	 */
-	public static IMarker addTask(String pluginId, IResource resource, String location, 
-		String messageId, String message, int markerType, String markerName, String targetObjectName, 
-		String groupName, int offset, int length) throws CoreException {
-		
-		if ((message == null) || (resource == null) || (!resource.exists())) {
-			return null;
-		}
-
-		int severity = getSeverity(markerType);
-
-		// Allow duplicate entries in the task list.
-		// Prior to a full validation, the validation framework will remove all messages owned
-		// by a validator before it is executed.
-		// Prior to an incremental validation, the validation framework will remove all messages,
-		// on each of the changed resources, owned by a validator before it is invoked.
-		// 
-		// It is up to the validator to make sure that it is not adding the same message
-		// in more than one place, and also to clear out any old messages which are not cleared
-		// by the validation framework.
-		IMarker item = null;
-		MarkerManager.getDefault().hook(resource);
-		if(markerName != null && markerName.length() >0 )
-			 item = resource.createMarker(markerName); // add a validation marker
-		else
-		     item = resource.createMarker(VALIDATION_MARKER); // add a validation marker
-
-		// For performance reasons, replace the multiple setAttribute
-		// calls above with a single setAttributes call.
-		boolean offsetSet = ((offset != IMessage.OFFSET_UNSET) && (length != IMessage.OFFSET_UNSET));
-		int size = (offsetSet) ? 10 : 8; // add CHAR_START, CHAR_END only if the offset is set. If
-		// the offset is set, it takes precendence over the line
-		// number. (eclipse's rule, not mine.)
-		String[] attribNames = new String[size];
-		Object[] attribValues = new Object[size];
-
-		// Very first thing, add the owner. That way, if the code dies
-		// before things are persisted, hopefully this marker will be persisted.
-		// Hopefully, eclipse WILL persist this field, as requested.
-		attribNames[0] = VALIDATION_MARKER_OWNER;
-		attribValues[0] = pluginId;
-		attribNames[1] = VALIDATION_MARKER_SEVERITY; // this validation severity is stored, in
-		// addition to the marker severity, to enable
-		// more than one severity of message to be
-		// displayed. e.g. ERROR | WARNING (using
-		// binary OR). The IMarker constants are
-		// regular decimal constants.
-		attribValues[1] = new Integer(markerType);
-		attribNames[2] = VALIDATION_MARKER_TARGETOBJECT; // to distinguish between messages which
-		// are registered on an IResource, but
-		// against different target objects
-		attribValues[2] = ((targetObjectName == null) ? "" : targetObjectName); //$NON-NLS-1$
-		attribNames[3] = VALIDATION_MARKER_GROUP;
-		attribValues[3] = ((groupName == null) ? "" : groupName); //$NON-NLS-1$
-		attribNames[4] = IMarker.MESSAGE;
-		attribValues[4] = message;
-		attribNames[5] = VALIDATION_MARKER_MESSAGEID;
-		attribValues[5] = messageId;
-
-		attribNames[6] = IMarker.SEVERITY; // IMarker.SEVERITY_ERROR, IMarker.SEVERITY_WARNING,
-		// IMarker.SEVERITY_INFO
-		attribValues[6] = new Integer(severity);
-		try {
-			// If the location is a line number, store it as a line number
-			Integer lineNumber = Integer.valueOf(location);
-			attribNames[7] = IMarker.LINE_NUMBER;
-			attribValues[7] = lineNumber;
-		} catch (NumberFormatException exc) {
-			// Otherwise, store it as a text location
-			attribNames[7] = IMarker.LOCATION;
-			attribValues[7] = location;
-		}
-
-		if (offsetSet) {
-			attribNames[8] = IMarker.CHAR_START;
-			attribValues[8] = new Integer(offset);
-			attribNames[9] = IMarker.CHAR_END;
-			attribValues[9] = new Integer(offset + length);
-		}
-
-		item.setAttributes(attribNames, attribValues);
-
-		return item;
-	}
-
-	/**
-	 * This method adds a message to a resource in the task list.
-	 */
-	public static IMarker addTask(String pluginId, IResource resource, String location, 
-		String messageId, String message, int markerType, String targetObjectName, 
-		String groupName, int offset, int length) throws CoreException {
-		
-		return addTask(pluginId, resource, location, messageId, 
-				message, markerType, null, targetObjectName, groupName, offset, length);
-	}
-
-	/**
-	 * Given one of the SeverityEnum severities, return the IMarker severity int that is its
-	 * equivalent.
-	 * 
-	 * This method was made public for the SaberReporter. No one other than TaskListUtility, or the
-	 * SaberReporter, should use this method!
-	 *  
-	 */
-	private static int getSeverity(int severityEnumValue) {
-		switch (severityEnumValue) {
-			case (IMessage.HIGH_SEVERITY) : {
-				return IMarker.SEVERITY_ERROR;
-			}
-
-			case (IMessage.LOW_SEVERITY) : {
-				return IMarker.SEVERITY_INFO;
-			}
-
-			case (IMessage.NORMAL_SEVERITY) : {
-				return IMarker.SEVERITY_WARNING;
-			}
-
-			case (IMessage.ALL_MESSAGES) :
-			case (IMessage.ERROR_AND_WARNING) :
-			default : {
-				// assume it's a warning.
-				return IMarker.SEVERITY_WARNING;
-			}
-		}
-	}
-
-	private static int getDepth(IResource resource) {
-		if (resource instanceof IProject) {
-			return DEPTH_INFINITE; // DEPTH_INFINITE means get this project's markers, and the
-			// markers belonging to the project's children.
-		} else if (resource instanceof IWorkspaceRoot) {
-			// Needed for the ValidationMigrator when it checks for orphan tasks.
-			return DEPTH_INFINITE; // DEPTH_INFINITE means get all of the markers in the workspace
-		}
-
-		return DEPTH_ZERO; // DEPTH_ZERO means just this resource, not its children
-	}
-
-	public static IMarker[] getValidationTasks(int severity, IProject project) {
-		// DEPTH_INFINITE means get this project's markers, and the markers
-		// belonging to the project's children.
-		return getValidationTasks(project, severity);
-	}
-
-	public static IMarker[] getValidationTasks(IResource resource, int severity) {
-		return getValidationTasks(resource, severity, getDepth(resource));
-	}
-
-	/**
-	 * Return true if the marker is owned by the ownerId.
-	 */
-	public static boolean isOwner(IMarker marker, String ownerId) {
-		try {
-			Object owner = marker.getAttribute(VALIDATION_MARKER_OWNER);
-			if ((owner == null) || !(owner instanceof String)) {
-				// The ValidationMigrator will remove any "unowned" validation markers.
-				return false;
-			}
-
-			return ((String) owner).equals(ownerId);
-		} catch (CoreException e) {
-			ValidationPlugin.getPlugin().handleException(e);
-			return false;
-		}
-	}
-
-	private static IMarker[] getValidationTasks(IResource resource, int severity, int depth) {
-		IMarker[] tempMarkers = null;
-		int validCount = 0;
-		IMarker[] allMarkers = null;
-		try {
-			allMarkers = resource.findMarkers(VALIDATION_MARKER, true, depth);
-		} catch (CoreException e) {
-			if (Tracing.isLogging())ValidationPlugin.getPlugin().handleException(e);
-			return NO_MARKERS;
-		}
-
-		// Now filter in the markers, based on severity type.
-		if (allMarkers.length != 0) {
-			tempMarkers = new IMarker[allMarkers.length];
-			for (IMarker marker : allMarkers) {
-				Integer filterSeverity = null;
-				try {
-					filterSeverity = (Integer) marker.getAttribute(VALIDATION_MARKER_SEVERITY);
-				}
-				catch (CoreException e){
-					// Someone may have deleted the marker on us. All we can do is skip it.
-					continue;
-				}
-				if (filterSeverity == null) {
-					// odd...marker wasn't created correctly. How could this happen?
-					// Default to the current severity and add it to the list.
-					try {
-						// 226541 - I was seeing markers with valid severities being reset, so I added this
-						// additional test.
-						if (marker.getAttribute(IMarker.SEVERITY, -1) == -1)
-							marker.setAttribute(IMarker.SEVERITY, getSeverity(severity));
-					} catch (Exception e) {
-						ValidationPlugin.getPlugin().handleException(e);
-						continue;
-					}
-				} else if ((severity & filterSeverity.intValue()) == 0) {
-					continue;
-				}
-				tempMarkers[validCount++] = marker;
-			}
-		}
-
-		if (validCount == 0) {
-			return NO_MARKERS;
-		}
-
-		IMarker[] validMarkers = new IMarker[validCount];
-		System.arraycopy(tempMarkers, 0, validMarkers, 0, validCount);
-		return validMarkers;
-	}
-
-	public static IMarker[] getValidationTasks(IResource resource, String messageOwner) {
-		return getValidationTasks(resource, new String[]{messageOwner}, getDepth(resource));
-	}
-
-	public static IMarker[] getValidationTasks(IResource resource, String[] messageOwners) {
-		return getValidationTasks(resource, messageOwners, getDepth(resource));
-	}
-
-	private static IMarker[] getValidationTasks(IResource resource, String[] messageOwners, int depth) {
-		IMarker[] markers = getValidationTasks(resource, IMessage.ALL_MESSAGES, depth);
-		if (markers.length == 0)return NO_MARKERS;
-
-		IMarker[] temp = new IMarker[markers.length];
-		int validCount = 0;
-		for (IMarker marker : markers) {
-			Object owner = null;
-			try {
-				owner = marker.getAttribute(VALIDATION_MARKER_OWNER);
-			} catch (CoreException e) {
-				// eat it -- if it no longer exists there is nothing we can do about it
-			}
-			
-			if ((owner == null) || !(owner instanceof String)) {
-				// The ValidationMigrator will remove any "unowned" validation markers.
-				continue;
-			}
-
-			for (String messageOwner : messageOwners) {
-				if (((String) owner).equals(messageOwner)) {
-					temp[validCount++] = marker;
-					break;
-				}
-			}
-		}
-		
-		if (validCount == 0)return NO_MARKERS;
-
-		IMarker[] result = new IMarker[validCount];
-		System.arraycopy(temp, 0, result, 0, validCount);
-		return result;
-	}
-
-	/**
-	 * This method retrieves all validation tasks from the resource. If depth is INFINITE, child
-	 * tasks are returned as well. Only the tasks which are owned by the specified messageOwner, and
-	 * apply to the named IMessage's target object (objectName) will be returned.
-	 */
-	private static IMarker[] getValidationTasks(IResource resource, String[] messageOwner, String objectName, String groupName, int depth) throws CoreException {
-		if ((messageOwner == null) || (resource == null)) {
-			return NO_MARKERS;
-		}
-
-		int validCount = 0;
-		IMarker[] validList = null;
-		IMarker[] markers = getValidationTasks(resource, messageOwner, depth);
-		if (markers != null) {
-			validList = new IMarker[markers.length];
-			for (int i = 0; i < markers.length; i++) {
-				IMarker marker = markers[i];
-
-				// If more than one target object resolves to the same resource, removing one
-				// target's
-				// messages should not remove the other target object's messages.
-				if (objectName != null) {
-					Object targetObject = marker.getAttribute(VALIDATION_MARKER_TARGETOBJECT);
-					if ((targetObject == null) || !(targetObject instanceof String) || !(((String) targetObject).equals(objectName))) {
-						continue;
-					}
-				}
-
-				if (groupName != null) {
-					Object group = marker.getAttribute(VALIDATION_MARKER_GROUP);
-					if ((group == null) || !(group instanceof String) || !(((String) group).equals(groupName))) {
-						continue;
-					}
-				}
-
-				validList[validCount++] = marker;
-			}
-		}
-
-		if (validCount == 0) {
-			return NO_MARKERS;
-		}
-
-		IMarker[] result = new IMarker[validCount];
-		System.arraycopy(validList, 0, result, 0, validCount);
-		return result;
-	}
-
-	/**
-	 * Remove all validation messages from the resource and its children.
-	 */
-	public static void removeAllTasks(IResource resource) {
-		if (resource == null) {
-			return;
-		}
-
-		try {
-			IMarker[] markers = getValidationTasks(resource, IMessage.ALL_MESSAGES);
-			ResourcesPlugin.getWorkspace().deleteMarkers(markers);
-		} catch (CoreException e) {
-			ValidationPlugin.getPlugin().handleException(e);
-		}
-	}
-
-	/**
-	 * This method removes all tasks from the resource. If the resource is an IProject, all tasks
-	 * are also removed from the project's children.
-	 */
-	public static void removeAllTasks(IResource resource, String[] owners) throws CoreException {
-		removeAllTasks(resource, owners, null); // null means remove messages from all target
-		// objects
-	}
-
-	/**
-	 * This method removes all messages from a resource in the task list.
-	 */
-	public static void removeAllTasks(IResource resource, String owner, String objectName) throws CoreException {
-		removeAllTasks(resource, new String[]{owner}, objectName);
-	}
-
-	public static void removeAllTasks(IResource resource, String[] owners, String objectName) throws CoreException {
-		removeAllTasks(resource, owners, objectName, getDepth(resource));
-	}
-
-	protected static void removeAllTasks(IResource resource, String[] owners, String objectName, int depth) throws CoreException {
-		removeTaskSubset(resource, owners, objectName, null, depth); // null means no group name
-	}
-
-	/**
-	 * This method removes a subset of tasks from the project, including child tasks. Every task
-	 * which belongs to the group, identified by groupName, will be removed.
-	 */
-	public static void removeTaskSubset(IResource resource, String[] owners, String objectName, String groupName) throws CoreException {
-		removeTaskSubset(resource, owners, objectName, groupName, getDepth(resource));
-	}
-
-	/**
-	 * This method removes a subset of tasks from the project, including child tasks. Every task
-	 * which belongs to the group, identified by groupName, will be removed.
-	 */
-	protected static void removeTaskSubset(IResource resource, String[] owners, String objectName, String groupName, int depth) throws CoreException {
-		if ((owners == null) || (resource == null)) {
-			return;
-		}
-
-		IMarker[] allTasks = getValidationTasks(resource, owners, objectName, groupName, depth);
-		if (allTasks.length > 0) {
-			ResourcesPlugin.getWorkspace().deleteMarkers(allTasks);
-		}
-	}
-
-	/**
-	 * This method changes all validator markers which are owned by "from" to make their owner "to".
-	 */
-	public static void updateOwner(String from, String to) throws CoreException {
-		updateOwner(from, to, getRoot());
-	}
-
-	/**
-	 * This method changes all validator markers on the IResource and its children. All markers
-	 * owned by "from" have their owner reassigned to "to".
-	 */
-	public static void updateOwner(String from, String to, IResource resource) throws CoreException {
-		IMarker[] ownedMarkers = getValidationTasks(resource, from);
-		if (ownedMarkers == null) {
-			return;
-		}
-
-		for (int i = 0; i < ownedMarkers.length; i++) {
-			IMarker marker = ownedMarkers[i];
-			marker.setAttribute(VALIDATION_MARKER_OWNER, to);
-		}
-	}
-}
diff --git a/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/VThreadManager.java b/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/VThreadManager.java
deleted file mode 100644
index e9d9b7e..0000000
--- a/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/VThreadManager.java
+++ /dev/null
@@ -1,152 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.validation.internal;
-
-
-import java.util.Vector;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.wst.validation.internal.plugin.ValidationPlugin;
-
-
-/**
- * This class manages (queue, invoke, etc.) the Runnables that perform the validation for a
- * particular validator.
- */
-public class VThreadManager {
-	private static VThreadManager _manager = null;
-	private static final int MAX_NUM_OF_RESTART = 5; // the maximum number of times that the thread
-	// should attempt to ignore a Throwable and
-	// carry on
-
-	private Thread _validationThread = null; // This thread checks if the current Runnable is
-	// finished, and if so, loads the first Runnable off of
-	// the queue and starts it.
-	volatile int restart = 0; // how many times has the thread been restarted?
-	volatile Jobs _jobs = null;
-
-	private VThreadManager() {
-		_jobs = new Jobs();
-
-		// Start the validation thread to check for queued ValidationOperation
-		Runnable validationRunnable = new Runnable() {
-			public void run() {
-				while (true) {
-					try {
-						if (restart > MAX_NUM_OF_RESTART) {
-							// something has gone seriously, seriously wrong
-							String message = "restart = " + restart; //$NON-NLS-1$
-							ValidationPlugin.getPlugin().logMessage(IStatus.ERROR, message);
-							break;
-						}
-
-						Runnable job = getJobs().dequeue(); // If currentRunnable is null, there's
-						// nothing on the queue. Shouldn't
-						// happen with a semaphore.
-						if (job != null) {
-							getJobs().setActive(true);
-							job.run();
-							getJobs().setActive(false);
-						}
-					} catch (Exception e) {
-						restart++;
-						getJobs().setActive(false);
-						ValidationPlugin.getPlugin().handleException(e);
-					} finally {
-						//do nothing
-					}
-				}
-			}
-		};
-
-		_validationThread = new Thread(validationRunnable, "ValidationThread"); //$NON-NLS-1$
-		_validationThread.start();
-	}
-
-	public static VThreadManager getManager() {
-		if (_manager == null) {
-			_manager = new VThreadManager();
-		}
-		return _manager;
-	}
-
-	Jobs getJobs() {
-		return _jobs;
-	}
-
-	public void queue(Runnable runnable) {
-		getJobs().queue(runnable);
-	}
-
-	/**
-	 * Return true if all of the Runnables have been run.
-	 */
-	public boolean isDone() {
-		return getJobs().isDone();
-	}
-
-	private class Jobs {
-		private Vector<Runnable> _queuedJobs; // The queued Runnables that need to be run.
-		private boolean _isActive; // Is a job being run in the validation thread?
-
-		public Jobs() {
-			_queuedJobs = new Vector<Runnable>();
-		}
-
-		public synchronized void queue(Runnable runnable) {
-			// If there is a thread running already, then it must finish before another validation
-			// thread is launched, or the validation messages could reflect the last thread
-			// finished,
-			// instead of the last state of changes.
-
-			// Have to wait for the current Runnable to finish, so add this to the end of the queue
-			_queuedJobs.add(runnable);
-			notifyAll();
-		}
-
-		/**
-		 * Pop the Runnable off of the head of the queue.
-		 */
-		synchronized Runnable dequeue() {
-			while (_queuedJobs.size() == 0) {
-				try {
-					wait();
-				} catch (InterruptedException exc) {
-					//Ignore
-				}
-			} // Block on the semaphore; break when a job has been added to the queue.
-
-			Runnable job = null;
-			if (_queuedJobs.size() > 0) {
-				job = _queuedJobs.get(0);
-				if (job != null) {
-					_queuedJobs.remove(0);
-				}
-			}
-			return job;
-		}
-
-		public synchronized boolean isActive() {
-			return _isActive;
-		}
-
-		public synchronized void setActive(boolean active) {
-			_isActive = active;
-		}
-
-		/**
-		 * Return true if all of the Runnables have been run.
-		 */
-		public synchronized boolean isDone() {
-			return ((_queuedJobs.size() == 0) && !isActive());
-		}
-	}
-}
diff --git a/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/ValidationConfiguration.java b/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/ValidationConfiguration.java
deleted file mode 100644
index 3ddb087..0000000
--- a/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/ValidationConfiguration.java
+++ /dev/null
@@ -1,1078 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2009 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.validation.internal;
-
-import java.lang.reflect.InvocationTargetException;
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-import java.util.StringTokenizer;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IWorkspaceRoot;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.Preferences;
-import org.eclipse.core.runtime.Preferences.IPropertyChangeListener;
-import org.eclipse.core.runtime.Preferences.PropertyChangeEvent;
-import org.eclipse.wst.validation.internal.delegates.ValidatorDelegateDescriptor;
-import org.eclipse.wst.validation.internal.delegates.ValidatorDelegatesRegistry;
-import org.eclipse.wst.validation.internal.plugin.ValidationPlugin;
-import org.osgi.service.prefs.BackingStoreException;
-
-/**
- * This class represents the user's preference or project settings.
- * 
- * This class is populated from the multiple persistent properties, and is kept as a session
- * property while the resource is open.
- */
-public abstract class ValidationConfiguration implements IPropertyChangeListener {
-	private final IResource 	_resource;
-	private boolean 	disableAllValidation = getDisableAllValidation();
-	private String 		_version;
-	
-	/**
-	 * Map of all validators configured on the project or installed globally. The value of true
-	 * means that the VMD is enabled, and a value of false means that the VMD is disabled.
-	 */
-	private Map<ValidatorMetaData, Boolean>		_validators = new HashMap<ValidatorMetaData, Boolean>();
-	protected Map<ValidatorMetaData, Boolean> 	manualValidators;
-	protected Map<ValidatorMetaData, Boolean> 	buildValidators;
-	
-	protected static final String UserPreference = "USER_PREFERENCE"; //$NON-NLS-1$
-	protected static final String UserBuildPreference = "USER_BUILD_PREFERENCE"; //$NON-NLS-1$
-	protected static final String UserManualPreference = "USER_MANUAL_PREFERENCE"; //$NON-NLS-1$
-	protected static final String DelegatesPreference = "DELEGATES_PREFERENCE"; //$NON-NLS-1$
-	
-	// GRK - I am keeping these "constants" in the off chance that they were used somewhere outside the framework
-	protected String USER_PREFERENCE 		= UserPreference;
-	protected String USER_MANUAL_PREFERENCE = UserManualPreference;
-	protected String USER_BUILD_PREFERENCE 	= UserBuildPreference;
-	protected String DELEGATES_PREFERENCE 	= DelegatesPreference;
-	
-	/**
-	 * The key is the target id, that is the id of the place holder validator. The value is the id 
-	 * of the real validator. 
-	 */
-	private Map<String, String> _delegatesByTarget = new HashMap<String, String>();
-	
-	private static final String DefaultValue = "default_value"; //$NON-NLS-1$
-
-	public static String getEnabledElementsAsString(Set<ValidatorMetaData> elements) {
-		if (elements == null)return null;
-
-		StringBuffer buffer = new StringBuffer();
-		for (ValidatorMetaData vmd : elements) {
-			buffer.append(vmd.getValidatorUniqueName());
-			buffer.append(ConfigurationConstants.ELEMENT_SEPARATOR);
-		}
-		return buffer.toString();
-	}
-
-	private boolean getDisableAllValidation() {
-		return false;
-	}
-
-	public static String getEnabledElementsAsString(ValidatorMetaData[] elements) {
-		StringBuffer buffer = new StringBuffer();
-		for (ValidatorMetaData vmd : elements) {
-			buffer.append(vmd.getValidatorUniqueName());
-			buffer.append(ConfigurationConstants.ELEMENT_SEPARATOR);
-		}
-		return buffer.toString();
-	}
-
-	public static Set<ValidatorMetaData> getStringAsEnabledElements(String elements) {
-		if (elements == null)return null;
-
-		Set<ValidatorMetaData> result = new HashSet<ValidatorMetaData>();
-		StringTokenizer tokenizer = new StringTokenizer(elements, ConfigurationConstants.ELEMENT_SEPARATOR);
-		while (tokenizer.hasMoreTokens()) {
-			String elem = tokenizer.nextToken();
-			ValidatorMetaData vmd = ValidationRegistryReader.getReader().getValidatorMetaData(elem);
-			if (vmd != null)result.add(vmd);
-		}
-		return result;
-	}
-
-	public static ValidatorMetaData[] getStringAsEnabledElementsArray(String elements) {
-		if (elements == null)return null;
-
-		StringTokenizer tokenizer = new StringTokenizer(elements, ConfigurationConstants.ELEMENT_SEPARATOR);
-		ValidatorMetaData[] result = new ValidatorMetaData[tokenizer.countTokens()];
-		int count = 0;
-		while (tokenizer.hasMoreTokens()) {
-			String elem = tokenizer.nextToken();
-			ValidatorMetaData vmd = ValidationRegistryReader.getReader().getValidatorMetaData(elem);
-			if (vmd != null)result[count++] = vmd;
-		}
-
-		if (count != result.length) {
-			ValidatorMetaData[] trimResult = new ValidatorMetaData[count];
-			System.arraycopy(result, 0, trimResult, 0, count);
-			return trimResult;
-		}
-
-		return result;
-	}
-	
-	/**
-	 * Answer the validators
-	 * @return
-	 */
-	public static Set<String> getValidatorIdsManual(){
-		PreferencesWrapper prefs = PreferencesWrapper.getPreferences(null, null);
-		String config = prefs.get(UserManualPreference, null);
-		return getValidatorIds(config);
-	}
-	
-	public static Set<String> getValidatorIdsBuild(){
-		PreferencesWrapper prefs = PreferencesWrapper.getPreferences(null, null);
-		String config = prefs.get(UserBuildPreference, null);
-		return getValidatorIds(config);
-	}
-	
-	private static Set<String> getValidatorIds(String elements){
-		Set<String> set = new HashSet<String>(50);
-		if (elements != null){
-			StringTokenizer tokenizer = new StringTokenizer(elements, ConfigurationConstants.ELEMENT_SEPARATOR);
-			while (tokenizer.hasMoreTokens())set.add(tokenizer.nextToken());
-		}
-		return set;
-	}
-
-	public static IWorkspaceRoot getRoot() {
-		return ResourcesPlugin.getWorkspace().getRoot();
-	}
-	
-	protected ValidationConfiguration(IResource resource){
-		_resource = resource;
-	}
-
-	protected ValidationConfiguration(IResource resource, ValidatorMetaData[] validators) throws InvocationTargetException {
-		if (resource == null) {
-			throw new InvocationTargetException(null, ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_EXC_NULLCREATE));
-		}
-
-		_resource = resource;
-		setValidators(validators);
-	}
-	
-	public boolean isDisableAllValidation() throws InvocationTargetException {
-		return disableAllValidation;
-	}
-
-	public void setDisableAllValidation(boolean allValidation) {
-		disableAllValidation = allValidation;
-	}
-
-	public ValidatorMetaData[] getEnabledValidators() throws InvocationTargetException {
-		return getValidators(true);
-	}
-	
-	/**
-	 * If "incremental" is true, return the enabled incremental validators. If "incremental" is
-	 * false, return the enabled non-incremental validators.
-	 */
-	public ValidatorMetaData[] getEnabledIncrementalValidators(boolean incremental) throws InvocationTargetException {
-		return getEnabledFullBuildValidators(!incremental);
-	}
-
-	/**
-	 * If "fullBuild" is true, return the enabled validators that support full builds. If
-	 * "fullBuild" is false, return the enabled validators that do not support full builds.
-	 */
-	public ValidatorMetaData[] getEnabledFullBuildValidators(boolean fullBuild) throws InvocationTargetException {
-		return getEnabledFullBuildValidators(fullBuild, false);
-	}
-
-	public ValidatorMetaData[] getEnabledFullBuildValidators(boolean fullBuild, boolean onlyReferenced) throws InvocationTargetException {
-
-		int count = 0;
-		ValidatorMetaData[] result = null;
-		 
-		if( !isDisableAllValidation() ){
-			Set<ValidatorMetaData> set = getBuildEnabledValidatorsMap().keySet();
-			ValidatorMetaData[] temp = new ValidatorMetaData[set.size()];
-			for (ValidatorMetaData vmd : set) {
-				Boolean bvalue = getBuildEnabledValidatorsMap().get(vmd);
-				if (bvalue) {
-					// If the validator is enabled
-					if (vmd == null)continue;
-					if ( vmd.isBuildValidation() ) {
-						if (!onlyReferenced || vmd.isDependentValidator())
-							temp[count++] = vmd;
-					}
-				}
-			}
-			result = new ValidatorMetaData[count];
-			System.arraycopy(temp, 0, result, 0, count);
-		}
-		else {
-			 result = new ValidatorMetaData[0];
-		}
-		return result;
-	}
-
-	public void setEnabledValidators(ValidatorMetaData[] vmds) {
-		// First, "disable" all validators
-		Map<ValidatorMetaData, Boolean> all = getValidatorMetaData();
-		for (ValidatorMetaData vmd : all.keySet()) {
-			all.put(vmd, Boolean.FALSE);
-		}
-
-		// Then enable only the validators in the array
-		if ((vmds == null) || (vmds.length == 0))return;
-		
-		for (ValidatorMetaData vmd : vmds) {
-			all.put(vmd, Boolean.TRUE);
-		}
-	}
-	
-	public void setEnabledManualValidators(ValidatorMetaData[] vmds) throws InvocationTargetException {
-		Set<ValidatorMetaData> manualEnabledVMDs = new HashSet<ValidatorMetaData>(vmds.length);
-		for (ValidatorMetaData vmd : vmds)manualEnabledVMDs.add(vmd);
-		
-		for(ValidatorMetaData data : getValidators()) {
-			if(manualEnabledVMDs.contains(data))
-				getManualEnabledValidatorsMap().put(data, Boolean.TRUE);
-			else
-				getManualEnabledValidatorsMap().put(data, Boolean.FALSE);			
-		}
-	}
-	
-	/**
-	 * Update the list of validators that have been enabled for manual validation.
-	 * 
-	 * @param vmds the validators that are enabled for manual validation.
-	 * @throws InvocationTargetException
-	 */
-	public void setEnabledManualValidators(Set<ValidatorMetaData> vmds) throws InvocationTargetException {
-		for(ValidatorMetaData data : getValidators()) {
-			if(vmds.contains(data))getManualEnabledValidatorsMap().put(data, Boolean.TRUE);
-			else getManualEnabledValidatorsMap().put(data, Boolean.FALSE);			
-		}
-	}
-	
-	public void setEnabledBuildValidators(ValidatorMetaData[] vmds) throws InvocationTargetException {
-		Set<ValidatorMetaData> buildEnabledVMDs = new HashSet<ValidatorMetaData>(vmds.length);
-		for (ValidatorMetaData vmd : vmds)buildEnabledVMDs.add(vmd);
-		for(ValidatorMetaData data : getValidators()) {
-			if(buildEnabledVMDs.contains(data))
-				getBuildEnabledValidatorsMap().put(data, Boolean.TRUE);
-			else
-				getBuildEnabledValidatorsMap().put(data, Boolean.FALSE);			
-		}
-	}
-	
-	/**
-	 * Update the list of validators that have been enabled for build validation.
-	 * 
-	 * @param vmds the validators that are enabled for build validation.
-	 * @throws InvocationTargetException
-	 */
-	public void setEnabledBuildValidators(Set<ValidatorMetaData> vmds) throws InvocationTargetException {
-		for(ValidatorMetaData data : getValidators()) {
-			if(vmds.contains(data))getBuildEnabledValidatorsMap().put(data, Boolean.TRUE);
-			else getBuildEnabledValidatorsMap().put(data, Boolean.FALSE);			
-		}
-	}
-
-	private Map<ValidatorMetaData, Boolean> getValidatorMetaData() {
-		return _validators;
-	}
-	
-
-	public ValidatorMetaData[] getDisabledValidators() throws InvocationTargetException {
-		return getValidators(false);
-	}
-
-	/**
-	 * Return an array of ValidatorMetaData - if value is false, return the disabled validators; if
-	 * value is true, return the enabled validators.
-	 */
-	private ValidatorMetaData[] getValidators(boolean value) throws InvocationTargetException {
-		ValidatorMetaData[] temp = new ValidatorMetaData[numberOfValidators()];
-		int count = 0;
-		for (ValidatorMetaData vmd : getValidatorMetaData().keySet()) {
-			Boolean bvalue = getValidatorMetaData().get(vmd);
-			if (bvalue.booleanValue() == value) {
-				temp[count++] = vmd;
-			}
-		}
-
-		ValidatorMetaData[] result = new ValidatorMetaData[count];
-		System.arraycopy(temp, 0, result, 0, count);
-		return result;
-	}
-	
-	public ValidatorMetaData[] getManualEnabledValidators() throws InvocationTargetException {
-		Map<ValidatorMetaData, Boolean> map = getManualEnabledValidatorsMap();
-		if (!map.isEmpty()) {
-			List<ValidatorMetaData> list = new LinkedList<ValidatorMetaData>();
-			for (Map.Entry<ValidatorMetaData, Boolean> me : map.entrySet()) {
-				Boolean obj = me.getValue();
-				if (obj != null && obj)list.add(me.getKey());
-			}
-			return (ValidatorMetaData[]) list.toArray(new ValidatorMetaData[list.size()]);
-		}
-		return getEnabledValidators();
-	}	
-	
-	public  ValidatorMetaData[] getBuildEnabledValidators() throws InvocationTargetException {
-		Map<ValidatorMetaData, Boolean> map = getBuildEnabledValidatorsMap();
-		List<ValidatorMetaData> list = new LinkedList<ValidatorMetaData>();
-		if (!map.isEmpty()) {
-			for (Map.Entry<ValidatorMetaData, Boolean> me : map.entrySet()) {
-				Boolean obj = me.getValue();
-				if (obj != null && obj)list.add(me.getKey());
-			}
-			return (ValidatorMetaData[]) list.toArray(new ValidatorMetaData[list.size()]);
-		}
-		return getEnabledValidators();
-	}
-	
-	/**
-	 * Answer the map of the validators that have been enabled for build validation, 
-	 * creating it if necessary.
-	 */
-	protected  Map<ValidatorMetaData, Boolean> getBuildEnabledValidatorsMap() {
-		if(buildValidators == null)buildValidators = new HashMap<ValidatorMetaData, Boolean>();
-		return buildValidators;
-	}	
-	
-	/**
-	 * Answer the map of the validators that have been enabled for manual validation, 
-	 * creating it if necessary.
-	 */
-	protected  Map<ValidatorMetaData, Boolean> getManualEnabledValidatorsMap() {
-		if(manualValidators == null)manualValidators = new HashMap<ValidatorMetaData, Boolean>();
-		return manualValidators;
-	}	
-
-	/**
-	 * Return all incremental validators for this preference; either every installed validator
-	 * (global) or every validator configured on the project (project).
-	 */
-	public ValidatorMetaData[] getIncrementalValidators() throws InvocationTargetException {
-		ValidatorMetaData[] temp = new ValidatorMetaData[numberOfValidators()];
-		int count = 0;
-		for (ValidatorMetaData vmd : getValidatorMetaData().keySet()) {
-			Boolean bvalue = getValidatorMetaData().get(vmd);
-			if (bvalue && vmd.isIncremental())temp[count++] = vmd;
-		}
-
-		ValidatorMetaData[] result = new ValidatorMetaData[count];
-		System.arraycopy(temp, 0, result, 0, count);
-		return result;
-	}
-
-	/**
-	 * Return all validators for this preference; either every installed validator (global) or every
-	 * validator configured on the project (project).
-	 */
-	public ValidatorMetaData[] getValidators() throws InvocationTargetException {
-		return convertToArray(_validators.keySet());
-	}
-	
-	public void setValidators(ValidatorMetaData[] vmds) {
-		_validators.clear();
-		for (ValidatorMetaData vmd : vmds) {
-			if (vmd == null)continue;
-			_validators.put(vmd, (vmd.isEnabledByDefault() ? Boolean.TRUE : Boolean.FALSE));
-		}
-	}
-	
-  public void setDefaultDelegates(ValidatorMetaData[] vmds) throws InvocationTargetException {
-    _delegatesByTarget.clear();
-    for (ValidatorMetaData vmd : vmds) {
-      if (vmd == null)continue;
-      
-      String targetID = vmd.getValidatorUniqueName();
-      String delegateID = ValidatorDelegatesRegistry.getInstance().getDefaultDelegate(targetID);
-      if (delegateID == null)continue;
-      _delegatesByTarget.put(targetID, ValidatorDelegatesRegistry.getInstance().getDefaultDelegate(targetID));
-    }
-  }
-
-	/**
-	 * Returns the number of configured validators on the given project or installed validators in
-	 * the workspace.
-	 */
-	public int numberOfValidators() throws InvocationTargetException {
-		return _validators.size();
-	}
-
-	public int numberOfEnabledIncrementalValidators() throws InvocationTargetException {
-		return numberOfIncrementalValidators(getEnabledValidators());
-	}
-
-	public int numberOfIncrementalValidators() throws InvocationTargetException {
-		return numberOfIncrementalValidators(getValidators());
-	}
-
-	private static int numberOfIncrementalValidators(ValidatorMetaData[] vmds) {
-		int count = 0;
-		for (ValidatorMetaData vmd : vmds) {
-			if (vmd.isIncremental())count++;
-		}
-		return count;
-	}
-
-	/**
-	 * Returns the number of enabled validators on the project or workspace.
-	 */
-	public int numberOfEnabledValidators() throws InvocationTargetException {
-		return getEnabledValidators().length;
-	}
-
-	/**
-	 * Returns the number of disabled validators on the project or workspace.
-	 */
-	public int numberOfDisabledValidators() throws InvocationTargetException {
-		return getDisabledValidators().length;
-	}
-
-	/**
-	 * The value returned from this method is guaranteed to be non-null.
-	 */
-	public final String getVersion() throws InvocationTargetException {
-		if (_version == null)loadVersion();
-		return _version;
-	}
-
-	private void setVersion(String version) {
-		_version = version;
-	}
-
-	/**
-	 * This preference has been migrated; change the version to the current version.
-	 * @deprecated dead code.
-	 */
-	public void markVersionCurrent() {
-		// The version should not be marked current until the migration is complete
-		// (i.e., ValidationMigrator has been invoked.) Migrating the user's configuration
-		// is only the first step of the migration.
-		setVersion(ConfigurationConstants.CURRENT_VERSION);
-	}
-
-	public boolean isVersionCurrent() throws InvocationTargetException {
-		return getVersion().equals(ConfigurationConstants.CURRENT_VERSION);
-	}
-
-	// IResource could be an IProject or an IWorkspaceRoot
-	public IResource getResource() {
-		return _resource;
-	}
-
-	/**
-	 * Return true if the validator is enabled on this preference.
-	 */
-	public boolean isEnabled(String validatorClassName) throws InvocationTargetException {
-		if (validatorClassName == null) {
-			return false;
-		}
-
-		ValidatorMetaData vmd = ValidationRegistryReader.getReader().getValidatorMetaData(validatorClassName);
-		return isEnabled(vmd);
-	}
-
-	/**
-	 * Return true if the validator is enabled on this preference.
-	 */
-	public boolean isEnabled(ValidatorMetaData vmd) throws InvocationTargetException {
-		if (vmd == null)return false;
-
-		Boolean value = getValidatorMetaData().get(vmd);
-		if (value == null)return false;
-
-		return value.booleanValue();
-	}
-
-	/**
-	 * Once all of the fields have been updated on this ValidationConfiguration instance, this
-	 * preference should be stored back on the IResource for later use. This method must be called
-	 * manually by the validation framework once the fields of this type have been updated.
-	 */
-	public final void passivate() throws InvocationTargetException {
-		try {
-			if (getResource() == null) {
-				throw new InvocationTargetException(null, ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_EXC_NULLSAVE));
-			}
-			getResource().setSessionProperty(ConfigurationConstants.USER_PREFERENCE, this);
-		} catch (CoreException exc) {
-			throw new InvocationTargetException(exc, ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_EXC_SAVE, new String[]{getResource().getName()}));
-		}
-	}
-
-	/**
-	 * Reset the values to the default values.
-	 */
-	public abstract void resetToDefault() throws InvocationTargetException;
-
-	protected Boolean convertToBoolean(boolean value) {
-		return (value == true ? Boolean.TRUE : Boolean.FALSE);
-	}
-
-	protected Integer convertToInteger(int value) {
-		return new Integer(value);
-	}
-
-	protected boolean convertToBoolean(String value) {
-		Boolean b = Boolean.valueOf(value);
-		return b.booleanValue();
-	}
-
-	protected int convertToInt(String value) {
-		Integer t = Integer.valueOf(value);
-		return t.intValue();
-	}
-
-	public static ValidatorMetaData[] convertToArray(Collection<ValidatorMetaData> c) {
-		int length = (c == null) ? 0 : c.size();
-		ValidatorMetaData[] result = new ValidatorMetaData[length];
-		if (length == 0)return result;
-
-		int count = 0;
-		for (ValidatorMetaData vmd : c)result[count++] = vmd;
-
-		return result;
-	}
-
-	public static ValidatorMetaData[] convertToArray(Object[] c) {
-		int length = (c == null) ? 0 : c.length;
-		ValidatorMetaData[] result = new ValidatorMetaData[length];
-		if (length == 0)return result;
-
-		System.arraycopy(c, 0, result, 0, length);
-		return result;
-	}
-	
-	/**
-	 * Save the values of these fields before the project or workspace is closed.
-	 */
-	public void store() throws InvocationTargetException {
-		store(null);
-	}
-
-	/**
-	 * Save the values of these fields before the project or workspace is closed.
-	 */
-	public void store(Boolean persist) throws InvocationTargetException {
-		PreferencesWrapper pref = PreferencesWrapper.getPreferences(null, persist);
-		pref.put(ValidationConfiguration.UserPreference, serialize());
-		pref.put(ValidationConfiguration.UserManualPreference, serializeManualSetting());
-		pref.put(ValidationConfiguration.UserBuildPreference, serializeBuildSetting());
-		pref.put(ValidationConfiguration.DelegatesPreference, serializeDelegatesSetting());
-		try {
-			pref.flush();
-		}
-		catch (BackingStoreException e){
-			throw new InvocationTargetException(e);
-		}
-	}
-
-	/**
-	 * Load and store the version number, but nothing else. The version isn't a preference, but it's
-	 * stored and loaded as if it is. Because the load mechanism is different between an IProject
-	 * and the IWorkspaceRoot, keep the load mechanism inside the ValidationConfiguration
-	 * implementation, but initialize only the minimum at first. After the project has been
-	 * migrated, load the other fields (loading the other fields before the migration may overwrite
-	 * the values of those fields).
-	 */
-	protected final void loadVersion() throws InvocationTargetException {
-		if (getResource() == null) {
-			throw new InvocationTargetException(null, ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_EXC_NULLRETRIEVE));
-		}
-
-		IMarker[] marker = getMarker();
-		String version = null;
-		if (marker == null) {
-			// either a new workspace or already migrated; proceed as normal
-			version = loadVersion(getResource());
-		} else {
-			// migrate
-			version = loadVersion(marker);
-		}
-		setVersion(version);
-	}
-
-	protected final String loadVersion(IMarker[] marker) throws InvocationTargetException {
-		String version = (String) getValue(marker[0], ConfigurationConstants.VERSION);
-		if (version == null)	return ConfigurationConstants.VERSION4_03;
-
-		return version;
-	}
-
-	protected final String loadVersion(IResource resource) throws InvocationTargetException {
-		try {
-			// This method will be called in one of two situations:
-			//    1. This is a new workspace and no preferences exist.
-			//    2. This is a migrated workspace and the old preferences have already been created as
-			// persistent properties.
-			String storedConfiguration = resource.getPersistentProperty(ConfigurationConstants.USER_PREFERENCE);
-			String version = null;
-			if (storedConfiguration == null) {
-				version = getVersionDefault();
-			} else {
-				int versionIndex = storedConfiguration.indexOf(ConfigurationConstants.VERSION);
-				if (versionIndex != -1)
-					version = storedConfiguration.substring(versionIndex + ConfigurationConstants.VERSION.length());
-			}
-
-			if (version == null) {
-				return getVersionDefault();
-			}
-
-			return version;
-		} catch (CoreException exc) {
-			throw new InvocationTargetException(exc, ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_EXC_RETRIEVE, new String[]{getResource().getName()}));
-		}
-	}
-
-	/**
-	 * Load the values of these fields when the project or workspace is opened.
-	 */
-	protected final void load() throws InvocationTargetException {
-		try {
-			if (getResource() == null) {
-				throw new InvocationTargetException(null, ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_EXC_NULLRETRIEVE));
-			}
-
-			IMarker[] marker = getMarker();
-			if (marker == null) {
-				// either a new workspace or already migrated; proceed as normal
-				loadPreference();
-			} else {
-				// migrate
-				load(marker);
-			}
-		} catch (InvocationTargetException exc) {
-			throw exc;
-		} catch (Exception exc) {
-			String resourceName = (getResource() == null) ? "null" : getResource().getName(); //$NON-NLS-1$
-			throw new InvocationTargetException(exc, ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_EXC_RETRIEVE, new String[]{resourceName}));
-		}
-	}
-
-	/**
-	 * Return the IMarker that used to store the preference information, if the marker exists. (If
-	 * it doesn't exist, then it's already been migrated.)
-	 */
-	protected abstract IMarker[] getMarker();
-
-	protected abstract void load(IMarker[] marker) throws InvocationTargetException;
-
-	protected Object getValue(IMarker marker, String attribName) {
-		if (marker == null)return null;
-
-		try {
-			return marker.getAttribute(attribName);
-		} catch (CoreException e) {
-			ValidationPlugin.getPlugin().handleException(e);
-			return null;
-		}
-	}
-
-	protected boolean getValue(IMarker marker, String attribName, boolean defaultValue) {
-		Boolean bool = (Boolean) getValue(marker, attribName);
-		if (bool == null)return defaultValue;
-
-		return bool.booleanValue();
-	}
-
-	protected int getValue(IMarker marker, String attribName, int defaultValue) {
-		Integer integer = (Integer) getValue(marker, attribName);
-		if (integer == null)return defaultValue;
-
-		return integer.intValue();
-	}
-
-	protected String getValue(IMarker marker, String attribName, String defaultValue) {
-		String string = (String) getValue(marker, attribName);
-		if (string == null)return defaultValue;
-
-		return string;
-	}
-
-	protected void loadPreference() throws InvocationTargetException {
-		// This method will be called in one of two situations:
-		// 1. This is a new workspace and no preferences exist.
-		// 2. This is a migrated workspace and the old preferences have already been created as
-		// persistent properties.
-		PreferencesWrapper prefs = PreferencesWrapper.getPreferences(null, null);
-		deserializeAllPrefs(prefs);
-	}
-
-	/**
-	 * @param prefs
-	 * @throws InvocationTargetException
-	 */
-	private void deserializeAllPrefs(PreferencesWrapper prefs) throws InvocationTargetException {
-		String storedConfig = prefs.get(ValidationConfiguration.UserPreference, null);
-		deserialize(storedConfig);
-		String storedManualConfig = prefs.get(ValidationConfiguration.UserManualPreference, null);
-		deserializeManual(storedManualConfig);
-		String storedBuildConfig = prefs.get(ValidationConfiguration.UserBuildPreference, null);
-		deserializeBuild(storedBuildConfig);
-		String storedDelegatesConfiguration = prefs.get(ValidationConfiguration.DelegatesPreference, null);
-		deserializeDelegates(storedDelegatesConfiguration);
-	}
-	
-	public void propertyChange(PropertyChangeEvent event) {
-		Preferences prefs = (Preferences) event.getSource();
-		if (prefs != null && !event.getOldValue().equals(event.getNewValue())) {
-			try {
-				deserializeAllPrefs(event);
-				passivate();
-			 } catch (InvocationTargetException e) {
-				 ValidationPlugin.getPlugin().handleException(e);
-			}
-		}
-	}
-
-	private void deserializeAllPrefs(PropertyChangeEvent event) throws InvocationTargetException {
-		String storedConfig = (String)event.getNewValue();
-		if( event.getProperty().equals(ValidationConfiguration.UserPreference) ){
-			deserialize(storedConfig);
-		}else if(event.getProperty().equals(ValidationConfiguration.UserManualPreference)){
-			deserializeManual(storedConfig);
-		}else if(event.getProperty().equals(ValidationConfiguration.UserBuildPreference)){
-			deserializeBuild(storedConfig);
-		}else if(event.getProperty().equals(ValidationConfiguration.DelegatesPreference)){
-			deserializeDelegates(storedConfig);
-		}
-	}
-	
-	
-	protected void deserializeBuild(String storedConfiguration) throws InvocationTargetException {
-		if (storedConfiguration == null || storedConfiguration.length() == 0 || storedConfiguration.equals(DefaultValue)) {
-			// Assume that the configuration has never been set (new workspace).
-			resetToDefault();
-			return;
-		}
-		int buildValidationIndex = storedConfiguration.indexOf(ConfigurationConstants.ENABLED_BUILD_VALIDATORS);
-
-		String manualValidation = storedConfiguration.substring(buildValidationIndex + ConfigurationConstants.ENABLED_BUILD_VALIDATORS.length(),storedConfiguration.length());
-		setEnabledBuildValidators(getStringAsEnabledElementsArray(manualValidation));
-	}
-
-	protected void deserializeManual(String storedConfiguration) throws InvocationTargetException {
-		if (storedConfiguration == null || storedConfiguration.length() == 0 || storedConfiguration.equals(DefaultValue)) {
-			// Assume that the configuration has never been set (new workspace).
-			resetToDefault();
-			return;
-		}
-		int manualValidationIndex = storedConfiguration.indexOf(ConfigurationConstants.ENABLED_MANUAL_VALIDATORS);
-
-		String manualValidation = storedConfiguration.substring(manualValidationIndex + ConfigurationConstants.ENABLED_MANUAL_VALIDATORS.length(),storedConfiguration.length());
-		setEnabledManualValidators(getStringAsEnabledElementsArray(manualValidation));
-	}
-
-	protected void deserializeDelegates(String storedConfiguration) throws InvocationTargetException {
-
-    if (storedConfiguration == null || storedConfiguration.length() == 0 || storedConfiguration.equals(DefaultValue)) {
-	    // Assume that the configuration has never been set (new workspace).
-	    resetToDefault();
-	    return;
-	  }
-
-	  int delegatesIndex = storedConfiguration.indexOf(ConfigurationConstants.DELEGATE_VALIDATORS);
-
-	  String delegates = storedConfiguration.substring(delegatesIndex + ConfigurationConstants.DELEGATE_VALIDATORS.length(),storedConfiguration.length());
-
-	  if (delegates == null) {
-	    return;
-	  }
-
-	  StringTokenizer tokenizer = new StringTokenizer(delegates, ConfigurationConstants.ELEMENT_SEPARATOR);
-	  while (tokenizer.hasMoreTokens()) {
-	    String delegateConfiguration = tokenizer.nextToken();
-	    int separatorIndex = delegateConfiguration.indexOf(ConfigurationConstants.DELEGATES_SEPARATOR);
-	    String targetID = delegateConfiguration.substring(0, separatorIndex);
-	    String delegateID = delegateConfiguration.substring(separatorIndex + 1);
-      _delegatesByTarget.put(targetID, delegateID);
-	  }
-	}
-
-	protected void copyTo(ValidationConfiguration up) throws InvocationTargetException {
-		up.setVersion(getVersion());
-		up.setValidators(getValidators());
-		up.setDisableAllValidation(isDisableAllValidation());
-		up.setEnabledValidators(getEnabledValidators());
-		up.setEnabledManualValidators(getManualEnabledValidators());
-		up.setEnabledBuildValidators(getBuildEnabledValidators());
-    up.setDelegatingValidators(getDelegatingValidators());
-	}
-
-	/**
-	 * The key is the id of the place holder validator, and the value is the id of validator
-	 * that will perform the validation. 
-	 */
-	public Map<String, String> getDelegatingValidators() throws InvocationTargetException {
-		return _delegatesByTarget;
-	}
-
-	public void setDelegatingValidators(Map<String, String> source)
-	{
-		// It is safe to copy this map as it contains only immutable strings.
-		_delegatesByTarget.putAll(source);
-	}
-
-  /**
-	 * Return true if the enabled validators have not changed since this ValidationConfiguration was
-	 * constructed, false otherwise. (This method is needed for the Properties and Preference pages;
-	 * if the list of validators hasn't changed, then there is no need to update the task list;
-	 * updating the task list is a costly operation.)
-	 */
-	protected boolean hasEnabledValidatorsChanged(ValidatorMetaData[] oldEnabledVmd) throws InvocationTargetException {
-		// First check the obvious: is every enabled validator still enabled, and is
-		// the number of enabled validators the same as it was before? If not, return true.
-		if (oldEnabledVmd == null) {
-			// Something's gone wrong...
-			return true;
-		}
-
-		for (int i = 0; i < oldEnabledVmd.length; i++) {
-			ValidatorMetaData vmd = oldEnabledVmd[i];
-			if (!isEnabled(vmd)) {
-				return true;
-			}
-		}
-
-		// Everything that was enabled is still enabled; have any additional
-		// validators been enabled?
-		if (numberOfEnabledValidators() != oldEnabledVmd.length) {
-			return true;
-		}
-
-		return false;
-	}
-  
-  /**
-   * Determines if there has been a change in the list of delegate validators.
-   * @param oldDelegates a Map with the old delegates ID by target ID.
-   * @return true if there has been a change, false otherwise.
-   * @throws InvocationTargetException
-   */
-  protected boolean haveDelegatesChanged(Map<String, String> oldDelegates) throws InvocationTargetException {
-    
-    if (oldDelegates == null)return true;
-    
-    for (String targetID : oldDelegates.keySet()) {
-      String oldDelegateID = oldDelegates.get(targetID);
-      String newDelegateID = _delegatesByTarget.get(targetID);
-      
-      if (oldDelegateID == null || newDelegateID == null)return true;
-        
-      if (!newDelegateID.equals(oldDelegateID))return true;
-    }
-    
-    if (oldDelegates.size() != _delegatesByTarget.size())return true;
-    
-    return false;
-  }
-
-	protected String serialize() throws InvocationTargetException {
-		StringBuffer buffer = new StringBuffer();
-		buffer.append(ConfigurationConstants.DISABLE_ALL_VALIDATION_SETTING);
-		buffer.append(String.valueOf(isDisableAllValidation()));
-		buffer.append(ConfigurationConstants.VERSION);
-		buffer.append(getVersion());
-		return buffer.toString();
-	}
-	
-	protected String serializeManualSetting() throws InvocationTargetException {
-		StringBuffer buffer = new StringBuffer();
-		buffer.append(ConfigurationConstants.ENABLED_MANUAL_VALIDATORS);
-		buffer.append(getEnabledElementsAsString(getManualEnabledValidators()));
-		return buffer.toString();
-	}
-	
-	protected String serializeBuildSetting() throws InvocationTargetException {
-		StringBuffer buffer = new StringBuffer();
-		buffer.append(ConfigurationConstants.ENABLED_BUILD_VALIDATORS);
-		buffer.append(getEnabledElementsAsString(getBuildEnabledValidators()));
-		return buffer.toString();
-	}
-
-  protected String serializeDelegatesSetting() throws InvocationTargetException {
-    StringBuffer buffer = new StringBuffer();
-    buffer.append(ConfigurationConstants.DELEGATE_VALIDATORS);
-    buffer.append(getDelegatesAsString(getValidatorMetaData()));
-    return buffer.toString();
-  }
-
-  /**
-   * Provides a String which contains pairs of targetID=delegateID separated by a semicolon.
-   * @param validatorMetaData a Map with the currently configured validators.
-   * @return a String.
-   */
-  private String getDelegatesAsString(Map<ValidatorMetaData, Boolean> validatorMetaData) {
-    
-    StringBuffer buffer = new StringBuffer();
-    for (ValidatorMetaData vmd : validatorMetaData.keySet()) {    
-      String targetID = vmd.getValidatorUniqueName();
-      String delegateID = getDelegateUniqueName(vmd);
-      
-      if (delegateID == null)continue;
-
-      // Write out pairs targetID=delegateID
-
-      buffer.append(targetID);
-      buffer.append(ConfigurationConstants.DELEGATES_SEPARATOR);
-      buffer.append(delegateID);
-      buffer.append(ConfigurationConstants.ELEMENT_SEPARATOR);
-    }
-    
-    return buffer.toString();
-  }
-  
-  /**
-   * Provides the delegate's ID of the validator delegate configured in this configuration for 
-   * a given delegating validator. That is answer the id of validator that is going to do the real work.
-   * 
-   * @param vmd the delegating validator's meta data. Must not be null.
-   * @return a String with the id of the validator delegate, null if there isn't one.
-   */
-  public String getDelegateUniqueName(ValidatorMetaData vmd) {
-    String targetID = vmd.getValidatorUniqueName();    
-    return _delegatesByTarget.get(targetID);
-  }
-  
-  /**
-   * Provides the delegate's ID of the validator delegate configured in this configuration for 
-   * a given delegating validator. That is answer the id of validator that is going to do the real work.
-   * 
-   * @param targetId the id of the target (or place holder) validator. Must not be null.
-   * @return a String with the id of the validator delegate, null if there isn't one.
-   */
-  public String getDelegateForTarget(String targetId){
-	  return _delegatesByTarget.get(targetId);
-  }
-
-  /**
-   * Sets the delegate's ID of the validator delegate to be used in this configuration for the
-   * given delegating validator.
-   * 
-   * @param vmd the delegating validator's metadata. Must not be null.
-   * @param delegateID a String with the unique name (ID) of the validator delegate. Must not be null.
-   */
-  public void setDelegateUniqueName(ValidatorMetaData vmd, String delegateID) {
-    String targetID = vmd.getValidatorUniqueName();    
-    _delegatesByTarget.put(targetID, delegateID);
-  }
-
-  /**
-	 * Deserialize everything except the version number; the version is deserialized first, in the
-	 * loadVersion() method.
-	 */
-	protected void deserialize(String storedConfiguration) throws InvocationTargetException {
-		if (storedConfiguration == null || storedConfiguration.length() == 0 || storedConfiguration.equals(DefaultValue)) {
-			// Assume that the configuration has never been set (new workspace).
-			resetToDefault();
-			return;
-		}
-		int disableAllValidationIndex = storedConfiguration.indexOf(ConfigurationConstants.DISABLE_ALL_VALIDATION_SETTING);
-		int versionIndex = storedConfiguration.indexOf(ConfigurationConstants.VERSION);
-		if(disableAllValidationIndex != -1) {
-				String disableAllValidation = storedConfiguration.substring(disableAllValidationIndex + ConfigurationConstants.DISABLE_ALL_VALIDATION_SETTING.length(),versionIndex);
-				setDisableAllValidation(Boolean.valueOf(disableAllValidation).booleanValue());
-		} else {
-				setDisableAllValidation(false);
-		}
-		
-	}
-
-	public static boolean getDisableValidationDefault() {
-		return ConfigurationConstants.DEFAULT_DISABLE_VALIDATION_SETTING;
-	}
-
-	public static ValidatorMetaData[] getEnabledValidatorsDefault() {
-		return ConfigurationConstants.DEFAULT_ENABLED_VALIDATORS;
-	}
-
-	public static int getMaximumNumberOfMessagesDefault() {
-		return ConfigurationConstants.DEFAULT_MAXNUMMESSAGES;
-	}
-
-	public static String getVersionDefault() {
-		// If the version can't be retrieved, assume that it's a new workspace. (A null version
-		// could also mean a 4.03 workspace, but that's taken care of in the load(IMarker[])
-		// method.)
-		return ConfigurationConstants.CURRENT_VERSION;
-	}
-	
-	public boolean isManualEnabled(ValidatorMetaData vmd) {
-		if (vmd == null)return false;
-		Boolean value = getManualEnabledValidatorsMap().get(vmd);
-		if (value == null)return false;
-		return value;
-	}
-
-	public boolean isBuildEnabled(ValidatorMetaData vmd) {
-		if (vmd == null)return false;
-		Boolean value = getBuildEnabledValidatorsMap().get(vmd);
-		if (value == null)return false;
-		return value;
-	}
-	
-	public int numberOfManualEnabledValidators() throws InvocationTargetException {
-		return getManualEnabledValidators().length;
-	}
-	
-	public void enableSingleValidator(ValidatorMetaData  vmd){
-		getValidatorMetaData().put(vmd, Boolean.TRUE);
-	}
-	
-	
-	public void disableSingleValidator(ValidatorMetaData  vmd){
-		getValidatorMetaData().put(vmd, Boolean.FALSE);
-	}
-	
-	public void enableSingleManualValidator(ValidatorMetaData  vmd){
-		getManualEnabledValidatorsMap().put(vmd, Boolean.TRUE);
-	}
-	
-	
-	public void disableSingleManualValidator(ValidatorMetaData  vmd){
-		getManualEnabledValidatorsMap().put(vmd, Boolean.FALSE);
-	}
-
-	
-	public void enableSingleBuildValidator(ValidatorMetaData  vmd){
-		getBuildEnabledValidatorsMap().put(vmd, Boolean.TRUE);
-	}
-	
-	
-	public void disableSingleBuildValidator(ValidatorMetaData  vmd){
-		getBuildEnabledValidatorsMap().put(vmd, Boolean.FALSE);
-	}
-	
-  /**
-   * Provides the delegate validator descriptor of the validator delegate configured 
-   * for the given delegating validator in the context of this configuration. 
-   * @param vmd the delegating validator's meta data. Must not be null.
-   * @return a ValidatorDelegateDescriptor for the given delegating validator.
-   */
-  public ValidatorDelegateDescriptor getDelegateDescriptor(ValidatorMetaData vmd)  throws InvocationTargetException {
-    String targetID = vmd.getValidatorUniqueName();
-    String delegateID = getDelegateUniqueName(vmd);
-  
-    ValidatorDelegateDescriptor descriptor = ValidatorDelegatesRegistry.getInstance().getDescriptor(targetID, delegateID); 
-    return descriptor;    
-  }
-}
diff --git a/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/ValidationFactoryImpl.java b/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/ValidationFactoryImpl.java
deleted file mode 100644
index 1ba2ed1..0000000
--- a/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/ValidationFactoryImpl.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.validation.internal;
-
-import org.eclipse.wst.validation.internal.provisional.ValidationFactory;
-import org.eclipse.wst.validation.internal.provisional.core.IValidator;
-
-public class ValidationFactoryImpl implements ValidationFactory {
-	static ValidationFactory inst = null;
-	
-	public ValidationFactoryImpl() {
-		super();
-	}
-
-	public static ValidationFactory getInstance() {
-		if(inst == null)
-			inst = new ValidationFactoryImpl();
-		return inst;
-	}
-
-
-
-	public IValidator getValidator(String validatorUniqueId) throws InstantiationException {
-		ValidationRegistryReader reader = ValidationRegistryReader.getReader();
-		return reader.getValidator(validatorUniqueId);
-	}
-
-}
diff --git a/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/ValidationRegistryReader.java b/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/ValidationRegistryReader.java
deleted file mode 100644
index 03910e7..0000000
--- a/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/ValidationRegistryReader.java
+++ /dev/null
@@ -1,1370 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2010 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.validation.internal;
-
-
-import java.text.MessageFormat;
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.Map;
-import java.util.Set;
-import java.util.StringTokenizer;
-
-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.expressions.ExpressionTagNames;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IWorkspaceRoot;
-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.IStatus;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.osgi.util.NLS;
-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.validation.internal.delegates.ValidatorDelegatesRegistry;
-import org.eclipse.wst.validation.internal.operations.IRuleGroup;
-import org.eclipse.wst.validation.internal.operations.IWorkbenchContext;
-import org.eclipse.wst.validation.internal.plugin.ValidationPlugin;
-import org.eclipse.wst.validation.internal.provisional.core.IValidator;
-import org.osgi.framework.Bundle;
-
-/**
- * ValidationRegistryReader is a singleton who reads the plugin registry for Validator extensions.
- * The read is done once (in the constructor), and the list of validators can be accessed by calling
- * "getValidatorMetaData(String)" on this class. The read is triggered by a call from
- * ValidatorManager's loadValidatorMetaData(IProject) method. ValidatorManager delegates the load
- * call to this class, and if this class is null, the singleton is new'ed up, and the registry is
- * read.
- * <p>
- * No Validator should need to know about this class. The only class which should call
- * ValidationRegistryReader is ValidatorManager.
- * </p>
- * <p>
- * The Validator itself is initialized in the "initializeValidator" method.
- * </p>
- */
-public final class ValidationRegistryReader implements RegistryConstants {
-	
-	 /* <extension point="org.eclipse.wst.validation.internal.provisional.core.core.validator" id="EJBValidator" name="EJB
-		 * Validator"> <validator><projectNature id="com.ibm.etools.j2ee.EJBNature" include="false"/>
-		 * <filter objectClass="org.eclipse.core.resources.IFile" nameFilter = "ejb-jar.xml"/> <filter
-		 * objectClass="org.eclipse.core.resources.IFile" nameFilter = "*.java"/> <helper
-		 * class="org.eclipse.wst.validation.internal.provisional.core.core.ejb.workbenchimpl.EJBHelper"/> <run
-		 * class="org.eclipse.wst.validation.internal.provisional.core.core.ejb.EJBValidator" incremental="false" enabled="false"
-		 * pass="fast,full" async="false"/> <aggregateValidator class="my.aggregate.ValidatorClass"/>
-		 * <migrate><validator from="old.class.name" to="new.class.name"/> </migrate> </validator>
-		 * </extension>
-		 */
-	
-	private static ValidationRegistryReader _inst = new ValidationRegistryReader();
-	
-	/** list of all validators registered, with their associated ValidatorMetaData, indexed by project nature id */
-	private final Map<String,Set<ValidatorMetaData>> _validators;
-	
-	// list of all validators, indexed by validator class name,
-	// with the validator's ValidatorMetaData as the value.
-	// Needed by the WorkbenchReporter, because sometimes the
-	// IValidator is not enough to remove all messages from the
-	// task list.
-	private final Map<String, ValidatorMetaData> _indexedValidators; 
-	
-	private final Set<ValidatorMetaData> _defaultEnabledValidators;
-	
-	// Since IProject's contents are all instances of IResource, every type filter for a validator
-	// must be an instance of IResource. This applies to both the rebuildCache pass and to the
-	// validation pass.
-	private static final String IRESOURCE = "org.eclipse.core.resources.IResource"; //$NON-NLS-1$
-
-	private static final String UNKNOWN_PROJECT = "UNKNOWN"; //$NON-NLS-1$ // This 'project nature id' is used as a key to get the validators which can run on a project type which hasn't been explicitly filtered in or out by any validator.
-	private static final String EXCLUDED_PROJECT = "EXCLUDED"; //$NON-NLS-1$ // This 'project nature id' is used as a key to get the validators which are excluded on certain projects.
-	
-	/** @deprecated this instance variable should not be public. */
-	public HashMap<IProject, Set<ValidatorMetaData>> projectValidationMetaData = new HashMap<IProject, Set<ValidatorMetaData>>();
-
-	/**
-	 * The registry is read once - when this class is instantiated.
-	 */
-	private ValidationRegistryReader() {
-
-		_validators = new HashMap<String,Set<ValidatorMetaData>>();
-		_indexedValidators = new HashMap<String, ValidatorMetaData>();
-		_defaultEnabledValidators = new HashSet<ValidatorMetaData>();
-		try {
-
-			// Read the registry and build a map of validators. The key into
-			// the map is the IValidator instance and the value is the ValidatorMetaData
-			// which describes the IValidator.
-			readRegistry();
-
-			// Once all of the validators have been read, the caches of the
-			// validators need to be updated.
-			buildCache();
-		} catch (Exception e) {
-			ValidationPlugin.getPlugin().handleException(e);
-		}
-	}
-
-	/**
-	 * Traverse over the list of VMDs which have been added and create copies of it. The copies are
-	 * created to increase runtime performance.
-	 */
-	private void buildCache() {
-		for (ValidatorMetaData vmd : _indexedValidators.values()) {
-			buildProjectNatureCache(vmd);
-			buildDefaultEnabledCache(vmd);
-		}
-
-		// Now add the validators which are configured on all projects,
-		// and all projects but X.
-		addRemainder();
-
-		// this temporary list isn't needed any more. All of the excluded
-		// projects have been added to the project natures which they don't exclude.
-		_validators.remove(EXCLUDED_PROJECT);
-
-		if (Tracing.isTraceV1()) {
-			Tracing.log("ValidationRegistryReader-01: ", debug()); //$NON-NLS-1$
-		}
-	}
-
-	/**
-	 * Build the cache of VMDs which is indexed by project nature ids. If the validator is
-	 * registered on all project types, the vmd's project nature filters will be null.
-	 */
-	private void buildProjectNatureCache(ValidatorMetaData vmd) {
-		// Build the cache with the identified project natures in validators'
-		// extensions.
-		ValidatorNameFilter[] projNatureIds = vmd.getProjectNatureFilters();
-		String[] facetFilters = vmd.getFacetFilters();
-		if (projNatureIds == null) {
-			if (facetFilters == null && vmd.getEnablementExpresion() == null) {
-				add(UNKNOWN_PROJECT, vmd);
-			}
-		} else {
-			boolean noneIncluded = true; // assume that the validator does not include any project
-			// natures
-			for (int i = 0; i < projNatureIds.length; i++) {
-				ValidatorNameFilter pn = projNatureIds[i];
-				if (pn.isInclude()) {
-					noneIncluded = false;
-					add(pn.getNameFilter(), vmd);
-				}
-			}
-
-			if (noneIncluded) {
-				// add it to the list of EXCLUDED projects
-				// (that is, a validator which excludes project natures but doesn't
-				// explicitly include any. This type of validator runs on any unrecognized (UNKNOWN)
-				// projects, but the rest of the cache needs to be built before this is added
-				// to the UNKNOWN list. See addExcludedRemainder().
-				add(EXCLUDED_PROJECT, vmd);
-			}
-		}
-	}
-	/**
-	 * Build the list of validators which are enabled by default.
-	 */
-	private void buildDefaultEnabledCache(ValidatorMetaData vmd) {
-		if (vmd == null)return;
-
-		if (vmd.isEnabledByDefault())_defaultEnabledValidators.add(vmd);
-	}
-
-	/**
-	 * Add vmd to the list of validators, indexed by validator class name
-	 */
-	private void add(ValidatorMetaData vmd) {
-		if (vmd == null) {
-			return;
-		}
-
-		_indexedValidators.put(vmd.getValidatorUniqueName(), vmd);
-	}
-
-	/*
-	 * Some validators can run on any type of project. In order to have a static list, add the "any
-	 * project" validators to each "project nature" validators' list. This avoids adding the "any
-	 * project" validators to the "project nature" validators at runtime, which results in
-	 * performance savings.
-	 * 
-	 * Some validators run on any type of project but X, where X is an excluded project nature.
-	 * Those validators should also be added via this method.
-	 */
-	private void addRemainder() {
-		// First, add all "can-run-on-any-project-type" to every registered project nature type in
-		// the cache.
-		addAnyRemainder();
-
-		// Then add the "can-run-on-any-project-type-but-X" to every non-X registered project nature
-		// type in the cache.
-		addExcludedRemainder();
-	}
-
-	private void addExcludedRemainder() {
-		Set<ValidatorMetaData> excludedProjVmds = _validators.get(EXCLUDED_PROJECT);
-		if (excludedProjVmds == null) {
-			// no excluded project natures
-			return;
-		}
-
-		for (ValidatorMetaData vmd : excludedProjVmds) {
-
-			// assume that, by default, if someone explicitly excludes
-			// a project nature then they don't include any project natures
-			boolean noneIncluded = true;
-			
-			// a project nature then they don't include any project natures
-			for (String projId : _validators.keySet()) {
-				if (projId.equals(UNKNOWN_PROJECT) || projId.equals(EXCLUDED_PROJECT)) {
-					// Don't add list to a project nature which is excluded or applicable to all.
-					continue;
-				}
-
-				ValidatorNameFilter filter = vmd.findProjectNature(projId);
-				if (filter != null) {
-					// Don't add list to itself (filter.isIncluded() == true) or
-					// to a list from which it's excluded (filter.isIncluded() == false)
-					if (filter.isInclude()) {
-						noneIncluded = false;
-					}
-					continue;
-				}
-
-				add(projId, vmd);
-			}
-
-			if (noneIncluded) {
-				// At this point, the "can-run-on-any-project" becomes
-				// "not-excluded-on-these-projects". That is, if the project
-				// nature id isn't in the list of _validators, then it isn't
-				// included or excluded by any validators, so all validators
-				// which can run on any project AND all validators which can
-				// run on any but certain excluded projects can run on the
-				// given IProject.
-				add(UNKNOWN_PROJECT, vmd);
-			}
-		}
-	}
-
-	private void addAnyRemainder() {
-		Set<ValidatorMetaData> anyProjVmds = _validators.get(UNKNOWN_PROJECT);
-		if (anyProjVmds == null) {
-			// no validators run on all projects
-			return;
-		}
-
-		for (String projId : _validators.keySet()) {
-			if (projId.equals(UNKNOWN_PROJECT) || projId.equals(EXCLUDED_PROJECT)) {
-				// Don't add list to itself or to a project nature which is excluded.
-				continue;
-			}
-
-			add(projId, anyProjVmds);
-		}
-	}
-
-	private void add(String projectNatureId, Set<ValidatorMetaData> vmdList) {
-		if ((vmdList == null) || (vmdList.size() == 0))return;
-
-		// whether the validator includes or excludes this
-		// project nature id, make sure that an entry is created for it in the table
-		Set<ValidatorMetaData> pnVal = createSet(projectNatureId); 
-		pnVal.addAll(vmdList);
-		_validators.put(projectNatureId, pnVal);
-	}
-
-	private void add(String projectNatureId, ValidatorMetaData vmd) {
-		if (vmd == null)return;
-
-		// whether the validator includes or excludes this
-		// project nature id, make sure that an entry is created for it in the table
-		Set<ValidatorMetaData> pnVal = createSet(projectNatureId); 
-		pnVal.add(vmd);
-		_validators.put(projectNatureId, pnVal);
-	}
-
-	/**
-	 * When a validator's class or helper class cannot be loaded, the vmd calls this method to
-	 * disable the validator. The validator will be removed from the preference page, properties
-	 * page, and enabled list of any project thereafter validated.
-	 */
-	public void disableValidator(ValidatorMetaData vmd) {
-		_indexedValidators.remove(vmd.getValidatorUniqueName());
-		_defaultEnabledValidators.remove(vmd);
-
-		// The whole "on-any-project" and "exclude-this-project-nature" would take
-		// a lot of processing time... Instead, traverse the list of proj nature ids,
-		// and search the Set of that proj nature id, and remove the vmd if it's in the
-		// Set.
-		for (String projId : _validators.keySet()) {
-			Set<ValidatorMetaData> value = _validators.get(projId);
-			if (value == null)continue;
-
-			if (value.contains(vmd)) {
-				value.remove(vmd);
-				_validators.put(projId, value);
-			}
-		}
-	}
-
-	private Set<ValidatorMetaData> createSet(String projNature) {
-		Set<ValidatorMetaData> v = _validators.get(projNature);
-		if (v == null) {
-			v = new HashSet<ValidatorMetaData>();
-		}
-		return v;
-	}
-
-	/**
-	 * Given an IConfigurationElement, if it has a project nature(s) specified, return the
-	 * ValidatorNameFilters which represent those natures. Otherwise return null.
-	 * 
-	 * A project nature can be specified in plugin.xml to indicate what types of IProjects a
-	 * validator can run on.
-	 */
-	private String[] getAggregateValidatorsNames(IConfigurationElement element) {
-		IConfigurationElement[] filters = element.getChildren(TAG_AGGREGATE_VALIDATORS);
-		if (filters.length == 0)
-			return null;
-
-		String[] names = new String[filters.length];
-		for (int i = 0; i < names.length; i++) {
-			// In order to speed up our String comparisons, load these
-			// names into Java's constants space. This way, we'll be able to
-			// use pointer comparison instead of the traditional
-			// character-by-character comparison. Since these names should
-			// never be set by anyone other than this class, and this class
-			// sets them only once, it is safe to declare these Strings
-			// constants.
-			//
-			// To load a String into the constants space, call intern() on the String.
-			//
-			String nameFilter = filters[i].getAttribute(ATT_CLASS);
-			if (nameFilter != null) {
-				nameFilter = nameFilter.intern();
-			}
-			names[i] = nameFilter;
-		}
-		return names;
-	}
-	
-	private String[] getContentTypeBindings(IConfigurationElement element){
-		IConfigurationElement[] bindings = element.getChildren(TAG_CONTENTTYPE);
-		if(bindings.length == 0)
-			return null;
-		String[] cTypeIDs = new String[bindings.length];
-		for (int i = 0; i < bindings.length; i ++){
-			
-			cTypeIDs[i] = bindings[i].getAttribute(ATT_CONTENTTYPEID);
-		}
-		
-		return cTypeIDs;
-		
-	}
-
-	/**
-	 * Given an IConfigurationElement from plugin.xml, if it has any filter tags, construct the
-	 * appropriate ValidatorFilters to represent those tags; else return null.
-	 * 
-	 * A filter can be specified in plugin.xml to filter out certain resources.
-	 */
-	private ValidatorFilter[] getFilters(IConfigurationElement element) {
-		IConfigurationElement[] filters = element.getChildren(TAG_FILTER);
-		if (filters.length == 0)
-			return null;
-
-		ValidatorFilter[] vf = new ValidatorFilter[filters.length];
-		for (int i = 0; i < filters.length; i++) {
-			vf[i] = new ValidatorFilter(IRESOURCE);
-
-			// In order to speed up our String comparisons, load these
-			// names into Java's constants space. This way, we'll be able to
-			// use pointer comparison instead of the traditional
-			// character-by-character comparison. Since these names should
-			// never be set by anyone other than this class, and this class
-			// sets them only once, it is safe to declare these Strings
-			// constants.
-			//
-			// To load a String into the constants space, call intern() on the String.
-			//
-			String nameFilter = filters[i].getAttribute(ATT_NAME_FILTER);
-			if (nameFilter != null) {
-				nameFilter = nameFilter.intern();
-			}
-			String isCaseSensitive = filters[i].getAttribute(ATT_CASE_SENSITIVE);
-			vf[i].setNameFilter(nameFilter, isCaseSensitive);
-
-			String objectClass = filters[i].getAttribute(ATT_OBJECT_CLASS);
-			if (objectClass != null) {
-				objectClass = objectClass.intern();
-			}
-			vf[i].setTypeFilter(objectClass);
-
-			String actionFilter = filters[i].getAttribute(ATT_ACTION_FILTER);
-			if (actionFilter != null) {
-				actionFilter = actionFilter.intern();
-			}
-			vf[i].setActionFilter(actionFilter);
-		}
-		return vf;
-	}
-
-	public boolean getDependentValidatorValue(IConfigurationElement element) {
-		IConfigurationElement[] depValidatorElement = element.getChildren(DEP_VALIDATOR);
-		if (depValidatorElement.length == 0)
-			return false;
-		String depValue = depValidatorElement[0].getAttribute(DEP_VAL_VALUE);
-		boolean depBoolValue = (new Boolean(depValue)).booleanValue();
-		return depBoolValue;
-	}
-
-	/**
-	 * Return the name of the marker ID associated with the IValidator.
-	 */
-	public String[] getMarkerIdsValue(IConfigurationElement element) {
-		IConfigurationElement[] markerId = element.getChildren(MARKER_ID);
-		if (markerId.length == 0)
-			return null;
-		String markerIds[] = new String[markerId.length];
-		for(int i = 0; i < markerIds.length; i++) {
-			markerIds[i] = markerId[i].getAttribute(MARKER_ID_VALUE);
-		}
-		return markerIds;
-	}
-	
-	public String[] getFacetIds(IConfigurationElement element) {
-		IConfigurationElement[] facets = element.getChildren(FACET);
-		if (facets.length == 0)
-			return null;
-		String[] facetIds = new String[facets.length];
-		for (int i = 0; i < facets.length; i++) {
-			facetIds[i] = facets[i].getAttribute(FACET_ID);
-		}
-		return facetIds;
-	}
-
-	/**
-	 * Return the name of the helper class associated with the IValidator.
-	 */
-	private String getHelperName(IConfigurationElement element) {
-		IConfigurationElement[] helpers = element.getChildren(TAG_HELPER_CLASS);
-		if (helpers.length == 0)
-			return null;
-
-		return helpers[0].getAttribute(ATT_CLASS);
-	}
-
-	static IWorkbenchContext createHelper(IConfigurationElement element, String helperClassName) {
-		IWorkbenchContext wh = null;
-		try {
-			wh = (IWorkbenchContext) element.createExecutableExtension(TAG_HELPER_CLASS);
-		} catch (Exception exc) {
-			ValidationPlugin.getPlugin().handleException(exc);
-			String result = MessageFormat.format(
-				ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_EXC_SYNTAX_NO_HELPER_THROWABLE), 
-				new Object[]{helperClassName});
-			ValidationPlugin.getPlugin().logMessage(IStatus.ERROR, result);	
-			return null;
-		}
-		return wh;
-	}
-
-	static IValidator createValidator(IConfigurationElement element, String validatorClassName) {
-		IValidator validator = null;
-		try {
-			validator = (IValidator) element.createExecutableExtension(ATT_CLASS);
-		} catch (Exception e) {
-			String result = MessageFormat.format(ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_EXC_SYNTAX_NO_VAL_THROWABLE), 
-				new Object[]{validatorClassName});
-			ValidationPlugin.getPlugin().logMessage(IStatus.ERROR, result);	
-			ValidationPlugin.getPlugin().handleException(e);
-		}
-
-		if (validator == null) {
-			if (Tracing.isTraceV1()) {
-				Tracing.log("ValidationRegistryReader-02: ",  //$NON-NLS-1$
-					NLS.bind(ValMessages.VbfExcSyntaxNoValNull, validatorClassName));
-			}
-			return null;
-		}
-
-		return validator;
-	}
-
-	/**
-	 * Given an IConfigurationElement from plugin.xml, return whether or not the validator is
-	 * enabled by default.
-	 * 
-	 * If no enabled attribute is specified, the default, true (i.e., enabled) is returned.
-	 */
-	private boolean getEnabledByDefault(IConfigurationElement element) {
-		IConfigurationElement[] runChildren = element.getChildren(TAG_RUN_CLASS);
-		// Don't need to check if runChildren is null or empty, because that was checked in the
-		// initializeValidator method.
-
-		String inc = runChildren[0].getAttribute(ATT_ENABLED);
-		if (inc == null) {
-			return RegistryConstants.ATT_ENABLED_DEFAULT;
-		}
-
-		return Boolean.valueOf(inc.trim().toLowerCase()).booleanValue(); // this will return true
-		// if, and only if, the
-		// attribute value is
-		// "true". For example,
-		// "yes" will be considered
-		// "false".
-	}
-
-	/**
-	 * Given an IConfigurationElement from plugin.xml, return whether or not the validator supports
-	 * incremental validation.
-	 * 
-	 * If no incremental attribute is specified, the default, true (i.e., incremental is supported)
-	 * is returned.
-	 */
-	private boolean getIncremental(IConfigurationElement element) {
-		IConfigurationElement[] runChildren = element.getChildren(TAG_RUN_CLASS);
-		// Don't need to check if runChildren is null or empty, because that was checked in the
-		// initializeValidator method.
-
-		String inc = runChildren[0].getAttribute(ATT_INCREMENTAL);
-		if (inc == null) {
-			return RegistryConstants.ATT_INCREMENTAL_DEFAULT;
-		}
-
-		return Boolean.valueOf(inc.trim().toLowerCase()).booleanValue(); // this will return true
-		// if, and only if, the
-		// attribute value is
-		// "true". For example,
-		// "yes" will be considered
-		// "false".
-	}
-
-	/**
-	 * Given an IConfigurationElement from plugin.xml, return whether or not the validator supports
-	 * full build validation.
-	 * 
-	 * If no incremental attribute is specified, the default, true (i.e., incremental is supported)
-	 * is returned.
-	 */
-	private boolean getFullBuild(IConfigurationElement element) {
-		IConfigurationElement[] runChildren = element.getChildren(TAG_RUN_CLASS);
-		// Don't need to check if runChildren is null or empty, because that was checked in the
-		// initializeValidator method.
-
-		String fb = runChildren[0].getAttribute(ATT_FULLBUILD);
-		if (fb == null) {
-			return RegistryConstants.ATT_FULLBUILD_DEFAULT;
-		}
-
-		return Boolean.valueOf(fb.trim().toLowerCase()).booleanValue(); // this will return true if,
-		// and only if, the
-		// attribute value is
-		// "true". For example,
-		// "yes" will be considered
-		// "false".
-	}
-
-	/**
-	 * Given an IConfigurationElement from plugin.xml, return whether or not the validator supports
-	 * asynchronous validation.
-	 * 
-	 * If no async attribute is specified, the default, true (i.e., the validator is thread-safe) is
-	 * returned.
-	 */
-	private boolean getAsync(IConfigurationElement element) {
-		IConfigurationElement[] runChildren = element.getChildren(TAG_RUN_CLASS);
-		// Don't need to check if runChildren is null or empty, because that was checked in the
-		// initializeValidator method.
-
-		String async = runChildren[0].getAttribute(ATT_ASYNC);
-		if (async == null) {
-			return RegistryConstants.ATT_ASYNC_DEFAULT;
-		}
-
-		return Boolean.valueOf(async.trim().toLowerCase()).booleanValue(); // this will return true
-		// if, and only if, the
-		// attribute value is
-		// "true". For example,
-		// "yes" will be
-		// considered "false".
-	}
-
-	/**
-	 * Given an IConfigurationElement from plugin.xml, return the types of validation passes, as
-	 * defined in IRuleGroup, that the validator performs.
-	 * 
-	 * If no pass attribute is specified, the default, IRuleGroup.PASS_FULL, is returned.
-	 */
-	private int getRuleGroup(IConfigurationElement element) {
-		IConfigurationElement[] runChildren = element.getChildren(TAG_RUN_CLASS);
-		// Don't need to check if runChildren is null or empty, because that was checked in the
-		// initializeValidator method.
-
-		String pass = runChildren[0].getAttribute(ATT_RULE_GROUP);
-		if (pass == null) {
-			return RegistryConstants.ATT_RULE_GROUP_DEFAULT;
-		}
-
-		final String COMMA = ","; //$NON-NLS-1$
-		StringTokenizer tokenizer = new StringTokenizer(pass, COMMA, false); // false means don't
-		// return the comma as
-		// part of the string
-		int result = 0; // no passes identified
-		while (tokenizer.hasMoreTokens()) {
-			String nextAction = tokenizer.nextToken().trim();
-			if (nextAction.equals(IRuleGroup.PASS_FAST_NAME)) {
-				result = result | IRuleGroup.PASS_FAST;
-			} else if (nextAction.equals(IRuleGroup.PASS_FULL_NAME)) {
-				result = result | IRuleGroup.PASS_FULL;
-			}
-		}
-
-		if (result == 0) {
-			// No recognized passes. Return the default.
-			return RegistryConstants.ATT_RULE_GROUP_DEFAULT;
-		}
-
-		return result;
-	}
-
-	private ValidatorMetaData.MigrationMetaData getMigrationMetaData(IConfigurationElement element) {
-		IConfigurationElement[] runChildren = element.getChildren(TAG_MIGRATE);
-		if ((runChildren == null) || (runChildren.length == 0)) {
-			return null;
-		}
-
-		// Only supposed to be one "migrate" section in a validator, so ignore the rest
-		IConfigurationElement migrate = runChildren[0];
-
-		// Now look for the "validator" elements. Zero or more can be specified.
-		IConfigurationElement[] migrateChildren = migrate.getChildren(TAG_VALIDATOR);
-		if ((migrateChildren == null) || (migrateChildren.length == 0)) {
-			return null;
-		}
-
-		ValidatorMetaData.MigrationMetaData mmd = new ValidatorMetaData.MigrationMetaData();
-		for (int i = 0; i < migrateChildren.length; i++) {
-			IConfigurationElement migrateChild = migrateChildren[i];
-			String from = migrateChild.getAttribute(ATT_FROM);
-			if (from == null) {
-				continue;
-			}
-
-			String to = migrateChild.getAttribute(ATT_TO);
-			if (to == null) {
-				continue;
-			}
-			mmd.addId(from, to);
-		}
-		return mmd;
-	}
-
-	/**
-	 * Given an IConfigurationElement, if it has a project nature(s) specified, return the
-	 * ValidatorNameFilters which represent those natures. Otherwise return null.
-	 * 
-	 * A project nature can be specified in plugin.xml to indicate what types of IProjects a
-	 * validator can run on.
-	 */
-	private ValidatorNameFilter[] getProjectNatureFilters(IConfigurationElement element) {
-		IConfigurationElement[] filters = element.getChildren(TAG_PROJECT_NATURE);
-		if (filters.length == 0) {
-			return null;
-		}
-
-		ValidatorNameFilter[] vf = new ValidatorNameFilter[filters.length];
-		for (int i = 0; i < filters.length; i++) {
-			vf[i] = new ValidatorNameFilter();
-			// In order to speed up our String comparisons, load these
-			// names into Java's constants space. This way, we'll be able to
-			// use pointer comparison instead of the traditional
-			// character-by-character comparison. Since these names should
-			// never be set by anyone other than this class, and this class
-			// sets them only once, it is safe to declare these Strings
-			// constants.
-			//
-			// To load a String into the constants space, call intern() on the String.
-			//
-			String nameFilter = filters[i].getAttribute(ATT_ID);
-			if (nameFilter != null) {
-				nameFilter = nameFilter.intern();
-			}
-			vf[i].setNameFilter(nameFilter);
-
-			String include = filters[i].getAttribute(ATT_INCLUDE);
-			vf[i].setInclude(include);
-		}
-		return vf;
-	}
-
-	/**
-	 * Returns the singleton ValidationRegistryReader.
-	 */
-	public static ValidationRegistryReader getReader() {
-		return _inst;
-	}
-
-	public static boolean isActivated() {
-		// Whether the registry has been read or not is kept in the EventManager
-		// class instead of this class in order to work around a shutdown problem.
-		// See the comment in the isActive() method of the EventManager class
-		// for details.
-		return EventManager.getManager().isActive();
-	}
-
-	/**
-	 * Returns the Validator extension point
-	 */
-	private IExtensionPoint getValidatorExtensionPoint() {
-		IExtensionRegistry registry = Platform.getExtensionRegistry();
-		IExtensionPoint extensionPoint = registry.getExtensionPoint(ValidationPlugin.PLUGIN_ID, VALIDATOR_EXT_PT_ID);
-		if (extensionPoint == null) {
-			// If this happens it means that someone removed the "validator" extension point
-			// declaration from our plugin.xml file.
-			if (Tracing.isTraceV1()) {
-				String result = MessageFormat.format(ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_EXC_MISSING_VALIDATOR_EP),
-						new Object[]{ValidationPlugin.PLUGIN_ID + "." + VALIDATOR_EXT_PT_ID}); //$NON-NLS-1$
-				Tracing.log("ValidationRegistryReader-03: ", result);		 //$NON-NLS-1$
-			}
-		}
-		return extensionPoint;
-	}
-
-	/**
-	 * It's okay to return a handle to the ValidatorMetaData because the vmd can't be modified by
-	 * any code not in this package.
-	 */
-	public ValidatorMetaData getValidatorMetaData(IValidator validator) {
-		// retrieval will be in log(n) time
-		if (validator == null) {
-				String message = ResourceHandler.getExternalizedMessage(
-					ResourceConstants.VBF_EXC_ORPHAN_IVALIDATOR, new String[]{"null"}); //$NON-NLS-1$
-				ValidationPlugin.getPlugin().logMessage(IStatus.ERROR, message);
-			return null;
-		}
-
-		String validatorClassName = validator.getClass().getName();
-		ValidatorMetaData vmd = getValidatorMetaData(validatorClassName);
-		if (vmd != null) {
-			return vmd;
-		}
-
-		// If we got here, then vmd is neither a root nor an aggregate validator,
-		// yet the IValidator exists. Internal error.
-		String message = ResourceHandler.getExternalizedMessage(
-				ResourceConstants.VBF_EXC_ORPHAN_IVALIDATOR, new String[]{validatorClassName});
-		ValidationPlugin.getPlugin().logMessage(IStatus.ERROR, message);
-		return null;
-	}
-
-	public Set<ValidatorMetaData> getValidatorMetaData(IWorkspaceRoot root) {
-		// Every validator on the Preferences page must be returned
-		Set<ValidatorMetaData> copy = new HashSet<ValidatorMetaData>();
-		clone(_indexedValidators.values(), copy);
-		return copy;
-	}
-
-	/**
-	 * Return a collection of Validators configured on a certain type of IProject (e.g. EJB Project
-	 * vs. Web Project).
-	 * 
-	 * This is a long-running process. If you can, cache the result.
-	 */
-	public Set<ValidatorMetaData> getValidatorMetaData(IProject project) {
-		Set<ValidatorMetaData> copy = new HashSet<ValidatorMetaData>();
-		getValidatorMetaData(project, copy);
-		return copy;
-	}
-
-	/**
-	 * Copy the set of configured validator metadata into the Set.
-	 */
-	public void getValidatorMetaData(IProject project, Set<ValidatorMetaData> vmds) {
-		if (vmds == null)return;
-		vmds.clear();
-//		int executionMap = 0x0;
-		try {
-			if (Tracing.isTraceV1()) {
-				Tracing.log("ValidationRegistryReader-04: IProject is " + String.valueOf(project)); //$NON-NLS-1$
-			}
-			if (project == null) {
-//				executionMap |= 0x1;
-				// vmds is already clear
-				return;
-			}
-			String[] projectNatures = null;
-			try {
-				projectNatures = project.getDescription().getNatureIds();
-			} catch (CoreException e) {
-//				executionMap |= 0x2;
-				// vmds is already clear
-				ValidationPlugin.getPlugin().handleException(e);
-				return;
-			}
-			// If there are no project natures on a particular project,
-			// or if this project nature has no validators configured
-			// on it, return the validators which are configured on all
-			// projects.
-			if ((projectNatures == null) || (projectNatures.length == 0)) {
-//				executionMap |= 0x4;
-				
-				// Also include the validators which are enabled through enablement
-				// expression for this project.
-				// Note that the API isFacetEnabled(vmd, project) works properly 
-				// only when the plugin containing the property tester is activated.
-				// forcePluginActivation="true" may be needed in the declaration of 
-				// the enablement in the validator extension point.
-		        // <enablement>
-		        //  <test forcePluginActivation="true" property="foo.testProperty"/>
-		        // </enablement> 
-				
-				Set<ValidatorMetaData> validatorsWithEnablementExpression = new HashSet<ValidatorMetaData>();
-				for (ValidatorMetaData vmd : getAllValidators()) {
-					if (isFacetEnabled(vmd, project)) {
-						validatorsWithEnablementExpression.add(vmd);
-					}
-				}
-				if(validatorsWithEnablementExpression.size() > 0 ){
-					validatorsWithEnablementExpression.addAll( getValidatorMetaDataUnknownProject());
-					clone(validatorsWithEnablementExpression, vmds);
-				}
-				else
-					clone(getValidatorMetaDataUnknownProject(), vmds);
-
-
-			} else {
-//				executionMap |= 0x8;
-				if (Tracing.isTraceV1()) {
-					Tracing.log("ValidationRegistryReader-05: ", projectNatures.toString()); //$NON-NLS-1$
-				}
-				calculateVmdsForNatureAndFacets(vmds, projectNatures,project);
-				// Now filter out the validators which must not run on this project
-				removeExcludedProjects(project, vmds);
-				if (vmds.size() == 0) {
-//					executionMap |= 0x20;
-					clone(getValidatorMetaDataUnknownProject(), vmds);
-				}
-			}
-		} finally {
-			if (Tracing.isTraceV1()) {
-				StringBuffer buffer = new StringBuffer();
-				for (ValidatorMetaData vmd : vmds) {
-					buffer.append(vmd.getValidatorUniqueName());
-					buffer.append("\n"); //$NON-NLS-1$
-				}
-				Tracing.log("ValidationRegistryReader-06: ", buffer.toString()); //$NON-NLS-1$
-			}
-		}
-	}
-
-	/**
-	 * @param project
-	 * @param vmds
-	 * @param projectNatures
-	 */
-	private void calculateVmdsForNatureAndFacets(Set<ValidatorMetaData> vmds, String[] projectNatures, IProject project) {
-		Set<ValidatorMetaData> projVmds;
-		String[] projectFacetIds = getProjectFacetIds(project);
-		for (ValidatorMetaData vmd : getAllValidators()) {
-			if (containsProjectFacet(vmd, projectFacetIds) || isFacetEnabled(vmd, project)) {
-				vmds.add(vmd);
-			}
-		}
-		for (String projectNatureId : projectNatures) {
-			projVmds = _validators.get(projectNatureId);
-			if (projVmds == null)continue;
-
-			for (ValidatorMetaData vmd : projVmds) {
-				if (!vmds.contains(vmd) && (vmd.getFacetFilters() == null || vmd.getFacetFilters().length == 0)) {
-					if (vmd.getEnablementExpresion() == null)vmds.add(vmd);
-					else if (isFacetEnabled(vmd, project))vmds.add(vmd);
-				}
-			}
-		}
-	}
-
-	private boolean containsProjectFacet(ValidatorMetaData vmd, String[] projectFacetIds) {
-		String[] validatorFacets = vmd.getFacetFilters();
-		if (validatorFacets != null && validatorFacets.length > 0) {
-			if (projectFacetIds != null && projectFacetIds.length > 0) {
-				if (Arrays.asList(projectFacetIds).containsAll(Arrays.asList(validatorFacets)))
-					return true;
-			}
-		}
-		return false;
-	}
-	
-	private boolean isFacetEnabled(ValidatorMetaData vmd, IProject project) {
-		try {
-			Expression expression = vmd.getEnablementExpresion();
-			if (expression != null) {
-				EvaluationContext context = new EvaluationContext(null, project);
-				context.setAllowPluginActivation(true);
-				EvaluationResult result = expression.evaluate(context);
-				return result == EvaluationResult.TRUE;
-			}
-		} catch (CoreException ce) {
-		}
-		return false;
-	}
-
-	private String[] getProjectFacetIds(IProject project) {
-		try {
-			IFacetedProject fProject = ProjectFacetsManager.create(project);
-			if (fProject != null) {
-				Object[] projectFacets = fProject.getProjectFacets().toArray();
-				String[] projectFacetIds = new String[projectFacets.length];
-				for (int i = 0; i < projectFacets.length; i++) {
-					IProjectFacet projectFacet = ((IProjectFacetVersion) projectFacets[i]).getProjectFacet();
-					projectFacetIds[i] = projectFacet.getId();
-				}
-				return projectFacetIds;
-			}
-		} catch (CoreException ce) {
-		}
-
-		return null;
-	}
-
-	/*
-	 * If one project nature on the project includes a particular validator, but another project
-	 * nature excludes that validator, then the validator needs to be removed from the vmd set.
-	 * 
-	 * For example, if AValidator can run on any java project but not on a J2EE project, which is an
-	 * instance of a java project, then the AValidator is included by the java nature and excluded
-	 * by the J2EE nature. The AValidator would have to be removed from the set.
-	 */
-	private void removeExcludedProjects(IProject project, Set<ValidatorMetaData> vmds) {
-		if (Tracing.isTraceV1()) {
-			StringBuffer buffer = new StringBuffer("\nValidationRegistryReader-12: before:\n"); //$NON-NLS-1$
-			for (ValidatorMetaData vmd : vmds) {
-				buffer.append(vmd.getValidatorUniqueName());
-				buffer.append("\n"); //$NON-NLS-1$
-			}
-			Tracing.log(buffer);
-		}
-
-		String[] projectNatures = null;
-		try {
-			projectNatures = project.getDescription().getNatureIds();
-		} catch (CoreException e) {
-			ValidationPlugin.getPlugin().handleException(e);
-			return;
-		}
-		if ((projectNatures == null) || (projectNatures.length == 0)) {
-			// nothing needs to be removed from the list
-			return;
-		}
-		for (int i = 0; i < projectNatures.length; i++) {
-			String nature = projectNatures[i];
-			Iterator<ValidatorMetaData> iterator = vmds.iterator();
-			while (iterator.hasNext()) {
-				ValidatorMetaData vmd = iterator.next();
-				ValidatorNameFilter[] natureFilters = vmd.getProjectNatureFilters();
-				if (natureFilters == null) {
-					// Can run on any project
-					continue;
-				}
-
-				for (ValidatorNameFilter pn : natureFilters) {
-					if (nature.equals(pn.getNameFilter()) && !pn.isInclude()) {
-						iterator.remove();
-						break;
-					}
-				}
-			}
-		}
-
-		if (Tracing.isTraceV1()) {
-			StringBuffer buffer = new StringBuffer("\nValidationRegistryReader-13: after:\n"); //$NON-NLS-1$
-			for (ValidatorMetaData vmd : vmds) {
-				buffer.append(vmd.getValidatorUniqueName());
-				buffer.append("\n"); //$NON-NLS-1$
-			}
-			Tracing.log(buffer);
-		}
-	}
-
-	@SuppressWarnings("unchecked")
-	private Collection clone(Collection input, Collection copy) {
-		if (input == null || copy == null)return null;
-		copy.clear();
-		copy.addAll(input);
-		return copy;
-	}
-
-	public String debug() {
-		StringBuffer buffer = new StringBuffer();
-		buffer.append("Project nature => validators configured"); //$NON-NLS-1$
-		buffer.append("\n"); //$NON-NLS-1$
-		for (String projId : _validators.keySet()) {
-			buffer.append("projId: "); //$NON-NLS-1$
-			buffer.append(projId);
-			buffer.append("\n"); //$NON-NLS-1$
-			Set<ValidatorMetaData> validators = _validators.get(projId);
-			for (ValidatorMetaData vmd : validators) {
-				buffer.append("\t"); //$NON-NLS-1$
-				buffer.append(vmd.getValidatorUniqueName());
-				buffer.append("\n"); //$NON-NLS-1$
-			}
-		}
-		buffer.append("\n"); //$NON-NLS-1$
-
-		buffer.append("Enable/disable validator by default"); //$NON-NLS-1$
-		buffer.append("\n"); //$NON-NLS-1$
-		for (ValidatorMetaData vmd : _indexedValidators.values()) {
-			buffer.append(vmd.getValidatorUniqueName());
-			buffer.append(" enabled? "); //$NON-NLS-1$
-			buffer.append(vmd.isEnabledByDefault());
-			buffer.append("\n"); //$NON-NLS-1$
-		}
-
-		return buffer.toString();
-	}
-
-	public boolean isConfiguredOnProject(ValidatorMetaData vmd, IProject project) {
-		Set<ValidatorMetaData> vmds = null;
-		synchronized(projectValidationMetaData){
-			vmds = projectValidationMetaData.get(project);
-		}
-		if (vmds != null) {
-			return vmds.contains(vmd);
-		} else {
-			Set<ValidatorMetaData> prjVmds = getValidatorMetaData(project);
-			if (prjVmds == null || prjVmds.size() == 0)return false;
-			synchronized(projectValidationMetaData){
-				projectValidationMetaData.put(project, prjVmds);
-			}
-			return prjVmds.contains(vmd);
-		}
-	}
-	
-	public void clearCachedMaps(){
-		synchronized(projectValidationMetaData){
-			projectValidationMetaData.clear();
-		}
-	}
-
-	/**
-	 * Return a set of ValidatorMetaData which are configured on all projects or which run on any
-	 * projects except certain project types.
-	 * 
-	 * Unlike other get methods, because this method is private it doesn't return a clone.
-	 * 
-	 * @see addExcludedRemainder()
-	 */
-	private Set<ValidatorMetaData> getValidatorMetaDataUnknownProject() {
-		Set<ValidatorMetaData> projVmds = _validators.get(UNKNOWN_PROJECT);
-		if (projVmds == null) {
-			projVmds = new HashSet<ValidatorMetaData>();
-		}
-		return projVmds;
-	}
-
-	/**
-	 * Return a set of ValidatorMetaData which are enabled by default.
-	 */
-	public Set<ValidatorMetaData> getValidatorMetaDataEnabledByDefault() {
-		Set<ValidatorMetaData> copy = new HashSet<ValidatorMetaData>();
-		clone(_defaultEnabledValidators, copy);
-		return copy;
-	}
-
-	public ValidatorMetaData[] getValidatorMetaDataArrayEnabledByDefault() {
-		ValidatorMetaData[] result = new ValidatorMetaData[_defaultEnabledValidators.size()];
-		_defaultEnabledValidators.toArray(result);
-		return result;
-	}
-
-	/**
-	 * This method should be called ONLY by the validation framework, UI, or TVT plugin. In general,
-	 * only the validation framework and the validation TVT should handle ValidatorMetaData objects.
-	 * 
-	 * Given a string which identifies a fully-qualified class name of a validator, return the
-	 * ValidatorMetaData that uses a validator of that name, if it exists.
-	 * 
-	 * It's okay to return a handle to the ValidatorMetaData because the vmd can't be modified by
-	 * any code not in this package.
-	 */
-	public ValidatorMetaData getValidatorMetaData(String validatorClassName) {
-		if (validatorClassName == null)return null;
-
-		ValidatorMetaData vmd2 = _indexedValidators.get(validatorClassName);
-		if (vmd2 != null)return vmd2;
-
-		// Check for an aggregate validator
-		for (ValidatorMetaData vmd : _indexedValidators.values()) {
-			if (vmd == null)continue;
-
-			if (vmd.getValidatorUniqueName().equals(validatorClassName))return vmd;
-
-			String[] aggregateNames = vmd.getAggregatedValidatorNames();
-			if (aggregateNames != null) {
-				for (String aggregateName : aggregateNames) {
-					if (validatorClassName.equals(aggregateName))return vmd;
-				}
-			}
-
-			// Current name of validator doesn't match; has this validator been
-			// migrated from another package?
-			ValidatorMetaData.MigrationMetaData mmd = vmd.getMigrationMetaData();
-			if (mmd == null) {
-				// Validator class name hasn't been migrated
-				continue;
-			}
-
-			Set<String[]> idList = mmd.getIds();
-			if (idList == null) {
-				// Invalid <migrate> element.
-				continue;
-			}
-
-			for (String[] ids : idList) {
-				if (ids.length != 2) {
-					// log
-					continue;
-				}
-
-				String from = ids[0];
-				if (from == null) {
-					// log
-					continue;
-				}
-
-				if (from.equals(validatorClassName)) {
-					return vmd;
-				}
-			}
-		}
-
-		// If we got to this point, no validator using that class name is loaded.
-		return null;
-	}
-
-	/**
-	 * Return true if the named validator is installed, otherwise false.
-	 */
-	public boolean isExistingValidator(String validatorClassName) {
-		return (getValidatorMetaData(validatorClassName) != null);
-	}
-
-	/**
-	 * Initialize the validator with the static metadata (runtime metadata is initialized in the
-	 * ValidationOperation class).
-	 */
-	private ValidatorMetaData initializeValidator(IConfigurationElement element, String validatorName, String pluginId) {
-		IConfigurationElement[] runChildren = element.getChildren(TAG_RUN_CLASS);
-		if ((runChildren == null) || (runChildren.length < 1)) {
-			// How can an IValidatorImpl be created when there no class name to instantiate?
-			if (Tracing.isLogging()) {
-				Tracing.log("ValidationRegistryReader-07: ", NLS.bind(ValMessages.VbfExcSyntaxNoValRun, validatorName));				 //$NON-NLS-1$
-			}
-			return null;
-		}
-
-		//WTP Bugzilla defect: 82338
-		//Using the Unique Identifier give the flexibility of the same validator class used by other validator extensions without writing a new validation class
-		//Reverting the fix back as the class name defined in the ext is unique to this validator and has to be used for the unique id in the validation metadata
-		String validatorImplName = runChildren[0].getAttribute(ATT_CLASS);
-		
-		if (validatorImplName == null) {
-			// Same as before; how can we instantiate when...
-			if (Tracing.isLogging()) {
-				Tracing.log("ValidationRegistryReader-08: ", NLS.bind(ValMessages.VbfExcSyntaxNoValClass, validatorName)); //$NON-NLS-1$
-			}
-			return null;
-		}
-
-		String helperImplName = getHelperName(element);
-		if (helperImplName == null) {
-			// Same as before; how can we instantiate when...
-			if (Tracing.isLogging()) {
-				Tracing.log("ValidationRegistryReader-09: ", NLS.bind(ValMessages.VbfExcSyntaxNoValRun, validatorImplName)); //$NON-NLS-1$
-			}
-			return null;
-		}
-
-		// In order to speed up our String comparisons, load these
-		// names into Java's constants space. This way, we'll be able to
-		// use pointer comparison instead of the traditional
-		// character-by-character comparison. Since these names should
-		// never be set by anyone other than this class, and this class
-		// sets them only once, it is safe to declare these Strings
-		// constants.
-		//
-		// To load a String into the constants space, call intern() on the String.
-		//
-		
-		boolean async = getAsync(element);
-		String[] markerIds = initializeValidatorCustomMarkers(element, pluginId);
-		ValidatorMetaData vmd = new ValidatorMetaData(async, getAggregateValidatorsNames(element), getEnabledByDefault(element),
-				getIncremental(element), getFullBuild(element), element, helperImplName, getMigrationMetaData(element),
-				pluginId, getRuleGroup(element), runChildren[0], validatorName.intern(), validatorImplName.intern(),
-				getContentTypeBindings(element), getDependentValidatorValue(element), getEnablementElement(element),
-				getFacetIds(element), getFilters(element), getProjectNatureFilters(element), markerIds, getRunStragety(element));
-		
-		
-		if (Tracing.isTraceV1()) {
-			Tracing.log("ValidationRegistryReader-10: validator loaded: " + validatorImplName); //$NON-NLS-1$
-		}
-
-		return vmd;
-	}
-
-	/**
-	 * @param element
-	 * @param pluginId
-	 * @param vmd
-	 */
-	private String[] initializeValidatorCustomMarkers(IConfigurationElement element, String pluginId) {
-		String[] qualifiedMarkerIds = null;
-		String[] customMarkerIds = getMarkerIdsValue(element);
-		if (customMarkerIds != null && customMarkerIds.length > 0) {
-			qualifiedMarkerIds = new String[customMarkerIds.length];
-			for (int i = 0; i < customMarkerIds.length; i++) {
-				String markerid = customMarkerIds[i];
-				if (markerid.lastIndexOf(".") != -1) { //$NON-NLS-1$
-					String pluginID = markerid.substring(0, markerid.lastIndexOf(".")); //$NON-NLS-1$
-					Bundle bundle = Platform.getBundle(pluginID);
-					if (bundle == null)
-						qualifiedMarkerIds[i] = pluginId + "." + customMarkerIds[i]; //$NON-NLS-1$
-					else
-						qualifiedMarkerIds[i] = customMarkerIds[i];
-				} else
-					qualifiedMarkerIds[i] = pluginId + "." + customMarkerIds[i]; //$NON-NLS-1$
-			}
-		}
-		return qualifiedMarkerIds;
-	}
-
-	private Expression getEnablementElement(IConfigurationElement element) {
-		IConfigurationElement[] enablements = element.getChildren(ExpressionTagNames.ENABLEMENT);
-		if (enablements.length == 0)
-			return null;
-		try {
-			return ExpressionConverter.getDefault().perform(enablements[0]);
-		} catch (CoreException e) {
-			ValidationPlugin.getPlugin().handleException(e);
-		}
-		return null;
-	}
-
-	/**
-	 * This method should be called ONLY BY THE VALIDATION FRAMEWORK! The value from this method is
-	 * used to populate the validation preference page.
-	 */
-	public Collection<ValidatorMetaData> getAllValidators() {
-		Set<ValidatorMetaData> validators = new HashSet<ValidatorMetaData>(50);
-		clone(_indexedValidators.values(), validators);
-		return validators;
-	}
-
-	public int numberOfValidators() {
-		return _indexedValidators.size();
-	}
-
-	/**
-	 * Reads one extension by looping through its configuration elements.
-	 */
-	private void readExtension(IExtension extension) {
-		IConfigurationElement[] elements = extension.getConfigurationElements();
-
-		for (int i = 0; i < elements.length; i++) {
-			IConfigurationElement element = elements[i];
-
-			String label = extension.getLabel();
-			if (label == null || label.equals("")) { //$NON-NLS-1$
-				if (Tracing.isTraceV1()) {
-					String[] msgParm = {extension.getUniqueIdentifier()};
-					String result = MessageFormat.format(ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_EXC_VALIDATORNAME_IS_NULL),
-							(Object[])msgParm);
-					Tracing.log("ValidationRegistryReader-11: ", result); //$NON-NLS-1$
-				}
-			} else {
-				// If getLabel() returns an empty string, this is an illegal validator.
-				// The PropertyPage, and other status messages, need to have a displayable name for
-				// the validator.
-				String pluginId = extension.getContributor().getName();
-				if (Tracing.isEnabled(extension.getUniqueIdentifier())){
-					ValidatorMetaData vmd = initializeValidator(element, label, pluginId);
-	
-					if (vmd != null) {
-						// Add this validator to the list of validators; if vmd is null, the validator
-						// couldn't be created.
-						add(vmd);
-					}
-				}
-			}
-		}
-	}
-
-	/**
-	 * Reads the registry to find the Validators which have been implemented.
-	 */
-	private void readRegistry() {
-		_validators.clear();
-
-		// Get the extensions that have been registered.
-		IExtensionPoint validatorEP = getValidatorExtensionPoint();
-		if (validatorEP == null) {
-			return;
-		}
-		IExtension[] extensions = validatorEP.getExtensions();
-
-		// find all runtime implementations
-		for (int i = 0; i < extensions.length; i++) {
-			readExtension(extensions[i]);
-		}
-    
-    // Force the delegate validators registry to be read early to avoid
-    // the non-synchronized singleton issue which occurs when two delegating
-    // validators race to load the registry.
-    
-    ValidatorDelegatesRegistry.getInstance();
-	}
-
-	public IValidator getValidator(String validatorClassName) throws InstantiationException {
-		ValidatorMetaData vmd = _indexedValidators.get(validatorClassName);
-		if(vmd != null)
-			return vmd.getValidator();
-		return null;
-	}
-	/**
-	 * Given an IConfigurationElement from plugin.xml, return whether or not the validator is called by project
-	 * 
-	 * <p>If no project attribute is specified, the default is false (validator is called by resource)
-	 */
-	private boolean getRunStragety(IConfigurationElement element) {
-		
-		IConfigurationElement[] runChildren = element.getChildren(TAG_RUN_STRATEGY);
-		
-		if (runChildren == null || runChildren.length < 1) return RegistryConstants.ATT_PROJECT_DEFAULT;
-		String project = runChildren[0].getAttribute(ATT_PROJECT);
-		if (project == null)return RegistryConstants.ATT_PROJECT_DEFAULT;
-
-		return Boolean.valueOf(project.trim()); 
-	
-	}
-	
-
-}
diff --git a/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/ValidationSelectionHandlerRegistryReader.java b/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/ValidationSelectionHandlerRegistryReader.java
deleted file mode 100644
index cf3ce9a..0000000
--- a/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/ValidationSelectionHandlerRegistryReader.java
+++ /dev/null
@@ -1,114 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.validation.internal;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IExtension;
-import org.eclipse.core.runtime.IExtensionPoint;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.wst.validation.internal.plugin.ValidationPlugin;
-
-public class ValidationSelectionHandlerRegistryReader {
-
-	public static final String VALIDATION_SELECTION_HANDLER = "validationSelectionHandler"; //$NON-NLS-1$
-	static final String ATT_ID = "id"; //$NON-NLS-1$ 
-	
-	/** handlerClass - */
-	static final String ATT_HANDLER_CLASS = "handlerClass"; //$NON-NLS-1$
-	
-	static final String ATT_SELECTION_TYPE = "selectionType"; //$NON-NLS-1$
-	private static ValidationSelectionHandlerRegistryReader INSTANCE;
-	private List<IValidationSelectionHandler> _validationSelectionHandlers;
-	
-	public ValidationSelectionHandlerRegistryReader() {
-	}
-	
-	public static ValidationSelectionHandlerRegistryReader getInstance() {
-		if (INSTANCE == null) {
-			INSTANCE = new ValidationSelectionHandlerRegistryReader();
-			INSTANCE.readRegistry();
-		}
-		return INSTANCE;
-	}
-
-	/**
-	 * Read the extension point and parse it.
-	 */
-	public void readRegistry() {
-		IExtensionPoint point = Platform.getExtensionRegistry()
-			.getExtensionPoint(ValidationPlugin.PLUGIN_ID, VALIDATION_SELECTION_HANDLER);
-		if (point == null)return;
-		IConfigurationElement[] elements = point.getConfigurationElements();
-		for (int i = 0; i < elements.length; i++) {
-			internalReadElement(elements[i]);
-		}
-	}
-	
-	private void internalReadElement(IConfigurationElement element) {
-		boolean recognized = this.readElement(element);
-		if (!recognized) {
-			logError(element, "Error processing extension: " + element); //$NON-NLS-1$
-		}
-	}
-
-	/*
-	 * Logs the error in the desktop log using the provided text and the information in the configuration element.
-	 */
-	protected void logError(IConfigurationElement element, String text) {
-		IExtension extension = element.getDeclaringExtension();
-		StringBuffer buf = new StringBuffer();
-		buf.append("Plugin " + extension.getContributor().getName() + ", extension " + extension.getExtensionPointUniqueIdentifier()); //$NON-NLS-1$ //$NON-NLS-2$
-		buf.append("\n" + text); //$NON-NLS-1$
-		ValidationPlugin.getPlugin().logMessage(IStatus.ERROR, buf.toString());
-	}
-	
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jem.util.RegistryReader#readElement(org.eclipse.core.runtime.IConfigurationElement)
-	 */
-	public boolean readElement(IConfigurationElement element) {
-		if (!element.getName().equals(VALIDATION_SELECTION_HANDLER))
-			return false;
-		
-//		String handlerClass = element.getAttribute(ATT_HANDLER_CLASS);
-		String selectionType = element.getAttribute(ATT_SELECTION_TYPE); 
-		
-		IValidationSelectionHandler handler = null;
-		try {
-			handler = (IValidationSelectionHandler) element.createExecutableExtension(ATT_HANDLER_CLASS);
-			handler.setValidationTypeString(selectionType);
-			getValidationSelectionHandlers().add(handler);
-			return true;
-		} catch (Exception e) {
-			e.printStackTrace();
-		}
-	   return false;
-	}
-	
-	private List<IValidationSelectionHandler> getValidationSelectionHandlers() {
-		if (_validationSelectionHandlers == null)
-			_validationSelectionHandlers = new ArrayList<IValidationSelectionHandler>();
-		return _validationSelectionHandlers;
-	}
-	
-	public Object getExtendedType(Object selection) {
-		Object result = null;
-		for (IValidationSelectionHandler handler : getValidationSelectionHandlers()) {
-			result = handler.getBaseValidationType(selection);
-			if (result != null)break;
-		}
-		return result;
-	}
-}
diff --git a/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/ValidatorActionFilter.java b/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/ValidatorActionFilter.java
deleted file mode 100644
index ee241be..0000000
--- a/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/ValidatorActionFilter.java
+++ /dev/null
@@ -1,130 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.validation.internal;
-
-
-import java.util.StringTokenizer;
-
-import org.eclipse.core.resources.IResourceDelta;
-
-/**
- * This class stores the value of the "action" attribute in the validator's plugin.xml contribution.
- */
-public class ValidatorActionFilter {
-	public static final String ADD = "add"; //$NON-NLS-1$ // if the resource delta is an addition; this value is used in plugin.xml
-	public static final String CHANGE = "change"; //$NON-NLS-1$ // if the resource delta is a change; this value is used in plugin.xml
-	public static final String DELETE = "delete"; //$NON-NLS-1$ // if the resource delta is a removal; this value is used in plugin.xml
-	public static final int ALL_ACTIONS = (IResourceDelta.ADDED | IResourceDelta.CHANGED | IResourceDelta.REMOVED);
-
-	private int _actionType = 0; // Default to 0, so that if an invalid filter is specified, then no
-
-	// matter what the IResourceDelta is, the delta & _actionType will
-	// always == 0. (i.e., the resource will never be filtered in)
-
-	public ValidatorActionFilter() {
-		super();
-	}
-
-	/**
-	 * Return the hexadecimal number which represents the type(s) of actions which this filter
-	 * allows in.
-	 */
-	public int getActionType() {
-		// Since IResourceDelta's constants are hexadecimal numbers,
-		// it's nicer to return a corresponding hexadecimal, for bitwise OR,
-		// than it is to have three boolean methods on this class, i.e.,
-		// isAdd, isChange, isDelete.
-		return _actionType;
-	}
-
-	/**
-	 * <p>
-	 * Parse the incoming string, which is extracted from the plugin.xml file, to determine the
-	 * value of the actionType.
-	 * <p>
-	 * The string can contain one, two, or three constants. If there is more than one constant, the
-	 * constants should be separated by a comma.
-	 * <p>
-	 * These are the three constants: add, change, delete. The order that the constants are
-	 * specified in does not matter. The constants are case-sensitive; i.e., ADD is not considered
-	 * the same as add.
-	 * <p>
-	 * If the action attribute is not defined, the default behaviour is to filter in all types of
-	 * actions: add, change, delete. (i.e., the same behaviour can be achieved by specifying "add,
-	 * change, delete" as the action attribute's value.
-	 * <p>
-	 * If the action attribute is defined, and none of the constants are defined, then the filter is
-	 * invalid, and will be ignored by the Validation Framework. (If none of the actions should be
-	 * filtered in, then the filter itself should not exist.)
-	 * <p>
-	 * If the action attribute is defined, and one of the constants is defined, then the form of the
-	 * action should be like this: <br>
-	 * &nbsp;&nbsp;&nbsp;&lt;filter ... action="add"/>
-	 * <p>
-	 * If the action attribute is defined, and more than one constant is defined, then the form of
-	 * the action should be like this: <br>
-	 * &nbsp;&nbsp;&nbsp;&lt;filter ... action="add, delete"/>
-	 * <p>
-	 * If the action attribute is defined, and an unknown constant is defined, then the unknown
-	 * constant will be ignored. For example, <br>
-	 * &nbsp;&nbsp;&nbsp;&lt;filter ... action="ADD, delete"/> <br>
-	 * is the same as specifying <br>
-	 * &nbsp;&nbsp;&nbsp;&lt;filter ... action="delete"/> <br>
-	 * and if all of the constants are unknown, the filter is invalid, and will be ignored by the
-	 * Validation Framework. e.g., <br>
-	 * &nbsp;&nbsp;&nbsp;&lt;filter ... action="ADD, DELETE"/> <br>
-	 * is the same as not specifying a filter.
-	 * <p>
-	 * If the action attribute is defined, and a constant is defined more than once, the extra
-	 * constant is ignored. For example, <br>
-	 * &nbsp;&nbsp;&nbsp;&lt;filter ... action="add, change, add"/> <br>
-	 * is the same as specifying <br>
-	 * &nbsp;&nbsp;&nbsp;&lt;filter ... action="add, change"/>
-	 */
-	public void setActionTypes(String actions) {
-		if (actions == null) {
-			// user has not defined the "action" element, so default to everything
-			_actionType = ALL_ACTIONS;
-			return;
-		}
-
-		final String COMMA = ","; //$NON-NLS-1$
-		StringTokenizer tokenizer = new StringTokenizer(actions, COMMA, false); // false means don't
-		// return the comma
-		// as part of the
-		// string
-		int isAdd = 0;
-		int isChange = 0;
-		int isDelete = 0;
-		while (tokenizer.hasMoreTokens()) {
-			String nextAction = tokenizer.nextToken().trim();
-			if (nextAction.equals(ADD)) {
-				isAdd = IResourceDelta.ADDED;
-			} else if (nextAction.equals(CHANGE)) {
-				isChange = IResourceDelta.CHANGED;
-			} else if (nextAction.equals(DELETE)) {
-				isDelete = IResourceDelta.REMOVED;
-			}
-		}
-		_actionType = isAdd | isChange | isDelete;
-	}
-
-	public String toString() {
-		final String ON = "on"; //$NON-NLS-1$
-		final String OFF = "off"; //$NON-NLS-1$
-		StringBuffer buffer = new StringBuffer();
-		buffer.append("     ActionFilter:"); //$NON-NLS-1$
-		buffer.append("          add: " + (((getActionType() & IResourceDelta.ADDED) != 0) ? ON : OFF)); //$NON-NLS-1$
-		buffer.append("          change: " + (((getActionType() & IResourceDelta.CHANGED) != 0) ? ON : OFF)); //$NON-NLS-1$
-		buffer.append("          delete: " + (((getActionType() & IResourceDelta.REMOVED) != 0) ? ON : OFF)); //$NON-NLS-1$
-		return buffer.toString();
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/ValidatorFilter.java b/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/ValidatorFilter.java
deleted file mode 100644
index d51a217..0000000
--- a/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/ValidatorFilter.java
+++ /dev/null
@@ -1,109 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.validation.internal;
-
-import org.eclipse.core.resources.IResource;
-
-/**
- * This class represents the plugin.xml tags, for a validator, for both name filters and type
- * filters. i.e., if an object has name filter and type filter specified, the filter filters out
- * objects which are not both of that type and named like the filter.
- */
-public class ValidatorFilter {
-	private ValidatorNameFilter _nameFilter;
-	private ValidatorTypeFilter _typeFilter;
-	private ValidatorActionFilter _actionFilter;
-
-	ValidatorFilter() {
-		super();
-		_nameFilter = new ValidatorNameFilter();
-		_typeFilter = new ValidatorTypeFilter();
-		_actionFilter = new ValidatorActionFilter();
-	}
-
-	ValidatorFilter(String mustImplementClass) {
-		this();
-		_nameFilter = new ValidatorNameFilter();
-		_typeFilter.setMustImplementClass(mustImplementClass);
-		_actionFilter = new ValidatorActionFilter();
-	}
-
-	public boolean isApplicableAction(int resourceDelta) {
-		return ((resourceDelta & _actionFilter.getActionType()) != 0);
-	}
-
-	/**
-	 * Returns true if the given resource's name matches the name filter.
-	 * 
-	 * e.g. if the name filter is "*.java", and this resource is "readme.txt", this method will
-	 * return false. If the resource is named "readme.java", this method will return true.
-	 */
-	boolean isApplicableName(IResource resource) {
-		return _nameFilter.isApplicableName(resource);
-	}
-
-	/**
-	 * Returns true if the given resource's type matches the type filter.
-	 * 
-	 * e.g. if the type filter is "IFile", and this resource is "IProject", this method will return
-	 * false. If the resource is an IFile, this method will return true.
-	 */
-	boolean isApplicableType(IResource resource) {
-		return _typeFilter.isApplicableType(resource);
-	}
-
-	public void setActionFilter(String actions) {
-		_actionFilter.setActionTypes(actions);
-	}
-
-	/**
-	 * Sets the name filter.
-	 */
-	void setNameFilter(String filter, String isCaseSensitiveString) {
-		_nameFilter.setNameFilter(filter);
-		if(filter != null)
-			  _nameFilter.setNameFilterExtension(getFilterExt(filter));
-		_nameFilter.setCaseSensitive(isCaseSensitiveString);
-	}
-	
-	private String getFilterExt(String filter) {
-		return filter.substring(filter.indexOf(".") + 1); //$NON-NLS-1$
-	}
-	
-
-	/**
-	 * Sets the type filter.
-	 */
-	void setTypeFilter(String filter) {
-		_typeFilter.setTypeFilter(filter);
-	}
-
-	public String toString() {
-		final String lineSep = System.getProperty("line.separator"); //$NON-NLS-1$
-		StringBuffer buffer = new StringBuffer();
-		buffer.append("ValidatorFilter:"); //$NON-NLS-1$
-		buffer.append(lineSep);
-		buffer.append("     nameFilter = " + _nameFilter); //$NON-NLS-1$
-		buffer.append(lineSep);
-		buffer.append("     typeFilter = " + _typeFilter); //$NON-NLS-1$
-		buffer.append(lineSep);
-		buffer.append("     actionFilter = " + _actionFilter); //$NON-NLS-1$
-		buffer.append(lineSep);
-		return buffer.toString();
-	}
-
-	/**
-	 * @return Returns the _nameFilter.
-	 */
-	public ValidatorNameFilter get_nameFilter() {
-		return _nameFilter;
-	}
-}
diff --git a/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/ValidatorMetaData.java b/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/ValidatorMetaData.java
deleted file mode 100644
index 9d54ee3..0000000
--- a/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/ValidatorMetaData.java
+++ /dev/null
@@ -1,554 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2011 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.validation.internal;
-
-
-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 java.util.concurrent.atomic.AtomicReference;
-
-import org.eclipse.core.expressions.Expression;
-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.IConfigurationElement;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.content.IContentDescription;
-import org.eclipse.core.runtime.content.IContentType;
-import org.eclipse.wst.validation.internal.delegates.ValidatorDelegatesRegistry;
-import org.eclipse.wst.validation.internal.operations.IWorkbenchContext;
-import org.eclipse.wst.validation.internal.operations.WorkbenchContext;
-import org.eclipse.wst.validation.internal.plugin.ValidationHelperRegistryReader;
-import org.eclipse.wst.validation.internal.provisional.core.IValidator;
-import org.eclipse.wst.validation.internal.provisional.core.IValidatorJob;
-import org.osgi.framework.Bundle;
-
-/**
- * This class stores information, as specified by a validator's plugin.xml tags. There is one
- * ValidatorMetaData for each Validator. No Validator should attempt to access its
- * ValidatorMetaData; it is for use by the base framework only.
- */
-public class ValidatorMetaData {
-	private final ValidatorFilter[] _filters;
-	private final ValidatorNameFilter[] 	_projectNatureFilters;
-	private final String[]			_facetFilters;
-	private final AtomicReference<IValidator>	_validator = new AtomicReference<IValidator>();
-	private final AtomicReference<IWorkbenchContext> 		_helper = new AtomicReference<IWorkbenchContext>();
-	private final String 			_validatorDisplayName;
-	private final String 			_validatorUniqueName;
-	
-	/**
-	 * The list of class names of every validator which this validator aggregates. For
-	 * example, if the EJB Validator instantiated another validator, and started its validate
-	 * method, then that instantiated class' name should be in this list.
-	 */
-	private final String[] 	_aggregatedValidators;
-    private final String[] 	_contentTypeIds;
-	private final String[] 	_validatorNames;
-	private final String 	_pluginId;
-	private final boolean	_supportsIncremental;
-	private final boolean 	_supportsFullBuild;
-	private final boolean 	_isEnabledByDefault;
-	private final MigrationMetaData _migrationMetaData;
-	private final int 		_ruleGroup;
-	private final boolean 	_async;
-	private final boolean 	_dependentValidator;
-	private final String[]	_markerIds;
-	private final String 	_helperClassName;
-	private final IConfigurationElement _helperClassElement;
-	private final IConfigurationElement _validatorClassElement;
-	private volatile boolean 	_cannotLoad;
-	private volatile boolean 	_manualValidation = true;
-	private volatile boolean	_buildValidation = true;
-	private final Map<IValidatorJob, IWorkbenchContext> _helpers = 
-		Collections.synchronizedMap( new HashMap<IValidatorJob, IWorkbenchContext>() );
-	private final Expression 		_enablementExpression;
-	private boolean _validateByProject = true;
-
-	ValidatorMetaData(boolean async, String[] aggregatedValidators, boolean isEnabledByDefault, boolean supportsIncremental,
-			boolean supportsFullBuild, IConfigurationElement helperClassElement, String helperClassName, 
-			MigrationMetaData migrationMetaData, String pluginId, int ruleGroup, IConfigurationElement validatorClassElement,
-			String validatorDisplayName, String validatorUniqueName, String[] contentTypeIds, boolean dependentValidator,
-			Expression enablementExpression, String[] facetFilters, ValidatorFilter[] filters,
-			ValidatorNameFilter[] projectNatureFilters, String[] markerIds, boolean validateByProject) {
-		_async = async;
-		_aggregatedValidators = aggregatedValidators;
-		_isEnabledByDefault = isEnabledByDefault;
-		_supportsIncremental = supportsIncremental;
-		_supportsFullBuild = supportsFullBuild;
-		_helperClassElement = helperClassElement;
-		_helperClassName = helperClassName;
-		_migrationMetaData = migrationMetaData;
-		_pluginId = pluginId;
-		_ruleGroup = ruleGroup;
-		_validatorClassElement = validatorClassElement;
-		_validatorDisplayName = validatorDisplayName;
-		_validatorUniqueName = validatorUniqueName;
-		_contentTypeIds = contentTypeIds;
-		_dependentValidator = dependentValidator;
-		_enablementExpression = enablementExpression;
-		_facetFilters = facetFilters;
-		_filters = filters;
-		_projectNatureFilters = projectNatureFilters;
-		_markerIds = markerIds;
-		_validatorNames = buildValidatorNames();
-		_validateByProject = validateByProject;
-	}
-		
-	protected String[] getFacetFilters() {
-		return _facetFilters;
-	}
-
-	public List<String> getNameFilters() {
-		List<String> nameFilters = new ArrayList<String>();
-		if (_filters != null && _filters.length > 0) {
-			for (ValidatorFilter filter : _filters) {
-				ValidatorNameFilter nameFilter = filter.get_nameFilter();
-				if (nameFilter != null) {
-					nameFilters.add(nameFilter.getNameFilter());
-				}
-			}
-		}
-		return nameFilters;
-	}
-
-	/**
-	 * Return the list of class names of the primary validator and its aggregates.
-	 */
-	public String[] getValidatorNames() {
-		return _validatorNames;
-	}
-	
-	private String[] buildValidatorNames() {
-		int aLength = (_aggregatedValidators == null) ? 0 : _aggregatedValidators.length;
-		String [] validatorNames = new String[aLength + 1]; // add 1 for the primary validator name
-		validatorNames[0] = getValidatorUniqueName();
-		if (_aggregatedValidators != null) {
-			System.arraycopy(_aggregatedValidators, 0, validatorNames, 1, aLength);
-		}
-		return validatorNames;
-	}
-
-	/**
-	 * Return the list of class names of every validator which this validator aggregates. For
-	 * example, if the EJB Validator instantiated another validator, and started its validate
-	 * method, then that instantiated class' name should be in this list.
-	 */
-	public String[] getAggregatedValidatorNames() {
-		return _aggregatedValidators;
-	}
-
-	/**
-	 * Return the name/type filter pairs.
-	 */
-	public ValidatorFilter[] getFilters() {
-		return _filters;
-	}
-
-	/**
-	 * Return true if this vmd's helper and validator have been instantiated, and also if this
-	 * validator's plugin is active.
-	 */
-	public boolean isActive() {
-		if (_helperClassElement != null) {
-			return false;
-		}
-
-		if (_validatorClassElement != null) {
-			return false;
-		}
-
-		Bundle bundle = Platform.getBundle(_pluginId);
-		if (bundle != null)
-			return bundle.getState() == Bundle.ACTIVE;
-
-		return false;
-	}
-
-	/**
-	 * This method will throw an InstantiationException if the helper cannot be instantiated, e.g.,
-	 * if the helper's plugin is disabled for some reason. Before the InstantiationException is
-	 * thrown, this validator will be disabled.
-	 * 
-	 * The IWorkbenchContext must ALWAYS have its project set before it is used; but it can't be
-	 * created with the IProject. So, before using the single instance, always initialize that
-	 * instance with the IProject.
-	 * 
-	 * If this validator supports asynchronous validation, then instead of maintaining a single the
-	 * helper instance, create a new IWorkbenchContext instance every time that the helper is needed.
-	 * This feature is provided because several validation Runnables may be queued to run, and if
-	 * those Runnables's project is different from the current validation's project, then the
-	 * current validation will suddenly start validating another project.
-	 */
-	//TODO just want to remember to figure out the many-temporary-objects problem if this method
-	// continues to new an IValidationContext every time - Ruth
-	public IWorkbenchContext getHelper(IProject project) throws InstantiationException {
-		IWorkbenchContext helper = _helper.get();
-		if (helper != null){
-			IProject oldProject = helper.getProject();
-			if ((oldProject == null) || !(oldProject.equals(project)))helper.setProject(project);
-			return helper;
-		}
-		
-		helper = ValidationRegistryReader.createHelper(_helperClassElement, _helperClassName);
-		if (helper == null)helper = new WorkbenchContext();
-		
-		if ((helper.getProject() == null) || !(helper.getProject().equals(project))) {
-			helper.setProject(project);
-		}
-		if (_helper.compareAndSet(null, helper))return helper;
-		return _helper.get();
-	}
-
-	/**
-	 * cannotLoad is false if both the IValidator and IWorkbenchContext instance can be instantiated.
-	 */
-	private void setCannotLoad() {
-		_cannotLoad = true;
-	}
-
-	/**
-	 * Return false if both the IValidator and IWorkbenchContext instance can be instantiated.
-	 * 
-	 * @return boolean
-	 */
-	public boolean cannotLoad() {
-		return _cannotLoad;
-	}
-
-	public MigrationMetaData getMigrationMetaData() {
-		return _migrationMetaData;
-	}
-
-	/**
-	 * Return the IRuleGroup integer indicating which groups of rules this validator recognizes.
-	 */
-	public int getRuleGroup() {
-		return _ruleGroup;
-	}
-
-	/**
-	 * Return the filters which identify which project(s) this validator may run on.
-	 */
-	ValidatorNameFilter[] getProjectNatureFilters() {
-		return _projectNatureFilters;
-	}
-
-	/**
-	 * This method returns the validator if it can be loaded; if the validator cannot be loaded,
-	 * e.g., if its plugin is disabled for some reason, then this method throws an
-	 * InstantiationException. Before the CoreException is thrown, this validator is disabled.
-	 */
-	public IValidator getValidator() throws InstantiationException {
-		IValidator val = _validator.get();
-		if (val != null)return val;
-		
-		val = ValidationRegistryReader.createValidator(_validatorClassElement, getValidatorUniqueName());
-
-		if (val == null) {
-			setCannotLoad();
-			throw new InstantiationException(ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_EXC_DISABLEV, new String[]{getValidatorUniqueName()}));
-		}
-		if (_validator.compareAndSet(null, val))return val;
-		return _validator.get();
-	}
-
-	public String getValidatorDisplayName() {
-		return _validatorDisplayName;
-	}
-
-	public String getValidatorUniqueName() {
-		return _validatorUniqueName;
-	}
-
-	/**
-	 * If the resource is applicable to the Validator which this ValidatorMetaData is associated
-	 * with, return true; else return false.
-	 * 
-	 * A resource is applicable if it passes the name/type filters. This method is called if there
-	 * is no resource delta (i.e., a full validation).
-	 */
-	public boolean isApplicableTo(IResource resource) {
-		return isApplicableTo(resource, ValidatorActionFilter.ALL_ACTIONS);
-	}
-
-	/**
-	 * If the resource is applicable to the Validator which this ValidatorMetaData is associated
-	 * with, return true; else return false.
-	 * 
-	 * A resource is applicable if it passes the name/type filters.
-	 */
-	public boolean isApplicableTo(IResource resource, int resourceDelta) {
-		// If no filters are specified, then every type of resource should be validated/trigger a
-		// rebuild of the model cache.
-		// Also make sure no content type id is specified (BUG 193816)
-		if (_filters == null  && getContentTypeIds() == null)return true;
-
-		return isApplicableTo(resource, resourceDelta, _filters);
-	}
-
-	/**
-	 * Return true if the resource passes the name/type filters for this validator.
-	 */
-	boolean isApplicableTo(IResource resource, int resourceDelta, ValidatorFilter[] filters) {
-		// Are any of the filters satisfied? (i.e., OR them, not AND them.)
-		// make sure filters is not null (BUG 193816)
-		if (filters != null && checkIfValidSourceFile(resource)) {
-			for (ValidatorFilter filter : filters) {
-				if (filter.isApplicableType(resource)
-						&& filter.isApplicableName(resource)
-						&& filter.isApplicableAction(resourceDelta)) {
-					return true;
-				}
-			}
-		}
-		if (getContentTypeIds() != null) {
-			IContentDescription description = null;
-			try {
-				if (resource.getType() == IResource.FILE && resource.exists())
-					description = ((IFile) resource).getContentDescription();
-			} catch (CoreException e) {
-				//Resource exceptions
-			}
-			if (description == null)return false;
-			if (isApplicableContentType(description))return true;
-		}
-		return false;
-	}
-
-	private boolean checkIfValidSourceFile(IResource file) {
-		if (file.getType() == IResource.FILE) {
-			IProjectValidationHelper helper = ValidationHelperRegistryReader.getInstance().getValidationHelper();
-			IProject project = file.getProject();
-			if (helper == null || project == null)
-				return true;
-			IContainer[] outputContainers = helper.getOutputContainers(project);
-			IContainer[] sourceContainers = helper.getSourceContainers(project);
-			if(outputContainers != null && sourceContainers != null){
-			for (int i=0; i<outputContainers.length; i++) {
-				String outputPath = outputContainers[i].getProjectRelativePath().makeAbsolute().toString();
-                String filePath = file.getProjectRelativePath().makeAbsolute().toString();
-				if (filePath.startsWith(outputPath)) {
-					//The file is in an output container.
-					//If it is a source container return true and false otherwise.
-					for (int j=0;j<sourceContainers.length; j++) {
-	                    if(outputContainers[i].equals(sourceContainers[j])){
-	                    	return true;
-	                    }
-					}
-					return false;
-				}
-			}
-		}
-		}
-		return true;
-	}
-		
-		
-	/**
-	 * If this validator recognizes the project nature, whether included or excluded, return the
-	 * name filter which describes the nature. Otherwise return null.
-	 */
-	ValidatorNameFilter findProjectNature(String projId) {
-		if (projId == null) {
-			return null;
-		}
-
-		if (_projectNatureFilters == null) {
-			// If no tag is specified, this validator is configured on all IProjects
-			return null;
-		}
-
-		for (int i = 0; i < _projectNatureFilters.length; i++) {
-			ValidatorNameFilter filter = _projectNatureFilters[i];
-			// In this case, we're not checking if the project is an instance of the filter class,
-			// but if it has the Nature specified in the filter class.
-			String projectNatureID = filter.getNameFilter();
-			if (projId.equals(projectNatureID)) {
-				return filter;
-			}
-		}
-		return null;
-	}
-
-	/**
-	 * Convenience method. Rather than store the is-this-vmd-configured-on-this-IProject algorithm
-	 * in two places, refer back to the reader's cache.
-	 */
-	public boolean isConfiguredOnProject(IProject project) {
-		return ValidationRegistryReader.getReader().isConfiguredOnProject(this, project);
-	}
-
-	public boolean isEnabledByDefault() {
-		return _isEnabledByDefault;
-	}
-
-	public boolean isIncremental() {
-		return _supportsIncremental;
-	}
-
-	public boolean isFullBuild() {
-		return _supportsFullBuild;
-	}
-
-	/**
-	 * Return true if the validator is thread-safe and can be run asynchronously.
-	 */
-	public boolean isAsync() {
-		return _async;
-	}
-
-	public String toString() {
-		return getValidatorUniqueName();
-	}
-
-	public final static class MigrationMetaData {
-		private Set<String[]> _ids;
-
-		public MigrationMetaData() {
-		}
-
-		public void addId(String oldId, String newId) {
-			if (oldId == null)return;
-			if (newId == null)return;
-
-			String[] ids = new String[]{oldId, newId};
-			getIds().add(ids);
-		}
-
-		public Set<String[]> getIds() {
-			if (_ids == null)_ids = new HashSet<String[]>();
-			return _ids;
-		}
-	}
-
-	public boolean isDependentValidator() {
-		return _dependentValidator;
-	}
-
-	/**
-	 * @return Returns the markerId.
-	 */
-	public String[] getMarkerIds() {
-		return _markerIds;
-	}
-
-	public boolean isBuildValidation() {
-		return _buildValidation;
-	}
-
-	public void setBuildValidation(boolean buildValidation) {
-		_buildValidation = buildValidation;
-	}
-
-	public boolean isManualValidation() {
-		return _manualValidation;
-	}
-
-	public void setManualValidation(boolean manualValidation) {
-		_manualValidation = manualValidation;
-	}
-  
-	/**
-   * Determines if the validator described by this metadata object is a delegating validator. 
-   * @return true if the validator described by this metadata object is a delegating validator, false otherwise.
-	 */
-  public boolean isDelegating() {
-    String targetID = getValidatorUniqueName();
-    return ValidatorDelegatesRegistry.getInstance().hasDelegates(targetID);
-  }
-  
-
-	public IValidator createValidator() throws InstantiationException {
-		return  ValidationRegistryReader.createValidator(_validatorClassElement, getValidatorUniqueName());
-	}
-	
-	public IWorkbenchContext createHelper(IProject project) throws InstantiationException {
-		IWorkbenchContext helper = ValidationRegistryReader.createHelper(_helperClassElement, _helperClassName);
-		if (helper == null) {
-			helper = new WorkbenchContext();
-		}
-		helper.setProject(project);
-		return helper;
-	}	  
-	
-   public void addHelper( IValidatorJob validator, IWorkbenchContext helper ){
-	   _helpers.put( validator, helper );
-   }
-   
-   public void removeHelper( IValidatorJob validator ){
-	   _helpers.remove( validator );
-   }
-   
-   private IWorkbenchContext getHelper( IValidatorJob validator ){
-	   return _helpers.get( validator );
-   }   
-   
-   public IWorkbenchContext getHelper( IProject project, IValidator validator ){
-	   
-	   if( validator instanceof IValidatorJob ){
-		   IWorkbenchContext helper = getHelper( (IValidatorJob)validator );
-		   if( helper == null ){
-			   try{
-				helper =  getHelper( project );
-				return helper;
-			   }catch (InstantiationException e) {
-					e.printStackTrace();
-				}			   
-		   }
-	   	return helper;
-	   }
-	   else{
-		   try {
-			IWorkbenchContext helper =  getHelper( project );
-			return helper;
-			} catch (InstantiationException e) {
-				e.printStackTrace();
-			}
-	   }
-	   
-	   return null;
-   }   
-   
-   public Expression getEnablementExpresion() {
-		return _enablementExpression;
-	}
-
-public String[] getContentTypeIds() {
-	return _contentTypeIds;
-}
-
- 
-private boolean isApplicableContentType(IContentDescription desc){
-	
-	IContentType ct = desc.getContentType();
-	String[] applicableContentTypes = getContentTypeIds();
-	if (applicableContentTypes != null) {
-		for (int i = 0; i < applicableContentTypes.length; i ++){
-			if(applicableContentTypes[i].equals(ct.getId()))
-				return true;
-		}
-	}
-	return false;
-}
-
-public boolean isValidateByProject() {
-	return _validateByProject;
-}
-   
-}
diff --git a/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/ValidatorNameFilter.java b/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/ValidatorNameFilter.java
deleted file mode 100644
index 946cfba..0000000
--- a/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/ValidatorNameFilter.java
+++ /dev/null
@@ -1,170 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.validation.internal;
-
-
-import java.util.StringTokenizer;
-
-import org.eclipse.core.resources.IResource;
-
-/**
- * Represents a name filter tag in a validator's plugin.xml file. e.g. &lt;filter name="*.*"> Then
- * this class would store the "*.*", and provide the wildcard matching functionality.
- */
-public class ValidatorNameFilter {
-	private String _nameFilter;
-	private String nameFilterExtension;
-	private boolean _include = true; // by default, filter in the IFile specified
-	private final static String WILDCARD = "*"; //$NON-NLS-1$
-	private boolean _isCaseSensitive = true; // by default, the filter name is case-sensitive
-
-	/**
-	 * Insert the method's description here. Creation date: (12/4/00 11:08:41 AM)
-	 */
-	ValidatorNameFilter() {
-		//default
-	}
-
-	/**
-	 * Get the filter, as specified in plugin.xml
-	 */
-	String getNameFilter() {
-		return _nameFilter;
-	}
-
-	boolean isCaseSensitive() {
-		return _isCaseSensitive;
-	}
-
-	boolean isInclude() {
-		return _include;
-	}
-
-	/**
-	 * Return true if the given resource is both applicable and include="true".
-	 */
-	boolean isApplicableTo(IResource resource) {
-		return (isApplicableName(resource) && isInclude());
-	}
-	
-	protected void setNameFilterExtension(String filterExt) {
-		nameFilterExtension = filterExt;
-	}
-
-	/**
-	 * Returns true if the name of the resource matches the filter, or if there is no filter
-	 * specified.
-	 */
-	public boolean isApplicableName(IResource resource) {
-		// If name filter is null, means filter out no names.
-		// Otherwise, return true only if the given name matches
-		// the name filter.
-		if (_nameFilter == null)
-			return true;
-		
-		String name = resource.getName();
-//		return true if the file name is exact match of the _nameFilter
-		if (name.equalsIgnoreCase(_nameFilter))
-			return true;
-
-		int indexOfStarDot = _nameFilter.indexOf("*."); //$NON-NLS-1$
-
-		//return value if the filter name extension matches the extension
-		//of the resource 
-		if (indexOfStarDot != -1) {
-			String nameExtension = name.substring(name.lastIndexOf(".") + 1); //$NON-NLS-1$
-			return nameFilterExtension.equalsIgnoreCase(nameExtension);
-		}
-
-		if (!isCaseSensitive()) {
-			name = name.toLowerCase();
-		}
-
-		return verifyNameMatch(_nameFilter, name);
-	}
-
-	void setInclude(String includeValue) {
-		if (includeValue != null) {
-			setInclude(Boolean.valueOf(includeValue).booleanValue());
-		}
-	}
-
-	void setInclude(boolean includeBool) {
-		_include = includeBool;
-	}
-
-	/**
-	 * Set the filter, as specified in plugin.xml
-	 */
-	void setNameFilter(String filter) {
-		_nameFilter = filter;
-	}
-
-	void setCaseSensitive(String isCaseSensitiveString) {
-		if (isCaseSensitiveString != null) {
-			// only change the value from the default if the case-sensitive attribute is defined
-			_isCaseSensitive = Boolean.valueOf(isCaseSensitiveString).booleanValue();
-		}
-	}
-
-	public String toString() {
-		StringBuffer buffer = new StringBuffer();
-		buffer.append("NameFilter:\n\tnameFilter = "); //$NON-NLS-1$
-		buffer.append(_nameFilter);
-		return buffer.toString();
-	}
-
-	/**
-	 * Return true if the given name matches the given filter.
-	 * 
-	 * The only filter wildcard allowed is '*'.
-	 */
-	static boolean verifyNameMatch(final String filter, String name) {
-		/*
-		 * There are eight possible wildcard combinations, given that a wildcard may, if present, be
-		 * at the beginning, middle, or end of a name; or any combination of those positions. i.e.,
-		 * 
-		 * beginning middle end 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1
-		 *  
-		 */
-		StringTokenizer tokenizer = new StringTokenizer(filter, WILDCARD, true);
-		boolean wildcardFlag = false;
-		while (tokenizer.hasMoreTokens()) {
-			String token = tokenizer.nextToken();
-			if (token.equals(WILDCARD)) {
-				wildcardFlag = true;
-			} else {
-				if (wildcardFlag) {
-					int tokenIndex = name.indexOf(token);
-					if (tokenIndex >= 0) {
-						name = name.substring(tokenIndex + token.length());
-					} else {
-						return false;
-					}
-				} else {
-					if (name.startsWith(token)) {
-						int tokenIndex = token.length();
-						name = name.substring(tokenIndex);
-					} else {
-						return false;
-					}
-				}
-				wildcardFlag = false;
-			}
-		}
-		if (!name.equals("")) { //$NON-NLS-1$
-			if (!wildcardFlag) {
-				return false;
-			}
-		}
-		return true;
-	}
-}
diff --git a/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/ValidatorTypeFilter.java b/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/ValidatorTypeFilter.java
deleted file mode 100644
index 40b74a4..0000000
--- a/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/ValidatorTypeFilter.java
+++ /dev/null
@@ -1,143 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2011 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.validation.internal;
-
-import java.text.MessageFormat;
-
-import org.eclipse.core.resources.IResource;
-
-/**
- * Represents a type filter tag in a validator's plugin.xml file. e.g. &lt;filter
- * objectClass="com.ibm.foo.MyClass"> Then this class would store the "com.ibm.foo.MyClass", and
- * provide the "instanceof" matching functionality.
- */
-public class ValidatorTypeFilter {
-	private Class _typeFilterClass;
-	private String _mustImplementClass; // the type set in setTypeFilter must implement the
-
-	// class/interface identified by this fully-qualified
-	// Java string.
-
-	ValidatorTypeFilter() {
-		//default
-	}
-
-	ValidatorTypeFilter(String mustImplementClass) {
-		setMustImplementClass(mustImplementClass);
-	}
-
-	/**
-	 * Type filters are allowed only for certain types of classes. This method returns the name of
-	 * the class which this type must implement before it can be a filter.
-	 */
-	String getMustImplementClass() {
-		return _mustImplementClass;
-	}
-
-	/**
-	 * Return the type filter as a java.lang.Class object.
-	 */
-	Class getTypeFilterClass() {
-		return _typeFilterClass;
-	}
-
-	/**
-	 * Returns true if the resource passed in either an instance of the type filter class, or if
-	 * there is no type filter class defined in plugin.xml.
-	 */
-	public boolean isApplicableType(IResource resource) {
-		// If type filter is null, means filter out no types.
-		// Otherwise, return true only if the given type is an instance of
-		// the type filter.
-		if (_typeFilterClass == null)
-			return true;
-
-		// If the resource is an instance of the type filter class.
-		return isInstance(resource.getClass(), _typeFilterClass);
-	}
-
-	/**
-	 * Checks if filterClass is a parent (interface or superclass) of objectClass.
-	 */
-	boolean isInstance(Class objectClass, Class filterClass) {
-		// The java.lang.Class.isInstance call doesn't check interfaces fully.
-		// i.e., if I have two interfaces, A and B, and B extends A but
-		// doesn't implement A, then the isInstance call will return false.
-		//
-		// So, instead of using Class.isInstance, do the checking myself.
-		final String filterClassName = filterClass.getName();
-		for (Class cl = objectClass; cl != null; cl = cl.getSuperclass()) {
-			if (cl.getName().equals(filterClassName))return true;
-			Class[] clInterfaces = cl.getInterfaces();
-			for (int i = 0; i < clInterfaces.length; i++) {
-				if (clInterfaces[i].getName().equals(filterClassName))return true;
-				if (isInstance(clInterfaces[i], filterClass))return true;
-			}
-		}
-		return false;
-	}
-
-	/**
-	 * Type filters are allowed only for certain types of classes. This method sets the name of the
-	 * class which this type must implement before it can be a filter.
-	 */
-	void setMustImplementClass(String className) {
-		_mustImplementClass = className;
-	}
-
-	/**
-	 * If the filter implements the mustImplementClass (in ValidatorFilter's case, IResource), then
-	 * this is a valid filter, and store the filter value.
-	 */
-	void setTypeFilter(String filter) {
-		Class filterClass = null;
-		Class mustImplementClass = null;
-
-		if (filter == null) {
-			_typeFilterClass = null;
-			return;
-		}
-
-		try {
-			filterClass = Class.forName(filter);
-			if (getMustImplementClass() != null) {
-				mustImplementClass = Class.forName(getMustImplementClass());
-
-				// If the filter class is not an instance of mustImplementClass
-				if (!isInstance(filterClass, mustImplementClass)) {
-					_typeFilterClass = null;
-					if (Tracing.isLogging()) {
-						String result = MessageFormat.format(ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_EXC_INVALID_TYPE_FILTER), 
-							new Object[]{filter, getMustImplementClass()});
-						Tracing.log("ValidatorTypeFilter-01: ", result); //$NON-NLS-1$
-					}
-				}
-			}
-		} catch (ClassNotFoundException exc) {
-			_typeFilterClass = null;
-			if (Tracing.isLogging()) {
-				Tracing.log("ValidatorTypeFilter-02: The class named " + filter +  //$NON-NLS-1$
-					" cannot be instantiated because it does not exist. Check the spelling of the name, " + //$NON-NLS-1$
-					"in the validator's plugin.xml contribution, and try restarting eclipse again."); //$NON-NLS-1$
-			}
-			return;
-		}
-		_typeFilterClass = filterClass;
-	}
-
-	public String toString() {
-		StringBuffer buffer = new StringBuffer();
-		buffer.append("TypeFilter:"); //$NON-NLS-1$
-		buffer.append("     _typeFilterClass = " + _typeFilterClass.getName()); //$NON-NLS-1$
-		buffer.append("     _mustImplementClass = " + _mustImplementClass); //$NON-NLS-1$
-		return buffer.toString();
-	}
-}
diff --git a/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/delegates/DelegatingValidator.java b/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/delegates/DelegatingValidator.java
deleted file mode 100644
index d143f9b..0000000
--- a/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/delegates/DelegatingValidator.java
+++ /dev/null
@@ -1,270 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.wst.validation.internal.delegates;
-
-import java.lang.reflect.InvocationTargetException;
-import java.util.List;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.jobs.ISchedulingRule;
-import org.eclipse.wst.validation.AbstractValidator;
-import org.eclipse.wst.validation.ValidationResult;
-import org.eclipse.wst.validation.ValidationState;
-import org.eclipse.wst.validation.internal.ConfigurationManager;
-import org.eclipse.wst.validation.internal.ProjectConfiguration;
-import org.eclipse.wst.validation.internal.ResourceConstants;
-import org.eclipse.wst.validation.internal.ResourceHandler;
-import org.eclipse.wst.validation.internal.ValidationRegistryReader;
-import org.eclipse.wst.validation.internal.ValidatorMetaData;
-import org.eclipse.wst.validation.internal.core.ValidationException;
-import org.eclipse.wst.validation.internal.operations.LocalizedMessage;
-import org.eclipse.wst.validation.internal.provisional.core.IMessage;
-import org.eclipse.wst.validation.internal.provisional.core.IProjectValidationContext;
-import org.eclipse.wst.validation.internal.provisional.core.IReporter;
-import org.eclipse.wst.validation.internal.provisional.core.IValidationContext;
-import org.eclipse.wst.validation.internal.provisional.core.IValidator;
-import org.eclipse.wst.validation.internal.provisional.core.IValidatorJob;
-
-/**
- * This class is to be used as a base class by clients who want to provide
- * alternate validator implementations for a given validator type.
- * 
- * It locates the currently configured delegate for this validator and calls its
- * validate method.
- * 
- * @see IValidator
- * @see IDelegatingValidator
- * 
- * <p>
- * <b>Note:</b> This class/interface is part of an interim API that is still
- * under development and expected to change significantly before reaching
- * stability. It is being made available at this early stage to solicit feedback
- * from pioneering adopters on the understanding that any code that uses this
- * API will almost certainly be broken (repeatedly) as the API evolves.
- * </p>
- */
-public class DelegatingValidator extends AbstractValidator implements IDelegatingValidator
-{
-  public DelegatingValidator()
-  {
-  }
-
-  /*
-   * (non-Javadoc)
-   * 
-   * @see org.eclipse.wst.validation.internal.provisional.core.IValidator#cleanup(org.eclipse.wst.validation.internal.provisional.core.IReporter)
-   */
-  public void cleanup(IReporter reporter)
-  {
-    // [Issue] This method does not get passed the validation context. How are
-    // going to know the delegate in order to invoke its cleanup method?
-  }
-
-  /*
-   * (non-Javadoc)
-   * 
-   * @see org.eclipse.wst.validation.internal.provisional.core.IValidator#validate(org.eclipse.wst.validation.internal.provisional.core.IValidationContext,
-   *      org.eclipse.wst.validation.internal.provisional.core.IReporter)
-   */
-  public void validate(IValidationContext helper, IReporter reporter) throws ValidationException
-  {
-    validateInJob(helper, reporter);
-  }
-
-  /**
-   * Wraps the original reporter instance to make it look like this validator is
-   * the one generating messages. This is needed because the framework ignores
-   * messages coming from the delegate validator because it is not registered
-   * with the validation framework.
-   */
-  private class DelegatingReporter implements IReporter
-  {
-    /**
-     * The reporter passed originally to the delegating validator by the
-     * framework.
-     */
-    IReporter delegatingReporter;
-
-    /**
-     * The delegating validator.
-     */
-    IValidator delegatingValidator;
-
-    /**
-     * Constructor.
-     * 
-     * @param validator
-     *          the original validator.
-     * @param reporter
-     *          the reporter originally passed to the delegating validator.
-     */
-    DelegatingReporter(IValidator validator, IReporter reporter)
-    {
-      delegatingReporter = reporter;
-      delegatingValidator = validator;
-    }
-
-    /*
-     * (non-Javadoc)
-     * 
-     * @see org.eclipse.wst.validation.internal.provisional.core.IReporter#addMessage(org.eclipse.wst.validation.internal.provisional.core.IValidator,
-     *      org.eclipse.wst.validation.internal.provisional.core.IMessage)
-     */
-    public void addMessage(IValidator origin, IMessage message)
-    {
-      delegatingReporter.addMessage(delegatingValidator, message);
-    }
-
-    /*
-     * (non-Javadoc)
-     * 
-     * @see org.eclipse.wst.validation.internal.provisional.core.IReporter#displaySubtask(org.eclipse.wst.validation.internal.provisional.core.IValidator,
-     *      org.eclipse.wst.validation.internal.provisional.core.IMessage)
-     */
-    public void displaySubtask(IValidator validator, IMessage message)
-    {
-      delegatingReporter.displaySubtask(delegatingValidator, message);
-    }
-
-    /*
-     * (non-Javadoc)
-     * 
-     * @see org.eclipse.wst.validation.internal.provisional.core.IReporter#getMessages()
-     */
-    public List getMessages()
-    {
-      return delegatingReporter.getMessages();
-    }
-
-    /*
-     * (non-Javadoc)
-     * 
-     * @see org.eclipse.wst.validation.internal.provisional.core.IReporter#isCancelled()
-     */
-    public boolean isCancelled()
-    {
-      return delegatingReporter.isCancelled();
-    }
-
-    /*
-     * (non-Javadoc)
-     * 
-     * @see org.eclipse.wst.validation.internal.provisional.core.IReporter#removeAllMessages(org.eclipse.wst.validation.internal.provisional.core.IValidator)
-     */
-    public void removeAllMessages(IValidator origin)
-    {
-      delegatingReporter.removeAllMessages(delegatingValidator);
-    }
-
-    /*
-     * (non-Javadoc)
-     * 
-     * @see org.eclipse.wst.validation.internal.provisional.core.IReporter#removeAllMessages(org.eclipse.wst.validation.internal.provisional.core.IValidator,
-     *      java.lang.Object)
-     */
-    public void removeAllMessages(IValidator origin, Object object)
-    {
-      delegatingReporter.removeAllMessages(delegatingValidator, object);
-    }
-
-    /*
-     * (non-Javadoc)
-     * 
-     * @see org.eclipse.wst.validation.internal.provisional.core.IReporter#removeMessageSubset(org.eclipse.wst.validation.internal.provisional.core.IValidator,
-     *      java.lang.Object, java.lang.String)
-     */
-    public void removeMessageSubset(IValidator validator, Object obj, String groupName)
-    {
-      delegatingReporter.removeMessageSubset(delegatingValidator, obj, groupName);
-    }
-  }
-
-  /*
-   * (non-Javadoc)
-   * 
-   * @see org.eclipse.wst.validation.internal.provisional.core.IValidatorJob#validateInJob(org.eclipse.wst.validation.internal.provisional.core.IValidationContext,
-   *      org.eclipse.wst.validation.internal.provisional.core.IReporter)
-   */
-  public IStatus validateInJob(IValidationContext helper, IReporter reporter) throws ValidationException
-  {
-    ValidatorMetaData vmd = ValidationRegistryReader.getReader().getValidatorMetaData(this);
-    String validatorName = vmd.getValidatorDisplayName();
-
-    // We need to ensure that the context is an IProjectValidationContext. The
-    // limitation of using an IValidationContext is that it does not readily
-    // provide the project the validator is being invoked upon.
-
-    if (!(helper instanceof IProjectValidationContext))
-    {
-      throw new ValidationException(new LocalizedMessage(IMessage.HIGH_SEVERITY, ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_WRONG_CONTEXT_FOR_DELEGATE, new String[] { validatorName })));
-    }
-
-    IProjectValidationContext projectContext = (IProjectValidationContext) helper;
-    IProject project = projectContext.getProject();
-
-    ValidatorDelegateDescriptor delegateDescriptor = null;
-
-    try
-    {
-      ProjectConfiguration projectConfig = ConfigurationManager.getManager().getProjectConfiguration(project);
-
-      delegateDescriptor = projectConfig.getDelegateDescriptor(vmd);
-    }
-    catch (InvocationTargetException e)
-    {
-      // Already dealt with by the framework.
-    }
-    finally
-    {
-      if (delegateDescriptor == null)
-      {
-        throw new ValidationException(new LocalizedMessage(IMessage.HIGH_SEVERITY, ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_NO_DELEGATE, new String[] { vmd.getValidatorDisplayName() })));
-      }
-    }
-
-    IValidatorJob delegate = (IValidatorJob)delegateDescriptor.getValidator();
-
-    // We need to make it look like this validator is the one generating
-    // messages so we wrap the reporter and use this validator as the source.
-    // The validation framework does not recognize our validators because they
-    // are not registered directly with the framework.
-    // We could make them work like the aggregated validators but that would
-    // create problems with markers not being cleaned up if someone switches
-    // validators.
-    // TODO : Maybe we could clear all the markers generated by a delegate when
-    // the user chooses a different delegate implementation?
-
-    DelegatingReporter delegatingReporter = new DelegatingReporter(this, reporter);
-
-    IStatus status = delegate.validateInJob(helper, delegatingReporter);
-
-    return status;
-  }
-
-  /*
-   * (non-Javadoc)
-   * 
-   * @see org.eclipse.wst.validation.internal.provisional.core.IValidatorJob#getSchedulingRule(org.eclipse.wst.validation.internal.provisional.core.IValidationContext)
-   */
-  public ISchedulingRule getSchedulingRule(IValidationContext helper)
-  {
-    return null;
-  }
-
-@Override
-public ValidationResult validate(IResource resource, int kind, ValidationState state, IProgressMonitor monitor) {
-	return null;
-}
-}
diff --git a/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/delegates/IDelegatingValidator.java b/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/delegates/IDelegatingValidator.java
deleted file mode 100644
index e779ed9..0000000
--- a/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/delegates/IDelegatingValidator.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.wst.validation.internal.delegates;
-
-import org.eclipse.wst.validation.internal.provisional.core.IValidatorJob;
-
-/**
- * A delegating validator delegates the actual validation work to a delegate
- * validator. This is a marker interface used internally by the framework to
- * determine if a delegate is a delegating validator.
- * 
- * [Issue] Could/should this interface be replaced with an attribute on the
- * validators extension definition?
- * 
- * <p>
- * <b>Note:</b> This class/interface is part of an interim API that is still
- * under development and expected to change significantly before reaching
- * stability. It is being made available at this early stage to solicit feedback
- * from pioneering adopters on the understanding that any code that uses this
- * API will almost certainly be broken (repeatedly) as the API evolves.
- * </p>
- */
-public interface IDelegatingValidator extends IValidatorJob
-{
-}
diff --git a/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/delegates/ValidatorDelegateDescriptor.java b/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/delegates/ValidatorDelegateDescriptor.java
deleted file mode 100644
index 51910e0..0000000
--- a/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/delegates/ValidatorDelegateDescriptor.java
+++ /dev/null
@@ -1,154 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.wst.validation.internal.delegates;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.wst.validation.AbstractValidator;
-import org.eclipse.wst.validation.internal.ResourceConstants;
-import org.eclipse.wst.validation.internal.ResourceHandler;
-import org.eclipse.wst.validation.internal.ValidationRegistryReader;
-import org.eclipse.wst.validation.internal.ValidatorMetaData;
-import org.eclipse.wst.validation.internal.core.ValidationException;
-import org.eclipse.wst.validation.internal.operations.LocalizedMessage;
-import org.eclipse.wst.validation.internal.plugin.ValidationPlugin;
-import org.eclipse.wst.validation.internal.provisional.core.IMessage;
-import org.eclipse.wst.validation.internal.provisional.core.IValidator;
-
-/**
- * ValidatorDelegateDescriptor stores information about a delegate validator.
- * <p>
- * It is also used to store the instance of the validator it describes. To
- * obtain the instance call getValidator().
- * </p>
- */
-public class ValidatorDelegateDescriptor {
-	/**
-	 * The platform configuration element describing this delegate.
-	 */
-	private IConfigurationElement _delegateConfiguration;
-
-	/**
-	 * The delegating validator's ID.
-	 */
-	private String _delegatingValidatorID;
-
-	/**
-	 * The delegate's ID.
-	 */
-	private String _id;
-
-	/**
-	 * The delegate's display name.
-	 */
-	private String _name;
-
-	/**
-	 * Constructs a descriptor.
-	 * 
-	 * @param id
-	 *            The delegate's unique id. Must be unique in the context of a
-	 *            delegating validator.
-	 * @param delegateConfiguration
-	 *            The delegates configuration element
-	 * @param delegateName
-	 *            The delegate's display name.
-	 * @param targetValidatorID
-	 *            The target validator's unique id.
-	 */
-	public ValidatorDelegateDescriptor(String id,
-			IConfigurationElement delegateConfiguration, String delegateName,
-			String targetValidatorID) {
-
-		assert id != null;
-		assert delegateConfiguration != null;
-		assert targetValidatorID != null;
-
-		_id = id;
-		_delegateConfiguration = delegateConfiguration;
-		_name = delegateName;
-		_delegatingValidatorID = targetValidatorID;
-	}
-
-	/**
-	 * Provides the delegate's ID.
-	 * 
-	 * @return a string with the fully qualified class name of this validator
-	 *         implementation.
-	 */
-	public String getId() {
-		return _id;
-	}
-
-	/**
-	 * Provides the delegate's name.
-	 * 
-	 * @return a String with the validator's display name.
-	 */
-	public String getName() {
-		return _name;
-	}
-
-	/**
-	 * Retrieves the target validator's ID.
-	 * 
-	 * @return a String with the fully qualified class name of the delegating
-	 *         validator who will delegate its implementation to the validator
-	 *         described by this descriptor.
-	 */
-	public String getTargetID() {
-		return _delegatingValidatorID;
-	}
-
-	/**
-	 * Provides the instance of the validator delegate pointed to by this descriptor.
-	 * 
-	 * @return an IValidator instance.
-	 * @throws ValidationException
-	 */
-	public IValidator getValidator() throws ValidationException {
-		try {
-			IValidator delegate = (IValidator) _delegateConfiguration
-					.createExecutableExtension(ValidatorDelegatesRegistryReader.CLASS_ATTRIBUTE);
-			return delegate;
-		} catch (CoreException e) {
-			handleException(e);
-		}
-		return null;
-	}
-
-	/**
-	 * Answer an AbstractValidator if one has been defined, otherwise answer null.
-	 */
-	public AbstractValidator getValidator2() throws ValidationException {
-		try {
-			Object o = _delegateConfiguration
-					.createExecutableExtension(ValidatorDelegatesRegistryReader.CLASS_ATTRIBUTE);
-			if (o instanceof AbstractValidator)
-				return (AbstractValidator) o;
-		} catch (CoreException e) {
-			handleException(e);
-		}
-		return null;
-	}
-
-	private void handleException(CoreException e) throws ValidationException {
-		ValidationPlugin.getPlugin().handleException(e);
-		String delegatingValidatorName = getTargetID();
-		ValidatorMetaData vmd = ValidationRegistryReader.getReader()
-			.getValidatorMetaData(getTargetID());
-		if (vmd != null)delegatingValidatorName = vmd.getValidatorDisplayName();
-		throw new ValidationException(new LocalizedMessage(
-			IMessage.HIGH_SEVERITY, ResourceHandler.getExternalizedMessage(
-			ResourceConstants.VBF_CANNOT_INSTANTIATE_DELEGATE, new String[] { getName(), delegatingValidatorName })));
-	}
-}
diff --git a/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/delegates/ValidatorDelegatesRegistry.java b/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/delegates/ValidatorDelegatesRegistry.java
deleted file mode 100644
index 3ea034f..0000000
--- a/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/delegates/ValidatorDelegatesRegistry.java
+++ /dev/null
@@ -1,223 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.wst.validation.internal.delegates;
-
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.Map;
-import java.util.Set;
-import java.util.StringTokenizer;
-
-import org.eclipse.core.runtime.preferences.DefaultScope;
-import org.eclipse.core.runtime.preferences.IEclipsePreferences;
-import org.eclipse.wst.validation.internal.ConfigurationConstants;
-import org.eclipse.wst.validation.internal.core.ValidationException;
-import org.eclipse.wst.validation.internal.plugin.ValidationPlugin;
-import org.eclipse.wst.validation.internal.provisional.core.IValidator;
-
-/**
- * ValidatorDelegatesRegistry is a singleton used to store validator delegate
- * descriptors for each delegating validator.
- */
-public class ValidatorDelegatesRegistry {
-	
-  /**
-   * The one and only instance of this registry.
-   */
-  private static ValidatorDelegatesRegistry _instance;
-
-  /**
-   * Provides the one and only instance of this class.
-   * 
-   * The actual platform extension registry reading happens at this time.
-   * 
-   * @see ValidatorDelegatesRegistryReader
-   * 
-   * @return the validator delegates registry singleton instance.
-   */
-  public static ValidatorDelegatesRegistry getInstance() {
-    if (_instance == null) {
-    	ValidatorDelegatesRegistry instance = new ValidatorDelegatesRegistry();
-    	ValidatorDelegatesRegistryReader reader = new ValidatorDelegatesRegistryReader(instance);
-    	reader.readRegistry();
-    	instance.initDefaults();
-    	_instance = instance;
-    }
-
-    return _instance;
-  }
-
-  /**
-   * Determine if the product defined any default delegate validators, by setting the old
-   * DELEGATES_PREFERENCE preference in the default preference scope. If they did, we remember
-   * them, so that if we every need to return a default for the delegating validator, we can return the one
-   * that the product requested.
-   */
-  private void initDefaults() {
-	  	// This code was copied from the ValidationConfiguration#deserializeDelegates() method. The code was copied because this
-	  	// change is part of a patch and I didn't want to disturb the ValidationConfiguration class.
-	  
-		IEclipsePreferences prefs = new DefaultScope().getNode(ValidationPlugin.PLUGIN_ID);
-		String delegatePref = prefs.get("DELEGATES_PREFERENCE", null); //$NON-NLS-1$
-		if (delegatePref == null)return;
-
-		int delegatesIndex = delegatePref.indexOf(ConfigurationConstants.DELEGATE_VALIDATORS);
-		String delegates = delegatePref.substring(delegatesIndex + ConfigurationConstants.DELEGATE_VALIDATORS.length(), delegatePref.length());
-
-		if (delegates == null)return;
-
-		_defaultDelegates = new HashSet<String>(10);
-		StringTokenizer tokenizer = new StringTokenizer(delegates, ConfigurationConstants.ELEMENT_SEPARATOR);
-		while (tokenizer.hasMoreTokens()) {
-			String delegateConfiguration = tokenizer.nextToken();
-			int separatorIndex = delegateConfiguration.indexOf(ConfigurationConstants.DELEGATES_SEPARATOR);
-//			String targetID = delegateConfiguration.substring(0, separatorIndex);
-			String delegateID = delegateConfiguration.substring(separatorIndex + 1);
-			_defaultDelegates.add(delegateID);
-		}
-
-	}
-
-/**
-   * The map of target validator id to Map of delegates by id.
-   */
-  private Map<String, Map<String,ValidatorDelegateDescriptor>> _delegatesByTarget = 
-	  new HashMap<String, Map<String,ValidatorDelegateDescriptor>>();
-  
-  /**
-   * Validator ids that have been defined by the product to be the default validators, for some of the delegating validtors.
-   */
-  private Set<String> _defaultDelegates;
-
-  /**
-   * Adds a descriptor to the registry.
-   * 
-   * @param descriptor
-   *          The descriptor to add. Must not be null.
-   */
-  void add(ValidatorDelegateDescriptor descriptor) {
-    if (descriptor == null)return;
-
-    String targetID = descriptor.getTargetID();
-
-    Map<String,ValidatorDelegateDescriptor> delegates = _delegatesByTarget.get(targetID);
-
-    if (delegates == null) {
-      delegates = new HashMap<String,ValidatorDelegateDescriptor>();
-      _delegatesByTarget.put(targetID, delegates);
-    }
-
-    delegates.put(descriptor.getId(), descriptor);
-  }
-
-  /**
-   * Provides the default delegate ID for the given delegating validator ID.
-   * 
-   * @param targetID
-   *          The delegating validator's ID.
-   * @return a String with the ID of the default delegate.
-   */
-  public String getDefaultDelegate(String targetID)
-  {
-    Map<String,ValidatorDelegateDescriptor> delegates = getDelegateDescriptors(targetID);
-
-    if (delegates == null)return null;
-
-    if (_defaultDelegates != null){
-    	for (ValidatorDelegateDescriptor vdd : delegates.values()){
-    		String id = vdd.getId();
-    		if (_defaultDelegates.contains(id))return id;
-    	}
-    }
-    
-    // TODO: Implement a default attribute and use that to get the default?
-    // What happens if two or more delegates claim to be the default one?
-    // For now, just pick the first one in the list.
-
-    Iterator<ValidatorDelegateDescriptor> delegatesIterator = delegates.values().iterator();
-    
-    if (!delegatesIterator.hasNext())return null;
-
-    return delegatesIterator.next().getId();
-  }
-
-  /**
-   * Retrieves a delegate instance based on the target and delegate IDs.
-   * 
-   * @param targetID
-   *          the delegating validator's ID.
-   * @param delegateID
-   *          the delegate validator's ID.
-   * @return an instance of the delegate validator or null if one cannot be
-   *         found.
-   */
-  public IValidator getDelegate(String targetID, String delegateID) throws ValidationException
-  {
-    ValidatorDelegateDescriptor descriptor = getDescriptor(targetID, delegateID);
-
-    if (descriptor == null)return null;
-
-    IValidator delegate = descriptor.getValidator();
-
-    return delegate;
-  }
-
-  /**
-   * Provides a map with all delegates descriptors for the given target, keyed
-   * by their ID.
-   * 
-   * @param targetID
-   *          the target (delegating) validator id. Must not be null.
-   * @return a Map <string, ValidatorDelegateDescriptor>. May be null if the ID
-   *         passed in is not a delegating validator.
-   */
-  public Map<String,ValidatorDelegateDescriptor> getDelegateDescriptors(String targetID) {
-    return _delegatesByTarget.get(targetID);
-  }
-
-  /**
-   * Finds a delegate descriptor based on the target id and delegate id.
-   * 
-   * @param targetID
-   *          the delegating validator's id
-   * @param delegateID
-   *          the delegate id
-   * @return a ValidatorDelegateDescriptor for the given target and id or null
-   *         if one cannot be found.
-   */
-  public ValidatorDelegateDescriptor getDescriptor(String targetID, String delegateID)
-  {
-    Map<String,ValidatorDelegateDescriptor> delegates = _delegatesByTarget.get(targetID);
-
-    if (delegates == null || delegateID == null)return null;
-    
-    ValidatorDelegateDescriptor descriptor = (ValidatorDelegateDescriptor) delegates.get(delegateID);
-
-    return descriptor;
-  }
-
-  /**
-   * Determines if a given validator has delegates.
-   * 
-   * @param targetID
-   *          the target validator id.
-   * @return true if the target has registered delegates, false otherwise.
-   */
-  public boolean hasDelegates(String targetID)
-  {
-    Map<String,ValidatorDelegateDescriptor> delegatesByID = _delegatesByTarget.get(targetID);
-
-    boolean hasDelegates = (delegatesByID != null && !delegatesByID.isEmpty());
-    return hasDelegates;
-  }
-}
diff --git a/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/delegates/ValidatorDelegatesRegistryReader.java b/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/delegates/ValidatorDelegatesRegistryReader.java
deleted file mode 100644
index c6bafe9..0000000
--- a/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/delegates/ValidatorDelegatesRegistryReader.java
+++ /dev/null
@@ -1,120 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.wst.validation.internal.delegates;
-
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IContributor;
-import org.eclipse.core.runtime.IExtensionPoint;
-import org.eclipse.core.runtime.IExtensionRegistry;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.wst.validation.internal.ValMessages;
-import org.eclipse.wst.validation.internal.plugin.ValidationPlugin;
-
-/**
- * This class reads the plug-in extension registry and registers each delegating
- * validator descriptor with the delegates registry.
- * 
- * @see ValidatorDelegatesRegistry
- */
-class ValidatorDelegatesRegistryReader {
-	/**
-	 * The delegate class attribute.
-	 */
-	static final String CLASS_ATTRIBUTE = "class"; //$NON-NLS-1$
-
-	/**
-	 * The delegate element name.
-	 */
-	private static final String DELEGATE_ELEMENT = "delegate"; //$NON-NLS-1$
-
-	/**
-	 * The validator delegates extension point id.
-	 */
-	private static final String EXTENSION_POINT_ID = "validatorDelegates"; //$NON-NLS-1$
-
-	/**
-	 * The delegate name attribute.
-	 */
-	private static final String NAME_ATTRIBUTE = "name"; //$NON-NLS-1$
-
-	private static final String PLUGIN_ID = "org.eclipse.wst.validation"; //$NON-NLS-1$
-
-	/**
-	 * The target id attribute name.
-	 */
-	private static final String TARGET_ATTRIBUTE = "target"; //$NON-NLS-1$
-
-	/**
-	 * The validator registry where the descriptors being read will be placed.
-	 */
-	private ValidatorDelegatesRegistry registry;
-
-	/**
-	 * Constructor.
-	 * 
-	 * @param registry
-	 *            The registry where the descriptors being read will be placed.
-	 */
-	public ValidatorDelegatesRegistryReader(ValidatorDelegatesRegistry registry) {
-		this.registry = registry;
-	}
-
-	/**
-	 * Reads a configuration element.
-	 * 
-	 * @param element
-	 *            The platform configuration element being read.
-	 */
-	private void readElement(IConfigurationElement element) {
-		String elementName = element.getName();
-
-		if (elementName.equals(DELEGATE_ELEMENT)) {
-			String delegateID = element.getAttribute(CLASS_ATTRIBUTE);
-			String delegateName = element.getAttribute(NAME_ATTRIBUTE);
-			String targetValidatorID = element.getAttribute(TARGET_ATTRIBUTE);
-
-			ValidatorDelegateDescriptor descriptor = new ValidatorDelegateDescriptor(
-					delegateID, element, delegateName, targetValidatorID);
-
-			registry.add(descriptor);
-		}
-	}
-
-	/**
-	 * Read from the extensions registry and parse it.
-	 */
-	void readRegistry() {
-		IExtensionRegistry pluginRegistry = Platform.getExtensionRegistry();
-		IExtensionPoint point = pluginRegistry.getExtensionPoint(PLUGIN_ID,
-				EXTENSION_POINT_ID);
-
-		if (point != null) {
-			IConfigurationElement[] elements = point.getConfigurationElements();
-			for (IConfigurationElement configurationElement : elements) {
-				try {
-					readElement(configurationElement);
-				} catch (Exception e) {
-					// we don't want all the validators to be rendered helpless
-					// by some
-					// rogue contribution, so, we catch any exception that
-					// occurs during
-					// initialization, log it, and continue on.
-					IContributor contributor = configurationElement.getContributor();
-					String msg = NLS.bind(ValMessages.RogueValidator, contributor);
-					ValidationPlugin.getPlugin().logMessage(IStatus.ERROR, msg);
-				}
-			}
-		}
-	}
-}
diff --git a/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/operations/AllValidatorsOperation.java b/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/operations/AllValidatorsOperation.java
deleted file mode 100644
index 66809bc..0000000
--- a/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/operations/AllValidatorsOperation.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.validation.internal.operations;
-
-
-import java.lang.reflect.InvocationTargetException;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.wst.validation.internal.ConfigurationManager;
-import org.eclipse.wst.validation.internal.InternalValidatorManager;
-import org.eclipse.wst.validation.internal.ProjectConfiguration;
-import org.eclipse.wst.validation.internal.plugin.ValidationPlugin;
-
-/**
- * Implemented Validators must not be called directly by anyone other than instances of
- * ValidationOperation, because some initialization of the validator, and handling of error
- * conditions, is done in the operation. The initialization is separated because some of the
- * information needed to initialize the validator (i.e., the project) isn't known until runtime.
- * 
- * This operation runs all validators: enabled validators, disabled validators, incremental
- * validators, full validators.
- * 
- * This operation is not intended to be subclassed outside of the validation framework.
- */
-public class AllValidatorsOperation extends ValidatorSubsetOperation {
-	/**
-	 * @deprecated Will be removed in Milestone 3. Use AllValidatorsOperation(IProject, boolean)
-	 */
-	public AllValidatorsOperation(IProject project) {
-		this(project, DEFAULT_ASYNC);
-	}
-
-	/**
-	 * Run all configured validators on the project, regardless of whether the validator is enabled
-	 * or disabled by the user.
-	 * 
-	 * If async is true, the validation will run all thread-safe validators in a background thread.
-	 * If async is false, no validators will run in a background thread.
-	 */
-	public AllValidatorsOperation(IProject project, boolean async) {
-		super(project, true, async);// always force validation to run
-		try {
-			ProjectConfiguration prjp = ConfigurationManager.getManager().getProjectConfiguration(project);
-			setEnabledValidators(InternalValidatorManager.wrapInSet(prjp.getValidators()));
-		} catch (InvocationTargetException e) {
-			ValidationPlugin.getPlugin().handleException(e);
-			if (e.getTargetException() != null) {
-				ValidationPlugin.getPlugin().handleException(e.getTargetException());
-			}
-		}
-	}
-
-}
diff --git a/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/operations/DefaultResourceUtil.java b/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/operations/DefaultResourceUtil.java
deleted file mode 100644
index 39231d4..0000000
--- a/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/operations/DefaultResourceUtil.java
+++ /dev/null
@@ -1,25 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.validation.internal.operations;
-
-/**
- * The default line number calculator (always returns "0").
- */
-public class DefaultResourceUtil implements IResourceUtil {
-
-	/**
-	 * @see org.eclipse.wst.validation.internal.operations.IResourceUtil#getLineNo(Object)
-	 */
-	public int getLineNo(Object obj) {
-		return 0;
-	}
-
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/operations/EnabledIncrementalValidatorsOperation.java b/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/operations/EnabledIncrementalValidatorsOperation.java
deleted file mode 100644
index f36e48b..0000000
--- a/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/operations/EnabledIncrementalValidatorsOperation.java
+++ /dev/null
@@ -1,202 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.validation.internal.operations;
-
-
-import java.lang.reflect.InvocationTargetException;
-import java.util.Set;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IResourceDelta;
-import org.eclipse.wst.validation.internal.ConfigurationManager;
-import org.eclipse.wst.validation.internal.FilterUtil;
-import org.eclipse.wst.validation.internal.InternalValidatorManager;
-import org.eclipse.wst.validation.internal.ProjectConfiguration;
-import org.eclipse.wst.validation.internal.RegistryConstants;
-import org.eclipse.wst.validation.internal.ValidatorMetaData;
-import org.eclipse.wst.validation.internal.plugin.ValidationPlugin;
-
-/**
- * Implemented Validators must not be called directly by anyone other than instances of
- * ValidationOperation, because some initialization of the validator, and handling of error
- * conditions, is done in the operation. The initialization is separated because some of the
- * information needed to initialize the validator (i.e., the project) isn't known until runtime.
- * 
- * Instances of this operation load the project's configured validators, and run the validators if
- * they are both enabled and incremental.
- * 
- * This operation is not intended to be subclassed outside of the validation framework.
- */
-public class EnabledIncrementalValidatorsOperation extends EnabledValidatorsOperation {
-	/**
-	 * @deprecated Will be removed in Milestone 3. Use
-	 *             EnabledIncrementalValidatorsOperation(IProject, IResourceDelta, boolean)
-	 */
-	public EnabledIncrementalValidatorsOperation(IProject project, IResourceDelta delta) {
-		this(project, delta, DEFAULT_ASYNC);
-	}
-
-	/**
-	 * @deprecated Will be removed in Milestone 3. Use
-	 *             EnabledIncrementalValidatorsOperation(IProject, IResourceDelta, int, boolean)
-	 */
-	public EnabledIncrementalValidatorsOperation(IProject project, IResourceDelta delta, int ruleGroup) {
-		this(project, delta, ruleGroup, DEFAULT_ASYNC);
-	}
-
-	/**
-	 * @deprecated Will be removed in Milestone 3. Use
-	 *             EnabledIncrementalValidatorsOperation(IProject, IResourceDelta, int, boolean)
-	 *             instead.
-	 */
-	public EnabledIncrementalValidatorsOperation(IProject project, Set<ValidatorMetaData> validators, IResourceDelta delta, int ruleGroup) {
-		this(project, delta, ruleGroup, DEFAULT_ASYNC);
-		setEnabledValidators(validators);
-	}
-
-	/**
-	 * IProject must exist and be open.
-	 * 
-	 * If delta is null, a full validation of the project using only the incremental validators is
-	 * performed. If delta is not null, all enabled incremental validators that validate resources
-	 * in the delta will validate those resources.
-	 * 
-	 * If async is true, all thread-safe validators will run in the background validation thread,
-	 * and all other validators will run in the main thread. If async is false, all validators will
-	 * run in the main thread.
-	 */
-	public EnabledIncrementalValidatorsOperation(IProject project, IResourceDelta delta, boolean async) {
-		this(project, delta, RegistryConstants.ATT_RULE_GROUP_DEFAULT, async);
-	}
-	
-	/**
-	 * IProject must exist and be open.
-	 * 
-	 * If delta is null, a full validation of the project using only the incremental validators is
-	 * performed. If delta is not null, all enabled incremental validators that validate resources
-	 * in the delta will validate those resources.
-	 * 
-	 * If async is true, all thread-safe validators will run in the background validation thread,
-	 * and all other validators will run in the main thread. If async is false, all validators will
-	 * run in the main thread.
-	 */
-	public EnabledIncrementalValidatorsOperation(IProject project, IWorkbenchContext context, IResourceDelta delta, boolean async) {
-		this(project,context, delta, RegistryConstants.ATT_RULE_GROUP_DEFAULT, async);
-	}
-	
-	/**
-	 * IProject must exist and be open.
-	 * 
-	 * If delta is null, a full validation of the project using only the incremental validators is
-	 * performed. If delta is not null, all enabled incremental validators that validate resources
-	 * in the delta will validate those resources.
-	 * 
-	 * If async is true, all thread-safe validators will run in the background validation thread,
-	 * and all other validators will run in the main thread. If async is false, all validators will
-	 * run in the main thread.
-	 */
-	public EnabledIncrementalValidatorsOperation(IProject project,IWorkbenchContext context, IResourceDelta delta, int ruleGroup, boolean async) {
-		super(project, ruleGroup, shouldForce(delta), async);
-		try {
-			ProjectConfiguration prjp = ConfigurationManager.getManager().getProjectConfiguration(project);
-			setEnabledValidators(InternalValidatorManager.wrapInSet(prjp.getEnabledIncrementalValidators(true)));
-		} catch (InvocationTargetException e) {
-			ValidationPlugin.getPlugin().handleException(e);
-			if (e.getTargetException() != null)
-				ValidationPlugin.getPlugin().handleException(e.getTargetException());
-
-		}
-		setDelta(delta);
-		setContext(context);
-	}
-
-	/**
-	 * IProject must exist and be open.
-	 * 
-	 * If delta is null, a full validation of the project using only the incremental validators is
-	 * performed. If delta is not null, all enabled incremental validators that validate resources
-	 * in the delta will validate those resources.
-	 * 
-	 * If async is true, all thread-safe validators will run in the background validation thread,
-	 * and all other validators will run in the main thread. If async is false, all validators will
-	 * run in the main thread.
-	 */
-	public EnabledIncrementalValidatorsOperation(IProject project, IResourceDelta delta, int ruleGroup, boolean async) {
-		super(project, ruleGroup, shouldForce(delta), async);
-		try {
-			ProjectConfiguration prjp = ConfigurationManager.getManager().getProjectConfiguration(project);
-			setEnabledValidators(InternalValidatorManager.wrapInSet(prjp.getEnabledIncrementalValidators(true)));
-		} catch (InvocationTargetException e) {
-			ValidationPlugin.getPlugin().handleException(e);
-			if (e.getTargetException() != null)
-				ValidationPlugin.getPlugin().handleException(e.getTargetException());
-
-		}
-		setDelta(delta);
-	}
-
-	/**
-	 * IProject must exist, be open, and contain all of the resources in changedResources. If some
-	 * of the resources in changedResources belong to different projects, the result is undefined.
-	 * 
-	 * If changedResources is null, a full validation of the project using only the incremental
-	 * validators is performed. If changedResources is not null, all enabled incremental validators
-	 * that validate resources in the changedResources array will validate those resources.
-	 * 
-	 * If async is true, all thread-safe validators will run in the background validation thread,
-	 * and all other validators will run in the main thread. If async is false, all validators will
-	 * run in the main thread.
-	 */
-	public EnabledIncrementalValidatorsOperation(IResource[] changedResources,IWorkbenchContext aWorkbenchContext, IProject project, boolean async) {
-		super(project, RegistryConstants.ATT_RULE_GROUP_DEFAULT, shouldForce(changedResources), async);
-		try {
-			ProjectConfiguration prjp = ConfigurationManager.getManager().getProjectConfiguration(project);
-			setEnabledValidators(InternalValidatorManager.wrapInSet(prjp.getEnabledIncrementalValidators(true)));
-		} catch (InvocationTargetException e) {
-			ValidationPlugin.getPlugin().handleException(e);
-			if (e.getTargetException() != null)
-				ValidationPlugin.getPlugin().handleException(e.getTargetException());
-
-		}
-		//construct an array of IFileDelta[] to wrap the Object[]; one IFileDelta for each Object in the array
-		setFileDeltas(FilterUtil.getFileDeltas(getEnabledValidators(), changedResources, false));
-		setContext(aWorkbenchContext);
-	}
-	
-	/**
-	 * IProject must exist, be open, and contain all of the resources in changedResources. If some
-	 * of the resources in changedResources belong to different projects, the result is undefined.
-	 * 
-	 * If changedResources is null, a full validation of the project using only the incremental
-	 * validators is performed. If changedResources is not null, all enabled incremental validators
-	 * that validate resources in the changedResources array will validate those resources.
-	 * 
-	 * If async is true, all thread-safe validators will run in the background validation thread,
-	 * and all other validators will run in the main thread. If async is false, all validators will
-	 * run in the main thread.
-	 */
-	public EnabledIncrementalValidatorsOperation(IResource[] changedResources,IProject project, boolean async) {
-		super(project, RegistryConstants.ATT_RULE_GROUP_DEFAULT, shouldForce(changedResources), async);
-		try {
-			ProjectConfiguration prjp = ConfigurationManager.getManager().getProjectConfiguration(project);
-			setEnabledValidators(InternalValidatorManager.wrapInSet(prjp.getEnabledIncrementalValidators(true)));
-		} catch (InvocationTargetException e) {
-			ValidationPlugin.getPlugin().handleException(e);
-			if (e.getTargetException() != null)
-				ValidationPlugin.getPlugin().handleException(e.getTargetException());
-
-		}
-		//construct an array of IFileDelta[] to wrap the Object[]; one IFileDelta for each Object in the array
-		setFileDeltas(FilterUtil.getFileDeltas(getEnabledValidators(), changedResources, false));
-	}
-
-}
diff --git a/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/operations/EnabledValidatorsOperation.java b/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/operations/EnabledValidatorsOperation.java
deleted file mode 100644
index 9b8afb3..0000000
--- a/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/operations/EnabledValidatorsOperation.java
+++ /dev/null
@@ -1,170 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.validation.internal.operations;
-
-
-import java.util.Set;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.wst.validation.internal.RegistryConstants;
-import org.eclipse.wst.validation.internal.ValidatorMetaData;
-
-
-/**
- * Implemented Validators must not be called directly by anyone other than instances of
- * ValidationOperation, because some initialization of the validator, and handling of error
- * conditions, is done in the operation. The initialization is separated because some of the
- * information needed to initialize the validator (i.e., the project) isn't known until runtime.
- * 
- * Instances of this operation run every enabled validator (both full and incremental) on the
- * project.
- * 
- * This operation is not intended to be subclassed outside of the validation framework.
- */
-public class EnabledValidatorsOperation extends ValidatorSubsetOperation {
-	
-
-	/**
-	 * @deprecated Will be removed in Milestone 3. Use EnabledValidatorsOperation(IProject, boolean)
-	 */
-	public EnabledValidatorsOperation(IProject project) {
-		this(project, DEFAULT_ASYNC);
-	}
-
-	/**
-	 * @deprecated Will be removed in Milestone 3. Use EnabledValidatorsOperation(IProject, int,
-	 *             boolean, boolean)
-	 */
-	public EnabledValidatorsOperation(IProject project, int ruleGroup) {
-		this(project, ruleGroup, DEFAULT_FORCE, DEFAULT_ASYNC);
-	}
-
-	/**
-	 * @deprecated Will be removed in Milestone 3. Use EnabledValidatorsOperation(IProject, int,
-	 *             boolean, boolean)
-	 */
-	public EnabledValidatorsOperation(IProject project, int ruleGroup, boolean force) {
-		this(project, ruleGroup, force, DEFAULT_ASYNC);
-	}
-
-	/**
-	 * Run all enabled validators on the project.
-	 * 
-	 * IProject must exist and be open.
-	 * 
-	 * If async is true, the validation will run all validators implementing IValidatorJob interface 
-	 * in the background validation thread, if async is false, it would run in the main thread. 
-	 * All validators implementing IValidator interface will run in in the main thread regardless of this flag.
-	 */
-	public EnabledValidatorsOperation(IProject project, boolean async) {
-		this(project, RegistryConstants.ATT_RULE_GROUP_DEFAULT, DEFAULT_FORCE, async);
-	}
-	
-	/**
-	 * Run all enabled validators on the project.
-	 * 
-	 * IProject must exist and be open.
-	 * 
-	 * If async is true, the validation will run all validators implementing IValidatorJob interface 
-	 * in the background validation thread, if async is false, it would run in the main thread. 
-	 * All validators implementing IValidator interface will run in in the main thread regardless of this flag.
-	 */
-	public EnabledValidatorsOperation(IProject project, IWorkbenchContext aWorkbenchContext, boolean async) {
-		this(project, aWorkbenchContext, RegistryConstants.ATT_RULE_GROUP_DEFAULT, DEFAULT_FORCE, async);
-	}
-	
-	/**
-	 * Run all enabled validators on the project with the identified ruleGroup.
-	 * 
-	 * IProject must exist and be open.
-	 * 
-	 * If async is true, the validation will run all validators implementing IValidatorJob interface 
-	 * in the background validation thread, if async is false, it would run in the main thread. 
-	 * All validators implementing IValidator interface will run in in the main thread regardless of this flag.
-	 */
-	public EnabledValidatorsOperation(IProject project, IWorkbenchContext aWorkbenchContext, int ruleGroup, boolean force, boolean async) {
-		this(project, aWorkbenchContext, ValidatorManager.getManager().getEnabledValidators(project), ruleGroup, force, async);
-	}
-	
-
-	/**
-	 * Run all enabled validators on the project with the identified ruleGroup.
-	 * 
-	 * IProject must exist and be open.
-	 * 
-	 * If async is true, the validation will run all validators implementing IValidatorJob interface 
-	 * in the background validation thread, if async is false, it would run in the main thread. 
-	 * All validators implementing IValidator interface will run in in the main thread regardless of this flag.
-	 */
-	public EnabledValidatorsOperation(IProject project, int ruleGroup, boolean force, boolean async) {
-		this(project, ValidatorManager.getManager().getEnabledValidators(project), ruleGroup, force, async);
-	}
-
-	/**
-	 * Run the identified validators on the project.
-	 * 
-	 * IProject must exist and be open.
-	 * 
-	 * If async is true, the validation will run all validators implementing IValidatorJob interface 
-	 * in the background validation thread, if async is false, it would run in the main thread. 
-	 * All validators implementing IValidator interface will run in in the main thread regardless of this flag.
-	 */
-	protected EnabledValidatorsOperation(IProject project, Set<ValidatorMetaData> enabledValidators, boolean async) {
-		this(project, enabledValidators, RegistryConstants.ATT_RULE_GROUP_DEFAULT, DEFAULT_FORCE, async); 
-		// true = force validation to run whether or not auto-validate is on
-	}
-	
-	/**
-	 * Run the identified validators on the project.
-	 * 
-	 * IProject must exist and be open.
-	 * 
-	 * If async is true, the validation will run all validators implementing IValidatorJob interface 
-	 * in the background validation thread, if async is false, it would run in the main thread. 
-	 * All validators implementing IValidator interface will run in in the main thread regardless of this flag.
-	 */
-	protected EnabledValidatorsOperation(IProject project,IWorkbenchContext aWorkbenchContext, 
-		Set<ValidatorMetaData> enabledValidators, boolean async) {
-		this(project,aWorkbenchContext, enabledValidators, RegistryConstants.ATT_RULE_GROUP_DEFAULT, DEFAULT_FORCE, async); 
-		// true = force validation to run whether or not auto-validate is on
-	}
-
-	/**
-	 * Run the identified validators on the project with the ruleGroup.
-	 * 
-	 * IProject must exist and be open.
-	 * 
-	 * If async is true, the validation will run all validators implementing IValidatorJob interface 
-	 * in the background validation thread, if async is false, it would run in the main thread. 
-	 * All validators implementing IValidator interface will run in in the main thread regardless of this flag.
-	 */
-	protected EnabledValidatorsOperation(IProject project, Set<ValidatorMetaData> enabledValidators, 
-		int ruleGroup, boolean force, boolean async) {
-		
-		super(project, force, ruleGroup, async);
-		setEnabledValidators(enabledValidators);
-	}
-	
-	/**
-	 * Run the identified validators on the project with the ruleGroup.
-	 * 
-	 * IProject must exist and be open.
-	 * 
-	 * If async is true, the validation will run all validators implementing IValidatorJob interface 
-	 * in the background validation thread, if async is false, it would run in the main thread. 
-	 * All validators implementing IValidator interface will run in in the main thread regardless of this flag.
-	 */
-	protected EnabledValidatorsOperation(IProject project, IWorkbenchContext aWorkbenchContext, 
-		Set<ValidatorMetaData> enabledValidators, int ruleGroup, boolean force, boolean async) {
-		super(project,aWorkbenchContext,force, ruleGroup, async);
-		setEnabledValidators(enabledValidators);
-	}
-}
diff --git a/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/operations/IResourceUtil.java b/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/operations/IResourceUtil.java
deleted file mode 100644
index d0a34bf..0000000
--- a/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/operations/IResourceUtil.java
+++ /dev/null
@@ -1,22 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.validation.internal.operations;
-
-
-/**
- * This type is not intended to be extended by clients.
- */
-public interface IResourceUtil {
-	/**
-	 * Return the line number where the Object is located.
-	 */
-	public int getLineNo(Object obj);
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/operations/IRuleGroup.java b/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/operations/IRuleGroup.java
deleted file mode 100644
index 1c2ad11..0000000
--- a/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/operations/IRuleGroup.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.validation.internal.operations;
-
-/**
- * This type represents a group of rules which a validator checks. For now, the only grouping is by
- * speed: if a set of rules can be checked quickly, it will be included in the PASS_FAST group,
- * otherwise, it is grouped in the PASS_FULL group.
- * 
- * In future, this could be extended to include severities. To be able to group by severity helps
- * with the MessageLimitException. A validator should report errors first, and then warnings, and
- * then infos, in order to avoid the message limit being reached before the most severe problems are
- * reported.
- */
-public interface IRuleGroup {
-	// The following filters are used to identify a group of validation checks.
-
-	// retrieves the type of pass, from the IValidationContext, which the validator should execute
-	public static final String PASS_LEVEL = "PASS_LEVEL"; //$NON-NLS-1$
-
-	// On the FAST_PASS, the validator should check the rules which do not
-	// take much time to check, and exclude the rules which are valid only
-	// before some action (e.g. exporting or deploying).
-	// 
-	// The severity of the messages is irrelevant.
-	public static final int PASS_FAST = 0x1;
-	public static final String PASS_FAST_NAME = "fast"; //$NON-NLS-1$ // In plugin.xml, identify this pass by this constant
-
-	// On the FULL_PASS, the validator should check everything. This is the default.
-	public static final int PASS_FULL = 0x2 | PASS_FAST;
-	public static final String PASS_FULL_NAME = "full"; //$NON-NLS-1$ // In plugin.xml, identify this pass by this constant
-
-}
diff --git a/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/operations/IWorkbenchContext.java b/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/operations/IWorkbenchContext.java
deleted file mode 100644
index 2ee4b60..0000000
--- a/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/operations/IWorkbenchContext.java
+++ /dev/null
@@ -1,174 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.validation.internal.operations;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.wst.validation.internal.provisional.core.IProjectValidationContext;
-
-/**
- * In the eclipse environment, not only does the IValidationContext need to be able to load the MOF model, it
- * also needs to load items from the eclipse workbench. This interface should be extended by
- * workbench IHelpers, so that items can be added to, and from, the task list.
- */
-public interface IWorkbenchContext extends IProjectValidationContext {
-	/**
-	 * When the validation is complete, this method will be called so that the IWorkbenchContext can
-	 * clean up any resources it allocated during the validation.
-	 * 
-	 * If the cleanup is a long-running operation, subtask messages should be sent to the IReporter.
-	 */
-	void cleanup(WorkbenchReporter reporter);
-
-	/**
-	 * When the IProject is closing, perform any cleanup that needs to be done. When this method is
-	 * called, if the helper has cached any resources from the IProject, it should release those
-	 * resources. If you do not allocate resources in your helper, then this method should be a
-	 * no-op.
-	 */
-	void closing();
-
-	/**
-	 * When the IProject is being deleted, perform any cleanup that needs to be done. When this
-	 * method is called, if the helper has cached any resources from the IProject, it should release
-	 * those resources. If you do not allocate resources in your helper, then this method should be
-	 * a no-op.
-	 */
-	void deleting();
-
-	/**
-	 * Given an Object, if the object has a corresponding IFile in the workbench, return the IFile.
-	 * Otherwise return null.
-	 * 
-	 * This method is used by the WorkbenchReporter. In eclipse, in order to add or remove a task
-	 * list entry, the IResource, to which the entry applies, must be identified. The IReporter
-	 * interface passes in an Object in these methods:
-	 * 
-	 * addValidationMessage(IValidator, IMessage) // Object is a part of IMessage
-	 * 
-	 * removeAllMessages(IValidator, Object),
-	 * 
-	 * Thus, the WorkbenchReporter needs to know how, given the Object, which IFile that the Object
-	 * represents in the workbench, in order to be able to add the task list entry.
-	 * 
-	 * If this method returns null, then the WorkbenchReporter will add the message to the IProject
-	 * instead of an IFile.
-	 * 
-	 * @deprecated Implement getResource(Object) instead.
-	 */
-	IFile getFile(Object object);
-
-	/**
-	 * Given an Object, if the object has a corresponding IResource in the workbench, return the
-	 * IResourcee. Otherwise return null.
-	 * 
-	 * This method is used by the WorkbenchReporter. In eclipse, in order to add or remove a task
-	 * list entry, the IResource, to which the entry applies, must be identified. The IReporter
-	 * interface passes in an Object in these methods:
-	 * 
-	 * addValidationMessage(IValidator, IMessage) // Object is a part of IMessage
-	 * 
-	 * removeAllMessages(IValidator, Object),
-	 * 
-	 * Thus, the WorkbenchReporter needs to know how, given the Object, which IFile that the Object
-	 * represents in the workbench, in order to be able to add the task list entry.
-	 * 
-	 * If this method returns null, then the WorkbenchReporter will add the message to the IProject
-	 * instead of an IResource.
-	 */
-	IResource getResource(Object object);
-
-	/**
-	 * Given an IMessage's target object, return the line number, of the IFile, which the target
-	 * object represents, if possible. If the object is null, or if access to line numbers is not
-	 * possible, return a text description of the location.
-	 * 
-	 * This method will be called whether or not the IResource is an IFile, IFolder, or IProject.
-	 * Line numbers are valid only for IFile types; if the resource is not an IFile, then a text
-	 * description of the location must be returned.
-	 */
-	String getLocation(Object object);
-
-	/**
-	 * Return the name of the resource, without the project-specific information in front.
-	 * <p>
-	 * This method is used by ValidationOperation to calculate the non-environment specific names of
-	 * the files. Only the IWorkbenchContext implementation knows how much information to strip off
-	 * of the IResource name. For example, if there is an EJB Project named "MyEJBProject", and it
-	 * uses the default names for the source and output folders, "source" and "ejbModule",
-	 * respectively, then the current implementation of EJB Helper knows how much of that structure
-	 * is eclipse-specific.
-	 * </p><p>
-	 * Since the "source" folder contains Java source files, a portable name would be the
-	 * fully-qualified name of the Java class, without the eclipse-specific project and folder names
-	 * in front of the file name. The EJBHelper knows that everything up to the "source" folder, for
-	 * example, can be removed, because, according to the definition of the EJB Project, everything
-	 * contained in the source folder is java source code. So if there is an IResource in an EJB
-	 * Project named "/MyEJBProject/source/com/ibm/myclasses/MyJavaFile.java", this method would
-	 * make this name portable by stripping off the "/MyEJBProject/source", and returning
-	 * "com/ibm/myclasses/MyJavaFile.java".
-	 * </p><p>
-	 * The output of this method is used by the ValidationOperation, when it is calculating the list
-	 * of added/changed/deleted file names for incremental validation. If getPortableName(IResource)
-	 * returns null, that means that the IWorkbenchContext's implementation does not support that
-	 * particular type of resource, and the resource should not be included in the array of
-	 * IFileDelta objects in the IValidator's "validate" method.
-	 * </p>
-	 */
-	String getPortableName(IResource resource);
-
-	/**
-	 * Return the IProject which is about to be validated. Each IWorkbenchContext knows how to
-	 * traverse a certain type of IProject, for example, an EJB project or a web project.
-	 */
-	IProject getProject();
-
-	/**
-	 * When an IValidator associates a target object with an IMessage, the WorkbenchReporter
-	 * eventually resolves that target object with an IResource. Sometimes more than one target
-	 * object resolves to the same IResource (usually the IProject, which is the default IResource
-	 * when an IFile cannot be found). This method is called, by the WorkbenchReporter, so that the
-	 * WorkbenchReporter can distinguish between the IMessages which are on the same IResource, but
-	 * refer to different target objects. This is needed for the removeAllMessages(IValidator,
-	 * Object) method, so that when one target object removes all of its messages, that it doesn't
-	 * remove another target object's messages.
-	 * 
-	 * This method may return null only if object is null. Otherwise, an id which can uniquely
-	 * identify a particular object must be returned. The id needs to be unique only within one
-	 * particular IValidator.
-	 */
-	String getTargetObjectName(Object object);
-
-	/**
-	 * Whether full or incremental validation is running, this method will be called, by the
-	 * Validation Framework, for every IResource which is filtered in by the IValidator, so that the
-	 * IValidationContext can receive notification that one of the resources, which validation will run on, is
-	 * being filtered in.
-	 */
-	void registerResource(IResource resource);
-
-	/**
-	 * This method is called by the Validation Framework, to initialize the IWorkbenchContext so that
-	 * it can gather information from the current project.
-	 */
-	void setProject(IProject project);
-
-	/**
-	 * Notifies this IWorkbenchContext that the Validation Framework is shutting down. There will be
-	 * calls to closing(IProject) and possibly deleting(IProject) following this call, but the
-	 * resources may already be closed by the time that those methods are called, so EVERYTHING
-	 * should be cleaned up in this method. The parameter passed in is the project which is about to
-	 * shut down. This method will be called once for every IProject in the workbench. The IProject
-	 * may, or may not, be closed.
-	 */
-	void shutdown();
-}
diff --git a/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/operations/LocalizedMessage.java b/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/operations/LocalizedMessage.java
deleted file mode 100644
index 9b03057..0000000
--- a/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/operations/LocalizedMessage.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.validation.internal.operations;
-
-import java.util.Locale;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.wst.validation.internal.core.Message;
-
-/**
- * This class is provided for validators which run only in UI and whose messages, because they
- * come from another tool, are already localized. LocalizedMessage cannot be used by any validator
- * which needs to run in both WebSphere and WSAD.
- */
-public class LocalizedMessage extends Message {
-	private String _message;
-
-	public LocalizedMessage(int severity, String messageText) {
-		this(severity, messageText, null);
-	}
-
-	public LocalizedMessage(int severity, String messageText, IResource targetObject) {
-		this(severity, messageText, (Object) targetObject);
-	}
-
-	public LocalizedMessage(int severity, String messageText, Object targetObject) {
-		super(null, severity, null);
-		setLocalizedMessage(messageText);
-		setTargetObject(targetObject);
-	}
-
-	public void setLocalizedMessage(String message) {
-		_message = message;
-	}
-
-	public String getLocalizedMessage() {
-		return _message;
-	}
-
-	public String getText() {
-		return getLocalizedMessage();
-	}
-
-	public String getText(ClassLoader cl) {
-		return getLocalizedMessage();
-	}
-
-	public String getText(Locale l) {
-		return getLocalizedMessage();
-	}
-
-	public String getText(Locale l, ClassLoader cl) {
-		return getLocalizedMessage();
-	}
-}
diff --git a/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/operations/ManualIncrementalValidatorsOperation.java b/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/operations/ManualIncrementalValidatorsOperation.java
deleted file mode 100644
index 59d5f0f..0000000
--- a/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/operations/ManualIncrementalValidatorsOperation.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.validation.internal.operations;
-
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.wst.validation.internal.FilterUtil;
-
-
-/**
- * 
- * This operation is not intended to be subclassed outside of the validation framework.
- */
-public class ManualIncrementalValidatorsOperation extends ManualValidatorsOperation {
-
-	public ManualIncrementalValidatorsOperation(IProject project) {
-		super( project );
-	}	
-	public ManualIncrementalValidatorsOperation(IProject project, Object[] changedResources) {
-		super( project, changedResources );
-		setFileDeltas( FilterUtil.getFileDeltas(getEnabledValidators(), changedResources, false) );
-	}	
-}
diff --git a/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/operations/ManualValidatorsOperation.java b/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/operations/ManualValidatorsOperation.java
deleted file mode 100644
index 03a0bf2..0000000
--- a/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/operations/ManualValidatorsOperation.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.validation.internal.operations;
-
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.wst.validation.internal.RegistryConstants;
-
-
-/**
- * Implemented Validators must not be called directly by anyone other than instances of
- * ValidationOperation, because some initialization of the validator, and handling of error
- * conditions, is done in the operation. The initialization is separated because some of the
- * information needed to initialize the validator (i.e., the project) isn't known until runtime.
- * <p>
- * Instances of this operation run every enabled validator (both full and incremental) on the
- * project.
- * </p>
- * <p>
- * This operation is not intended to be subclassed outside of the validation framework.
- * </p>
- */
-public class ManualValidatorsOperation extends ValidatorSubsetOperation {
-
-	public ManualValidatorsOperation(IProject project) {
-		super(project, DEFAULT_FORCE, RegistryConstants.ATT_RULE_GROUP_DEFAULT, true);
-		setEnabledValidators(ValidatorManager.getManager().getManualEnabledValidators(project));
-	}	
-	public ManualValidatorsOperation(IProject project, Object[] changedResources) {
-		super(project, shouldForce(changedResources), RegistryConstants.ATT_RULE_GROUP_DEFAULT, true);
-		setEnabledValidators(ValidatorManager.getManager().getManualEnabledValidators(project));
-	}	
-}
diff --git a/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/operations/MessageInfo.java b/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/operations/MessageInfo.java
deleted file mode 100644
index 16b93c0..0000000
--- a/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/operations/MessageInfo.java
+++ /dev/null
@@ -1,104 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.wst.validation.internal.operations;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.wst.validation.internal.provisional.core.IMessage;
-
-public class MessageInfo {
-
-	private String		messageOwnerId;	
-	private IResource	resource;
-	private String		location;	
-	private String		text;
-	private String		targetObjectName;	
-	private String		markerId;	
-	private IMessage	msg;
-	
-	public MessageInfo(){		
-	}
-	
-	public MessageInfo(String messageOwnerId, IResource resource, String location, 
-		String text, String targetObjectName, String markerId, IMessage msg){
-		
-		this.messageOwnerId = messageOwnerId;	
-		this.resource = resource;
-		this.location = location;	
-		this.text = text;
-		this.targetObjectName = targetObjectName;	
-		this.markerId = markerId;	
-		this.msg = msg;
-	}	
-
-	public String getLocation() {
-		return location;
-	}
-
-	public void setLocation(String location) {
-		this.location = location;
-	}
-
-	public String getMarkerId() {
-		return markerId;
-	}
-
-	public void setMarkerId(String markerId) {
-		this.markerId = markerId;
-	}
-
-	public String getMessageOwnerId() {
-		return messageOwnerId;
-	}
-
-	public void setMessageOwnerId(String messageOwnerId) {
-		this.messageOwnerId = messageOwnerId;
-	}
-
-	public IMessage getMsg() {
-		return msg;
-	}
-
-	public void setMsg(IMessage msg) {
-		this.msg = msg;
-	}
-
-	public IResource getResource() {
-		return resource;
-	}
-
-	public void setResource(IResource resource) {
-		this.resource = resource;
-	}
-
-	public String getTargetObjectName() {
-		return targetObjectName;
-	}
-
-	public void setTargetObjectName(String targetObjectName) {
-		this.targetObjectName = targetObjectName;
-	}
-
-	public String getText() {
-		return text;
-	}
-
-	public void setText(String text) {
-		this.text = text;
-	}
-	
-	@Override
-	public String toString() {
-		if (text != null)return "MessageInfo: " + text; //$NON-NLS-1$
-		return super.toString();
-	}
-	
-}
diff --git a/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/operations/OneValidatorOperation.java b/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/operations/OneValidatorOperation.java
deleted file mode 100644
index 99d359b..0000000
--- a/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/operations/OneValidatorOperation.java
+++ /dev/null
@@ -1,125 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.validation.internal.operations;
-
-
-import java.util.HashSet;
-import java.util.Set;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.wst.validation.internal.RegistryConstants;
-import org.eclipse.wst.validation.internal.ValidationRegistryReader;
-import org.eclipse.wst.validation.internal.ValidatorMetaData;
-
-
-/**
- * Implemented Validators must not be called directly by anyone other than instances of
- * ValidationOperation, because some initialization of the validator, and handling of error
- * conditions, is done in the operation. The initialization is separated because some of the
- * information needed to initialize the validator (i.e., the project) isn't known until runtime.
- * 
- * This operation runs a single validator on a project.
- * 
- * This operation is not intended to be subclassed outside of the validation framework.
- */
-public class OneValidatorOperation extends ValidatorSubsetOperation {
-	/**
-	 * @deprecated Will be removed in Milestone 3. Use OneValidatorOperation(project, validatorId,
-	 *             boolean, boolean)
-	 */
-	public OneValidatorOperation(IProject project, String validatorId) throws IllegalArgumentException {
-		this(project, validatorId, DEFAULT_FORCE, DEFAULT_ASYNC);
-	}
-
-	/**
-	 * @deprecated Will be removed in Milestone 3. Use OneValidatorOperation(project, validatorId,
-	 *             boolean, boolean)
-	 */
-	public OneValidatorOperation(IProject project, String validatorId, boolean force) throws IllegalArgumentException {
-		this(project, validatorId, force, DEFAULT_ASYNC);
-	}
-
-	/**
-	 * @deprecated Will be removed in Milestone 3. Use OneValidatorOperation(IProject, String,
-	 *             boolean, int, boolean)
-	 */
-	public OneValidatorOperation(IProject project, String validatorId, boolean force, int ruleGroup) throws IllegalArgumentException {
-		this(project, validatorId, force, ruleGroup, DEFAULT_ASYNC);
-	}
-
-	/**
-	 * @param validatorId
-	 *            The plugin id of the validator which you wish to run.
-	 * @param force
-	 *            If the value is "true", the validator should be run regardless of what the
-	 *            environment settings are; if the value is "false", this operation should be run
-	 *            only if the validation builder will not run the validator.
-	 * 
-	 * IllegalArgumentException will be thrown if the named validator is not configured on the
-	 * project.
-	 * 
-	 * IProject must exist and be open.
-	 * 
-	 * If async is true, the validation will run all thread-safe validators in the background
-	 * validation thread, and all other validators in the main thread. If async is false, all
-	 * validators will run in in the main thread.
-	 */
-	public OneValidatorOperation(IProject project, String validatorId, boolean force, boolean async) throws IllegalArgumentException {
-		this(project, validatorId, force, RegistryConstants.ATT_RULE_GROUP_DEFAULT, async);
-	}
-
-	/**
-	 * OneValidatorOperation constructor comment.
-	 * 
-	 * @param project
-	 *            The project to be validated. It must exist and be open.
-	 * @param validatorId
-	 *            The plug-in id of the validator which you wish to run.
-	 * @param force
-	 *            If the value is "true", the validator should be run regardless
-	 *            of what the environment settings are; if the value is "false",
-	 *            this operation should be run only if the validation builder
-	 *            will not run the validator.
-	 * @param ruleGroup
-	 *            Whether a FULL or FAST pass should be invoked.
-	 * @param async
-	 *            If async is true, the validation will run all thread-safe
-	 *            validators in the background validation thread, and all other
-	 *            validators in the main thread. If async is false, all
-	 *            validators will run in in the main thread.
-	 * 
-	 * IllegalArgumentException will be thrown if the named validator is not
-	 * configured on the project.
-	 * 
-	 */
-	public OneValidatorOperation(IProject project, String validatorId, boolean force, int ruleGroup, boolean async) throws IllegalArgumentException {
-		super(project, force, ruleGroup, async);
-
-		ValidatorMetaData vmd = ValidationRegistryReader.getReader().getValidatorMetaData(validatorId);
-		if (vmd == null) {
-			// No validator, with that plug-in id, can be run on that project.
-			// Either the validator isn't installed, or the IProject passed in
-			// doesn't have the necessary nature.
-			throw new IllegalArgumentException(validatorId);
-		}
-
-		if (!vmd.isConfiguredOnProject(project)) {
-			// No validator, with that plug-in id, can be run on that project.
-			// Either the validator isn't installed, or the IProject passed in
-			// doesn't have the necessary nature.
-			throw new IllegalArgumentException(validatorId);
-		}
-
-		Set<ValidatorMetaData> enabled = new HashSet<ValidatorMetaData>();
-		enabled.add(vmd);
-		setEnabledValidators(enabled);
-	}
-}
diff --git a/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/operations/ReferencialFileValidator.java b/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/operations/ReferencialFileValidator.java
deleted file mode 100644
index c15609c..0000000
--- a/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/operations/ReferencialFileValidator.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *******************************************************************************/
-/*
- * Created on May 3, 2004
- *
- * To change the template for this generated file go to
- * Window - Preferences - Java - Code Generation - Code and Comments
- */
-package org.eclipse.wst.validation.internal.operations;
-
-import java.util.List;
-
-import org.eclipse.core.resources.IFile;
-
-/**
- * @author vijayb
- */
-public interface ReferencialFileValidator {
-	
-	/**
-	 * Answer the referenced files.
-	 * 
-	 * @param inputFiles
-	 * @return a list of IFile's.
-	 */
-	public List<IFile> getReferencedFile(List inputFiles);
-}
diff --git a/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/operations/ReferencialFileValidatorHelper.java b/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/operations/ReferencialFileValidatorHelper.java
deleted file mode 100644
index 99d66e1..0000000
--- a/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/operations/ReferencialFileValidatorHelper.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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
- *******************************************************************************/
-/*
- * Created on May 4, 2004
- *
- * To change the template for this generated file go to
- * Window - Preferences - Java - Code Generation - Code and Comments
- */
-package org.eclipse.wst.validation.internal.operations;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IFolder;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-
-/**
- * @author vijayb
- */
-public class ReferencialFileValidatorHelper {
-	public ReferencialFileValidatorHelper() {
-	}
-
-	/**
-	 * Return a list of all files contained in project to infinite depth
-	 */
-	public static List<IFile> getAllProjectFiles(IProject project) {
-		List<IFile> result = new ArrayList<IFile>();
-		if (project == null)return result;
-		
-		try {
-			result = collectFiles(project.members(), result);
-		} catch (CoreException e) {
-			//Ignore
-		}
-		return result;
-	}
-
-	private static List<IFile> collectFiles(IResource[] members, List<IFile> result) throws CoreException {
-		// recursively collect files for the given members
-		for (IResource res : members) {
-			if (res instanceof IFolder)collectFiles(((IFolder) res).members(), result);
-			else if (res instanceof IFile)result.add((IFile)res);
-		}
-		return result;
-	}
-}
diff --git a/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/operations/ResourceHandler.java b/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/operations/ResourceHandler.java
deleted file mode 100644
index 8e942ea..0000000
--- a/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/operations/ResourceHandler.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.validation.internal.operations;
-
-
-/**
- * @deprecated For use by the validation framework only. This class retrieves the Strings from the
- *             .properties file appropriate for the machine's Locale.
- */
-public final class ResourceHandler extends org.eclipse.wst.validation.internal.ResourceHandler {
-	//Default
-}
diff --git a/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/operations/TaskListHelper.java b/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/operations/TaskListHelper.java
deleted file mode 100644
index 8532dc1..0000000
--- a/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/operations/TaskListHelper.java
+++ /dev/null
@@ -1,107 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.validation.internal.operations;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.wst.validation.internal.TaskListUtility;
-
-
-
-/**
- * @deprecated This class is intended to be used only by the validation framework. The
- *             TaskListHelper class will be removed in Milestone 4.
- */
-public class TaskListHelper {
-	private static TaskListHelper _taskListHelper = null;
-
-	public static TaskListHelper getTaskList() {
-		if (_taskListHelper == null) {
-			_taskListHelper = new TaskListHelper();
-		}
-		return _taskListHelper;
-	}
-
-	/**
-	 * This method adds a message to a resource in the task list.
-	 */
-	public void addTask(String pluginId, IResource resource, String location, String messageId, String message, int markerType, String targetObjectName, String groupName, int offset, int length) throws CoreException {
-		TaskListUtility.addTask(pluginId, resource, location, messageId, message, markerType, targetObjectName, groupName, offset, length);
-	}
-
-
-	public IMarker[] getValidationTasks(int severity, IProject project) {
-		return TaskListUtility.getValidationTasks(severity, project);
-	}
-
-	public IMarker[] getValidationTasks(IResource resource, int severity) {
-		return TaskListUtility.getValidationTasks(resource, severity);
-	}
-
-	public IMarker[] getValidationTasks(IResource resource, String messageOwner) {
-		return TaskListUtility.getValidationTasks(resource, messageOwner);
-	}
-
-	public IMarker[] getValidationTasks(IResource resource, String[] messageOwners) {
-		return TaskListUtility.getValidationTasks(resource, messageOwners);
-	}
-
-	/**
-	 * Remove all validation messages from the resource and its children.
-	 */
-	public void removeAllTasks(IResource resource) {
-		TaskListUtility.removeAllTasks(resource);
-	}
-
-	/**
-	 * This method removes all tasks from the resource. If the resource is an IProject, all tasks
-	 * are also removed from the project's children.
-	 */
-	public void removeAllTasks(IResource resource, String[] owners) throws CoreException {
-		TaskListUtility.removeAllTasks(resource, owners);
-	}
-
-	/**
-	 * This method removes all messages from a resource in the task list.
-	 */
-	public void removeAllTasks(IResource resource, String owner, String objectName) throws CoreException {
-		TaskListUtility.removeAllTasks(resource, owner, objectName);
-	}
-
-	public void removeAllTasks(IResource resource, String[] owners, String objectName) throws CoreException {
-		TaskListUtility.removeAllTasks(resource, owners, objectName);
-	}
-
-	/**
-	 * This method removes a subset of tasks from the project, including child tasks. Every task
-	 * which belongs to the group, identified by groupName, will be removed.
-	 */
-	public void removeTaskSubset(IResource resource, String[] owners, String objectName, String groupName) throws CoreException {
-		TaskListUtility.removeTaskSubset(resource, owners, objectName, groupName);
-	}
-
-	/**
-	 * This method changes all validator markers which are owned by "from" to make their owner "to".
-	 */
-	public void updateOwner(String from, String to) throws CoreException {
-		TaskListUtility.updateOwner(from, to);
-	}
-
-	/**
-	 * This method changes all validator markers on the IResource and its children. All markers
-	 * owned by "from" have their owner reassigned to "to".
-	 */
-	public void updateOwner(String from, String to, IResource resource) throws CoreException {
-		TaskListUtility.updateOwner(from, to, resource);
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/operations/ValidationBuilder.java b/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/operations/ValidationBuilder.java
deleted file mode 100644
index 5bb1c28..0000000
--- a/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/operations/ValidationBuilder.java
+++ /dev/null
@@ -1,303 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2009 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.validation.internal.operations;
-
-import java.lang.reflect.InvocationTargetException;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResourceDelta;
-import org.eclipse.core.resources.IncrementalProjectBuilder;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.wst.validation.ValidationFramework;
-import org.eclipse.wst.validation.internal.ConfigurationManager;
-import org.eclipse.wst.validation.internal.InternalValidatorManager;
-import org.eclipse.wst.validation.internal.ProjectConfiguration;
-import org.eclipse.wst.validation.internal.ResourceConstants;
-import org.eclipse.wst.validation.internal.ResourceHandler;
-import org.eclipse.wst.validation.internal.Tracing;
-import org.eclipse.wst.validation.internal.ValBuilderJob;
-import org.eclipse.wst.validation.internal.ValManager;
-import org.eclipse.wst.validation.internal.ValidatorMetaData;
-import org.eclipse.wst.validation.internal.plugin.ValidationPlugin;
-
-/**
- * Validation Framework Builder.
- * <p>
- * This builder is configured on J2EE IProjects automatically, and can be added to other types of
- * projects through the Properties page. It launches validation on the project if the project has
- * build validation enabled.
- * </p>
- * <p>
- * This launches a Job for the new V2 validators and also a Job for each of the Job based V1
- * validators. If there are any "in-line" V1 validations they are done as part of this builder.
- * Because of all the jobs that this builder spawns, the build will usually be finished long before
- * all the validation has finished.
- * </p>
- */
-public class ValidationBuilder extends IncrementalProjectBuilder {
-	/*
-	 * GRK - This class serves as a main entry point into the framework. There is one instance of this class for every
-	 * project that has a validation builder configured for it. Typically if you had ten projects in your workspace you would have
-	 * ten of these objects. They are created early in the life cycle of the workbench, and then are reused. 
-	 * 
-	 * My observation was that they are run serially by the same thread.
-	 */
-	public static final int NO_DELTA_CHANGE = -1;
-	protected List<IProject> referencedProjects;
-	protected IWorkbenchContext workbenchContext = null;
-	
-	/** 
-	 * All the jobs that the validation framework spawns will belong to this family. 
-	 */
-	public static final Object FAMILY_VALIDATION_JOB = new Object();
-	
-	public ValidationBuilder() {
-	}
-
-	private IProject[] getAllReferencedProjects(IProject project, Set<IProject> visitedProjects) {
-		if (visitedProjects == null)visitedProjects = new HashSet<IProject>();
-		else if (visitedProjects.contains(project))return getReferencedProjects();
-		else visitedProjects.add(project);
-		
-		if (referencedProjects == null)referencedProjects = new ArrayList<IProject>();
-		try {
-			if (project.isAccessible()) {
-				IProject[] refProjArray = project.getReferencedProjects();
-				collectReferecedProject(refProjArray);
-				for (IProject refProject : refProjArray) {
-					getAllReferencedProjects(refProject, visitedProjects);
-				}
-			}
-			return getReferencedProjects();
-		} catch (CoreException e) {
-			ValidationPlugin.getPlugin().handleException(e);
-		}
-		return null;
-	}
-	
-	public IWorkbenchContext getWorkbenchContext() {
-		if(workbenchContext == null) {
-			workbenchContext = new WorkbenchContext();
-			workbenchContext.setProject(getProject());
-		}
-		return workbenchContext;
-	}
-
-	/**
-	 * Add the projects from refProjArray to the list of referenced projects (if they are not
-	 * already in the list).
-	 * @param refProjArray
-	 */
-	private void collectReferecedProject(IProject[] refProjArray) {
-		for (IProject project : refProjArray) {
-			if (!referencedProjects.contains(project))referencedProjects.add(project);
-		}
-	}
-
-	protected void clean(IProgressMonitor monitor) throws CoreException {
-		IProject currentProject = getProject();
-		Tracing.log("ValidationBuilder-02 clean ", currentProject); //$NON-NLS-1$
-
-		newClean(monitor);
-		if (currentProject == null || !currentProject.isAccessible())return;
-		try {
-			ProjectConfiguration prjp = ConfigurationManager.getManager().getProjectConfiguration(currentProject);
-			ValidatorMetaData[] vmds = prjp.getValidators();
-			for (int i = 0; i < vmds.length; i++) {
-				ValidatorMetaData vmd = vmds[i];
-				// For validators who aren't going to run, clear their messages from the task list.
-				// Don't need to check for duplicate entries because each Validator must be unique.
-				// The uniqueness of each Validator is checked by the plugin registry.
-				WorkbenchReporter.removeAllMessages(currentProject, vmd.getValidatorNames(), null);
-			}
-		} catch (InvocationTargetException e) {
-			ValidationPlugin.getPlugin().handleException(e);
-			ValidationPlugin.getPlugin().handleException(e.getTargetException());
-		}
-
-	}
-
-	private IProject[] getReferencedProjects() {
-		IProject[] refProjArray = new IProject[referencedProjects.size()];
-		return referencedProjects.toArray(refProjArray);
-	}
-	
-	@SuppressWarnings("unchecked")
-	public IProject[] build(int kind, Map parameters, IProgressMonitor monitor) {
-		IResourceDelta delta = null;
-		IProject project = getProject();
-		Tracing.log("ValidationBuilder-01 build ", kind, project);  //$NON-NLS-1$
-		if (Tracing.isLogging(1)){
-			Tracing.logResourceDeltas(getDelta(project), 50);
-		}
-		
-		// GRK I wonder why this builder needs to know about all the other referenced projects?
-		// won't they have builders of their own.
-		IProject[] referenced = getAllReferencedProjects(project, null);
-		if (ValidationFramework.getDefault().isSuspended(project) || 
-			ValManager.getDefault().isDisabled(project))return referenced;
-
-		try {
-			newBuild(kind, monitor);
-
-			ProjectConfiguration prjp = ConfigurationManager.getManager().getProjectConfiguration(project);
-			delta = getDelta(project);
-			boolean doFullBuild = (kind == FULL_BUILD);
-			
-			// It is possible for kind to == AUTO_BUILD while delta is null
-			// (saw this when creating a project by copying another project.)
-			// However, a "Rebuild Project" will invoke this builder with
-			// kind==FULL_BUILD and a null delta, and validation should run in that case.
-			if (!doFullBuild && delta == null) {
-				if (isReferencedProjectInDelta(referenced)) {
-					performFullBuildForReferencedProjectChanged(monitor, prjp);
-				} else {
-					String[] msgParms = new String[]{project.getName()};
-					monitor.subTask(ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_STATUS_NULL_DELTA, msgParms));
-					// A null delta means that a full build must be performed,
-					// but this builder was invoked with an incremental or automatic
-					// build kind. Return without doing anything so that the user
-					// doesn't have to wait forever.
-				}
-				return referenced;
-			}
-			if (doFullBuild) {
-				cleanupReferencedProjectsMarkers(prjp, referenced);
-				performFullBuild(monitor, prjp);
-			} else {
-				if (delta.getAffectedChildren().length == 0) {
-					if (isReferencedProjectInDelta(referenced)){
-						cleanupReferencedProjectsMarkers(prjp, referenced);
-						performFullBuildForReferencedProjectChanged(monitor, prjp);
-					}
-					return referenced;
-				}
-				EnabledIncrementalValidatorsOperation operation = new EnabledIncrementalValidatorsOperation(project, delta, true);
-				operation.run(monitor);
-			}
-			return referenced;
-		} catch (InvocationTargetException e) {
-			ValidationPlugin.getPlugin().handleException(e);
-			ValidationPlugin.getPlugin().handleException(e.getTargetException());
-			return referenced;
-		} catch (Exception e) {
-			ValidationPlugin.getPlugin().handleException(e);
-			return referenced;
-		} finally {
-			referencedProjects = null;
-		}
-	}
-	
-	private void cleanupReferencedProjectsMarkers(final ProjectConfiguration prjp, IProject[] referenced){
-		//When a project references one or more project, performing a clean build on referenced
-		//causes delta to be invoked on referencee, aka, parent. This causes following code to
-		//be invoked.
-		//The following code is trying to fix a case where Ejb project references a utility project,
-		//and the clean build on utility project causes the code to come here, the ejb validator runs
-		//on the ejb  project due to performFullBuildForReferencedProjectChanged() below, but it also
-		//causes marker to be generated for the util project, but the markers for util project are not
-		//cleaned up.   
-		
-		if( referenced == null || referenced.length == 0 )return;
-		
-		try{
-			ValidatorMetaData[] enabledValidators = prjp.getEnabledFullBuildValidators(true, false);
- 
-			Set<ValidatorMetaData>  set = new HashSet<ValidatorMetaData>();
-			set.addAll( Arrays.asList( enabledValidators ) );
-			for (IProject p : referenced) {
-				if (!p.isAccessible())continue;
-				ProjectConfiguration refProjectCfg = ConfigurationManager.getManager().getProjectConfiguration(p);
-		
-				ValidatorMetaData[] refEnabledValidators = refProjectCfg.getEnabledFullBuildValidators(true, false);
-				
-				//remove from the set the validators which are also in child
-				for(ValidatorMetaData vmd : refEnabledValidators)set.remove(vmd);
-				
-				for(ValidatorMetaData vmd : set)WorkbenchReporter.removeAllMessages(p, vmd.getValidator());		
-			}	
-		}catch (Exception exc) {
-			ValidationPlugin.getPlugin().logMessage(IStatus.ERROR, exc.toString());
-	}
-}
-
-	private boolean isReferencedProjectInDelta(IProject[] referenced) {
-		IProject p = null;
-		for (int i = 0; i < referenced.length; i++) {
-			p = referenced[i];
-			IResourceDelta delta = getDelta(p);
-			if (delta != null && delta.getAffectedChildren().length > 0)
-				return true;
-		}
-		return false;
-	}
-
-	private void performFullBuildForReferencedProjectChanged(IProgressMonitor monitor, ProjectConfiguration prjp) throws InvocationTargetException {
-		performFullBuild(monitor, prjp, true);
-	}
-
-	private void performFullBuild(IProgressMonitor monitor, ProjectConfiguration prjp) throws InvocationTargetException {
-		performFullBuild(monitor, prjp, false);
-	}
-
-	private void performFullBuild(IProgressMonitor monitor, ProjectConfiguration prjp, boolean onlyDependentValidators) throws InvocationTargetException {
-		ValidatorMetaData[] enabledValidators = prjp.getEnabledFullBuildValidators(true, onlyDependentValidators);
-		if ((enabledValidators != null) && (enabledValidators.length > 0)) {
-			Set<ValidatorMetaData> enabledValidatorsSet = InternalValidatorManager.wrapInSet(enabledValidators);
-			EnabledValidatorsOperation op = new EnabledValidatorsOperation(getProject(), enabledValidatorsSet, true);
-			op.run(monitor);
-		}
-	}
-	
-	/**
-	 * Run the new validation builder. This is a transition method, while we continue to have
-	 * the old and new validation builders.
-	 * 
-	 * @param kind the kind of build
-	 * 
-	 * @see IncrementalProjectBuilder#AUTO_BUILD
-	 * @see IncrementalProjectBuilder#CLEAN_BUILD
-	 * @see IncrementalProjectBuilder#FULL_BUILD
-	 * @see IncrementalProjectBuilder#INCREMENTAL_BUILD
-	 */
-	private void newBuild(int kind, IProgressMonitor monitor)	throws CoreException {
-
-		IResourceDelta delta = null;
-		IProject project = getProject();
-		
-		switch (kind){
-			case AUTO_BUILD:
-			case INCREMENTAL_BUILD:
-				delta = getDelta(project);
-				break;
-		}
-		
-		ValBuilderJob.validateProject(project, delta, kind);		
-	}
-	
-	
-	/**
-	 * Run the new clean method. This is a transition method, while we continue to have
-	 * the old and new validation builders.
-	 */
-	private void newClean(IProgressMonitor monitor) throws CoreException {
-		ValManager.getDefault().clean(getProject(), monitor);
-	}	
-	
-}
diff --git a/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/operations/ValidationConstants.java b/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/operations/ValidationConstants.java
deleted file mode 100644
index 260fa72..0000000
--- a/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/operations/ValidationConstants.java
+++ /dev/null
@@ -1,25 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.validation.internal.operations;
-
-
-import org.eclipse.wst.validation.internal.ResourceConstants;
-
-/**
- * @deprecated For use by the validation framework only.
- * 
- * Constants used to access the string resources associated with the plugin.
- * 
- * See the plugin.properties file, in the plugin's directory, for the contents of the strings.
- */
-public interface ValidationConstants extends ResourceConstants {
-	//Default
-}
diff --git a/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/operations/ValidationOperation.java b/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/operations/ValidationOperation.java
deleted file mode 100644
index c9f7b53..0000000
--- a/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/operations/ValidationOperation.java
+++ /dev/null
@@ -1,1460 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2009 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.validation.internal.operations;
-
-import java.text.MessageFormat;
-import java.util.ArrayList;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Map;
-import java.util.Queue;
-import java.util.Set;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IFolder;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IResourceDelta;
-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.core.runtime.OperationCanceledException;
-import org.eclipse.core.runtime.QualifiedName;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.jobs.IJobChangeEvent;
-import org.eclipse.core.runtime.jobs.ISchedulingRule;
-import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.core.runtime.jobs.JobChangeAdapter;
-import org.eclipse.wst.common.frameworks.internal.operations.IHeadlessRunnableWithProgress;
-import org.eclipse.wst.validation.ValidationFramework;
-import org.eclipse.wst.validation.internal.FilterUtil;
-import org.eclipse.wst.validation.internal.IProjectValidationHelper;
-import org.eclipse.wst.validation.internal.InternalValidatorManager;
-import org.eclipse.wst.validation.internal.ReferencialFileValidatorRegistryReader;
-import org.eclipse.wst.validation.internal.RegistryConstants;
-import org.eclipse.wst.validation.internal.ResourceConstants;
-import org.eclipse.wst.validation.internal.ResourceHandler;
-import org.eclipse.wst.validation.internal.TaskListUtility;
-import org.eclipse.wst.validation.internal.Tracing;
-import org.eclipse.wst.validation.internal.ValManager;
-import org.eclipse.wst.validation.internal.ValidationRegistryReader;
-import org.eclipse.wst.validation.internal.ValidatorMetaData;
-import org.eclipse.wst.validation.internal.core.IFileDelta;
-import org.eclipse.wst.validation.internal.core.ValidationException;
-import org.eclipse.wst.validation.internal.core.ValidatorLauncher;
-import org.eclipse.wst.validation.internal.plugin.ValidationHelperRegistryReader;
-import org.eclipse.wst.validation.internal.plugin.ValidationPlugin;
-import org.eclipse.wst.validation.internal.provisional.core.IReporter;
-import org.eclipse.wst.validation.internal.provisional.core.IValidationContext;
-import org.eclipse.wst.validation.internal.provisional.core.IValidator;
-import org.eclipse.wst.validation.internal.provisional.core.IValidatorJob;
-
-/**
- * Validators must not be called directly by anyone other than this class, since
- * some initialization of the validator is done here (via the getProject() method). The
- * initialization is separated because the IProject isn't known until runtime.
- * <p>
- * This operation is not intended to be subclassed outside of the validation framework.
- * </p>
- */
-public abstract class ValidationOperation implements IWorkspaceRunnable, IHeadlessRunnableWithProgress {
-	// Since IResourceConstants don't have a "no delta" flag, let this constant be the flag.
-	public static final int NO_DELTA_CHANGE = -1; 
-	private static final String DELTA_AS_STRING = "IFileDelta[{0}] '{'{1}'}'"; //$NON-NLS-1$
-	private static final String COMMA = ", "; //$NON-NLS-1$
-	
-	// For the depreciated constructors, by default the operation will not fork. 
-	protected static final boolean DEFAULT_ASYNC = true;
-	
-	protected static final boolean DEFAULT_FORCE = true;
-	
-	private static ValidationLauncherJob launcherJob = new ValidationLauncherJob();
-	
-	private static final int jobsPerProcessor = 3;
-	
-	private final static class ValidationLauncherJob extends Job {
-	    private Queue<Job> _validationJobs = new LinkedList<Job>();
-	    
-	    public ValidationLauncherJob() {
-            super(ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_VALIDATION_JOB_MSG));
-            setSystem(true);
-            setRule(ResourcesPlugin.getWorkspace().getRoot());
-	    }
-	    
-	    protected IStatus run(IProgressMonitor monitor) {
-			int processors = Runtime.getRuntime().availableProcessors();
-			int totalInitialJobs = processors * jobsPerProcessor;
-    		synchronized (_validationJobs) {
-    			// never schedule more than 3 validation jobs per processor at a time
-    			for (int i=0; i< totalInitialJobs; i++) {
-    				Job validationJob = _validationJobs.poll();
-    				if (validationJob == null) break;
-    				addJobChangeAdapter(validationJob);
-    				validationJob.schedule();
-    			}
-    		}
-            return Status.OK_STATUS;
-	    }
-	    
-	    private void addJobChangeAdapter(Job job) {
-	    	job.addJobChangeListener(new JobChangeAdapter(){
-	    		// when done, see if there is another validation job to schedule
-				public void done(IJobChangeEvent event) {
-					synchronized (_validationJobs) {
-						Job validationJob = _validationJobs.poll();
-						if (validationJob != null) {
-							addJobChangeAdapter(validationJob);
-							validationJob.schedule();
-						}
-					}
-				}
-			});
-	    }
-	    
-	    @Override
-	    public boolean belongsTo(Object family) {
-			if (family == ResourcesPlugin.FAMILY_MANUAL_BUILD)return true;
-			if (family == ValidationBuilder.FAMILY_VALIDATION_JOB){
-				return true;
-			}
-			return super.belongsTo(family);
-	    }
-	    
-	    public void addValidationJob(Job validationJob) {
-	    	synchronized (_validationJobs) {
-	    		_validationJobs.add(validationJob);
-	    		// schedule the job if we were empty
-	    		if (_validationJobs.size() == 1) {
-	    			this.schedule();
-	    		}
-	    	}
-	    }
-	}
-	
-	/**
-	 * @deprecated Will be removed in Milestone 3. Use DEFAULT_ASYNC
-	 */
-	protected static final boolean DEFAULT_FORK = false; // @deprecated
-	private IProject 		_project; // project to be validated
-	private int 			_ruleGroup = RegistryConstants.ATT_RULE_GROUP_DEFAULT;
-	private boolean _fork = DEFAULT_ASYNC; // do not fork the validation into a
-	// different thread by default
-	private Map<ValidatorMetaData, Set<IFileDelta>> _fileDeltas; // To reduce object creation,
-	private IResourceDelta _delta;
-	
-	// the resource delta tree to be processed, or null if a full build/menu
-	// option was triggered. This value is cached so that validation can be run
-	// either from a builder, or from a menu item. (The Operation interface
-	// doesn't allow any parameter on execute except the IProgressMonitor.)
-	private Set<ValidatorMetaData> _enabledValidators;
-	
-	private boolean _force = DEFAULT_FORCE; // force this operation to run even if it doesn't need to?
-	private boolean _isFullValidate; 	// Run a full validation or an incremental? (true = full)
-	private Boolean _isAutoBuild; 		// Is the global auto-build preference enabled?
-	private Set<ValidatorMetaData> _launchedValidators;
-	
-	protected IWorkbenchContext context;
-
-	// are enabled and were launched (i.e., that have input to validate). For internal
-	// validation framework use only;
-	// it's needed for the automatic tests.
-	/**
-	 * This method is used for FINEST logging, to report exactly what deltas were about to be
-	 * validated.
-	 */
-	private static final String getDeltaAsString(IFileDelta[] delta) {
-		String args = ""; //$NON-NLS-1$
-		int numArgs = 0;
-		if (delta != null) {
-			numArgs = delta.length;
-			StringBuffer buffer = new StringBuffer();
-			for (int i = 0; i < delta.length; i++) {
-				buffer.append(COMMA);
-				buffer.append(delta[i].toString());
-			}
-			buffer.replace(0, 1, ""); //$NON-NLS-1$ // magic numbers 0 and 1 => Remove first COMMA from the list (hence index 0); length of COMMA is 2, hence index 0, 1.
-			args = buffer.toString();
-		}
-		return MessageFormat.format(DELTA_AS_STRING, new Object[]{String.valueOf(numArgs), args});
-	}
-
-	protected static void checkCanceled(WorkbenchReporter reporter) throws OperationCanceledException {
-		if (reporter == null)return;
-		else if (reporter.getProgressMonitor().isCanceled()) {
-			throw new OperationCanceledException(""); //$NON-NLS-1$
-		}
-	}
-
-	protected static boolean shouldForce(IResourceDelta delta) {
-		return ((delta == null) ? DEFAULT_FORCE : false);
-	}
-
-	protected static boolean shouldForce(Object[] changedResources) {
-		return (((changedResources == null) || (changedResources.length == 0)) ? DEFAULT_FORCE : false);
-	}
-
-	/**
-	 * @deprecated. Will be removed in Milestone 3. Use ValidationOperation(project, boolean)
-	 */
-	public ValidationOperation(IProject project) {
-		this(project, DEFAULT_ASYNC, DEFAULT_FORCE);
-	}
-
-	/**
-	 * Internal.
-	 */
-	public ValidationOperation(IProject project, boolean force, boolean async) {
-		this(project, null, null, RegistryConstants.ATT_RULE_GROUP_DEFAULT, force, async);
-	}
-
-	/**
-	 * @deprecated. Will be removed in Milestone 3. Use ValidationOperation(project, int, boolean)
-	 */
-	public ValidationOperation(IProject project, int ruleGroup) {
-		this(project, null, null, ruleGroup, DEFAULT_FORCE, DEFAULT_ASYNC);
-	}
-
-	/**
-	 * @deprecated. Will be removed in Milestone 3. Use ValidationOperation(IProject,
-	 *              IResourceDelta, Boolean, int, boolean, boolean)
-	 */
-	public ValidationOperation(IProject project, IResourceDelta delta, boolean isAutoBuild, int ruleGroup, boolean force, boolean fork) {
-		this(project, delta, ((isAutoBuild) ? Boolean.TRUE : Boolean.FALSE), ruleGroup, fork, force);
-	}
-
-	/**
-	 * Internal.
-	 */
-	protected ValidationOperation(IProject project, IResourceDelta delta, Boolean isAutoBuild, int ruleGroup, boolean force, boolean fork) {
-		super();
-		_project = project;
-		_delta = delta;
-		_isAutoBuild = isAutoBuild;
-		_ruleGroup = ruleGroup;
-		_fork = fork;
-		_force = force;
-		_enabledValidators = new HashSet<ValidatorMetaData>();
-	}
-	
-	/**
-	 * Internal.
-	 */
-	protected ValidationOperation(IProject project, IWorkbenchContext aContext, IResourceDelta delta, Boolean isAutoBuild, int ruleGroup, boolean force, boolean fork) {
-		super();
-		_project = project;
-		_delta = delta;
-		_isAutoBuild = isAutoBuild;
-		_ruleGroup = ruleGroup;
-		_fork = fork;
-		_force = force;
-		_enabledValidators = new HashSet<ValidatorMetaData>();
-		context = aContext;
-	}
-
-	/**
-	 * @deprecated Will be removed in Milestone 3.
-	 */
-	protected void terminateCleanup(WorkbenchReporter reporter) {
-		for (ValidatorMetaData vmd : getEnabledValidators()) {
-			reporter.displaySubtask(ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_STATUS_VALIDATOR_CLEANUP, new String[]{vmd.getValidatorDisplayName()}));
-			try {
-				reporter.removeAllMessages(vmd.getValidator());
-			} catch (InstantiationException e) {
-				// Remove the vmd from the reader's list
-				ValidationRegistryReader.getReader().disableValidator(vmd);
-				ValidationPlugin.getPlugin().handleException(e);
-				continue;
-			}
-			addCancelTask(vmd);
-			reporter.displaySubtask(ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_STATUS_VALIDATOR_TERMINATED, new String[]{getProject().getName(), vmd.getValidatorDisplayName()}));
-		}
-	} 
-	
-
-	/**
-	 * @param vmd
-	 * @param delta
-	 * @param logger
-	 * @param start
-	 */
-//	private void logValidationInfo(ValidatorMetaData vmd, IFileDelta[] delta, Logger logger, long start) {
-//		long finish = System.currentTimeMillis();
-//		TimeEntry entry = ValidationPlugin.getTimeEntry();
-//		entry.setSourceID("ValidationOperation.launchValidator"); //$NON-NLS-1$
-//		entry.setProjectName(getProject().getName());
-//		entry.setToolName(vmd.getValidatorUniqueName());
-//		entry.setElapsedTime(finish - start);
-//		if (logger.isLoggingLevel(Level.FINE)) {
-//			StringBuffer buffer = new StringBuffer();
-//			if (isFullValidate()) {
-//				buffer.append("EVERYTHING"); //$NON-NLS-1$
-//			} else {
-//				if (delta.length == 0) {
-//					buffer.append("NOTHING"); //$NON-NLS-1$
-//				} else {
-//					buffer.append(getDeltaAsString(delta));
-//				}
-//			}
-//			entry.setDetails(buffer.toString());
-//		}
-//		logger.write(Level.INFO, entry);
-//	}
-
-	/**
-	 * @param reporter
-	 * @param vmd
-	 * @param logger
-	 * @param exc
-	 */
-//	private void handleThrowables(WorkbenchReporter reporter, ValidatorMetaData vmd, Logger logger, Throwable exc) {
-//		// If a runtime exception has occured, e.g. NullPointer or ClassCast,
-//		// display it with the "A runtime exception has occurred " messsage.
-//		// This will provide more information to the user when he/she calls IBM
-//		// Service.
-//		if (logger.isLoggingLevel(Level.SEVERE)) {
-//			LogEntry entry = ValidationPlugin.getLogEntry();
-//			entry.setSourceID("ValidationOperation::launchValidator"); //$NON-NLS-1$
-//			entry.setTargetException(exc);
-//			logger.write(Level.SEVERE, entry);
-//		}
-//		String[] msgParm = {exc.getClass().getName(), vmd.getValidatorDisplayName(), (exc.getMessage() == null ? "" : exc.getMessage())}; //$NON-NLS-1$
-//		Message message = ValidationPlugin.getMessage();
-//		message.setSeverity(IMessage.NORMAL_SEVERITY);
-//		message.setId(ResourceConstants.VBF_EXC_RUNTIME);
-//		message.setParams(msgParm);
-//		try {
-//			reporter.addMessage(vmd.getValidator(), message);
-//		} catch (InstantiationException exc2) {
-//			handleInstantiationException(vmd, logger, exc2);
-//		} catch (MessageLimitException e) {
-//			throw e;
-//		}
-//		return;
-//	}
-
-	/**
-	 * @param vmd
-	 * @param logger
-	 * @param exc2
-	 */
-//	private void handleInstantiationException(ValidatorMetaData vmd, Logger logger, InstantiationException exc2) {
-//		// Remove the vmd from the reader's list
-//		ValidationRegistryReader.getReader().disableValidator(vmd);
-//		// Log the reason for the disabled validator
-//		if (logger.isLoggingLevel(Level.SEVERE)) {
-//			LogEntry entry = ValidationPlugin.getLogEntry();
-//			entry.setSourceID("ValidationOperation::launchValidator (deprecated)"); //$NON-NLS-1$
-//			entry.setTargetException(exc2);
-//			logger.write(Level.SEVERE, entry);
-//		}
-//	}
-
-	/**
-	 * @param reporter
-	 * @param vmd
-	 * @param logger
-	 * @param exc
-	 */
-//	private void handleValidationExceptions(WorkbenchReporter reporter, ValidatorMetaData vmd, Logger logger, ValidationException exc) {
-//		// First, see if a validator just caught all Throwables and
-//		// accidentally wrapped a MessageLimitException instead of propagating
-//		// it.
-//		if (exc.getAssociatedException() != null) {
-//			if (exc.getAssociatedException() instanceof MessageLimitException) {
-//				MessageLimitException mssgExc = (MessageLimitException) exc.getAssociatedException();
-//				throw mssgExc;
-//			} else if (exc.getAssociatedException() instanceof ValidationException) {
-//				try {
-//					ValidationException vexc = (ValidationException) exc.getAssociatedException();
-//					vexc.setClassLoader(vmd.getValidator().getClass().getClassLoader()); // first,
-//					// set the class loader,so that the exception's getMessage() method can retrieve
-//					// the resource bundle
-//				} catch (InstantiationException exc2) {
-//					handleInstantiationException(vmd, logger, exc2);
-//				}
-//			}
-//		}
-//		// If there is a problem with this particular validator, log the error
-//		// and continue
-//		// with the next validator.
-//		try {
-//			exc.setClassLoader(vmd.getValidator().getClass().getClassLoader()); // first,
-//			// set the class loader,so that the exception's getMessage() method can retrieve the
-//			// resource bundle
-//		} catch (InstantiationException exc2) {
-//			handleInstantiationException(vmd, logger, exc2);
-//		}
-//		if (logger.isLoggingLevel(Level.SEVERE)) {
-//			LogEntry entry = ValidationPlugin.getLogEntry();
-//			entry.setSourceID("ValidationOperation.validate(WorkbenchMonitor)"); //$NON-NLS-1$
-//			entry.setTargetException(exc);
-//			logger.write(Level.SEVERE, entry);
-//			if (exc.getAssociatedException() != null) {
-//				entry.setTargetException(exc.getAssociatedException());
-//				logger.write(Level.SEVERE, entry);
-//			}
-//		}
-//		String message = ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_STATUS_ENDING_VALIDATION_ABNORMALLY, new String[]{getProject().getName(), vmd.getValidatorDisplayName()});
-//		reporter.displaySubtask(message);
-//		if (exc.getAssociatedMessage() != null) {
-//			try {
-//				reporter.addMessage(vmd.getValidator(), exc.getAssociatedMessage());
-//			} catch (InstantiationException exc2) {
-//				handleInstantiationException(vmd, logger, exc2);
-//			}
-//		}
-//	}
-
-	/**
-	 * @param reporter
-	 * @param vmd
-	 * @param logger
-	 * @param exc
-	 */
-//	private void handleHelperCleanupExceptions(WorkbenchReporter reporter, ValidatorMetaData vmd, Logger logger, Throwable exc) {
-//		// If a runtime exception has occured, e.g. NullPointer or ClassCast,
-//		// display it with the "A runtime exception has occurred " messsage.
-//		// This will provide more information to the user when he/she calls IBM
-//		// Service.
-//		if (logger.isLoggingLevel(Level.SEVERE)) {
-//			LogEntry entry = ValidationPlugin.getLogEntry();
-//			entry.setSourceID("ValidationOperation::launchValidator"); //$NON-NLS-1$
-//			entry.setTargetException(exc);
-//			logger.write(Level.SEVERE, entry);
-//		}
-//		String[] msgParm = {exc.getClass().getName(), vmd.getValidatorDisplayName(), (exc.getMessage() == null ? "" : exc.getMessage())}; //$NON-NLS-1$
-//		Message message = ValidationPlugin.getMessage();
-//		message.setSeverity(IMessage.NORMAL_SEVERITY);
-//		message.setId(ResourceConstants.VBF_EXC_RUNTIME);
-//		message.setParams(msgParm);
-//		try {
-//			reporter.addMessage(vmd.getValidator(), message);
-//		} catch (InstantiationException exc2) {
-//			handleInstantiationException(vmd, logger, exc2);
-//		} catch (MessageLimitException e) {
-//			throw e;
-//		}
-//		return;
-//	}
-
-	public boolean isFork() {
-		return _fork;
-	}
-
-	public boolean isForce() {
-		return _force;
-	}
-
-	public void setForce(boolean force) {
-		_force = force;
-	}
-
-	/**
-	 * If the code that invoked this operation suspended auto-build before invoking this operation,
-	 * the user's auto-build setting is stored in the following methods.
-	 */
-	public boolean isAutoBuild() {
-		if (_isAutoBuild == null) {
-			return ValidatorManager.getManager().isGlobalAutoBuildEnabled();
-		}
-		return _isAutoBuild.booleanValue();
-	}
-
-	protected void setAutoBuild(boolean autoOn) {
-		_isAutoBuild = ((autoOn) ? Boolean.TRUE : Boolean.FALSE);
-	}
-
-	protected boolean isFullValidate() {
-		return _isFullValidate;
-	}
-
-	private void setFullValidate(boolean b) {
-		_isFullValidate = b;
-	}
-
-	protected int getRuleGroup() {
-		return _ruleGroup;
-	}
-
-	/**
-	 * Return true if the given validator must run (i.e., it has changes to validate, and it was not
-	 * run automatically.)
-	 */
-	private boolean isValidationNecessary(ValidatorMetaData vmd, IFileDelta[] delta) {
-		// Validation is not necessary if there are no files for the validator to validate.
-		return isFullValidate() || (delta.length > 0);
-	}
-
-	/**
-	 * Return true if, given the enabled validators and file deltas, there is work for this
-	 * operation to do.
-	 */
-	public boolean isNecessary(IProgressMonitor monitor) throws CoreException, OperationCanceledException {
-		Set<ValidatorMetaData> enabledValidators = getEnabledValidators();
-		if ((enabledValidators == null) || (enabledValidators.size() == 0)) {
-			return false;
-		}
-		if (isFullValidate())return true;
-		
-		for (ValidatorMetaData vmd : enabledValidators) {
-			if (isValidationNecessary(vmd, getFileDeltas(monitor, vmd)))return true;
-		}
-		return false;
-	}
-
-	private Map<ValidatorMetaData, Set<IFileDelta>> getFileDeltas(IProgressMonitor monitor) throws CoreException {
-		if (_fileDeltas == null)loadFileDeltas(monitor);
-		return _fileDeltas;
-	}
-
-	private IFileDelta[] getFileDeltas(IProgressMonitor monitor, ValidatorMetaData vmd) throws CoreException {
-		Set<IFileDelta> result = getFileDeltas(monitor).get(vmd);
-		if (result == null)return new IFileDelta[0];
-		
-		IFileDelta[] temp = new IFileDelta[result.size()];
-		result.toArray(temp);
-		return temp;
-	}
-
-	/**
-	 * Store the file deltas (VMD <=>Set[IFileDelta]) if the file deltas haven't been loaded. If the
-	 * deltas have already been loaded, return without doing anything.
-	 */
-	private void loadFileDeltas(IProgressMonitor monitor) throws CoreException {
-		// Although, for a full build, we don't build up a list of changed
-		// files, we do need to notify each IWorkbenchContext that an
-		// IResource has been filtered in.
-		// It's a full validation if the IResourceDelta is null and the
-		// Object[] (or IResource[]) is also null.
-		// i.e., it's a full validation if no incremental input has been set.
-		setFullValidate((getDelta() == null) && (_fileDeltas == null));
-		if (isFullValidate()) {
-			_fileDeltas = FilterUtil.loadDeltas(monitor, getEnabledValidators(), getProject());
-		} else {
-			_fileDeltas = FilterUtil.loadDeltas(monitor, getEnabledValidators(), getDelta()); // traverse,
-			// and process, each resource in the delta tree
-		}
-	}
-
-	protected void setFileDeltas(Map<ValidatorMetaData, Set<IFileDelta>> deltas) {
-		_fileDeltas = deltas;
-	}
-
-	protected IResourceDelta getDelta() {
-		return _delta;
-	}
-
-	protected void setDelta(IResourceDelta delta) {
-		_delta = delta;
-	}
-
-	protected boolean areValidatorsEnabled() {
-		return (getEnabledValidators().size() != 0);
-	}
-
-	/**
-	 * Return the validators which are both configured on this type of project, (as stored in
-	 * getProject()), and enabled by the user on this project.
-	 */
-	public Set<ValidatorMetaData> getEnabledValidators() {
-		return _enabledValidators;
-	}
-
-	/**
-	 * This is an internal method, subject to change without notice. It is provided only for the
-	 * automated validation framework tests.
-	 */
-	public Set<ValidatorMetaData> getLaunchedValidators() {
-		if (_launchedValidators == null) {
-			_launchedValidators = new HashSet<ValidatorMetaData>();
-		}
-		return _launchedValidators;
-	}
-
-	protected void setEnabledValidators(Set<ValidatorMetaData> evmds) {
-		// Check that every VMD in the set is configured on this project.
-		// Necessary because the user can manually choose which validators
-		// to launch, and the validator may not be installed.
-		_enabledValidators.clear();
-		for (ValidatorMetaData vmd : evmds) {
-			if (ValidationRegistryReader.getReader().isConfiguredOnProject(vmd, getProject())) {
-				_enabledValidators.add(vmd);
-			}
-		}
-	}
-
-	/**
-	 * This method returns the IProject that this ValidationOperation was created with.
-	 */
-	public IProject getProject() {
-		return _project;
-	}
-
-	protected int getUnitsOfWork() {
-		/*
-		 * Let one unit of work equal one resource. number of enabled validators. i.e., each
-		 * enabled validator must process (at most) each resource in the project; count each process
-		 * as one unit of work. Note that this is a ceiling number, because if we're doing an
-		 * incremental validation, not all resources will be validated.
-		 * setNumResources(countResources(getProject())); getEnabledValidators().size();
-		 */
-		// Until the validators can report units-of-work complete,
-		// initialize the monitor with an unknown amount of work.
-		// (So the user will see movement in the progress bar, even
-		// if the movement doesn't indicate the amount of work done.)
-		return IProgressMonitor.UNKNOWN;
-	}
-
-	/**
-	 * If the user is cancelling validation on the current project/resource, Add an information task
-	 * to the task list informing the user that validation has not been run on the current project.
-	 */
-	protected void addCancelTask(ValidatorMetaData vmd) {
-		InternalValidatorManager.getManager().addOperationTask(getProject(), vmd, ResourceConstants.VBF_STATUS_VALIDATOR_TERMINATED, new String[]{getProject().getName(), vmd.getValidatorDisplayName()});
-	}
-
-	/**
-	 * This method starts the validation of each configured enabled validator on the current
-	 * project.
-	 * 
-	 * The IProgressMonitor passed in must not be null.
-	 */
-	public void run(IProgressMonitor progressMonitor) throws OperationCanceledException {
-		try {
-			// In order to check whether or not the monitor has been canceled, the monitor must not be null.
-			if (progressMonitor == null)return;
-			IProject project = getProject();
-			if (ValidationFramework.getDefault().isSuspended(project))return;
-			if (ValManager.getDefault().isDisabled(project))return;
-			
-			if (!areValidatorsEnabled()) {
-				// save some processing time...
-				return;
-			}
-			
-			final WorkbenchReporter reporter = new WorkbenchReporter(getProject(), progressMonitor);
-
-			try {
-				// Periodically check if the user has canceled the operation
-				checkCanceled(reporter);
-				preValidate(reporter);
-				validate(reporter);
-				validateReferencialFiles(reporter);
-			} catch (CoreException e) {
-				ValidationPlugin.getPlugin().handleException(e);
-			}
-		} finally {
-			//TODO GRK determine if timing info should be added here
-//			if (logger.isLoggingLevel(Level.FINE)) {
-//				long finish = System.currentTimeMillis();
-//				TimeEntry entry = ValidationPlugin.getTimeEntry();
-//				entry.setSourceID("ValidationOperation.run(WorkbenchMonitor)"); //$NON-NLS-1$
-//				entry.setProjectName(getProject().getName());
-//				entry.setToolName("ValidationOperation"); //$NON-NLS-1$
-//				entry.setElapsedTime(finish - start);
-//				logger.write(Level.FINE, entry);
-//			}
-		}
-	}
-
-	private void validateReferencialFiles(WorkbenchReporter reporter) {
-		ReferencialFileValidatorRegistryReader reader = ReferencialFileValidatorRegistryReader.getInstance();
-		if (reader != null) {
-			reader.readRegistry();
-			ReferencialFileValidator refFileValidator = reader.getReferencialFileValidator();
-			if (refFileValidator != null) {
-				if (_delta != null) {
-					refFileValidateFileDelta(reporter, refFileValidator);
-				} else if (_project != null) {
-					postValidateProject(reporter, refFileValidator);
-				}
-			}
-		}
-	}
-
-	private void refFileValidateFileDelta(WorkbenchReporter reporter, ReferencialFileValidator refFileValidator) {
-		IResourceDelta[] resourceDelta = _delta.getAffectedChildren(IResourceDelta.ADDED | IResourceDelta.CHANGED | IResourceDelta.REMOVED);
-		List<IResource> inputFiles = new ArrayList<IResource>();
-		
-		List<IFile> referencingFiles = new ArrayList<IFile>();
-		if (resourceDelta != null && resourceDelta.length > 0) {
-			for (int i = 0; i < resourceDelta.length; i++) {
-				IResource resource = resourceDelta[i].getResource();
-				if (resource instanceof IFolder) {
-					getFileResourceDeltaInFolder(resourceDelta[i], inputFiles);
-				} else if (resource instanceof IFile)
-					inputFiles.add(resource);
-			}
-			List<IFile> rFilesToValidate = refFileValidator.getReferencedFile(inputFiles);
-			if (rFilesToValidate != null && !rFilesToValidate.isEmpty())
-				referencingFiles.addAll(rFilesToValidate);
-			try {
-				if (!referencingFiles.isEmpty())
-					validateReferencingFiles(reporter, referencingFiles);
-			} catch (Exception e) {
-				ValidationPlugin.getPlugin().handleException(e);
-			}
-		}
-	}
-
-	private void getFileResourceDeltaInFolder(IResourceDelta delta, List<IResource> inputFiles) {
-		IResourceDelta[] resourceDelta = delta.getAffectedChildren();
-		for (int i = 0; i < resourceDelta.length; i++) {
-			IResource resource = resourceDelta[i].getResource();
-			if (resource instanceof IFile)inputFiles.add(resource);
-			else if (resource instanceof IFolder)getFileResourceDeltaInFolder(resourceDelta[i], inputFiles);
-		}
-	}
-
-	private void postValidateProject(WorkbenchReporter reporter, ReferencialFileValidator refFileValidator) {
-		Set<ValidatorMetaData> set = ValidationRegistryReader.getReader().getValidatorMetaData(_project);
-		for (ValidatorMetaData data : set) {
-			List<String> filters = data.getNameFilters();
-			List<IFile> files = getAllFilesForFilter(filters);
-			if (!files.isEmpty()) {
-				List<IFile> fileForValidation = refFileValidator.getReferencedFile(files);
-				try {
-					validateReferencingFiles(reporter, fileForValidation);
-				} catch (Exception e) {
-					ValidationPlugin.getPlugin().handleException(e);
-				}
-			}
-		}
-	}
-
-	private List<IFile> getAllFilesForFilter(List<String> filters) {
-		if (!filters.isEmpty()) {
-			List<IFile> allProjectFiles = ReferencialFileValidatorHelper.getAllProjectFiles(_project);
-			List<IFile> filterFiles = new ArrayList<IFile>();
-			for (String fileName : filters) {
-				if (fileName == null)continue;
-				
-				for (IFile projectFile : allProjectFiles) {
-					if (fileName.charAt(0) == '*') {
-						String extName = fileName.substring(2, fileName.length());
-						String ext = projectFile.getFileExtension();
-						if (ext != null && ext.equals(extName))filterFiles.add(projectFile);
-					} else if (fileName.equals(projectFile.getName()))filterFiles.add(projectFile);
-				}
-			}
-			return filterFiles;
-		}
-		return new LinkedList<IFile>();
-	}
-
-	private void validateReferencingFiles(IReporter reporter, List<IFile> referencingFiles) throws Exception {
-		Set<IFile> validatedFiles = new HashSet<IFile>();
-		for (IFile refFile : referencingFiles) {
-			if (!validatedFiles.contains(refFile)) {
-				IResource resource = refFile.getParent();
-				IProject project = null;
-				if (resource != null && !(resource instanceof IProject))
-					project = getProjectContainer(resource);
-				else
-					project = (IProject) resource;
-				if (project != null) {
-					Set<ValidatorMetaData> set = ValidationRegistryReader.getReader().getValidatorMetaData(project);
-					for (ValidatorMetaData data : set) {
-						if (data.isApplicableTo(refFile)) {
-							IValidator validator = data.getValidator();
-							validator.validate(data.getHelper(project),reporter);
-							validatedFiles.add(refFile);
-						}
-					}
-				}
-			}
-		}
-	}
-
-	private IProject getProjectContainer(IResource resource) {
-		IResource pResource = resource.getParent();
-		if (!(pResource instanceof IProject))
-			return getProjectContainer(pResource);
-		return (IProject) pResource;
-	}
-
-	protected void preValidate(WorkbenchReporter reporter) throws CoreException, OperationCanceledException {
-		// Load the input.
-		getFileDeltas(reporter.getProgressMonitor());
-	}
-
-	/**
-	 * Iterate over all of the enabled validators and run the thread-safe validators in a background
-	 * thread, and the not-thread-safe validators in this thread.
-	 */
-	protected void validate(WorkbenchReporter reporter) throws OperationCanceledException {
-		if (reporter == null)return;
-		checkCanceled(reporter);
-		reporter.getProgressMonitor().beginTask(ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_STATUS_PROGRESSMONITOR_TITLE), getUnitsOfWork());
-		IValidator validator = null;
-		Iterator<ValidatorMetaData> iterator = null;
-		IFileDelta[] delta = null;
-		
-		Set<ValidatorMetaData> jobValidators = new HashSet<ValidatorMetaData>();
-		Set<ValidatorMetaData> validators = new HashSet<ValidatorMetaData>();
-				
-		for(ValidatorMetaData vmd : getEnabledValidators()){
-			IValidator valInstance = null;
-			try {
-				valInstance = vmd.getValidator();
-			} 
-			catch (InstantiationException e1) {
-				if(!ValidatorManager.getManager().getProblemValidators().contains(vmd)) {
-					ValidatorManager.getManager().getProblemValidators().add(vmd);
-					System.out.println(e1.getMessage());
-				}
-			}
-			
-			if( isFork() && (valInstance != null) && valInstance instanceof IValidatorJob ){
-				try {
-					delta = getFileDeltas(reporter.getProgressMonitor(), vmd);
-				} catch (CoreException e) {
-					e.printStackTrace();
-				}
-				boolean willRun = (isForce() || isValidationNecessary(vmd, delta));
-				if( willRun )jobValidators.add( vmd );
-			}
-			else if (valInstance != null){
-				validators.add( vmd );
-			}
-		}
-		if( jobValidators.size() > 0 ){
-			launchJobs( jobValidators, reporter );
-		}
-				
-		ValidatorMetaData currentVmd = null;
-		try {
-			for (ValidatorMetaData vmd : validators) {
-				currentVmd = vmd;
-				// Is validation about to be run on this validator?
-				// Validation will run either if this operation forces regardless
-				// of need, or if the validator was not run automatically.
-				// If validation is not about to be run, then don't activate
-				// the plug-in
-				try {
-					delta = getFileDeltas(reporter.getProgressMonitor(), vmd);
-					boolean willRun = (isForce() || isValidationNecessary(vmd, delta));
-					if (Tracing.isTraceV1()) {
-						StringBuffer buffer = new StringBuffer();
-						buffer.append("ValidationOperation-01: will run? "); //$NON-NLS-1$
-						buffer.append(willRun);
-						buffer.append("  "); //$NON-NLS-1$
-						buffer.append("is force? "); //$NON-NLS-1$
-						buffer.append(isForce());
-						buffer.append("  "); //$NON-NLS-1$
-						buffer.append("isAutoBuild? "); //$NON-NLS-1$
-						buffer.append(_isAutoBuild);
-						buffer.append("  "); //$NON-NLS-1$
-						buffer.append("isAutoValidate? "); //$NON-NLS-1$
-						buffer.append("  "); //$NON-NLS-1$
-						buffer.append("isIncremental? "); //$NON-NLS-1$
-						buffer.append(vmd.isIncremental());
-						buffer.append("  "); //$NON-NLS-1$
-						if (isFullValidate()) {
-							buffer.append("EVERYTHING"); //$NON-NLS-1$
-						} else {
-							if (delta.length == 0) {
-								buffer.append("NOTHING"); //$NON-NLS-1$
-							} else {
-								buffer.append(getDeltaAsString(delta));
-							}
-						}
-						Tracing.log(buffer);
-					}
-					if (!willRun) {
-						continue;
-					}
-				} catch (CoreException e) {
-					ValidationPlugin.getPlugin().handleException(e);
-					String mssg = ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_STATUS_ENDING_VALIDATION_ABNORMALLY, new String[]{getProject().getName(), vmd.getValidatorDisplayName()});
-					reporter.displaySubtask(mssg);
-					continue;
-				}
-				try {
-					context = vmd.getHelper(getProject());
-					initValidateContext(delta);
-					validator = vmd.getValidator();
-					
-					checkCanceled(reporter);
-					
-				} catch (InstantiationException e) {
-					// Remove the vmd from the reader's list
-					ValidationRegistryReader.getReader().disableValidator(vmd);
-					ValidationPlugin.getPlugin().handleException(e);
-					continue;
-				}
-				
-//				if (isFork() && vmd.isAsync()) {
-//					// Don't appear to run in the foreground by sending
-//					// progress to the IProgressMonitor in the
-//					// WorkbenchMonitor. Suppress the status messages by
-//					// changing the IProgressMonitor to a
-//					// NullProgressMonitor.
-//					VThreadManager.getManager().queue(wrapInRunnable(nullReporter, validator, vmd,(WorkbenchContext)getContext(),delta, iterator));
-//				} else {
-//					internalValidate(reporter, validator, vmd, context, delta);
-//				}
-				internalValidate(reporter, validator, vmd, context, delta);
-			}
-		} 
-		catch (OperationCanceledException exc) {
-			handleOperationCancelledValidateException(reporter, validator, currentVmd, iterator, exc);
-		} 
-		finally {
-			releaseCachedMaps();
-		}
-	}
-
-	private void releaseCachedMaps() {
-		ValidationRegistryReader.getReader().clearCachedMaps();
-		IProjectValidationHelper helper = ValidationHelperRegistryReader.getInstance().getValidationHelper();
-		if (helper != null)
-			helper.disposeInstance();
-	}
-
-	private void initValidateContext(IFileDelta[] delta) {
-		 if (context instanceof WorkbenchContext) {
-			 ((WorkbenchContext)context).setValidationFileURIs(new ArrayList<String>());
-			 for(IFileDelta file : delta) {
-				 if(file.getDeltaType() != IFileDelta.DELETED ) {
-					 ((WorkbenchContext)context).getValidationFileURIs().add(file.getFileName());
-				 }
-			 } 
-		}
-	}
-
-	/**
-	 * @param reporter
-	 * @param validator
-	 * @param vmd
-	 * @param iterator
-	 * @param logger
-	 * @param exc
-	 */
-	private void handleOperationCancelledValidateException(WorkbenchReporter reporter, IValidator validator, 
-		ValidatorMetaData vmd, Iterator<ValidatorMetaData> iterator, OperationCanceledException exc) {
-		/*
-		 * If the user terminates validation (i.e., presses "cancel" on the progress monitor) before
-		 * the validation completes, perform clean up on each configured enabled validator.
-		 * 
-		 * To clean up, several steps are performed: 1. call <code></code> on each configured
-		 * enabled validator, so that each validator can perform cleanup that it knows is necessary.
-		 * 2. remove all tasks that this validator has added to the task list 3. add another task to
-		 * the task list to say that validation, using this validator on this project, was
-		 * terminated.
-		 * 
-		 * Steps 2 and 3 are done so that it's clear what has, and has not, been validated. If these
-		 * steps weren't performed, validation could be done on some items in the project, but not
-		 * others; and the user could mistakenly believe that those are the only problems with the
-		 * project. Unless the user knows that a full verification needs to be done, he/she could
-		 * continue to rely on automatic verification, and never know that there are problems with a
-		 * resource which hasn't been validated.
-		 */
-		reporter.displaySubtask(ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_STATUS_VALIDATOR_CLEANUP, new String[]{vmd.getValidatorDisplayName()}));
-		reporter.removeAllMessages(validator);
-		addCancelTask(vmd);
-		reporter.displaySubtask(ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_STATUS_VALIDATOR_TERMINATED, new String[]{getProject().getName(), vmd.getValidatorDisplayName()}));
-		while (iterator.hasNext()) {
-			vmd = (ValidatorMetaData) iterator.next();
-			try {
-				validator = vmd.getValidator();
-			} catch (InstantiationException exc2) {
-				// Remove the vmd from the reader's list
-				ValidationRegistryReader.getReader().disableValidator(vmd);
-				ValidationPlugin.getPlugin().handleException(exc2);
-				continue;
-			}
-			reporter.displaySubtask(ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_STATUS_VALIDATOR_CLEANUP, new String[]{vmd.getValidatorDisplayName()}));
-			reporter.removeAllMessages(validator);
-			addCancelTask(vmd);
-			reporter.displaySubtask(ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_STATUS_VALIDATOR_TERMINATED, new String[]{getProject().getName(), vmd.getValidatorDisplayName()}));
-		}
-		throw exc; // propagate the exception up to the framework so that
-		// the framework can display the correct "canceled"
-		// message in the dialog
-
-	}
-
-	/* package */
-	void internalValidate(final WorkbenchReporter reporter, final IValidator validator, final ValidatorMetaData vmd,final IWorkbenchContext aContext, final IFileDelta[] delta) throws OperationCanceledException {
-		try {
-			checkCanceled(reporter);
-			removeOldMessages(reporter, validator, vmd, delta);
-			// Do NOT check if the message limit is exceeded before launching
-			// the validator.
-			// Even if the limit is exceeded when the messages are removed from
-			// the delta
-			// files, it could be that the validator itself will remove
-			// messages before
-			// proceeding. Let the validator run so that it can remove messages
-			// if it
-			// needs to, and if it tries to add a message when the limit is
-			// exceeded, let
-			// the WorkbenchReporter take care of it.
-			launchValidator(reporter, validator, vmd, aContext, delta);
-		} catch (OperationCanceledException exc) {
-			// This is handled in the validate(WorkbenchReporter) method.
-			throw exc;
-		}catch (Exception e) {
-			// If there is a problem with this particular validator, log the
-			// error and continue with the next validator.
-			// If a runtime exception has occurred, e.g. NullPointer or
-			// ClassCast, display it with the "A runtime exception has occurred" message.
-			// This will provide more information to the user when he/she calls Service.
-			ValidationPlugin.getPlugin().handleException(e);
-			String mssg = ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_STATUS_ENDING_VALIDATION_ABNORMALLY, new String[]{getProject().getName(), vmd.getValidatorDisplayName()});
-			reporter.displaySubtask(mssg);
-			
-			/*
-			 The code  below  causes bundle not found exception since, the  bundle here is
-			 validate_base and we  are  trying to load that bundle from the classloader of 
-			 the Validator. 
-			  
-			String[] msgParm = {exc.getClass().getName(), vmd.getValidatorDisplayName(), (exc.getMessage() == null ? "" : exc.getMessage())}; //$NON-NLS-1$
-			Message message = ValidationPlugin.getMessage();
-			message.setSeverity(IMessage.NORMAL_SEVERITY);
-			message.setId(ResourceConstants.VBF_EXC_RUNTIME);
-			message.setParams(msgParm);
-			reporter.addMessage(validator, message);
-			*/
-		} finally {
-			// If user fixes problem, and limit exceeded, add "exceeded"
-			// message, or
-			// if limit not exceeded any more, remove "exceeded" message.
-			//Message Limit is removed from the framework
-			//ValidatorManager.getManager().checkMessageLimit(getProject(), true);
-			reporter.getProgressMonitor().done();
-		}
-	}
-
-	/**
-	 * In order to allow validators to run, must first check if there's space for new markers. But
-	 * the old markers must not prevent validation from running again (limit exceeded), so delete
-	 * all of the old markers first, and then run validation.
-	 */
-	private final void removeOldMessages(WorkbenchReporter reporter, IValidator validator, ValidatorMetaData vmd, IFileDelta[] delta) {
-		if (reporter == null) {
-			return;
-		}
-		// If the validator has been enabled, remove the "cancel" task.
-		// If the validator, on the last run, threw a Throwable, remove the
-		// "internal error" task. (For the same reasons we remove the "cancel"
-		// task.
-		InternalValidatorManager.getManager().removeOperationTasks(getProject(), vmd);
-		checkCanceled(reporter);
-		try {
-			// Check to see if a full build must be performed, or if a delta
-			// build is to be performed, if there are files to verify for that
-			// validator. (If it's delta, but there are no files, calling
-			// validate on that validator starts a full build, instead of just
-			// returning.)
-			if (isFullValidate()) {
-				String message = ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_STATUS_START_REMOVING_OLD_MESSAGES, new String[]{vmd.getValidatorDisplayName(), getProject().getName()});
-				reporter.displaySubtask(message);
-				reporter.removeAllMessages(validator);
-				message = ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_STATUS_FINISH_REMOVING_OLD_MESSAGES, new String[]{getProject().getName(), vmd.getValidatorDisplayName()});
-				reporter.displaySubtask(message);
-			} else {
-				// Don't need to check that there are deltas to validate
-				// because that's already checked in isValidationNecessary
-				String message = ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_STATUS_START_REMOVING_OLD_MESSAGES, new String[]{vmd.getValidatorDisplayName(), getProject().getName()});
-				reporter.displaySubtask(message);
-				for (int i = 0; i < delta.length; i++) {
-					WorkbenchFileDelta fd = (WorkbenchFileDelta) delta[i];
-					if (fd.getDeltaType() != IFileDelta.DELETED) {
-						// If the file has been deleted, eclipse erases all
-						// markers on the file.
-						// Also, when a resource doesn't exist,
-						// WorkbenchReporter's getMessageResource()
-						// returns the IProject, which means that removing the
-						// messages from this
-						// file removes all of this validator's messages on
-						// this IProject (aix defect 206157)
-						IResource resource = reporter.getMessageResource(validator, fd);
-						if (fd.getObject().equals(fd.getResource())) {
-							WorkbenchReporter.removeAllMessages(resource, validator); // remove
-						} else {
-							reporter.removeAllMessages(validator, fd.getObject());
-						}
-					}
-				}
-				message = ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_STATUS_FINISH_REMOVING_OLD_MESSAGES, new String[]{getProject().getName(), vmd.getValidatorDisplayName()});
-				reporter.displaySubtask(message);
-			}
-		} catch (OperationCanceledException exc) {
-			throw exc;
-		} catch (Exception e) {
-			ValidationPlugin.getPlugin().handleException(e);
-			String mssg = ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_STATUS_ENDING_VALIDATION_ABNORMALLY, new String[]{getProject().getName(), vmd.getValidatorDisplayName()});
-			reporter.displaySubtask(mssg);
-			return;
-		}
-	}
-
-	/**
-	 * Whether a full verification or a delta verification is in progress, both will call this
-	 * method to process the resource. This method calls the current Validator to filter the
-	 * resource (i.e., this method returns if the resource fails the filter test).
-	 * <code>process</code> also sends output to the <code>IProgressMonitor</code>, and calls
-	 * the current Validator to validate the resource.
-	 * 
-	 * <p>To process a resource, there are several steps:</p> 
-	 * <p>1. check if the resource is registered for
-	 * this validator (i.e., the validator has either specified it in a filter, or has not filtered
-	 * it out explicitly)</p>
-	 * 
-	 * <p>2. call <code>isValidationSource</code> on the current validator with
-	 * the current resource. This method performs further filtering by the Validator itself, in
-	 * addition to the static filtering done by the framework, based on the information in
-	 * plugin.xml.</p> 
-	 * 
-	 * <p>3. If the resource passes both filters, call <code>validate</code> on the
-	 * validator, with the resource.</p> 
-	 * 
-	 * <p>4. When complete (either by failing to pass a filter, or by the
-	 * completion of the <code>validate</code>), increment the IProgressMonitor's status by one
-	 * (i.e., one resource has been processed.)</p>
-	 */
-	private final void launchValidator(WorkbenchReporter reporter, IValidator validator, ValidatorMetaData vmd, IWorkbenchContext helper, IFileDelta[] delta) {
-		if (reporter == null)return;
-		checkCanceled(reporter);
-		// Check to see if a full build must be performed, or if a delta
-		// build is to be performed, if there are files to verify for that
-		// validator. (If it's delta, but there are no files, calling
-		// validate on that validator starts a full build, instead of just
-		// returning.)
-		try {
-			// Validate the resource; this step will add errors/warnings to the
-			// task list, and remove errors/warnings from the task list.
-			if (helper instanceof WorkbenchContext) {
-				// Initialize the "loadRuleGroup" method with the group of rules
-				// which the validator should validate.
-				((WorkbenchContext) helper).setRuleGroup(getRuleGroup());
-			}
-			String message = ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_STATUS_STARTING_VALIDATION, new String[]{getProject().getName(), vmd.getValidatorDisplayName()});
-			reporter.displaySubtask(message);
-			if (Tracing.isLogging()) {
-				// This internal "launched validators" value is used only in tests.
-				getLaunchedValidators().add(vmd);
-			}
-			//initValidateContext(delta);
-			ValidatorLauncher.getLauncher().start(helper, validator, reporter);
-			//TODO GRK determine if timing info should be added here
-//			if (logger.isLoggingLevel(Level.INFO)) {
-//				TimeEntry entry = ValidationPlugin.getTimeEntry();
-//				entry.setSourceID("ValidationOperation.launchValidator"); //$NON-NLS-1$
-//				entry.setProjectName(getProject().getName());
-//				entry.setToolName(vmd.getValidatorUniqueName());
-//				entry.setElapsedTime(finish - start);
-//				if (logger.isLoggingLevel(Level.FINE)) {
-//					StringBuffer buffer = new StringBuffer();
-//					if (isFullValidate()) {
-//						buffer.append("EVERYTHING"); //$NON-NLS-1$
-//					} else {
-//						if (delta.length == 0) {
-//							buffer.append("NOTHING"); //$NON-NLS-1$
-//						} else {
-//							buffer.append(getDeltaAsString(delta));
-//						}
-//					}
-//					entry.setDetails(buffer.toString());
-//				}
-//				logger.write(Level.INFO, entry);
-//			}
-			message = ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_STATUS_ENDING_VALIDATION, new String[]{getProject().getName(), vmd.getValidatorDisplayName()});
-			reporter.displaySubtask(message);
-		} catch (OperationCanceledException exc) {
-			throw exc;
-		} catch (ValidationException exc) {
-			// First, see if a validator just caught all Throwables and
-			// accidentally wrapped a MessageLimitException instead of
-			// propagating it.
-			if (exc.getAssociatedException() != null) {
-				if (exc.getAssociatedException() instanceof ValidationException) {
-					ValidationException vexc = (ValidationException) exc.getAssociatedException();
-					vexc.setClassLoader(validator.getClass().getClassLoader()); // first,
-					// set the class loader, so that the exception's getMessage() method
-					// can retrieve the resource bundle
-				}
-			}
-			// If there is a problem with this particular validator, log the
-			// error and continue with the next validator.
-			exc.setClassLoader(validator.getClass().getClassLoader()); // first,
-			ValidationPlugin.getPlugin().handleException(exc);
-			ValidationPlugin.getPlugin().handleException(exc.getAssociatedException());
-			String message = ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_STATUS_ENDING_VALIDATION_ABNORMALLY, new String[]{getProject().getName(), vmd.getValidatorDisplayName()});
-			reporter.displaySubtask(message);
-			if (exc.getAssociatedMessage() != null) {
-				reporter.addMessage(validator, exc.getAssociatedMessage());
-			}
-		} catch (Exception e) {
-			ValidationPlugin.getPlugin().handleException(e);
-			String mssg = ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_STATUS_ENDING_VALIDATION_ABNORMALLY, new String[]{getProject().getName(), vmd.getValidatorDisplayName()});
-			reporter.displaySubtask(mssg);
-			
-			/*
-			 The code  below  causes bundle not found exception since, the  bundle here is
-			 validate_base and we  are  trying to load that bundle from the classloader of 
-			 the Validator. 
-			 
-			String[] msgParm = {exc.getClass().getName(), vmd.getValidatorDisplayName(), (exc.getMessage() == null ? "" : exc.getMessage())}; //$NON-NLS-1$
-			Message message = ValidationPlugin.getMessage();
-			message.setSeverity(IMessage.NORMAL_SEVERITY);
-			message.setId(ResourceConstants.VBF_EXC_RUNTIME);
-			message.setParams(msgParm);
-			reporter.addMessage(validator, message);
-			*/
-			
-		} finally {
-			try {
-				validator.cleanup(reporter);
-			} catch (OperationCanceledException e) {
-				throw e;
-			} catch (Exception e) {
-				ValidationPlugin.getPlugin().handleException(e);
-				return;
-			}
-			try {
-				helper.cleanup(reporter);
-			} catch (OperationCanceledException e) {
-				throw e;
-			} catch (Exception e) {
-				ValidationPlugin.getPlugin().handleException(e);
-				return;
-			} finally {
-				// Now that cleanup has been called, set the project to null.
-				// This project's
-				// resources have been freed so this project should also be
-				// cleared on the helper.
-				// If it isn't set to null, then the next time that the helper
-				// is retrieved from
-				// the ValidatorMetaData, the resources allocated for this
-				// project, in the
-				// helper's initialize method, will not be reallocated if the
-				// project is the same.
-				helper.setProject(null);
-			}
-			// Tell the progress monitor that we've completed n units of work
-			// (i.e., n resources validated by one validator).
-			reporter.getProgressMonitor().worked(((delta == null) ? 1 : delta.length));
-		}
-	}
-
-//	private Runnable wrapInRunnable(final WorkbenchReporter reporter, final IValidator validator, final ValidatorMetaData vmd, final IWorkbenchContext helper, final IFileDelta[] delta, final Iterator iterator) {
-//		// Need to create a new Runnable each time because several Runnable
-//		// instances may exist at the same time.
-//		Runnable runnable = new ProjectRunnable(reporter, validator, vmd, helper, delta, iterator);
-//		return runnable;
-//	}
-
-	/*
-	 * // For convenience, keep this method in the class but commented out. // When async needs to
-	 * be tested, this method may be needed again. private static void debug(String prefix,
-	 * IWorkbenchContext helper) { IProject hProject = helper.getProject(); System.err.println(prefix +
-	 * "Start ValidationOperation "+Thread.currentThread().getName() + "::" + hProject.getName());
-	 * if( Thread.currentThread().getName().equals("ValidationThread") &&
-	 * (hProject.getName().indexOf("noFork") > -1)) { Thread.dumpStack(); } else
-	 * if((!Thread.currentThread().getName().equals("ValidationThread")) &&
-	 * (hProject.getName().indexOf("fork") > -1)) { Thread.dumpStack(); } System.err.println(prefix +
-	 * "End ValidationOperation"); }
-	 */
-	
-	/**
-	 * @deprecated This class is no longer used by the framework.
-	 */
-	public class ProjectRunnable implements Runnable {
-		private WorkbenchReporter _reporter;
-		private IValidator _validator;
-		private ValidatorMetaData _vmd;
-		private IFileDelta[] _delta;
-
-		@SuppressWarnings("unchecked")
-		public ProjectRunnable(WorkbenchReporter reporter, IValidator validator, 
-			ValidatorMetaData vmd, IWorkbenchContext helper, IFileDelta[] delta, Iterator iterator) {
-			_reporter = reporter;
-			_validator = validator;
-			_vmd = vmd;
-			_delta = delta;
-		}
-
-		public void run() {
-			try {
-				internalValidate(_reporter, _validator, _vmd, context,_delta);
-			} catch (OperationCanceledException exc) {
-				// User can't cancel a job in a background thread, so ignore this exception.
-			}
-		}
-
-		public IProject getProject() {
-			return _reporter.getProject();
-		}
-	}
-
-	/**
-	 * @return Returns the context.
-	 */
-	public IValidationContext getContext() {
-		return context;
-	}
-
-	/**
-	 * @param context The context to set.
-	 */
-	public void setContext(IWorkbenchContext context) {
-		this.context = context;
-	}
-	
-	void launchJobs(Set<ValidatorMetaData> validators, final WorkbenchReporter reporter) throws OperationCanceledException{
-		
-		IValidator validator = null;
-		IFileDelta[] delta = null;
-		IWorkbenchContext workbenchcontext = null;
-		
-		for (ValidatorMetaData vmd : validators) {
-			checkCanceled(reporter);
-			
-			try {
-				delta = getFileDeltas(reporter.getProgressMonitor(), vmd);
-				boolean willRun = (isForce() || isValidationNecessary(vmd, delta));
-				if (!willRun)continue;
-
-			} catch (CoreException e) {
-				ValidationPlugin.getPlugin().handleException(e);
-				String mssg = ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_STATUS_ENDING_VALIDATION_ABNORMALLY, new String[]{getProject().getName(), vmd.getValidatorDisplayName()});
-				reporter.displaySubtask(mssg);
-				continue;
-			}
-			
-			try {
-				validator = vmd.createValidator();
-				workbenchcontext = vmd.createHelper( getProject() );
-				initValidateContext( delta, workbenchcontext );
-				vmd.addHelper((IValidatorJob)validator, workbenchcontext);				
-				checkCanceled(reporter);
-				
-			} catch (InstantiationException e) {
-				// Remove the vmd from the reader's list
-				ValidationRegistryReader.getReader().disableValidator(vmd);
-				ValidationPlugin.getPlugin().handleException(e);
-				continue;
-			}
-			
-			try {
-				checkCanceled(reporter);
-				removeOldMessages(reporter, validator, vmd, delta);
-				
-				if( validator instanceof IValidatorJob ){
-					launchValidatorJob( reporter, (IValidatorJob)validator, vmd, workbenchcontext, delta);
-				}
-
-				
-			} catch (OperationCanceledException exc) {
-				throw exc;
-
-			} catch (Exception e) {
-				ValidationPlugin.getPlugin().handleException(e);
-				String mssg = ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_STATUS_ENDING_VALIDATION_ABNORMALLY, new String[]{getProject().getName(), vmd.getValidatorDisplayName()});
-				reporter.displaySubtask(mssg);
-			} catch (Error e) {
-				ValidationPlugin.getPlugin().handleException(e);
-				String mssg = ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_STATUS_ENDING_VALIDATION_ABNORMALLY, new String[]{getProject().getName(), vmd.getValidatorDisplayName()});
-				reporter.displaySubtask(mssg);
-				throw e;
-			} finally {
-				// If user fixes problem, and limit exceeded, add "exceeded"
-				// message, or if limit not exceeded any more, remove "exceeded" message.
-				reporter.getProgressMonitor().done();
-			}
-		}
-	}
-		
-	private void initValidateContext(IFileDelta[] delta, IWorkbenchContext context ) {
-		 if (context instanceof WorkbenchContext) {
-			 ((WorkbenchContext)context).setValidationFileURIs(new ArrayList<String>());
-			 for(IFileDelta file : delta) {
-				 if(file.getDeltaType() != IFileDelta.DELETED ) {
-					 ((WorkbenchContext)context).getValidationFileURIs().add(file.getFileName());
-				 }
-			 } 
-		}
-	}
-						
-	private final void launchValidatorJob(WorkbenchReporter reporter,
-		IValidatorJob validator, ValidatorMetaData vmd, IWorkbenchContext helper, IFileDelta[] delta) {
-		
-		if (reporter == null)return;
-		checkCanceled(reporter);
-
-		if (helper instanceof WorkbenchContext) {
-			((WorkbenchContext) helper).setRuleGroup(getRuleGroup());
-		}
-		if (Tracing.isLogging()) {
-			// This internal "launched validators" value is used only in tests.
-			getLaunchedValidators().add(vmd);
-		}
-		
-		ValidatorJob validatorjob = new ValidatorJob( validator, vmd.getValidatorDisplayName(), 
-			vmd.getValidatorUniqueName(), helper.getProject(), helper );
-
-		ISchedulingRule schedulingRule = validator.getSchedulingRule(helper);
-		validatorjob.setRule( schedulingRule );		
-		QualifiedName validatorKey = new QualifiedName(null, "Validator"); //$NON-NLS-1$
-		validatorjob.setProperty( validatorKey, validator );
-		validatorjob.addJobChangeListener(
-			new JobChangeAdapter(){
-				
-				public void done(IJobChangeEvent event){
-					Job job = event.getJob();
-					QualifiedName validatorKey = new QualifiedName(null, "Validator"); //$NON-NLS-1$
-					IValidatorJob validator = (IValidatorJob)job.getProperty( validatorKey );
-					ValidatorManager mgr = ValidatorManager.getManager();
-					final List<MessageInfo> list = mgr.getMessages(validator);							
-					
-					IWorkspaceRunnable runnable = new IWorkspaceRunnable() {
-					    public void run(IProgressMonitor monitor) throws CoreException {
-
-							for(MessageInfo info : list){
-								try {								
-									TaskListUtility.addTask( info.getMessageOwnerId(), info.getResource(),
-										info.getLocation(), info.getMsg().getId(), info.getText(),
-										info.getMsg().getSeverity(),
-										info.getMarkerId(),
-										info.getTargetObjectName(),
-										info.getMsg().getGroupName(),
-										info.getMsg().getOffset(),
-										info.getMsg().getLength());								
-								} catch (CoreException e) {
-									ValidationPlugin.getPlugin().handleException(e);
-								}										
-							}
-					    }
-					};
-					try {
-						
-						ResourcesPlugin.getWorkspace().run(runnable, null, IWorkspace.AVOID_UPDATE, null);
-					} catch (CoreException e) {
-					   e.printStackTrace();
-					}
-					mgr.clearMessages( validator );
-					validator = null;
-				}
-			}
-		);
-		validatorjob.setPriority(Job.DECORATE);
-		launcherJob.addValidationJob(validatorjob);
-	}
-		
-}
diff --git a/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/operations/ValidationUtility.java b/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/operations/ValidationUtility.java
deleted file mode 100644
index 4e53471..0000000
--- a/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/operations/ValidationUtility.java
+++ /dev/null
@@ -1,102 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.validation.internal.operations;
-
-import java.lang.reflect.InvocationTargetException;
-import java.util.HashSet;
-import java.util.Set;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.wst.validation.internal.ConfigurationConstants;
-import org.eclipse.wst.validation.internal.ConfigurationManager;
-import org.eclipse.wst.validation.internal.ProjectConfiguration;
-import org.eclipse.wst.validation.internal.TaskListUtility;
-import org.eclipse.wst.validation.internal.plugin.ValidationPlugin;
-
-/**
- * This class contains utility methods that are intended to be used by validators and code outside
- * of the validation framework.
- */
-public final class ValidationUtility {
-	//TODO Make the ValidationUtility constructor private in Milestone 4.
-
-	/**
-	 * Given an IResource and one of the org.eclipse.wst.validation.internal.core.core.SevertyEnum constants,
-	 * return an array containing the fully-qualified class names of the validators which have
-	 * reported messages, of the given severity, against the resource and the resource's children.
-	 */
-	public static String[] listValidatorClasses(IResource resource, int severity) {
-		IMarker[] markers = TaskListUtility.getValidationTasks(resource, severity);
-		if ((markers == null) || (markers.length == 0)) {
-			return new String[0];
-		}
-
-		Set<String> tempSet = new HashSet<String>();
-		for (int i = 0; i < markers.length; i++) {
-			IMarker marker = markers[i];
-			try {
-				Object owner = marker.getAttribute(ConfigurationConstants.VALIDATION_MARKER_OWNER);
-				if ((owner == null) || !(owner instanceof String)) {
-					// The ValidationMigrator will remove any "unowned" validation markers.
-					continue;
-				}
-				tempSet.add((String)owner);
-			} catch (CoreException e) {
-				ValidationPlugin.getPlugin().handleException(e);
-			}
-		}
-
-
-		if (tempSet.size() > 0) {
-			String[] result = new String[tempSet.size()];
-			tempSet.toArray(result);
-			tempSet.clear();
-			return result;
-		}
-		return new String[0];
-	}
-
-	/**
-	 * @deprecated This instance method will be made static in Milestone 4.
-	 */
-	public boolean isEnabled(IProject project, String validatorClassName) {
-		return isEnabled(project, new String[]{validatorClassName});
-	}
-
-	/**
-	 * Return true if all of the validators, identified by their fully-qualified class names, are
-	 * enabled on the project. If a validator isn't enabled, or if there's an internal error while
-	 * retrieving the user's configuration, return false.
-	 */
-	public static boolean isEnabled(IProject project, String[] validatorClassNames) {
-		if ((validatorClassNames == null) || (validatorClassNames.length == 0)) {
-			return false;
-		}
-
-		try {
-			ProjectConfiguration prjp = ConfigurationManager.getManager().getProjectConfiguration(project);
-			for (int i = 0; i < validatorClassNames.length; i++) {
-				if (!prjp.isEnabled(validatorClassNames[i])) {
-					return false;
-				}
-			}
-		} catch (InvocationTargetException e) {
-			ValidationPlugin.getPlugin().handleException(e);
-			ValidationPlugin.getPlugin().handleException(e.getTargetException());
-			return false;
-		}
-
-		return true;
-	}
-}
diff --git a/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/operations/ValidatorJob.java b/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/operations/ValidatorJob.java
deleted file mode 100644
index 048dd39..0000000
--- a/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/operations/ValidatorJob.java
+++ /dev/null
@@ -1,177 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.validation.internal.operations;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.OperationCanceledException;
-import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.wst.common.frameworks.internal.plugin.WTPCommonPlugin;
-import org.eclipse.wst.validation.IPerformanceMonitor;
-import org.eclipse.wst.validation.PerformanceCounters;
-import org.eclipse.wst.validation.ValidationFramework;
-import org.eclipse.wst.validation.internal.Misc;
-import org.eclipse.wst.validation.internal.ResourceConstants;
-import org.eclipse.wst.validation.internal.ResourceHandler;
-import org.eclipse.wst.validation.internal.ValidationRegistryReader;
-import org.eclipse.wst.validation.internal.ValidatorMetaData;
-import org.eclipse.wst.validation.internal.core.Message;
-import org.eclipse.wst.validation.internal.core.ValidationException;
-import org.eclipse.wst.validation.internal.plugin.ValidationPlugin;
-import org.eclipse.wst.validation.internal.provisional.core.IMessage;
-import org.eclipse.wst.validation.internal.provisional.core.IValidatorJob;
-
-public class ValidatorJob extends Job {
-
-
-	private IProject			project;
-	private IWorkbenchContext 	helper;
-	private IValidatorJob		validator;
-	
-	public ValidatorJob(String name) {
-		super(name);
-	}
-	   
-	public ValidatorJob( IValidatorJob validator, String displayName, String name, IProject project, IWorkbenchContext aHelper  ){
-		super(displayName);
-		this.project = project;
-		this.helper = aHelper;
-		this.validator = validator;
-	}
-	
-	//revisit reporter in the code  below
-	//subtask information is displayed in the monitor created by the Job
-	//error information is reported by the IReporter
-	
-	protected IStatus run(IProgressMonitor monitor) {
-		
-		IPerformanceMonitor pm = ValidationFramework.getDefault().getPerformanceMonitor();
-		long elapsed = -1;
-		long cpuTime = -1;
-		if (pm.isCollecting()){
-			elapsed = System.currentTimeMillis();
-			cpuTime = Misc.getCPUTime();
-		}
-
-		monitor.beginTask("Validating", IProgressMonitor.UNKNOWN); //$NON-NLS-1$
-		IStatus status = IValidatorJob.OK_STATUS;
-		WorkbenchReporter	reporter = new WorkbenchReporter( project, monitor );
-
-		ValidatorMetaData vmd = ValidationRegistryReader.getReader().getValidatorMetaData(validator);
-		
-		try {
-
-			String message = ResourceHandler.getExternalizedMessage(
-				ResourceConstants.VBF_STATUS_STARTING_VALIDATION,
-				new String[]{helper.getProject().getName(), vmd.getValidatorDisplayName()});
-			
-			monitor.subTask(message);		
-			status = validator.validateInJob(helper, reporter);
-		
-			message = ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_STATUS_ENDING_VALIDATION,
-				new String[]{helper.getProject().getName(), vmd.getValidatorDisplayName()});
-			monitor.subTask(message);
- 
-		} catch (OperationCanceledException exc) {
-			throw exc;
-		} catch (ValidationException exc) {
-			// First, see if a validator just caught all Throwables and
-			// accidentally wrapped a MessageLimitException instead of
-			// propagating it.
-			if (exc.getAssociatedException() != null) {
-				if (exc.getAssociatedException() instanceof ValidationException) {
-					ValidationException vexc = (ValidationException) exc.getAssociatedException();
-					vexc.setClassLoader(validator.getClass().getClassLoader()); 
-				}
-			}
-			// If there is a problem with this particular validator, log the
-			// error and continue with the next validator.
-			exc.setClassLoader(validator.getClass().getClassLoader());
-
-			ValidationPlugin.getPlugin().handleException(exc);
-			ValidationPlugin.getPlugin().handleException(exc.getAssociatedException());
-			String message = ResourceHandler.getExternalizedMessage(
-					ResourceConstants.VBF_STATUS_ENDING_VALIDATION_ABNORMALLY,
-					new String[]{helper.getProject().getName(), vmd.getValidatorDisplayName()});
-			
-			monitor.subTask(message);
-			if (exc.getAssociatedMessage() != null) {
-				reporter.addMessage(validator, exc.getAssociatedMessage());
-			}
-		} catch (Exception e) {
-			ValidationPlugin.getPlugin().handleException(e);
-			String mssg = ResourceHandler.getExternalizedMessage(
-				ResourceConstants.VBF_STATUS_ENDING_VALIDATION_ABNORMALLY,
-				new String[]{helper.getProject().getName(), vmd.getValidatorDisplayName() });
-			
-			monitor.subTask(mssg);
-			
-		} finally {
-			try {
-				validator.cleanup(reporter);
-			} catch (OperationCanceledException e) {
-				throw e;
-			} catch (Exception exc) {
-				ValidationPlugin.getPlugin().handleException(exc);
-				
-				String[] msgParm = {exc.getClass().getName(), vmd.getValidatorDisplayName(), (exc.getMessage() == null ? "" : exc.getMessage())}; //$NON-NLS-1$				
-				Message message = ValidationPlugin.getMessage();
-				message.setSeverity(IMessage.NORMAL_SEVERITY);
-				message.setId(ResourceConstants.VBF_EXC_RUNTIME);
-				message.setParams(msgParm);				
-				status = WTPCommonPlugin.createErrorStatus(message.getText());
-				return status;
-			} finally {
-				try {
-					helper.cleanup(reporter);
-					vmd.removeHelper( validator );
-				}catch (OperationCanceledException e) {
-					throw e;
-				} catch (Exception exc) {
-					ValidationPlugin.getPlugin().handleException(exc);
-					String[] msgParm = {exc.getClass().getName(), vmd.getValidatorDisplayName(), (exc.getMessage() == null ? "" : exc.getMessage())}; //$NON-NLS-1$
-					Message message = ValidationPlugin.getMessage();
-					message.setSeverity(IMessage.NORMAL_SEVERITY);
-					message.setId(ResourceConstants.VBF_EXC_RUNTIME);
-					message.setParams(msgParm);
-					reporter.addMessage(validator, message);
-	
-					status = WTPCommonPlugin.createErrorStatus(message.getText());	
-					return status;
-				} finally {
-					helper.setProject(null);
-					vmd.removeHelper( validator );
-					helper = null;
-					reporter = null;
-				}
-			}
-			//reporter.getProgressMonitor().worked(((delta == null) ? 1 : delta.length)); // One
-			//monitor.worked(((delta == null) ? 1 : delta.length)); // One
-			monitor.done();
-		}
-		if (pm.isCollecting()){
-			if (cpuTime != -1){
-				cpuTime = Misc.getCPUTime() - cpuTime;
-			}
-			String projectName = null;
-			if (project != null)projectName = project.getName();
-			pm.add(new PerformanceCounters(vmd.getValidatorUniqueName(), 
-				vmd.getValidatorDisplayName(),projectName, -1, 
-				System.currentTimeMillis()-elapsed, cpuTime));
-		}
-		return status;
-	}
-
-	public boolean belongsTo(Object family) {
-		return (project.getName() + ValidatorManager.VALIDATOR_JOB_FAMILY).equals(family);
-	}	
-}
diff --git a/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/operations/ValidatorManager.java b/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/operations/ValidatorManager.java
deleted file mode 100644
index 553538b..0000000
--- a/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/operations/ValidatorManager.java
+++ /dev/null
@@ -1,995 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2009 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.validation.internal.operations;
-
-import java.lang.reflect.InvocationTargetException;
-import java.util.ArrayList;
-import java.util.Collection;
-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.resources.ICommand;
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IProjectDescription;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.wst.validation.ValidationFramework;
-import org.eclipse.wst.validation.internal.ConfigurationManager;
-import org.eclipse.wst.validation.internal.GlobalConfiguration;
-import org.eclipse.wst.validation.internal.InternalValidatorManager;
-import org.eclipse.wst.validation.internal.ProjectConfiguration;
-import org.eclipse.wst.validation.internal.TaskListUtility;
-import org.eclipse.wst.validation.internal.ValidationRegistryReader;
-import org.eclipse.wst.validation.internal.ValidatorMetaData;
-import org.eclipse.wst.validation.internal.plugin.ValidationPlugin;
-import org.eclipse.wst.validation.internal.provisional.core.IValidator;
-import org.eclipse.wst.validation.internal.provisional.core.IValidatorJob;
-
-/**
- * A centralized class for accessing validation metadata.
- * 
- * This class is not intended to be subclassed outside of the validation framework.
- */
-public final class ValidatorManager {
-	public static final String VALIDATOR_JOB_FAMILY = "validators";	 //$NON-NLS-1$	
-	private static ValidatorManager inst;
-	private static IResourceUtil _resourceUtil; // a common utility, different whether or not
-	// WSAD is running in headless or UI mode, which can retrieve the line number of some MOF objects.
-	private static final Class RESOURCEUTIL_DEFAULTCLASS = org.eclipse.wst.validation.internal.operations.DefaultResourceUtil.class;
-	private static Class _resourceUtilClass = RESOURCEUTIL_DEFAULTCLASS;		
-	private static Class 	_messageLimitOwner;
-	
-	private static final Set<ValidatorMetaData> EmptySet = Collections.emptySet();
-		
-	private String[] 		_internalOwners;
-	private Map<IValidatorJob, List<MessageInfo>> _validatorMsgs = 
-		Collections.synchronizedMap( new HashMap<IValidatorJob, List<MessageInfo>>() );	
-	private Set<ValidatorMetaData> _problemValidators = new HashSet<ValidatorMetaData>();	
-	
-	private ValidatorManager() {
-		super();
-		_internalOwners = new String[0];
-
-		addInternalOwner(getMessageLimitOwner());
-	}
-
-	/**
-	 * Disable all validators for the current project, and does not touch the auto-validate setting.
-	 */
-	public void disableAllValidators(IProject currentProject, IProgressMonitor monitor) {
-		// Disable the individual validators
-		setEnabledValidators(currentProject, EmptySet, monitor);
-	}
-
-	public void enableValidator(String validatorId) {
-
-		try {
-			ValidatorMetaData vmd = ValidationRegistryReader.getReader().getValidatorMetaData(validatorId);
-			GlobalConfiguration gf = ConfigurationManager.getManager().getGlobalConfiguration();
-			gf.enableSingleValidator(vmd);
-		} catch (InvocationTargetException e) {
-			e.printStackTrace();
-		}
-	}
-	
-	
-	public void disableValidator(String validatorId){
-
-		try {
-			ValidatorMetaData vmd = ValidationRegistryReader.getReader().getValidatorMetaData(validatorId);
-			GlobalConfiguration gf = ConfigurationManager.getManager().getGlobalConfiguration();
-			gf.disableSingleValidator(vmd);
-		} catch (InvocationTargetException e) {
-			e.printStackTrace();
-		}
-	}
-	
-	
-	public void enableValidator(String validatorId, IProject project, boolean manualValidation, boolean buildValidation) {		
-		try {
-			ProjectConfiguration prjp = ConfigurationManager.getManager().getProjectConfiguration(project);
-			prjp.setDoesProjectOverride(true);
-			ValidatorMetaData vmd = ValidationRegistryReader.getReader().getValidatorMetaData(validatorId);
-			
-			if(manualValidation)prjp.enableSingleManualValidator(vmd);
-			if (buildValidation)prjp.enableSingleBuildValidator(vmd);
-			prjp.store();		
-		} catch (InvocationTargetException e) {
-			e.printStackTrace();
-		}
-	}
-	
-	public void disableValidator(String validatorId, IProject project, boolean manualValidation, boolean buildValidation){
-
-		try {
-			ProjectConfiguration prjp = ConfigurationManager.getManager().getProjectConfiguration(project);
-			prjp.setDoesProjectOverride(true);
-			ValidatorMetaData vmd = ValidationRegistryReader.getReader().getValidatorMetaData(validatorId);
-			
-			if(manualValidation)prjp.disableSingleManualValidator(vmd);
-			if (buildValidation)prjp.disableSingleBuildValidator(vmd);
-			prjp.store();
-			
-		} catch (InvocationTargetException e) {
-			e.printStackTrace();
-		}
-
-	}
-	
-	
-	
-	/**
-	 * Given an IProject, if the IProject does not support build validation, add the validation
-	 * builder to the project description so that the project can support build validation.
-	 */
-	public static void addProjectBuildValidationSupport(IProject project) {
-		/*
-		 * I'm working my way through the code to see where this gets called. One place was in ModuleCoreNature
-		 * which had hard coded the builder id.
-		 */
-		if (project == null)return;
-
-		boolean isBuilderAdded = false;
-		try {
-			IProjectDescription description = project.getDescription();
-			ICommand[] commands = description.getBuildSpec();
-			if (commands != null) {
-				for (ICommand command : commands) {
-					String builderName = command.getBuilderName();
-					if (builderName == null) {
-						// builder name will be null if it has not been set
-						continue;
-					}
-
-					if (builderName.equals(ValidationPlugin.VALIDATION_BUILDER_ID)) {
-						isBuilderAdded = true;
-						break;
-					}
-				}
-			}
-
-			if (!isBuilderAdded) {
-				ICommand newCommand = description.newCommand();
-				newCommand.setBuilderName(ValidationPlugin.VALIDATION_BUILDER_ID);
-
-				ICommand[] newCommands = null;
-				if (commands != null) {
-					newCommands = new ICommand[commands.length + 1];
-					System.arraycopy(commands, 0, newCommands, 0, commands.length);
-					newCommands[commands.length] = newCommand;
-				} else {
-					newCommands = new ICommand[1];
-					newCommands[0] = newCommand;
-				}
-				description.setBuildSpec(newCommands);
-
-				project.setDescription(description, null);
-			}
-		} catch (CoreException exc) {
-			// if we can't read the information, the project isn't open, so it can't run
-			// auto-validate
-			return;
-		}
-	}
-
-
-	/**
-	 * Given an IProject, this method returns true if the project can run build validation (i.e.,
-	 * incremental validation), and false otherwise. The test, to find out if the project supports
-	 * build validation or not, is to see if the ValidationBuilder is configured on that type of
-	 * project.
-	 * <p>
-	 * This is a long-running process - is there any way that I can shorten the amount of time this
-	 * takes?
-	 */
-	public static boolean doesProjectSupportBuildValidation(IProject project) {
-		boolean canRunAV = false;
-		if (project == null) {
-			return canRunAV;
-		}
-
-		try {
-			IProjectDescription description = project.getDescription();
-			ICommand[] commands = description.getBuildSpec(); // don't need to check if description
-			// is null, because it's never null
-			if (commands == null) {
-				return canRunAV;
-			}
-
-			for (int i = 0; i < commands.length; i++) {
-				String builderName = commands[i].getBuilderName();
-				if (builderName == null) {
-					// builder name will be null if it has not been set
-					continue;
-				}
-
-				if (builderName.equals(ValidationPlugin.VALIDATION_BUILDER_ID)) {
-					canRunAV = true;
-					break;
-				}
-			}
-		} catch (CoreException exc) {
-			// if we can't read the information, the project isn't open, so it can't run
-			// auto-validate
-			return false;
-		}
-
-		return canRunAV;
-	}
-
-	/**
-	 * Enable all validators for the current project, and does not touch the auto-validate setting.
-	 */
-	public void enableAllValidators(IProject project, IProgressMonitor monitor) {
-		// Turn auto-validate off
-		//	setAutoValidate(currentProject, false);
-
-		// Enable the individual validators
-		try {
-			ProjectConfiguration prjp = ConfigurationManager.getManager().getProjectConfiguration(project);
-			prjp.setEnabledValidators(prjp.getValidators());
-		} catch (InvocationTargetException e) {
-			ValidationPlugin.getPlugin().handleException(e);
-			ValidationPlugin.getPlugin().handleException(e.getTargetException());
-		}
-	}
-
-	/**
-	 * @deprecated For use by the validation framework only.
-	 * 
-	 * Return a collection of incremental ValidatorMetaData configured on a certain type of IProject
-	 * (e.g. EJB Project vs. Web Project).
-	 */
-	public Set<ValidatorMetaData> getProjectConfiguredIncrementalValidators(IProject project) {
-		try {
-			ProjectConfiguration prjp = ConfigurationManager.getManager().getProjectConfiguration(project);
-			return InternalValidatorManager.wrapInSet(prjp.getIncrementalValidators());
-		} catch (InvocationTargetException e) {
-			ValidationPlugin.getPlugin().handleException(e);
-			ValidationPlugin.getPlugin().handleException(e.getTargetException());
-			return EmptySet;
-		}
-	}
-
-	/**
-	 * @deprecated For use by the validation framework only.
-	 * 
-	 * Return a collection of ValidatorMetaData configured on a certain type of IProject (e.g. EJB
-	 * Project vs. Web Project).
-	 * 
-	 * If the collection has not been calculated before, calculate it now, and cache the result.
-	 */
-	public Set<ValidatorMetaData> getProjectConfiguredValidatorMetaData(IProject project) {
-		try {
-			ProjectConfiguration prjp = ConfigurationManager.getManager().getProjectConfiguration(project);
-			return InternalValidatorManager.wrapInSet(prjp.getValidators());
-		} catch (InvocationTargetException e) {
-			ValidationPlugin.getPlugin().handleException(e);
-			ValidationPlugin.getPlugin().handleException(e.getTargetException());
-			return EmptySet;
-		}
-	}
-
-	/**
-	 * @deprecated For use by the validation framework only.
-	 * 
-	 * Return a collection of ValidatorMetaData enabled on a certain type of IProject (e.g. EJB
-	 * Project vs. Web Project). The second parameter, isIncremental, identifies whether it's the
-	 * incremental, or non-incremental, validators which should be returned. If the parameter is
-	 * true, return incremental validators. If the parameter is false, return nonincremental
-	 * validators.
-	 */
-	public Set<ValidatorMetaData> getProjectEnabledIncrementalValidators(IProject project) {
-		try {
-			ProjectConfiguration prjp = ConfigurationManager.getManager().getProjectConfiguration(project);
-			return InternalValidatorManager.wrapInSet(prjp.getEnabledIncrementalValidators(true));
-		} catch (InvocationTargetException e) {
-			ValidationPlugin.getPlugin().handleException(e);
-			ValidationPlugin.getPlugin().handleException(e.getTargetException());
-			return EmptySet;
-		}
-	}
-
-	/**
-	 * @deprecated For use by the validation framework only.
-	 * 
-	 * Return a collection of ValidatorMetaData enabled on a certain type of IProject (e.g. EJB
-	 * Project vs. Web Project). The second parameter, isIncremental, identifies whether it's the
-	 * incremental, or non-incremental, validators which should be returned. If the parameter is
-	 * true, return incremental validators. If the parameter is false, return nonincremental
-	 * validators.
-	 */
-	public Collection<ValidatorMetaData> getProjectEnabledNonIncrementalValidators(IProject project) {
-		try {
-			ProjectConfiguration prjp = ConfigurationManager.getManager().getProjectConfiguration(project);
-			return InternalValidatorManager.wrapInSet(prjp.getEnabledIncrementalValidators(false));
-		} catch (InvocationTargetException e) {
-			ValidationPlugin.getPlugin().handleException(e);
-			ValidationPlugin.getPlugin().handleException(e.getTargetException());
-			return EmptySet;
-		}
-	}
-
-	/**
-	 * @deprecated For use by the validation framework only.
-	 * 
-	 * Returns a Vector of all ValidatorMetaData who are both configured on this type of project,
-	 * and who are also enabled by this project. If the list of enabled validators hasn't been
-	 * loaded into the cache, load it now. Otherwise, just return it.
-	 */
-	public Set<ValidatorMetaData> getProjectEnabledValidators(IProject project) {
-		return getEnabledValidators(project);
-	}
-
-	public static ValidatorManager getManager() {
-		if (inst == null) {
-			inst = new ValidatorManager();
-		}
-		return inst;
-	}
-
-	public static IResourceUtil getResourceUtil() {
-		if (_resourceUtil == null) {
-			if (_resourceUtilClass == null) {
-				// Since the value returned from this method must never be null,
-				// default the resource util to the headless resource util.
-				_resourceUtilClass = RESOURCEUTIL_DEFAULTCLASS;
-			}
-
-			try {
-				_resourceUtil = (IResourceUtil) _resourceUtilClass.newInstance();
-			} catch (ClassCastException e) {
-				_resourceUtil = null;
-			} catch (InstantiationException e) {
-				_resourceUtil = null;
-			} catch (IllegalAccessException e) {
-				_resourceUtil = null;
-			}
-		}
-		return _resourceUtil;
-	}
-
-	/**
-	 * @deprecated This method is intended for use only by the validation framework. It will be
-	 *             moved to a class in the "internal" package at some time.
-	 */
-	public IMarker[] getValidationTasks(int severity, IProject project) {
-		return getValidationTasks(project, severity);
-	}
-
-	/**
-	 * @deprecated This method is intended for use only by the validation framework. It will be
-	 *             moved to a class in the "internal" package at some time.
-	 */
-	public IMarker[] getValidationTasks(IResource resource, int severity) {
-		return TaskListUtility.getValidationTasks(resource, severity);
-	}
-
-	/**
-	 * @deprecated This method is intended for use only by the validation framework. It will be
-	 *             moved to a class in the "internal" package at some time.
-	 */
-	public IMarker[] getValidationTasks(IResource resource, String[] validatorNames) {
-		return TaskListUtility.getValidationTasks(resource, validatorNames);
-	}
-
-	/**
-	 * @deprecated For use by the validation framework only.
-	 */
-	public ValidatorMetaData getValidatorMetaData(IValidator validator) {
-		return ValidationRegistryReader.getReader().getValidatorMetaData(validator);
-	}
-
-	/**
-	 * @deprecated For use by the validation framework only.
-	 */
-	public Set<ValidatorMetaData> getIncrementalValidators(Collection<ValidatorMetaData> vmds) {
-		if (vmds == null)return new HashSet<ValidatorMetaData>();
-
-		Set<ValidatorMetaData> result = new HashSet<ValidatorMetaData>();
-		for (ValidatorMetaData vmd : vmds) {
-			if (vmd.isIncremental())result.add(vmd);
-		}
-		return result;
-	}
-
-
-	/**
-	 * Return true if the validator identified by validatorId will validate the given resource. If
-	 * either parameter is null, false is returned. If the validator is not registered with the
-	 * validation framework (i.e., either no validator in the activated plugins is identified by
-	 * that plugin id, or the given IResource's project does not run that particular validator),
-	 * then this method will return false.
-	 */
-	public boolean isApplicableTo(String validatorId, IResource res) {
-		if ((validatorId == null) || (res == null)) {
-			return false;
-		}
-
-		ValidatorMetaData vmd = ValidationRegistryReader.getReader().getValidatorMetaData(validatorId);
-		if (vmd == null) {
-			// validator not registered with the framework
-			return false;
-		}
-
-		if (!ValidationRegistryReader.getReader().isConfiguredOnProject(vmd, res.getProject())) {
-			return false;
-		}
-
-		return vmd.isApplicableTo(res);
-	}
-
-
-	public boolean isAutoValidate(IProject project) {
-		return isAutoValidate(project, isGlobalAutoBuildEnabled());
-	}
-
-	/**
-	 * Keeping this API around so as not to break existing code.
-	 * 
-	 * @deprecated use isAutoValidate
-	 */
-	public boolean isAutoValidateChecked(IProject project) {
-		return isAutoValidate(project);
-	}
-
-	/**
-	 * Keeping this API around so as not to break existing code.
-	 * 
-	 * @deprecated use isAutoValidate
-	 */
-	public boolean isAutoValidateChecked(IProject project, boolean isGlobalAutoBuildOn) {
-		return isAutoValidate(project, isGlobalAutoBuildOn);
-	}
-
-	/**
-	 * This method returns true if validate will run when there is a resource change. The following
-	 * attributes are checked: 1. does this project have auto-validate on or off? 2. if this project
-	 * does not have an auto-validate value set, is the global auto-validate preference on? 3. if 1
-	 * or 2 is true, does the project support auto-validate? 4. if 1/2, & 3, is auto-build on? 5. if
-	 * 1/2, 3, and 4, is there at least one incremental validator enabled on the project?
-	 * 
-	 * @deprecated auto validate is not used any more
-	 */
-	public boolean isAutoValidate(IProject project, boolean isGlobalAutoBuildOn) {
-		/*try {
-			// 1. does the project have auto-validate on or off?
-			boolean isAutoValidate = ConfigurationManager.getManager().getProjectConfiguration(project).isAutoValidate();
-			if (!isAutoValidate) {
-				return false;
-			}
-
-			// 3. does the project support auto-validate?
-			// 4. is auto-build on?
-			// 5. is there at least one incremental validator enabled on the project?
-			
-			 * Auto-validation, on the properties page, can be enabled under these conditions: 1.
-			 * the project supports auto-validation, AND 2. fhe platform's global "automatically
-			 * build" is selected, AND 3. at least one of the project's validators supports
-			 * incremental validation. Without #1, the ValidationBuilder is never called because
-			 * it's not configured on the project. Without #2, the ValidationBuilder will not be
-			 * called because auto-building is turned off. Without #3, the ValidationBuilder will be
-			 * called, but there's no point because no validators can run.
-			 
-			return canAutoValidateButtonBeEnabled(project, isGlobalAutoBuildOn);
-		} catch (InvocationTargetException exc) {
-			Logger logger = ValidationPlugin.getPlugin().getMsgLogger();
-			if (logger.isLoggingLevel(Level.SEVERE)) {
-				LogEntry entry = ValidationPlugin.getLogEntry();
-				entry.setSourceIdentifier("ValidatorManager.canAutoValidateButtonBeEnabled(" + project.getName() + ")"); //$NON-NLS-1$  //$NON-NLS-2$
-				entry.setTargetException(exc);
-				logger.write(Level.SEVERE, entry);
-
-				if (exc.getTargetException() != null) {
-					entry.setTargetException(exc);
-					logger.write(Level.SEVERE, entry);
-				}
-			}
-
-			// If the user's setting can't be retrieved, return the default
-			return ValidationConfiguration.getAutoValidateDefault();
-		}*/
-		return false;
-	}
-
-	public boolean canAutoValidateButtonBeEnabled(IProject project) {
-		return canAutoValidateButtonBeEnabled(project, isGlobalAutoBuildEnabled());
-	}
-
-	/**
-	 * @deprecated For use by the validation framework only.
-	 */
-	public Set<ValidatorMetaData> getEnabledIncrementalValidators(IProject project) {
-		try {
-			ProjectConfiguration prjp = ConfigurationManager.getManager().getProjectConfiguration(project);
-			ValidatorMetaData[] vmds = prjp.getEnabledIncrementalValidators(true);
-			return InternalValidatorManager.wrapInSet(vmds);
-		} catch (InvocationTargetException e) {
-			ValidationPlugin.getPlugin().handleException(e);
-			ValidationPlugin.getPlugin().handleException(e.getTargetException());
-			return EmptySet;
-		}
-	}
-
-	/**
-	 * @deprecated For use by the validation framework only.
-	 * 
-	 * Given a checked list of enabled validators, return a set of the ones which are configured on
-	 * the project and, if getIncremental is true, which also run incrementally.
-	 */
-	public Set<ValidatorMetaData> getProjectConfiguredValidators(IProject project, Object[] enabledVal, 
-			boolean getIncremental) {
-		if ((project == null) || (enabledVal == null) || (enabledVal.length == 0)) {
-			return new HashSet<ValidatorMetaData>();
-		}
-
-		Set<ValidatorMetaData> val = new HashSet<ValidatorMetaData>();
-		for (int i = 0; i < enabledVal.length; i++) {
-			ValidatorMetaData vmd = (ValidatorMetaData) enabledVal[i];
-			if (!vmd.isConfiguredOnProject(project))continue;
-
-			if (!getIncremental || vmd.isIncremental())val.add(vmd);
-		}
-		return val;
-	}
-
-	public boolean containsIncrementalValidators(Object[] enabledVal) {
-		if ((enabledVal == null) || (enabledVal.length == 0)) {
-			return false;
-		}
-
-		for (int i = 0; i < enabledVal.length; i++) {
-			ValidatorMetaData vmd = (ValidatorMetaData) enabledVal[i];
-
-			if (vmd.isIncremental()) {
-				return true;
-			}
-		}
-
-		return false;
-	}
-
-	/**
-	 * For use by the validation framework only.
-	 */
-	protected Set<ValidatorMetaData> getEnabledValidators(IProject project) {
-		try {
-			ValidatorMetaData[] vmds = null;
-			ProjectConfiguration prjp = ConfigurationManager.getManager().getProjectConfiguration(project);
-			if(!prjp.useGlobalPreference()) 
-			   vmds = prjp.getEnabledValidators();
-			else
-			   vmds = getStateOfProjectLevelValidatorsFromGlobal(prjp);
-			return InternalValidatorManager.wrapInSet(vmds);
-		} catch (InvocationTargetException e) {
-			ValidationPlugin.getPlugin().handleException(e);
-			ValidationPlugin.getPlugin().handleException(e.getTargetException());
-			return EmptySet;
-		}
-	}
-
-	private ValidatorMetaData[] getStateOfProjectLevelValidatorsFromGlobal(ProjectConfiguration prjp) throws InvocationTargetException {
-		List<ValidatorMetaData> enabledGlobalValidatorsForProject = new ArrayList<ValidatorMetaData>();
-		GlobalConfiguration gf = ConfigurationManager.getManager().getGlobalConfiguration();
-		List<String> allProjectValidator = getAllValidatorUniqueNames(prjp.getValidators());
-		for(ValidatorMetaData vmd : gf.getBuildEnabledValidators()) {
-			if(allProjectValidator.contains(vmd.getValidatorUniqueName())) {
-				enabledGlobalValidatorsForProject.add(vmd);
-			}
-	   }
-		return (ValidatorMetaData[]) enabledGlobalValidatorsForProject.toArray(new ValidatorMetaData[enabledGlobalValidatorsForProject.size()]);
-	}
-	
-	private List<String> getAllValidatorUniqueNames(ValidatorMetaData[] metaData) {
-		List<String> names = new ArrayList<String>();
-		for(ValidatorMetaData vmd : metaData) {
-			names.add(vmd.getValidatorUniqueName());
-		}
-		return names;
-	}
-	
-	
-
-	protected Set<ValidatorMetaData> getManualEnabledValidators(IProject project) {
-		try {
-			ProjectConfiguration prjp = ConfigurationManager.getManager().getProjectConfiguration(project);
-			ValidatorMetaData[] vmds = prjp.getManualEnabledValidators();
-			return InternalValidatorManager.wrapInSet(vmds);
-		} catch (InvocationTargetException e) {
-			ValidationPlugin.getPlugin().handleException(e);
-			ValidationPlugin.getPlugin().handleException(e.getTargetException());
-			return EmptySet;
-		}
-	}	
-	
-	protected Set<ValidatorMetaData> getBuildEnabledValidators(IProject project) {
-		try {
-			ProjectConfiguration prjp = ConfigurationManager.getManager().getProjectConfiguration(project);
-			ValidatorMetaData[] vmds = prjp.getBuildEnabledValidators();
-			return InternalValidatorManager.wrapInSet(vmds);
-		} catch (InvocationTargetException e) {
-			ValidationPlugin.getPlugin().handleException(e);
-			ValidationPlugin.getPlugin().handleException(e.getTargetException());
-			return EmptySet;
-		}
-	}	
-	
-	/**
-	 * This method is for use only by the validation framework. Update the task list based on which
-	 * validators are enabled or disabled. This method should be called only by the validation
-	 * framework UI classes. Remove the messages belonging to disabled validators.
-	 */
-	public void updateTaskList(IProject project) {
-		try {
-			ProjectConfiguration prjp = ConfigurationManager.getManager().getProjectConfiguration(project);
-			ValidatorMetaData[] vmds = prjp.getDisabledValidators();
-			for (int i = 0; i < vmds.length; i++) {
-				ValidatorMetaData vmd = vmds[i];
-				// For validators who aren't going to run, clear their messages from the task list.
-				// Don't need to check for duplicate entries because each Validator must be unique.
-				// The uniqueness of each Validator is checked by the plugin registry.
-				WorkbenchReporter.removeAllMessages(project, vmd.getValidatorNames(), null);
-			}
-			 //Message Limit is removed from the framework - WTP1.5M5
-			/*if (prjp.numberOfEnabledValidators() > 0) {
-				ValidatorManager.getManager().checkMessageLimit(project, false); // Do not remove
-				// the exceeded
-				// message; only
-				// ValidationOperation
-				// should do that
-				// because it's
-				// about to run
-				// validation. If
-				// the limit is
-				// increased,
-				// messages may
-				// still be
-				// missing, so
-				// don't remove the
-				// "messages may be
-				// missing"
-				// message.
-			} else {
-				// Can't run validation, so remove the "exceeded" message
-				ValidatorManager.getManager().removeMessageLimitExceeded(project);
-			}*/
-		} catch (InvocationTargetException e) {
-			ValidationPlugin.getPlugin().handleException(e);
-			ValidationPlugin.getPlugin().handleException(e.getTargetException());
-		}
-	}
-
-
-	public boolean canAutoValidateButtonBeEnabled(IProject project, boolean isGlobalAutoBuildOn) {
-		try {
-			ProjectConfiguration prjp = ConfigurationManager.getManager().getProjectConfiguration(project);
-			boolean incrementalValEnabled = (prjp.numberOfEnabledIncrementalValidators() > 0);
-			return canAutoValidateButtonBeEnabled(project, isGlobalAutoBuildOn, incrementalValEnabled);
-		} catch (InvocationTargetException e) {
-			ValidationPlugin.getPlugin().handleException(e);
-			ValidationPlugin.getPlugin().handleException(e.getTargetException());
-			return false;
-		}
-	}
-
-	public boolean canAutoValidateButtonBeEnabled(IProject project, boolean isGlobalAutoBuildOn, boolean incrementalValEnabled) {
-		boolean doesProjectSupportAutoValidate = doesProjectSupportBuildValidation(project);
-		return (doesProjectSupportAutoValidate && isGlobalAutoBuildOn && incrementalValEnabled);
-	}
-
-	/**
-	 * Return true if the validator identified by the String is configured on the IProject and
-	 * enabled on the IProject. Otherwise return false;
-	 */
-	public boolean isEnabled(IProject project, String validatorName) {
-		try {
-			ProjectConfiguration prjp = ConfigurationManager.getManager().getProjectConfiguration(project);
-			return prjp.isEnabled(validatorName);
-		} catch (InvocationTargetException e) {
-			ValidationPlugin.getPlugin().handleException(e);
-			ValidationPlugin.getPlugin().handleException(e.getTargetException());
-			return false;
-		}
-	}
-
-	/**
-	 * @deprecated For use by the validation framework only. Return true if the ValidatorMetaData is
-	 *             enabled for the given project
-	 */
-	public boolean isEnabled(IProject project, ValidatorMetaData vmd) {
-		try {
-			ProjectConfiguration prjp = ConfigurationManager.getManager().getProjectConfiguration(project);
-			return prjp.isEnabled(vmd);
-		} catch (InvocationTargetException e) {
-			ValidationPlugin.getPlugin().handleException(e);
-			ValidationPlugin.getPlugin().handleException(e.getTargetException());
-			return false;
-		}
-	}
-
-	/**
-	 * @deprecated For use by the validation framework only.
-	 */
-	public boolean isConfigured(IProject project, ValidatorMetaData vmd) {
-		return ValidationRegistryReader.getReader().isConfiguredOnProject(vmd, project);
-	}
-
-	/**
-	 * This method returns true if the global auto-build setting is turned on.
-	 */
-	public boolean isGlobalAutoBuildEnabled() {
-		return ResourcesPlugin.getWorkspace().isAutoBuilding();
-	}
-
-	/**
-	 * Returns the number of enabled validators on the given project.
-	 */
-	public int numberProjectEnabledValidators(IProject project) {
-		if (project == null) {
-			return 0;
-		}
-
-		try {
-			ProjectConfiguration prjp = ConfigurationManager.getManager().getProjectConfiguration(project);
-			return prjp.numberOfEnabledValidators();
-		} catch (InvocationTargetException e) {
-			ValidationPlugin.getPlugin().handleException(e);
-			ValidationPlugin.getPlugin().handleException(e.getTargetException());
-			return 0;
-		}
-	}
-
-
-	/**
-	 * @deprecated Use ValidationFramework.suspendValidation(project, suspend) directly.
-	 * @see ValidationFramework#suspendValidation(IProject, boolean)
-	 */
-	public void suspendValidation(IProject project, boolean suspend) {
-		ValidationFramework.getDefault().suspendValidation(project, suspend);
-	}
-
-	/**
-	 * @deprecated Use ValidationFramework.getDefault().suspendAllValidation(suspend) directly.
-	 * @see ValidationFramework#suspendAllValidation(boolean)
-	 */
-	public void suspendAllValidation(boolean suspend) {
-		ValidationFramework.getDefault().suspendAllValidation(suspend);
-	}
-
-	/**
-	 * @deprecated Use ValidationFramework.getDefault().isSuspended() directly.
-	 * @see ValidationFramework#isSuspended()
-	 */
-	public boolean isSuspended() {
-		return ValidationFramework.getDefault().isSuspended();
-	}
-
-	/**
-	 * @deprecated Use ValidationFramework.getDefault().isSuspended(project) directly.
-	 * @see ValidationFramework#isSuspended(IProject)
-	 */
-	public boolean isSuspended(IProject project) {
-		return ValidationFramework.getDefault().isSuspended(project);
-	}
-
-	/**
-	 * @deprecated Use ValidationFramework.getDefault().isProjectSuspended(project) directly.
-	 * @see ValidationFramework#isProjectSuspended(IProject)
-	 */
-	public boolean isProjectSuspended(IProject project) {
-		return ValidationFramework.getDefault().isProjectSuspended(project);
-	}
-
-	/**
-	 * @deprecated For use by the validation framework only.
-	 * 
-	 * Given a list of validators' plugin ids, make those validators enabled for this project. All
-	 * others, disable for this project.
-	 */
-	public void setEnabledValidators(IProject project, Set<ValidatorMetaData> vmdsSet, IProgressMonitor monitor) {
-		try {
-			ProjectConfiguration prjp = ConfigurationManager.getManager().getProjectConfiguration(project);
-			ValidatorMetaData[] vmds = null;
-			if (vmdsSet == null) {
-				vmds = new ValidatorMetaData[0];
-			} else {
-				vmds = new ValidatorMetaData[vmdsSet.size()];
-				vmdsSet.toArray(vmds);
-			}
-
-			prjp.setEnabledValidators(vmds);
-
-			updateTaskList(project);
-		} catch (InvocationTargetException e) {
-			ValidationPlugin.getPlugin().handleException(e);
-			ValidationPlugin.getPlugin().handleException(e.getTargetException());
-		}
-	}
-
-	public static void setResourceUtilClass(Class clazz) {
-		_resourceUtilClass = clazz;
-	}
-
-	/**
-	 * This method is for use by batch EJB deploy only. Only in batch mode is an infinite number of
-	 * messages allowed.
-	 * 
-	 * Enable a project to have an infinite number of messages.
-	 * @deprecated
-	 */
-	public void setNoMessageLimit(IProject project) {/*
-		setMessageLimit(project, WorkbenchReporter.NO_MESSAGE_LIMIT);
-	*/}
-
-	/**
-	 * This message is for use only by the validation framework. If the "max messages were reported"
-	 * IMarker exists, return it. Otherwise return null.
-	 */
-	private IMarker[] getLimitMessage(IProject project) {
-		IMarker[] exceededMessage = TaskListUtility.getValidationTasks(project, WorkbenchReporter.getUniqueId(getMessageLimitOwner()));
-		if ((exceededMessage != null) && (exceededMessage.length != 0)) {
-			return exceededMessage;
-		}
-
-		return null;
-	}
-
-//	/**
-//	 * Return true if the given IMarker is a "limit was exceeded" message, false otherwise.
-//	 */
-//	private boolean isLimitMessage(IMarker marker) {
-//		if (marker == null) {
-//			return false;
-//		}
-//
-//		return TaskListUtility.isOwner(marker, WorkbenchReporter.getUniqueId(getMessageLimitOwner()));
-//	}
-
-//	/**
-//	 * Return all of the IMarkers on the IProject excluding the "limit was exceeded" message. If
-//	 * there are no markers, return null.
-//	 */
-//	private IMarker[] getValidationTasksWithoutLimitMessage(IProject project) {
-//		IMarker[] allTasks = TaskListUtility.getValidationTasks(project, IMessage.ALL_MESSAGES);
-//		if ((allTasks == null) || (allTasks.length == 0)) {
-//			return null;
-//		}
-//
-//		// Don't check if the limit message exists because
-//		// any interaction with markers is costly. Since the
-//		// interaction has to be done at least once, make that
-//		// single occasion in the for loop below.
-//		IMarker[] validatorMessages = new IMarker[allTasks.length];
-//		int count = 0; // how many markers have been added to the result array?
-//		for (int i = 0; i < allTasks.length; i++) {
-//			IMarker marker = allTasks[i];
-//			if (isLimitMessage(marker)) {
-//				continue;
-//			}
-//			validatorMessages[count++] = marker;
-//		}
-//
-//		IMarker[] result = new IMarker[count];
-//		System.arraycopy(validatorMessages, 0, result, 0, count);
-//		return result;
-//	}
-
-	/**
-	 * This method should be called only by the validation framework. Return true if the message was
-	 * removed, false if the message didn't exist.
-	 * @deprecated This method should be not be used anymore as Message Limit is removed from
-	 * the framework - WTP1.5M5
-	 */
-	public boolean removeMessageLimitExceeded(IProject project) {
-		IMarker[] exceededMessage = getLimitMessage(project);
-		if (exceededMessage != null) {
-			try {
-				ResourcesPlugin.getWorkspace().deleteMarkers(exceededMessage);
-				return true;
-			} catch (CoreException e) {
-				ValidationPlugin.getPlugin().handleException(e);
-			}
-		}
-		return false;
-	}
-
-	/**
-	 * Return true if the last validation operation terminated due to the maximum number of messages
-	 * having already been reported.
-	 */
-	public boolean wasValidationTerminated(IProject project) {
-		IMarker[] exceededMessage = getLimitMessage(project);
-		return (exceededMessage != null); // Validation was terminated if the message exists.
-	}
-
-	private Class getMessageLimitOwner() {
-		if (_messageLimitOwner == null) {
-			_messageLimitOwner = getClass();
-		}
-		return _messageLimitOwner;
-	}
-
-	/**
-	 * Return true if owner is the name of the class which owns validation framework status
-	 * messages.
-	 * 
-	 * ONLY the validation framework should use this method.
-	 */
-	public boolean isInternalOwner(String owner) {
-		if (owner == null) {
-			return false;
-		}
-
-		for (int i = 0; i < _internalOwners.length; i++) {
-			String internalOwner = _internalOwners[i];
-			if (owner.equals(internalOwner)) {
-				return true;
-			}
-		}
-
-		return false;
-	}
-
-	/**
-	 * Add a class to the list of owners of validation messages. ONLY by the validation framework
-	 * should use this method (it is used for messages owned by framework classes or classes used by
-	 * the TVT plugin.)
-	 */
-	public void addInternalOwner(Class clazz) {
-		if (clazz == null) {
-			return;
-		}
-
-		String[] tempInternalOwners = new String[_internalOwners.length + 1];
-		if (_internalOwners.length > 0) {
-			System.arraycopy(_internalOwners, 0, tempInternalOwners, 0, _internalOwners.length);
-		}
-		tempInternalOwners[_internalOwners.length] = WorkbenchReporter.getUniqueId(clazz);
-
-		_internalOwners = tempInternalOwners;
-	}
-	
-	public void cacheMessage(IValidatorJob validator, MessageInfo info){
-		List<MessageInfo> list = _validatorMsgs.get(validator);
-		if( list == null ){
-			list = new ArrayList<MessageInfo>();
-			_validatorMsgs.put(validator, list);
-		}
-		list.add(info);
-	}
-	
-	public List<MessageInfo> getMessages(IValidatorJob validator){
-		List<MessageInfo> list = _validatorMsgs.get(validator);
-		if( list == null )list = new ArrayList<MessageInfo>();		
-		return list;
-	}
-	
-	public void clearMessages(IValidatorJob validator){
-		List<MessageInfo> list = _validatorMsgs.get(validator);
-		if( list != null ){
-			list.clear();
-		}
-		_validatorMsgs.remove( validator );
-	}
-
-	
-	public Set<ValidatorMetaData> getProblemValidators() {
-		return _problemValidators;
-	}
-	
-}
diff --git a/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/operations/ValidatorSubsetOperation.java b/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/operations/ValidatorSubsetOperation.java
deleted file mode 100644
index 274ddec..0000000
--- a/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/operations/ValidatorSubsetOperation.java
+++ /dev/null
@@ -1,277 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.validation.internal.operations;
-
-
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.Set;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.wst.validation.internal.FilterUtil;
-import org.eclipse.wst.validation.internal.InternalValidatorManager;
-import org.eclipse.wst.validation.internal.RegistryConstants;
-import org.eclipse.wst.validation.internal.ResourceConstants;
-import org.eclipse.wst.validation.internal.ResourceHandler;
-import org.eclipse.wst.validation.internal.ValidationRegistryReader;
-import org.eclipse.wst.validation.internal.ValidatorMetaData;
-
-
-/**
- * Run some validators on a given IProject. Any validators which cannot be loaded or which are not
- * registered against this type of project will be ignored.
- * 
- * This operation is not intended to be subclassed outside of the validation framework.
- */
-public class ValidatorSubsetOperation extends ValidationOperation {
-	// By default, assume that there is no default fallback extension
-	protected static final String DEFAULT_DEFAULTEXTENSION = null; 
-
-	/**
-	 * Create an operation that runs a full validation on the named validators either if validation
-	 * needs to (@see ValidatorSubsetOperation(IProject)) or if <code>force</code> is true.
-	 * 
-	 * IProject must exist and be open.
-	 * 
-	 * If async is true, the validation will run all thread-safe validators in the background
-	 * validation thread, and all other validators in the main thread. If async is false, all
-	 * validators will run in in the main thread.
-	 */
-	public ValidatorSubsetOperation(IProject project, boolean force, boolean async) {
-		this(project, force, RegistryConstants.ATT_RULE_GROUP_DEFAULT, async);
-	}
-
-	/**
-	 * Create an operation that runs a full validation on the named validators using the
-	 * <code>ruleGroup</code> pass. Use this constructor only if you want to run a validator that
-	 * supports the two passes: FAST and FULL.
-	 * 
-	 * If force is true, validation is run whether or not it needs to.
-	 * 
-	 * IProject must exist and be open.
-	 * 
-	 * If async is true, the validation will run all thread-safe validators in the background
-	 * validation thread, and all other validators in the main thread. If async is false, all
-	 * validators will run in in the main thread.
-	 */
-	public ValidatorSubsetOperation(IProject project, IWorkbenchContext aWorkenchContext, boolean force, int ruleGroup, boolean async) {
-		super(project, aWorkenchContext, null, null, ruleGroup, force, async);
-	}
-	
-
-	/**
-	 * Create an operation that runs a full validation on the named validators using the
-	 * <code>ruleGroup</code> pass. Use this constructor only if you want to run a validator that
-	 * supports the two passes: FAST and FULL.
-	 * 
-	 * If force is true, validation is run whether or not it needs to.
-	 * 
-	 * IProject must exist and be open.
-	 * 
-	 * If async is true, the validation will run all thread-safe validators in the background
-	 * validation thread, and all other validators in the main thread. If async is false, all
-	 * validators will run in in the main thread.
-	 */
-	public ValidatorSubsetOperation(IProject project, boolean force, int ruleGroup, Object[] changedResources, boolean async) {
-		super(project, null, null, ruleGroup, force, async);
-		setEnabledValidators(ValidatorManager.getManager().getManualEnabledValidators(project));
-		setFileDeltas(FilterUtil.getFileDeltas(getEnabledValidators(), changedResources, false));
-	}
-	
-	/**
-	 * Create an operation that runs a full validation on the named validators using the
-	 * <code>ruleGroup</code> pass. Use this constructor only if you want to run a validator that
-	 * supports the two passes: FAST and FULL.
-	 * 
-	 * If force is true, validation is run whether or not it needs to.
-	 * 
-	 * IProject must exist and be open.
-	 * 
-	 * If async is true, the validation will run all thread-safe validators in the background
-	 * validation thread, and all other validators in the main thread. If async is false, all
-	 * validators will run in in the main thread.
-	 */
-	public ValidatorSubsetOperation(IProject project, boolean force, int ruleGroup, boolean async) {
-		super(project, null, null, ruleGroup, force, async);
-	}
-
-	/**
-	 * The fileExtension parameter must be ".X", where X is the extension. Do not type "*.X" or "X"
-	 * (i.e., without the dot). The parameter could also be the file name, e.g. "foo.X".
-	 * 
-	 * This constructor should be used when the invoker wishes to force validation on certain
-	 * resources, without waiting for the user to save their changes.
-	 * 
-	 * An IllegalArgumentException is thrown if there are no validators registered for the
-	 * fileExtension on the given IProject.
-	 * 
-	 * IProject must exist and be open.
-	 * 
-	 * If async is true, the validation will run all thread-safe validators in the background
-	 * validation thread, and all other validators in the main thread. If async is false, all
-	 * validators will run in in the main thread.
-	 */
-	public ValidatorSubsetOperation(IProject project, String fileExtension, Object[] changedResources, boolean async) throws IllegalArgumentException {
-		this(project, fileExtension, DEFAULT_DEFAULTEXTENSION, changedResources, async);
-	}
-
-	/**
-	 * The fileExtension parameter must be ".X", where X is the extension. Do not type "*.X" or "X"
-	 * (i.e., without the dot). The parameter could also be the file name, e.g. "foo.X".
-	 * 
-	 * This constructor should be used when the invoker wishes to force validation on certain
-	 * resources, without waiting for the user to save their changes.
-	 * 
-	 * If there are no validators configured on files named ".X", then use the validators configured
-	 * on validators named ".Y", where defaultExtension identifies the fallback extension to use.
-	 * defaultExtension follows the same syntax as fileExtension.
-	 * 
-	 * An IllegalArgumentException is thrown if there are no validators registered for the
-	 * fileExtension or defaultExtension on the given IProject.
-	 * 
-	 * IProject must exist and be open.
-	 * 
-	 * If async is true, the validation will run all thread-safe validators in the background
-	 * validation thread, and all other validators in the main thread. If async is false, all
-	 * validators will run in in the main thread.
-	 */
-	public ValidatorSubsetOperation(IProject project, String fileExtension, String defaultExtension, Object[] changedResources, boolean async) throws IllegalArgumentException {
-		super(project, shouldForce(changedResources), async);
-
-		// force the resources to be filtered in even if the validator doesn't normally take them?
-		boolean filterIn = false; 
-		
-		// a list of validators which are configured to run on files with that extension.
-		// A validator will be in the list whether it has been enabled or disabled by the user.
-		ValidatorMetaData[] vmds = InternalValidatorManager.getManager().getValidatorsForExtension(project, fileExtension);
-		if ((defaultExtension != null) && ((vmds == null) || (vmds.length == 0))) {
-			filterIn = true;
-			vmds = InternalValidatorManager.getManager().getValidatorsForExtension(project, defaultExtension);
-		}
-
-		if ((vmds == null) || (vmds.length == 0)) {
-			throw new IllegalArgumentException();
-		}
-
-		setEnabledValidators(InternalValidatorManager.wrapInSet(vmds));
-
-		// construct an array of IFileDelta[] to wrap the Object[];
-		// one IFileDelta for each Object in the array
-		setFileDeltas(FilterUtil.getFileDeltas(getEnabledValidators(), changedResources, filterIn));
-	}
-
-	/**
-	 * This constructor is provided for the validation async testing, and is not intended to be
-	 * called outside the validation framework.
-	 * 
-	 * Run validation on the changed resources with the given validators. All resources must be from
-	 * the same project; if they're not, an IllegalArgumentException will be thrown. All validators
-	 * must be able to run on the resources' project; if not, an IllegalArgumentException will be
-	 * thrown. If the vmds are either empty or null, an IllegalArgumentExeption will be thrown. If
-	 * the project is closed or doesn't exist then an IllegalArgumentException will be thrown.
-	 * 
-	 * The ifileDeltaType is one of the IFileDelta constants: ADDED, CHANGED, or DELETED.
-	 * 
-	 * IProject must exist and be open.
-	 * 
-	 * If async is true, the validation will run all thread-safe validators in the background
-	 * validation thread, and all other validators in the main thread. If async is false, all
-	 * validators will run in in the main thread.
-	 */
-	public ValidatorSubsetOperation(IProject project, ValidatorMetaData[] vmds, IResource[] changedResources, int ifileDeltaType, boolean force, boolean async) throws IllegalArgumentException {
-		// Have to have the IProject as a parameter because ValidationOperation needs the IProject,
-		// and the super(..)
-		// must be called before anything else in this constructor is called.
-		super(project, force, async);
-
-		if ((vmds == null) || (vmds.length == 0)) {
-			throw new IllegalArgumentException(ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_EXC_BADVMD));
-		}
-
-		if (!project.isOpen()) {
-			throw new IllegalArgumentException(ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_EXC_OPENPRJ, new String[]{project.getName()}));
-		}
-		if (!project.exists()) {
-			throw new IllegalArgumentException(ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_EXC_EXISTPRJ, new String[]{project.getName()}));
-		}
-
-		if ((changedResources != null) && (changedResources.length > 0)) {
-			Set<IProject> tempSet = new HashSet<IProject>();
-			for (int i = 0; i < changedResources.length; i++) {
-				IProject p = changedResources[i].getProject();
-				if (!p.isOpen()) {
-					throw new IllegalArgumentException(ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_EXC_OPENPRJ, new String[]{p.getName()}));
-				}
-				if (!p.exists()) {
-					throw new IllegalArgumentException(ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_EXC_EXISTPRJ, new String[]{p.getName()}));
-				}
-				tempSet.add(project);
-			}
-
-			if (!tempSet.contains(project)) {
-				throw new IllegalArgumentException(ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_EXC_BADPRJ, new String[]{project.getName()}));
-			}
-			if (tempSet.size() != 1) {
-				StringBuffer buffer = new StringBuffer("\n"); //$NON-NLS-1$
-				Iterator<IProject> iterator = tempSet.iterator();
-				while (iterator.hasNext()) {
-					IProject p = iterator.next();
-					buffer.append("\t"); //$NON-NLS-1$
-					buffer.append(p.getName());
-					if (iterator.hasNext()) {
-						buffer.append(", "); //$NON-NLS-1$
-					}
-				}
-				throw new IllegalArgumentException(ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_EXC_MULTIPRJ, new String[]{buffer.toString()}));
-			}
-		}
-
-		for (int i = 0; i < vmds.length; i++) {
-			ValidatorMetaData vmd = vmds[i];
-			if (!ValidationRegistryReader.getReader().isConfiguredOnProject(vmd, project)) {
-				throw new IllegalArgumentException(ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_EXC_BADVAL, new String[]{vmd.getValidatorDisplayName(), project.getName()}));
-			}
-		}
-
-		setEnabledValidators(InternalValidatorManager.wrapInSet(vmds));
-		setFileDeltas(FilterUtil.getFileDeltas(getEnabledValidators(), changedResources, ifileDeltaType)); // construct
-		// an array of IFileDelta[] to wrap the IResource[]; one IFileDelta for each IResource in the array
-	}
-
-	/**
-	 * Given an array of fully-qualified class names of validators, create the list of validators to
-	 * be run. The array is not checked for duplicates or for invalid validators (i.e., a validator
-	 * of that class type is not loaded, or the validator is loaded but cannot run against this type
-	 * of IProject.)
-	 */
-	public void setValidators(String[] validatorNames) throws IllegalArgumentException {
-		Set<ValidatorMetaData> enabled = new HashSet<ValidatorMetaData>();
-		for (String name : validatorNames) {
-			ValidatorMetaData vmd = ValidationRegistryReader.getReader().getValidatorMetaData(name);
-			if (vmd == null) {
-				// No validator, with that plug-in id, can be run on that project.
-				// Either the validator isn't installed, or the IProject passed in
-				// doesn't have the necessary nature.
-				throw new IllegalArgumentException(name);
-			}
-			enabled.add(vmd);
-		}
-		setEnabledValidators(enabled);
-	}
-
-	/**
-	 * @deprecated Will be removed in Milestone 3. Use setForce(boolean)
-	 */
-	public void setAlwaysRun(boolean force) {
-		setForce(force);
-	}
-}
diff --git a/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/operations/WorkbenchContext.java b/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/operations/WorkbenchContext.java
deleted file mode 100644
index eea36c1..0000000
--- a/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/operations/WorkbenchContext.java
+++ /dev/null
@@ -1,729 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.validation.internal.operations;
-
-import java.lang.reflect.InvocationTargetException;
-import java.lang.reflect.Method;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Hashtable;
-import java.util.List;
-
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IFolder;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.wst.validation.internal.RegistryConstants;
-import org.eclipse.wst.validation.internal.Tracing;
-import org.eclipse.wst.validation.internal.plugin.ValidationPlugin;
-import org.eclipse.wst.validation.internal.provisional.core.IMessage;
-
-/**
- * Abstract base class for registration of symbolic model names, and also provides the mechanism for
- * registering the load model method which loads a specific type of MOF model, as identified by the
- * symbolic model name.
- */
-public class WorkbenchContext implements IWorkbenchContext {
-	private IProject 	_project;
-	private Hashtable<String,Method> 	_modelRegistry;
-	private int 		_ruleGroup = RegistryConstants.ATT_RULE_GROUP_DEFAULT;
-	public List<String> validationFileURIs; 
-	public static final String GET_PROJECT_FILES = "getAllFiles"; //$NON-NLS-1$
-	public static final String GET_FILE = "getFile"; //$NON-NLS-1$
-	public static final String VALIDATION_MARKER = "com.ibm.etools.validation.problemmarker"; //$NON-NLS-1$
-	public static final String VALIDATION_MARKER_OWNER = "owner";  //$NON-NLS-1$
-
-	public WorkbenchContext() {
-		super();
-		_modelRegistry = new Hashtable<String, Method>();
-
-		registerModel(IRuleGroup.PASS_LEVEL, "loadRuleGroup"); //$NON-NLS-1$
-		
-		//the following will register the helper's symbolic methods
-	    Class [] args = new Class[1] ;
-	    args[0] = String.class ;  // a string argument denoting a specific JSP.
-		registerModel(GET_FILE, "getFile", args);//$NON-NLS-1$
-		registerModel(GET_PROJECT_FILES, "getFiles", args);//$NON-NLS-1$
-	}
-
-	/**
-	 * When the validation is complete, this method will be called so that the IWorkbenchContext can
-	 * clean up any resources it allocated during the validation.
-	 * 
-	 * If the cleanup is a long-running operation, subtask messages should be sent to the IReporter.
-	 */
-	public void cleanup(WorkbenchReporter reporter) {
-		// Default: nothing to clean up
-	}
-
-	/**
-	 * When the IProject is closing, perform any cleanup that needs to be done. When this method is
-	 * called, if the helper has cached any resources from the IProject, it should release those
-	 * resources. If you do not allocate resources in your helper, then this method should be a
-	 * no-op.
-	 */
-	public void closing() {
-		closing(getProject());
-	}
-
-	/**
-	 * When the IProject is closing, perform any cleanup that needs to be done. When this method is
-	 * called, if the helper has cached any resources from the IProject, it should release those
-	 * resources. If you do not allocate resources in your helper, then this method should be a
-	 * no-op.
-	 * 
-	 * @deprecated Override closing() instead, and use getProject()
-	 */
-	public void closing(IProject project) {
-		//do nothing
-	}
-
-	/**
-	 * When the IProject is being deleted, perform any cleanup that needs to be done. When this
-	 * method is called, if the helper has cached any resources from the IProject, it should release
-	 * those resources. If you do not allocate resources in your helper, then this method should be
-	 * a no-op.
-	 */
-	public void deleting() {
-		deleting(getProject());
-	}
-
-	/**
-	 * When the IProject is being deleted, perform any cleanup that needs to be done. When this
-	 * method is called, if the helper has cached any resources from the IProject, it should release
-	 * those resources. If you do not allocate resources in your helper, then this method should be
-	 * a no-op.
-	 * 
-	 * @deprecated Override deleting() instead, and use getProject()
-	 */
-	public void deleting(IProject project) {
-		//do nothing
-	}
-
-	/**
-	 * Returns the IPath of a resource, relative to the container. If the IResource is not a member
-	 * of the container, return null. This method should be useful for implementors of this class;
-	 * specifically, in their getPortableName method.
-	 */
-	public static String getContainerRelativePath(String fullPath, IContainer container) {
-		if ((fullPath == null) || (container == null))
-			return null;
-		IPath relPath = getContainerRelativePath(new Path(fullPath), container);
-		if (relPath != null)
-			return relPath.toString();
-		return null;
-	}
-
-	/**
-	 * Returns the IPath of a resource, relative to the container. If the IResource is not a member
-	 * of the container, return null. This method should be useful for implementors of this class;
-	 * specifically, in their getPortableName method.
-	 */
-	public static IPath getContainerRelativePath(IResource resource, IContainer container) {
-		if ((resource == null) || (container == null)) {
-			return null;
-		}
-
-		IResource foundResource = null;
-		IPath relPath = getContainerRelativePath(resource.getFullPath(), container);
-		if (relPath != null) {
-			// if relPath is null, the resource is not a direct member of the container
-			try {
-				if (!resource.exists()) { // findMember won't work
-					if (resource instanceof IFile) {
-						foundResource = container.getFile(relPath);
-					} else if (resource instanceof IFolder) {
-						foundResource = container.getFolder(relPath);
-					}
-				} else {
-					foundResource = container.findMember(relPath, true); // true means include
-					// phantom resources
-					if ((foundResource != null) && !foundResource.exists()) {
-						foundResource = null;
-					}
-				}
-			} catch (IllegalArgumentException e) {
-				foundResource = null;
-				ValidationPlugin.getPlugin().handleException(e);
-			}
-		}
-
-		if (foundResource == null) {
-			return null;
-		}
-
-		// file has been found
-		int matchingFirstSegments = container.getProjectRelativePath().matchingFirstSegments(resource.getProjectRelativePath());
-		return resource.getProjectRelativePath().removeFirstSegments(matchingFirstSegments);
-	}
-
-	/**
-	 * Given an IPath, if the IPath is absolute, and is a part of the IContainer, return an IPath
-	 * which is relative to the container. If the IPath is not part of the IContainer, return null.
-	 */
-	public static IPath getContainerRelativePath(IPath path, IContainer container) {
-		if ((path == null) || (container == null)) {
-			return null;
-		}
-
-		if (path.isAbsolute()) {
-			// Is the path part of the IContainer?
-			int matchingFirstSegments = path.matchingFirstSegments(container.getFullPath());
-			if ((matchingFirstSegments > 0) && (matchingFirstSegments == container.getFullPath().segmentCount())) {
-				// part of the IContainer
-				return path.removeFirstSegments(matchingFirstSegments);
-			}
-			// not part of the IContainer
-			return null;
-		}
-		// path is relative
-		// Is the path part of the IContainer?
-		//TODO don't have time to implement this now, but should in future. - Ruth
-		return null;
-	}
-
-	/**
-	 * Given an IMessage's target object, return a string which identifies the object, so that the
-	 * user can locate it.
-	 */
-	public String getDescription(Object object) {
-		if (object == null) {
-			return ""; //$NON-NLS-1$
-		}
-
-		if (object instanceof WorkbenchFileDelta) {
-			WorkbenchFileDelta wfd = (WorkbenchFileDelta) object;
-			if (wfd.getResource() != null) {
-				// resource will be null if WorkbenchFileDelta was constructed from an Object
-				// instead of an IResource
-				return wfd.getResource().getFullPath().toString();
-			}
-		}
-
-		return object.toString();
-	}
-
-	/**
-	 * Given an Object, if the object has a corresponding IFile in the workbench, return the IFile.
-	 * Otherwise return null.
-	 * 
-	 * This method is used by the WorkbenchReporter. In eclipse, in order to add or remove a task
-	 * list entry, the IResource, to which the entry applies, must be identified. The IReporter
-	 * interface passes in an Object in these methods:
-	 * 
-	 * addValidationMessage(IValidator, IMessage) // Object is a part of IMessage
-	 * 
-	 * removeAllMessages(IValidator, Object),
-	 * 
-	 * Thus, the WorkbenchReporter needs to know how, given the Object, which IFile that the Object
-	 * represents in the workbench, in order to be able to add the task list entry.
-	 * 
-	 * If this method returns null, then the WorkbenchReporter will add the message to the IProject
-	 * instead of an IFile.
-	 *  
-	 */
-	public IFile getFile(Object obj) {
-		return null;
-	}
-
-	public IResource getResource(Object obj) {
-		if (obj == null) {
-			return null;
-		}
-
-		IResource res = null;
-		if (obj instanceof WorkbenchFileDelta) {
-			// resource may be null if WorkbenchFileDelta was constructed from an Object instead of
-			// an IResource
-			res = ((WorkbenchFileDelta) obj).getResource();
-		} else if (obj instanceof IResource) {
-			res = (IResource) obj;
-		}
-
-		if ((res == null) || (!res.exists())) {
-			return getFile(obj);
-		}
-
-		return res;
-	}
-
-	/**
-	 * If the IProject is associated with an EJBNatureRuntime, return the IJavaProject which
-	 * represents it.
-	 */
-//	public static IJavaProject getJavaProject(IProject project) {
-//		if (project == null) {
-//			return null;
-//		}
-//		return JavaCore.create(project);
-//	}
-
-	/**
-	 * Given an IMessage's target object, return the line number, of the IFile, which the target
-	 * object represents. If the object is null, or if access to line numbers is not possible,
-	 * return "0".
-	 */
-	public int getLineNo(Object object) {
-		IResourceUtil util = ValidatorManager.getResourceUtil();
-		if (util == null) {
-			return IMessage.LINENO_UNSET;
-		}
-		try {
-			return util.getLineNo(object);
-		} catch (Exception e) {
-			ValidationPlugin.getPlugin().handleException(e);
-			return IMessage.LINENO_UNSET;
-		}
-
-	}
-	
-	/**
-	 * Given an IMessage's target object, return the line number, of the IFile, which the target
-	 * object represents, if possible. If the object is null, or if access to line numbers is not
-	 * possible, return a text description of the location.
-	 * 
-	 * This method will be called whether or not the IResource is an IFile, IFolder, or IProject.
-	 * Line numbers are valid only for IFile types; if the resource is not an IFile, then a text
-	 * description of the location must be returned.
-	 */
-	public String getLocation(Object object) {
-		IResource res = getResource(object);
-		if ((res == null) || !(res instanceof IFile))
-			// return a text description
-			return getDescription(object);
-		// default to a line number, if it's available. Else, use a text description.
-		int lineNumber = getLineNo(object);
-		if (lineNumber == IMessage.LINENO_UNSET) {
-			return getDescription(object);
-		}
-		// return the line number
-		return String.valueOf(lineNumber);
-	}
-
-	/**
-	 * Given a name of a load method, and the types of parameters it takes (this method is always
-	 * called with null as the second parameter), return the java.lang.reflect.Method which
-	 * represents the load method.
-	 */
-	private final Method getMethod(String methodName, Class[] parmTypes) {
-		Method m = null;
-		try {
-			m = getClass().getMethod(methodName, parmTypes);
-		} catch (NoSuchMethodException e) {
-			ValidationPlugin.getPlugin().handleException(e);
-			return null;
-		}
-
-		return m;
-	}
-
-	/**
-	 * @see IWorkbenchContext.getPortableName(IResource)
-	 */
-	public String getPortableName(IResource resource) {
-		return resource.getFullPath().toString();
-	}
-
-	/**
-	 * Return the IProject which is about to be validated. Each IWorkbenchContext knows how to
-	 * traverse a certain type of IProject, for example, an EJB project or a web project.
-	 */
-	public final IProject getProject() {
-		return _project;
-	}
-	
-	  /**
-	   * Get the IFile for the given filename.
-	   * 
-	   * @param filename The name of the file to retrieve.
-	   * @return An IFile representing the file specified or null if it can't be resolved.
-	   */
-	  public IFile getFile(String filename)
-	  {
-	    //    System.out.println("file name = " + filename);
-	    IResource res = getProject().findMember(filename, true); // true means include phantom resources
-	    if (res instanceof IFile) 
-	    {
-	      return (IFile) res;
-	    }
-	    return null;
-	  }
-	  
-	  /**
-	   * Get the collection of files from the project that are relevant for the
-	   * validator with the given class name.
-	   * 
-	   * @param validatorClassName The name of the validator class.
-	   * @return The collection of files relevant for the validator class specified.
-	   */
-	  public Collection<IFile> getFiles(String validatorClassName)
-	  {
-	    IProject project = getProject();
-	    List<IFile> files = new ArrayList<IFile>();
-	    getFiles(files, project, validatorClassName);
-	    return files;
-	  }
-
-	  /**
-	   * Get the collection of files from the project that are relevant for the
-	   * validator with the given class name.
-	   * 
-	   * @param files The files relevant for the class name.
-	   * @param resource The resource to look for files in.
-	   * @param validatorClassName The name of the validator class.
-	   */
-	  protected void getFiles(Collection<IFile> files, IContainer resource, String validatorClassName)
-	  {
-	    try
-	    {
-	      IResource [] resourceArray = resource.members(false);
-	      for (int i=0; i<resourceArray.length; i++)
-	      {       
-	        if (ValidatorManager.getManager().isApplicableTo(validatorClassName, resourceArray[i])) 
-	        {
-	          if (resourceArray[i] instanceof IFile) 
-				  files.add((IFile)resourceArray[i]);
-	        }
-	        if (resourceArray[i].getType() == IResource.FOLDER)
-	         getFiles(files,(IContainer)resourceArray[i], validatorClassName) ;
-	      }
-	    }
-	    catch (Exception e) {}
-	  }
-	  
-
-//	/**
-//	 * Return the folders (or project) which contain the .java source files.
-//	 */
-//	public static IContainer[] getProjectSourceContainers(IProject project) {
-//		if (project == null) {
-//			return NO_CONTAINERS;
-//		}
-//
-//		IJavaProject jp = getJavaProject(project);
-//		if (jp == null) {
-//			return NO_CONTAINERS;
-//		}
-//
-//		return getProjectSourceContainers(jp);
-//	}
-
-	/**
-	 * Return the folders (or project) which contain the .java source files.
-	 */
-//	public static IContainer[] getProjectSourceContainers(IJavaProject javaProject) {
-//		if (javaProject == null) {
-//			return NO_CONTAINERS;
-//		}
-//		IProject project = javaProject.getProject();
-//
-//		IClasspathEntry[] classpath = null;
-//		try {
-//			classpath = javaProject.getResolvedClasspath(true); // true means ignore unresolved
-//			// (missing) variables, instead of
-//			// throwing an exception
-//		} catch (JavaModelException exc) {
-//			Logger logger = ValidationPlugin.getPlugin().getMsgLogger();
-//			if (logger.isLoggingLevel(Level.SEVERE)) {
-//				LogEntry entry = ValidationPlugin.getLogEntry();
-//				entry.setSourceID("WorkbenchContext::getProjectSourceContainers(IJavaProject)"); //$NON-NLS-1$
-//				entry.setTargetException(exc);
-//				logger.write(Level.SEVERE, entry);
-//			}
-//			return NO_CONTAINERS;
-//		}
-//
-//		if (classpath == null) {
-//			return NO_CONTAINERS;
-//		}
-//
-//		// Traverse the classpath, and calculate a list of just the
-//		// IFolders and IProjects (i.e., IContainers) which contain source
-//		IContainer[] icontainers = new IContainer[classpath.length];
-//		int validCount = 0;
-//		for (int i = 0; i < classpath.length; i++) {
-//			IClasspathEntry entry = classpath[i];
-//			if (entry.getEntryKind() == IClasspathEntry.CPE_SOURCE) {
-//				IPath entryPath = entry.getPath();
-//				IPath relEntryPath = getContainerRelativePath(entryPath, project);
-//				if (relEntryPath == null) {
-//					// classpath entry refers to something which doesn't exist
-//					continue;
-//				}
-//
-//				IResource outputResource = project.findMember(relEntryPath);
-//				if (outputResource == null) {
-//					// classpath entry refers to something which doesn't exist
-//					continue;
-//				}
-//
-//				if (outputResource instanceof IContainer) {
-//					icontainers[validCount++] = (IContainer) outputResource;
-//				}
-//			}
-//		}
-//
-//		//  following line causes a ClassCastException, so construct an array of IContainers
-//		// explicitly
-//		//	return (IContainer[])icontainers.toArray();
-//		IContainer[] containers = new IContainer[validCount];
-//		System.arraycopy(icontainers, 0, containers, 0, validCount);
-//		return containers;
-//	}
-
-	public int getRuleGroup() {
-		return _ruleGroup;
-	}
-
-	/**
-	 * This method can be overriden by AWorkbenchHelpers, if they wish to perform some
-	 * initialization once the IProject is set. Default is to do nothing.
-	 * 
-	 * For example, if this IWorkbenchContext delegates to another IWorkbenchContext, then that
-	 * IWorkbenchContext's setProject() method should be called here.
-	 */
-	public void initialize() {
-		//do nothing
-	}
-
-	/**
-	 * Return true if the given resource is in an IJavaProject, and if it is in one of the source
-	 * folders in the IJavaProject. If the project's source folder happens to be the project's
-	 * output folder too, this method will return true. If res is null, or is not found in one of
-	 * the source containers, this method will return false.
-	 */
-//	public boolean isInJavaSourcePath(IResource res) {
-//		if (res == null) {
-//			return false;
-//		}
-//
-//		IContainer[] containers = getProjectSourceContainers(res.getProject());
-//		for (int c = 0; c < containers.length; c++) {
-//			IPath resourcePath = getContainerRelativePath(res, containers[c]);
-//			if (resourcePath != null) {
-//				// file has been found
-//				return true;
-//			}
-//		}
-//
-//		return false;
-//	}
-
-	/**
-	 * Return true if the given symbolic name is registered, and can be loaded by WorkbenchContext's
-	 * "loadModel" method. For further information, see the comment above WorkbenchContext's
-	 * "registerModel" method.
-	 */
-	public final boolean isRegistered(String symbolicName) {
-		if (symbolicName == null)return false;
-		return _modelRegistry.containsKey(symbolicName);
-	}
-
-	/**
-	 * Given a symbolic name, load the MOF model which is identified by that name.
-	 * 
-	 * For support of dynamic symbolic names, such as file names, read the comment above the
-	 * registerModel method.
-	 * 
-	 * @see registerModel
-	 */
-	public Object loadModel(String symbolicName) {
-		return loadModel(symbolicName, null);
-	}
-
-	/**
-	 * Given a symbolic name, load the MOF model which is identified by that name.
-	 * 
-	 * For support of dynamic symbolic names, such as file names, read the comment above the
-	 * registerModel method.
-	 * 
-	 * @see registerModel
-	 */
-	public Object loadModel(String symbolicName, Object[] parms) {
-		try {
-			Method loader = _modelRegistry.get(symbolicName);
-			if (loader == null)return null;
-
-			return loader.invoke(this, parms);
-		} catch (IllegalAccessException e) {
-			ValidationPlugin.getPlugin().handleException(e);
-			return null;
-		} catch (InvocationTargetException e) {
-			ValidationPlugin.getPlugin().handleException(e);
-			ValidationPlugin.getPlugin().handleException(e.getTargetException());
-			return null;
-		} catch (NullPointerException e) {
-			ValidationPlugin.getPlugin().handleException(e);
-			return null;
-		} catch (ExceptionInInitializerError e) {
-			ValidationPlugin.getPlugin().handleException(e);
-			return null;
-		}
-	}
-
-	public Object loadRuleGroup() {
-		return new Integer(getRuleGroup()); // have to wrap the int in an Integer because can't cast
-		// an int to an Object
-	}
-
-	/**
-	 * This method should be used only by the validation framework. This method will be called by
-	 * ValidationOperation, before the IValidator's validate method is called, to set the group of
-	 * rules which the IValidator should check.
-	 */
-	public void setRuleGroup(int rg) {
-		_ruleGroup = rg;
-	}
-
-	/**
-	 * Register a load method for a symbolic name. A load method is defined as a method which takes
-	 * no parameters and returns a RefObject.
-	 * 
-	 * Every subclass of WorkbenchContext, for every static type of symbolic name which it supports,
-	 * should call registerModel. For IWorkbenchHelpers which support dynamic symbolic names, such
-	 * as file names, each IWorkbenchContext should override the "loadModel" method. Their
-	 * "loadModel" should first call this class' "isRegistered" method to see if they're dealing
-	 * with a static symbolic name, or a dynamic one. If the symbolic name is registered, the
-	 * child's "loadModel" method should just return the result of WorkbenchContext's "loadModel"
-	 * method. Otherwise, it should return the result based on its own processing.
-	 * 
-	 * When this method is called, the load method identified by loadMethodName is located & stored
-	 * for future retrieval by the "loadModel" method. When the IValidator calls "loadModel" with a
-	 * symbolic name, the java.lang.reflect.Method which was loaded by this method is invoked, and
-	 * the result (RefObject) returned by that method is returned by "loadModel".
-	 * 
-	 * symbolicName must not be null or the empty string. loadMethodName must not be null or the
-	 * empty string.
-	 */
-	protected final void registerModel(String symbolicName, String loadMethodName) {
-		registerModel(symbolicName, loadMethodName, null);
-	}
-
-	/**
-	 * Register a load method for a symbolic name. A load method is defined as a method which takes
-	 * no parameters and returns a RefObject.
-	 * 
-	 * Every subclass of WorkbenchContext, for every static type of symbolic name which it supports,
-	 * should call registerModel. For IWorkbenchHelpers which support dynamic symbolic names, such
-	 * as file names, each IWorkbenchContext should override the "loadModel" method. Their
-	 * "loadModel" should first call this class' "isRegistered" method to see if they're dealing
-	 * with a static symbolic name, or a dynamic one. If the symbolic name is registered, the
-	 * child's "loadModel" method should just return the result of WorkbenchContext's "loadModel"
-	 * method. Otherwise, it should return the result based on its own processing.
-	 * 
-	 * When this method is called, the load method identified by loadMethodName is located & stored
-	 * for future retrieval by the "loadModel" method. When the IValidator calls "loadModel" with a
-	 * symbolic name, the java.lang.reflect.Method which was loaded by this method is invoked, and
-	 * the result (RefObject) returned by that method is returned by "loadModel".
-	 * 
-	 * symbolicName must not be null or the empty string. loadMethodName must not be null or the
-	 * empty string.
-	 */
-	protected final void registerModel(String symbolicName, String loadMethodName, Class[] parms) {
-		Method method = getMethod(loadMethodName, parms);
-		if (method == null) {
-			if (Tracing.isLogging()) {
-				StringBuffer buffer = new StringBuffer("WorkbenchContext-01: load method "); //$NON-NLS-1$
-				buffer.append(loadMethodName);
-				buffer.append("("); //$NON-NLS-1$
-				for (int i = 0; (parms != null) && (i < parms.length); i++) {
-					buffer.append(parms[i]);
-				}
-				buffer.append(") must exist. " + getClass().getName() + " cannot support model " + symbolicName); //$NON-NLS-1$ //$NON-NLS-2$
-
-				Tracing.log(buffer);
-			}
-		} else {
-			_modelRegistry.put(symbolicName, method);
-		}
-	}
-
-	/**
-	 * Whether full or incremental validation is running, this method will be called, for every
-	 * IResource which is filtered in by the IValidator, so that the IValidationContext can receive
-	 * notification that one of the resources, which validation will run on, is being filtered in.
-	 */
-	public void registerResource(IResource resource) {
-		// default: do nothing
-	}
-
-	/**
-	 * This method is called by the Validation Framework, to initialize the IWorkbenchContext so that
-	 * it can gather information from the current project.
-	 * 
-	 * If an IWorkbenchContext delegates some model loading to another IWorkbenchContext, this method
-	 * should be overriden so that the delegatee IWorkbenchContext is initialized with the IProject.
-	 */
-	public final void setProject(IProject project) {
-		_project = project;
-
-		if (project != null) {
-			// Project will be set back to null once the validation of the project is complete.
-			initialize();
-		}
-	}
-
-	/**
-	 * Notifies this IWorkbenchContext that the Validation Framework is shutting down. There will be
-	 * calls to closing(IProject) and possibly deleting(IProject) following this call, but the
-	 * resources may already be closed by the time that those methods are called, so EVERYTHING
-	 * should be cleaned up in this method. The parameter passed in is the project which is about to
-	 * shut down. This method will be called once for every IProject in the workbench. The IProject
-	 * may, or may not, be closed.
-	 */
-	public void shutdown() {
-		// Default is to assume that no resources were allocated; therefore,
-		// no cleanup needs to be done.
-		shutdown(getProject());
-	}
-
-	/**
-	 * Notifies this IWorkbenchContext that the Validation Framework is shutting down. There will be
-	 * calls to closing(IProject) and possibly deleting(IProject) following this call, but the
-	 * resources may already be closed by the time that those methods are called, so EVERYTHING
-	 * should be cleaned up in this method. The parameter passed in is the project which is about to
-	 * shut down. This method will be called once for every IProject in the workbench. The IProject
-	 * may, or may not, be closed.
-	 * 
-	 * @deprecated Override shutdown() instead, and use getProject()
-	 */
-	public void shutdown(IProject project) {
-		// Default is to assume that no resources were allocated; therefore,
-		// no cleanup needs to be done.
-	}
-
-	public String getTargetObjectName(Object object) {
-		return null;
-	}
-
-	public String[] getURIs() {
-		String[] uris = new String[validationFileURIs.size()];
-		validationFileURIs.toArray(uris);
-		return uris;
-	}
-
-	/**
-	 * @return Returns the validationFileURIs.
-	 */
-	public List<String> getValidationFileURIs() {
-		return validationFileURIs;
-	}
-
-	/**
-	 * @param validationFileURIs The validationFileURIs to set.
-	 */
-	public void setValidationFileURIs(List<String> validationFileURIs) {
-		this.validationFileURIs = validationFileURIs;
-	}
-}
diff --git a/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/operations/WorkbenchFileDelta.java b/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/operations/WorkbenchFileDelta.java
deleted file mode 100644
index 0953e0a..0000000
--- a/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/operations/WorkbenchFileDelta.java
+++ /dev/null
@@ -1,78 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.validation.internal.operations;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.wst.validation.internal.core.FileDelta;
-import org.eclipse.wst.validation.internal.core.IFileDelta;
-
-
-/**
- * Eclipse-specific implementation of FileDelta which also caches the IResource which is associated
- * with the FileDelta.
- */
-public class WorkbenchFileDelta extends FileDelta {
-	private IResource _resource;
-	private Object _changedResource;
-
-	private static final String FILE_NAME = "FILE NAME:"; //$NON-NLS-1$
-	private static final String DELTA = "  DELTA: "; //$NON-NLS-1$
-	private static final String RESOURCE = "  RESOURCE: "; //$NON-NLS-1$
-	private static final String OBJECT = "  OBJECT: "; //$NON-NLS-1$
-
-	public WorkbenchFileDelta(String aFileName, int aFileDelta, IResource resource) {
-		super(aFileName, aFileDelta);
-		setResource(resource);
-		setObject(resource);
-	}
-
-	public WorkbenchFileDelta(Object changedResource) {
-		super(null, IFileDelta.CHANGED);
-		setObject(changedResource);
-	}
-
-	public IResource getResource() {
-		return _resource;
-	}
-
-	public void setResource(IResource resource) {
-		_resource = resource;
-	}
-
-	/**
-	 * If the changed resource is not an IResource (e.g., a RefObject), then the getFileName method
-	 * will return null, getResource will return null, and this method will return the object. If
-	 * the changedResource is an IResource, then both this method and the getResource method will
-	 * return the resource.
-	 */
-	public Object getObject() {
-		return _changedResource;
-	}
-
-	/**
-	 * @see getObject()
-	 */
-	public void setObject(Object o) {
-		_changedResource = o;
-	}
-
-	public String toString() {
-		StringBuffer buffer = new StringBuffer(FILE_NAME);
-		buffer.append(String.valueOf(getFileName()));
-		buffer.append(DELTA);
-		buffer.append(getDeltaType());
-		buffer.append(RESOURCE);
-		buffer.append(String.valueOf(getResource()));
-		buffer.append(OBJECT);
-		buffer.append(String.valueOf(getObject()));
-		return buffer.toString();
-	}
-}
diff --git a/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/operations/WorkbenchReporter.java b/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/operations/WorkbenchReporter.java
deleted file mode 100644
index f9162f3..0000000
--- a/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/operations/WorkbenchReporter.java
+++ /dev/null
@@ -1,597 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.validation.internal.operations;
-
-import java.text.MessageFormat;
-import java.util.Arrays;
-import java.util.List;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.wst.validation.internal.ResourceConstants;
-import org.eclipse.wst.validation.internal.ResourceHandler;
-import org.eclipse.wst.validation.internal.TaskListUtility;
-import org.eclipse.wst.validation.internal.Tracing;
-import org.eclipse.wst.validation.internal.ValidationRegistryReader;
-import org.eclipse.wst.validation.internal.ValidatorMetaData;
-import org.eclipse.wst.validation.internal.plugin.ValidationPlugin;
-import org.eclipse.wst.validation.internal.provisional.core.IMessage;
-import org.eclipse.wst.validation.internal.provisional.core.IReporter;
-import org.eclipse.wst.validation.internal.provisional.core.IValidator;
-import org.eclipse.wst.validation.internal.provisional.core.IValidatorJob;
-
-/**
- * IValidator instances will interact with an instance of this class, but should never cast that
- * IReporter instance to WorkbenchReporter.
- * <p>
- * This class handles interaction between the user and the IValidator in the eclipse workbench
- * environment.
- * <p>
- * This class must not be called outside of an IWorkspaceRunnable or IRunnableWithProgress. Many
- * resource deltas can be generated by the methods in this class.
- * <p>
- * Only the validation framework may instantiate or alter instances of this class.
- */
-
-public class WorkbenchReporter implements IReporter {
-	public static final String DEFAULT_LOCATION = ""; //$NON-NLS-1$
-	public static final int NO_MESSAGE_LIMIT = -1;
-
-	private IProject _project;
-	private IProgressMonitor _monitor;
-
-	public static void addMessage(IResource resource, Class messageOwner, IMessage message) {
-		addMessage(resource, messageOwner, null, message);
-	}
-	
-	public static void addMessage(IResource resource, Class messageOwner, ClassLoader cl, IMessage message) {
-		addMessage(resource, messageOwner, cl, message, null, ""); //$NON-NLS-1$
-	}
-	
-	public static void addMessage(IResource resource, Class clazz, IMessage message, 
-		String targetObjectName, String location) {
-		addMessage(resource, clazz, null, message, targetObjectName, location);
-	}
-	
-	public static void addMessage(IResource resource, Class clazz, IMessage message, 
-		String targetObjectName, String location,String markerId) {
-		addMessage(resource, clazz, null, message, targetObjectName, location,markerId);
-	}
-	
-	public static void addMessage(IResource resource, Class clazz, ClassLoader cl, IMessage message, 
-		String targetObjectName, String location) {
-		if ((clazz == null) || (message == null) || (resource == null))return;
-
-		if (cl == null)cl = clazz.getClassLoader();
-
-		addMessage(resource, getUniqueId(clazz), cl, message, targetObjectName, location);
-	}
-	
-	public static void addMessage(IResource resource, Class clazz, ClassLoader cl, IMessage message, 
-		String targetObjectName, String location, String markerId) {
-		if ((clazz == null) || (message == null) || (resource == null))return;
-
-		if (cl == null)cl = clazz.getClassLoader();
-
-		addMessage(resource, getUniqueId(clazz), cl, message, targetObjectName, location, markerId);
-	}
-
-	public static void addMessage(IResource resource, String messageOwnerId, ClassLoader cl, IMessage message) {
-		addMessage(resource, messageOwnerId, cl, message, null, ""); //$NON-NLS-1$
-	}
-
-	public static void addMessage(IResource resource, String messageOwnerId, ClassLoader cl, 
-		IMessage message, String targetObjectName, String location) {
-		int severity = message.getSeverity();
-		try {
-			TaskListUtility.addTask(messageOwnerId, resource, location, message.getId(), 
-				message.getText(cl), severity,targetObjectName, message.getGroupName(), 
-				message.getOffset(), message.getLength());
-		} catch (CoreException e) {
-			ValidationPlugin.getPlugin().handleException(e);
-		}
-	}
-	
-	public static void addMessage(IResource resource, String messageOwnerId, ClassLoader cl, 
-		IMessage message, String targetObjectName, String location, String markerId) {
-		int severity = message.getSeverity();
-		try {
-			TaskListUtility.addTask(messageOwnerId, resource, location, message.getId(), 
-				message.getText(cl), severity,markerId,targetObjectName, message.getGroupName(), 
-				message.getOffset(), message.getLength());
-		} catch (CoreException e) {
-			ValidationPlugin.getPlugin().handleException(e);
-		}
-	}
-	
-	public static void removeAllMessages(IResource resource, IValidator validator) {
-		if (resource == null)return;
-
-		ValidatorMetaData vmd = ValidationRegistryReader.getReader().getValidatorMetaData(validator);
-		if (vmd == null) {
-			// log
-			return;
-		}
-
-		String[] validatorNames = vmd.getValidatorNames();
-		try {
-			TaskListUtility.removeAllTasks(resource, validatorNames);
-		} catch (CoreException e) {
-			ValidationPlugin.getPlugin().handleException(e);
-		}
-	}
-
-	/**
-	 * @deprecated Will be removed in Milestone 3. Should not be called outside of the validation
-	 *             framework.
-	 */
-	public static void removeAllMessages(IResource resource, IValidator validator, Object object) {
-		if (resource == null) {
-			return;
-		}
-
-		ValidatorMetaData vmd = ValidationRegistryReader.getReader().getValidatorMetaData(validator);
-		if (vmd == null) {
-			// log
-			return;
-		}
-
-		String[] validatorNames = vmd.getValidatorNames();
-		try {
-			//String targetObjectName = getTargetObjectName(vmd.getHelper(resource.getProject()), object);
-			String targetObjectName = getTargetObjectName( getHelper( resource.getProject(), validator), object);			
-			removeAllMessages(resource, validatorNames, targetObjectName);
-		} catch (InstantiationException e) {
-			// Remove the vmd from the reader's list
-			ValidationRegistryReader.getReader().disableValidator(vmd);
-			ValidationPlugin.getPlugin().handleException(e);
-		}
-	}
-
-	public static void removeAllMessages(IResource resource, String[] validatorNames, String targetObjectName) {
-		try {
-			TaskListUtility.removeAllTasks(resource, validatorNames, targetObjectName);
-		} catch (CoreException e) {
-			ValidationPlugin.getPlugin().handleException(e);
-		}
-	}
-
-	public static void removeMessageSubset(IResource resource, Class messageOwner, String groupName) {
-		// Since the addMessage(Class, IMessage) is defaulted to the IProject,
-		// remove the message subsets from the IProject
-		removeMessageSubset(resource, new String[]{getUniqueId(messageOwner)}, null, groupName);
-	}
-
-	public static void removeMessageSubset(IResource resource, String messageOwnerId, String groupName) {
-		// Since the addMessage(Class, IMessage) is defaulted to the IProject,
-		// remove the message subsets from the IProject
-		removeMessageSubset(resource, new String[]{messageOwnerId}, null, groupName);
-	}
-
-	public static void removeMessageSubset(IResource resource, String[] ownerId, String targetObjectName, String groupName) {
-		try {
-			TaskListUtility.removeTaskSubset(resource, ownerId, targetObjectName, groupName);
-		} catch (CoreException e) {
-			ValidationPlugin.getPlugin().handleException(e);
-		}
-	}
-
-	/**
-	 * Given a Class instance, return the id that uniquely identifies this instance. (Used as the
-	 * value for the message owner.)
-	 */
-	public static String getUniqueId(Class clazz) {
-		if (clazz == null) {
-			return ""; //$NON-NLS-1$
-		}
-
-		// It is safe to load this String into the constants space because
-		// the Class name will not change during WSAD's session.
-		return clazz.getName().intern();
-	}
-
-	public static String getUniqueId(IValidator validator) {
-		if (validator == null) {
-			return ""; //$NON-NLS-1$
-		}
-		return getUniqueId(validator.getClass());
-	}
-
-	public static String getLocation(IWorkbenchContext helper, IMessage message) {
-		if (message == null) {
-			return getLocationText(helper, null);
-		}
-		int lineNo = message.getLineNumber();
-		if (lineNo == IMessage.LINENO_UNSET) {
-			return getLocationText(helper, message.getTargetObject());
-		}
-		return String.valueOf(lineNo);
-	}
-
-	public static String getLocationText(IWorkbenchContext helper, Object targetObject) {
-		String location = null;
-		try {
-			location = helper.getLocation(targetObject);
-		} catch (Exception e) {
-			ValidationPlugin.getPlugin().handleException(e);
-		}
-		if ((location == null) || (location.trim().equals(""))) { //$NON-NLS-1$
-			location = DEFAULT_LOCATION;
-		}
-		return location;
-	}
-
-	// TODO This method was made protected for the SaberReporter. Make this method private again
-	// once the framework supports IMarker.PRIORITY.
-	protected static String getTargetObjectName(IWorkbenchContext helper, IMessage message) {
-		if (message == null) {
-			return getTargetObjectName(helper, null);
-		}
-		return getTargetObjectName(helper, message.getTargetObject());
-	}
-
-	private static String getTargetObjectName(IWorkbenchContext helper, Object targetObject) {
-		String targetObjectName = null;
-		try {
-			targetObjectName = helper.getTargetObjectName(targetObject);
-		} catch (Exception e) {
-			ValidationPlugin.getPlugin().handleException(e);
-		}
-		return targetObjectName;
-	}
-
-	// TODO This method was made "protected" for the SaberReporter. Do not call this method! This
-	// method will be made private once support for marker PRIORITY attributes is in the framework.
-	protected static ValidatorMetaData getVMD(IValidator validator) throws IllegalArgumentException {
-		ValidatorMetaData vmd = ValidationRegistryReader.getReader().getValidatorMetaData(validator);
-		if (vmd == null) {
-			throw new IllegalArgumentException(); // already logged in the ValidationRegistryReader
-		}
-		return vmd;
-	}
-
-	/**
-	 * @deprecated. The IValidationContext will be ignored.
-	 */
-	public WorkbenchReporter(IWorkbenchContext helper, IProgressMonitor monitor, IProject project) {
-		this(project, monitor);
-	}
-
-	/**
-	 * An IReporter instance must exist for each Runnable in order for the validator to report
-	 * status messages. IProject and IProgressMonitor must not be null.
-	 */
-	public WorkbenchReporter(IProject project, IProgressMonitor monitor) {
-		super();
-		_project = project;
-		_monitor = monitor;
-	}
-
-	// TODO This method was made protected for the SaberReporter. Make it private again once the
-	// framework support IMarker.PRIORITY.
-	protected IWorkbenchContext getHelper(IValidator validator) throws InstantiationException, IllegalArgumentException {
-		ValidatorMetaData vmd = getVMD(validator);
-		IWorkbenchContext helper = vmd.getHelper( getProject(), validator );
-		return helper;
-	}
-	
-	protected static IWorkbenchContext getHelper(IProject project, IValidator validator) throws InstantiationException, IllegalArgumentException {
-		ValidatorMetaData vmd = getVMD(validator);
-		IWorkbenchContext helper = vmd.getHelper( project, validator );
-		return helper;
-	}
-	
-	public IProject getProject() {
-		return _project;
-	}
-
-	public IProgressMonitor getProgressMonitor() {
-		return _monitor;
-	}
-
-	/**
-	 * This method will never return null.
-	 */
-	private IResource getDefaultResource() {
-		IResource prj = getProject();
-		if (prj != null) {
-			return prj;
-		}
-		// return the workspace root
-		return ResourcesPlugin.getWorkspace().getRoot();
-	}
-
-	/**
-	 * When an IMessage is created, the user has the option of creating it with a target object.
-	 * That target object is used to identify which object has the problem identified by the
-	 * IMessage. This method, given the target object, returns the IResource which represents that
-	 * object in the workbench.
-	 */
-	public IResource getMessageResource(IValidator validator, Object object) {
-		if (validator == null) {
-			return null;
-		}
-
-		IResource resource = null;
-		if (object != null) {
-			if (object instanceof IResource) {
-				resource = (IResource) object;
-			} else if (object instanceof WorkbenchFileDelta) {
-				// resource may be null if the WorkbenchFileDelta was constructed from an Object
-				// instead of an IResource
-				resource = ((WorkbenchFileDelta) object).getResource();
-			}
-
-			if (resource == null) {
-				try {
-					IWorkbenchContext helper = getHelper(validator);
-					resource = helper.getResource(object);
-				} catch (InstantiationException e) {
-					try {
-						// Unlikely that an exception will be thrown, because this method is
-						// invoked by the validator, and if the validator is invoked, it's likely
-						// that the helper has been loaded too.
-						ValidatorMetaData vmd = getVMD(validator);
-
-						// Remove the vmd from the reader's list
-						ValidationRegistryReader.getReader().disableValidator(vmd);
-
-						ValidationPlugin.getPlugin().handleException(e);
-					} catch (IllegalArgumentException e2) {
-						// Even the IValidator is invalid. Unfortunately, can't disable the
-						// validator because it can't be found by the registry reader.
-						// Log the reason for the disabled validator
-						ValidationPlugin.getPlugin().handleException(e2);
-					}
-				} catch (IllegalArgumentException e) {
-					// Even the IValidator is invalid. Unfortunately, can't disable the
-					// validator because it can't be found by the registry reader.
-					// Log the reason for the disabled validator
-					ValidationPlugin.getPlugin().handleException(e);
-				} catch (Exception e) {
-					ValidationPlugin.getPlugin().handleException(e);
-				}
-			}
-		}
-
-		if (resource == null) {
-			resource = getDefaultResource();
-		}
-
-		if (!resource.exists()) {
-			resource = getDefaultResource();
-		}
-
-		return resource;
-	}
-
-	/**
-	 * Show a message to the user indicating which subtask is currently being processed. <br>
-	 * <br>
-	 * <code>message</code> may not be null or the empty string (""). <br>
-	 */
-	public void displaySubtask(String message) {
-		if ((message == null) || (message.equals(""))) { //$NON-NLS-1$
-			return;
-		}
-
-		if (getProgressMonitor() != null) {
-			getProgressMonitor().subTask(message);
-		} else {
-			System.out.println(message);
-		}
-	}
-
-	/**
-	 * @see org.eclipse.wst.validation.internal.provisional.core.core.IReporter#getMessages()
-	 */
-	public List getMessages() {
-		return null;
-	}
-
-	/**
-	 * @see org.eclipse.wst.validation.internal.provisional.core.core.IReporter#isCancelled()
-	 */
-	public boolean isCancelled() {
-		if (getProgressMonitor() != null) {
-			return getProgressMonitor().isCanceled();
-		}
-		return false;
-	}
-
-	/**
-	 * @see org.eclipse.wst.validation.internal.provisional.core.core.IReporter#addMessage(IValidator, IMessage)
-	 */
-	public void addMessage(IValidator validator, IMessage message)  {
-		IResource resource = getMessageResource(validator, message.getTargetObject());
-		IWorkbenchContext helper = null;
-		ValidatorMetaData vmd = getVMD(validator);
-		try {
-			helper = getHelper(validator);
-		} catch (InstantiationException e) {
-			try {
-				// Unlikely that an exception will be thrown, because this method is
-				// invoked by the validator, and if the validator is invoked, it's likely
-				// that the helper has been loaded too
-								
-				// Remove the vmd from the reader's list
-				ValidationRegistryReader.getReader().disableValidator(vmd);
-				ValidationPlugin.getPlugin().handleException(e);
-				return;
-			} catch (IllegalArgumentException exc2) {
-				logDisabledValidator(exc2);
-				return;
-			}
-		} catch (IllegalArgumentException exc) {
-			logDisabledValidator(exc);
-			return;
-		}
-
-		if (resource == null) {
-			if (Tracing.isLogging()) {
-				String result = MessageFormat.format(ResourceHandler.getExternalizedMessage(
-					ResourceConstants.VBF_EXC_INVALID_RESOURCE), 
-					new Object[]{message.getText(), getTargetObjectName(helper, message)});
-				Tracing.log("WorkbenchReporter-01: ", result); //$NON-NLS-1$
-			}
-			return;
-		}
-
-		if( validator instanceof IValidatorJob ){
-			cacheMessage( (IValidatorJob)validator, resource, validator.getClass(), message, 
-				getTargetObjectName(helper, message), getLocation(helper, message), getMarkerId(vmd, message) );
-		}else
-			addMessage(resource, validator.getClass(), message, getTargetObjectName(helper, message), 
-				getLocation(helper, message),getMarkerId(vmd,message));
-	}
-
-	private String getMarkerId(ValidatorMetaData vmd, IMessage message) {
-		if (vmd.getMarkerIds() != null) {
-			if (vmd.getMarkerIds().length == 1)
-				return vmd.getMarkerIds()[0];
-			else if (vmd.getMarkerIds().length > 1) {
-				String messageMarkerId = message.getMarkerId();
-				if (messageMarkerId != null && messageMarkerId.length() > 0) {
-					String firstMarkerId = vmd.getMarkerIds()[0];
-					String pluginQualifier = firstMarkerId.substring(0, firstMarkerId.lastIndexOf(".")); //$NON-NLS-1$
-					String qualifiedMessageMarkerId = null;
-					if (messageMarkerId.indexOf(pluginQualifier) == -1)
-						qualifiedMessageMarkerId = pluginQualifier + "." + messageMarkerId; //$NON-NLS-1$
-					else
-						qualifiedMessageMarkerId = messageMarkerId;
-					if (Arrays.asList(vmd.getMarkerIds()).contains(qualifiedMessageMarkerId))
-						return qualifiedMessageMarkerId;
-				}
-			}
-		}
-		return null;
-	}
-
-	private void logDisabledValidator(IllegalArgumentException e) {
-		// Even the IValidator is invalid. Unfortunately, can't disable the
-		// validator because it can't be found by the registry reader.
-		// Log the reason for the disabled validator
-		ValidationPlugin.getPlugin().handleException(e);
-		return;
-	}
-
-	/**
-	 * @see org.eclipse.wst.validation.internal.provisional.core.core.IReporter#displaySubtask(IValidator, IMessage)
-	 */
-	public void displaySubtask(IValidator validator, IMessage message) {
-		if ((message == null) || (message.equals(""))) { //$NON-NLS-1$
-			return;
-		}
-
-		displaySubtask(message.getText(validator.getClass().getClassLoader()));
-	}
-
-	/**
-	 * @see org.eclipse.wst.validation.internal.provisional.core.core.IReporter#removeAllMessages(IValidator)
-	 */
-	public void removeAllMessages(IValidator validator) {
-		if (validator == null) { // getHelper could be null if the user cancelled before something
-			// was fully initialized
-			return;
-		}
-
-		removeAllMessages(validator, null);
-	}
-
-	/**
-	 * @see org.eclipse.wst.validation.internal.provisional.core.core.IReporter#removeAllMessages(IValidator, Object)
-	 */
-	public void removeAllMessages(IValidator validator, Object object) {
-		IResource resource = getMessageResource(validator, object);
-		if (resource == null) {
-			return;
-		}
-
-		ValidatorMetaData vmd = ValidationRegistryReader.getReader().getValidatorMetaData(validator);
-		if (vmd == null) {
-			return;
-		}
-
-		IWorkbenchContext helper = null;
-		try {
-			//helper = vmd.getHelper(resource.getProject());
-			helper = getHelper(validator);
-		} catch (InstantiationException e) {
-			// Unlikely that an exception will be thrown, because this method is
-			// invoked by the validator, and if the validator is invoked, it's likely
-			// that the helper has been loaded too.
-
-			// Remove the vmd from the reader's list
-			ValidationRegistryReader.getReader().disableValidator(vmd);
-			ValidationPlugin.getPlugin().handleException(e);
-
-			return;
-		}
-
-		String[] validatorNames = vmd.getValidatorNames();
-		String targetObjectName = getTargetObjectName(helper, object);
-		removeAllMessages(resource, validatorNames, targetObjectName);
-	}
-
-	/**
-	 * @see org.eclipse.wst.validation.internal.provisional.core.core.IReporter#removeMessageSubset(IValidator, Object, String)
-	 */
-	public void removeMessageSubset(IValidator validator, Object obj, String groupName) {
-		IResource resource = getMessageResource(validator, obj);
-		if (resource == null) {
-			return;
-		}
-
-		ValidatorMetaData vmd = ValidationRegistryReader.getReader().getValidatorMetaData(validator);
-		if (vmd == null) {
-			return;
-		}
-
-
-		IWorkbenchContext helper = null;
-		try {
-			//helper = vmd.getHelper(resource.getProject());
-			helper = getHelper( resource.getProject(), validator );
-		} 
-		catch (InstantiationException e) {
-			// Unlikely that an exception will be thrown, because this method is
-			// invoked by the validator, and if the validator is invoked, it's likely
-			// that the helper has been loaded too.
-
-			// Remove the vmd from the reader's list
-			ValidationRegistryReader.getReader().disableValidator(vmd);
-			ValidationPlugin.getPlugin().handleException(e);
-
-			return;
-		}
-
-		String[] validatorNames = vmd.getValidatorNames();
-		String targetObjectName = getTargetObjectName(helper, obj);
-		removeMessageSubset(resource, validatorNames, targetObjectName, groupName);
-	}
-	
-	private static void cacheMessage( IValidatorJob validator,
-		IResource resource,	Class clazz, IMessage message,
-		String targetObjectName, String location, String markerId ){
-		
-		if ((clazz == null) || (message == null) || (resource == null))return;
-		
-		ClassLoader cl = clazz.getClassLoader();
-		String text = message.getText(cl);
-		MessageInfo msgInfo = new MessageInfo(getUniqueId(clazz), resource, location,
-				text, targetObjectName, markerId, message );
-
-		ValidatorManager.getManager().cacheMessage( validator, msgInfo );
-	}
-}
diff --git a/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/plugin/ValidationHelperRegistryReader.java b/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/plugin/ValidationHelperRegistryReader.java
deleted file mode 100644
index 887f7cd..0000000
--- a/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/plugin/ValidationHelperRegistryReader.java
+++ /dev/null
@@ -1,103 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.validation.internal.plugin;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IExtension;
-import org.eclipse.core.runtime.IExtensionPoint;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.wst.validation.internal.IProjectValidationHelper;
-
-public class ValidationHelperRegistryReader {
-
-	/** validationHelper - extension point name. */
-	public static final String VALIDATION_HELPER = "validationHelper"; //$NON-NLS-1$
-	
-	static final String ATT_ID = "id"; //$NON-NLS-1$ 
-	
-	/** helperClass - class that implements the extension. */
-	static final String ATT_HELPER_CLASS = "helperClass"; //$NON-NLS-1$
-	
-	private static ValidationHelperRegistryReader INSTANCE = null;
-	private List<IProjectValidationHelper> _validationHelpers;
-	
-	public ValidationHelperRegistryReader() {
-	}
-	
-	public static ValidationHelperRegistryReader getInstance() {
-		if (INSTANCE == null) {
-			INSTANCE = new ValidationHelperRegistryReader();
-			INSTANCE.readRegistry();
-		}
-		return INSTANCE;
-	}
-
-	/**
-	 * Read the extension point and parse it.
-	 */
-	public void readRegistry() {
-		IExtensionPoint point = Platform.getExtensionRegistry()
-			.getExtensionPoint(ValidationPlugin.PLUGIN_ID, VALIDATION_HELPER);
-		if (point == null)return;
-		IConfigurationElement[] elements = point.getConfigurationElements();
-		for (int i = 0; i < elements.length; i++) {
-			internalReadElement(elements[i]);
-		}
-	}
-	
-	private void internalReadElement(IConfigurationElement element) {
-		boolean recognized = this.readElement(element);
-		if (!recognized) {
-			logError(element, "Error processing extension: " + element); //$NON-NLS-1$
-		}
-	}
-
-	/*
-	 * Logs the error in the desktop log using the provided text and the information in the configuration element.
-	 */
-	protected void logError(IConfigurationElement element, String text) {
-		IExtension extension = element.getDeclaringExtension();
-		StringBuffer buf = new StringBuffer();
-		buf.append("Plugin " + extension.getContributor().getName() + ", extension " + extension.getExtensionPointUniqueIdentifier()); //$NON-NLS-1$ //$NON-NLS-2$
-		buf.append("\n" + text); //$NON-NLS-1$
-		ValidationPlugin.getPlugin().logMessage(IStatus.ERROR, buf.toString());
-	}
-
-	private List<IProjectValidationHelper> getValidationHelpers() {
-		if (_validationHelpers == null)
-			_validationHelpers = new ArrayList<IProjectValidationHelper>();
-		return _validationHelpers;
-	}
-
-	public boolean readElement(IConfigurationElement element) {
-		if (!element.getName().equals(VALIDATION_HELPER))
-			return false;
-		IProjectValidationHelper helper = null;
-		try {
-			helper = (IProjectValidationHelper) element.createExecutableExtension(ATT_HELPER_CLASS);
-			getValidationHelpers().add(helper);
-			return true;
-		} catch (Exception e) {
-			e.printStackTrace();
-		}
-		return false;
-	}
-	
-	public IProjectValidationHelper getValidationHelper() {
-		if (getValidationHelpers().isEmpty())return null;
-		return getValidationHelpers().get(0);
-	}
-
-}
diff --git a/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/plugin/ValidationPlugin.java b/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/plugin/ValidationPlugin.java
deleted file mode 100644
index 4713fd2..0000000
--- a/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/plugin/ValidationPlugin.java
+++ /dev/null
@@ -1,182 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2010 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.validation.internal.plugin;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResourceChangeEvent;
-import org.eclipse.core.resources.IWorkspace;
-import org.eclipse.core.resources.ProjectScope;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.Plugin;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.preferences.IEclipsePreferences;
-import org.eclipse.core.runtime.preferences.IScopeContext;
-import org.eclipse.wst.validation.ValidationFramework;
-import org.eclipse.wst.validation.internal.DependencyIndex;
-import org.eclipse.wst.validation.internal.EventManager;
-import org.eclipse.wst.validation.internal.ProjectUnavailableError;
-import org.eclipse.wst.validation.internal.ResourceUnavailableError;
-import org.eclipse.wst.validation.internal.Tracing;
-import org.eclipse.wst.validation.internal.core.Message;
-import org.eclipse.wst.validation.internal.provisional.core.IMessage;
-import org.osgi.framework.Bundle;
-import org.osgi.framework.BundleContext;
-
-/**
- * How does this plug-in get activated? There are many other plug-ins that depend on this plug-in, so there are
- * many paths that will activate it. One common path is the J2EE perspective. If the J2EE plug-in start method, they
- * reference a class in this plug-in, which activates the plug-in. For that case this plug-in will be active even before
- * the workbench is up.
- */
-public class ValidationPlugin extends Plugin {
-	public static final String 	VALIDATION_PROP_FILE_NAME = "validate_base"; //$NON-NLS-1$
-	
-	/** org.eclipse.wst.validation - the plug-in id */
-	public static final String 	PLUGIN_ID = "org.eclipse.wst.validation"; //$NON-NLS-1$
-	private static ValidationPlugin _plugin;
-	private static Message 		_message;
-	public static final String VALIDATION_BUILDER_ID = PLUGIN_ID + ".validationbuilder"; //$NON-NLS-1$// plugin id of the validation builder
-	public static final String VALIDATOR_EXT_PT_ID = "validator"; //$NON-NLS-1$// extension point declaration of the validator 
-
-	public ValidationPlugin() {
-		super();
-		if (_plugin == null)_plugin = this;
-	}
-	
-	/**
-	 * Answer the name of the bundle's property file.
-	 * 
-	 * @deprecated Use getBundlePropertyFileName() instead.
-	 */
-	public static String getBundleName() {
-		return getBundlePropertyFileName();
-	}
-
-	/**
-	 * Answer the name of the bundle's property file.
-	 */
-	public static String getBundlePropertyFileName() {
-		return VALIDATION_PROP_FILE_NAME;
-	}
-
-	public static Message getMessage() {
-		if (_message == null) {
-			_message = new Message();
-			_message.setBundleName(getBundlePropertyFileName());
-		}
-		// clear the message for reuse
-		_message.setId(null);
-		_message.setParams(null);
-		_message.setTargetObject(null);
-		_message.setGroupName(null);
-		_message.setSeverity(IMessage.LOW_SEVERITY);
-		return _message;
-	}
-
-	public static ValidationPlugin getPlugin() {
-		return _plugin;
-	}
-
-	public static boolean isActivated() {
-		Bundle bundle = Platform.getBundle(PLUGIN_ID);
-		if (bundle != null)
-			return bundle.getState() == Bundle.ACTIVE;
-		return false;
-	}
-
-	public void start(BundleContext context) throws Exception {
-		super.start(context);
-		ResourcesPlugin.getWorkspace().addResourceChangeListener(EventManager.getManager(), 
-			IResourceChangeEvent.PRE_CLOSE | IResourceChangeEvent.PRE_DELETE | 
-			IResourceChangeEvent.POST_BUILD | IResourceChangeEvent.PRE_BUILD | IResourceChangeEvent.POST_CHANGE);
-
-		DependencyIndex di = (DependencyIndex)ValidationFramework.getDefault().getDependencyIndex();
-		IWorkspace ws = ResourcesPlugin.getWorkspace();
-		ws.addSaveParticipant(this, di);
-//		ws.addResourceChangeListener(ValOperationManager.getDefault(), 
-//			IResourceChangeEvent.POST_BUILD | IResourceChangeEvent.PRE_BUILD);
-
-	}
-
-	public void stop(BundleContext context) throws Exception {
-		super.stop(context);
-		ResourcesPlugin.getWorkspace().removeResourceChangeListener( EventManager.getManager() );		
-		ValidationFramework.getDefault().join(null);
-//		ResourcesPlugin.getWorkspace().removeResourceChangeListener( ValOperationManager.getDefault() );		
-		EventManager.getManager().shutdown();
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.common.frameworks.internal.WTPPlugin#getPluginID()
-	 */
-	public String getPluginID() {
-		return PLUGIN_ID;
-	}
-	
-	public static IEclipsePreferences getPreferences(IProject project){
-		IScopeContext projectContext = new ProjectScope(project);
-		return projectContext.getNode(PLUGIN_ID);
-	}
-	
-	/**
-	 * Write this exception to the log.
-	 * <p>
-	 * We are in the transition of moving to a new approach for localized messages. This is the new 
-	 * approach for exceptions.
-	 * 
-	 * @param e the throwable, this can be null in which case it is a nop.
-	 */
-	public void handleException(Throwable e){
-		handleException(e, IStatus.ERROR);
-	}
-	
-	/**
-	 * Write this exception to the log.
-	 * <p>
-	 * We are in the transition of moving to a new approach for localized messages. This is the new 
-	 * approach for exceptions.
-	 * 
-	 * @param e the throwable, this can be null in which case it is a nop.
-	 * @param severity the severity of the message. This must be one of the IStatus severities. 
-	 */
-	public void handleException(Throwable e, int severity){
-		if (e == null)return;
-		Status status = new Status(severity, PLUGIN_ID, e.getLocalizedMessage(), e);
-		getLog().log(status);
-	}
-	
-	public void handleProjectUnavailableError(ProjectUnavailableError e){
-		if (Tracing.isLogging())handleException(e);
-	}
-	
-	public void handleResourceUnavailableError(ResourceUnavailableError e){
-		if (Tracing.isLogging())handleException(e);
-	}
-	
-	/** 
-	 * Write a message into the log. 
-	 * 
-	 * We are in the transition of moving to a new approach for localized messages. This is the new 
-	 * approach for exceptions.
-	 * 
-	 * @param severity message severity, see IStaus
-	 * @param message a localized message
-	 */
-	public void logMessage(int severity, String message){
-		Status status = new Status(severity, PLUGIN_ID, message);
-		getLog().log(status);
-		
-	}	
-}
diff --git a/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/provisional/ValidationFactory.java b/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/provisional/ValidationFactory.java
deleted file mode 100644
index caa4614..0000000
--- a/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/provisional/ValidationFactory.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.validation.internal.provisional;
-
-import org.eclipse.wst.validation.internal.ValidationFactoryImpl;
-import org.eclipse.wst.validation.internal.provisional.core.IValidator;
-
-/**
- * This interface provides a way to access an instance of the ValidationFactoryImpl
- * instance, an internal implementation that provides access to some of the internal state
- * of validators.
- * 
- * @plannedfor 1.0
- * 
- * [issue: LM - 2 issues.
- *  1. I don't think the name 'factory' provides a good description of 
- *     this interface. Unless I'm mistaken the ValidationFactory doesn't
- *     actually create validators but simply returns existing validators.
- *     Looking at the implementation this is currently the case. I suggest
- *     renaming this to ValidatorRegistry or something similar.
- *  2. I think the common way for creating a factory is to create a class
- *     with a static method such as getFactory. If this is to be a factory
- *     it should probably be structured as per the convention.]
- */
-public interface ValidationFactory {
-	
-	ValidationFactory instance = ValidationFactoryImpl.getInstance();
-	/**
-	 * This api returns the IValidator given the validatorUniqueName id. The unique
-	 * id name is the class name that is defined in the class name element in the 
-	 * plugin extension of the validator.
-	 * @param validatorUniqueId
-	 * @return IValidator
-	 * @plannedfor WTP 1.0
-	 */
-	public IValidator getValidator(String validatorUniqueId) throws InstantiationException;
-
-}
diff --git a/plugins/org.eclipse.wst.validation/validate_core/org/eclipse/wst/validation/internal/core/EmptySchedulingRule.java b/plugins/org.eclipse.wst.validation/validate_core/org/eclipse/wst/validation/internal/core/EmptySchedulingRule.java
deleted file mode 100644
index dacb599..0000000
--- a/plugins/org.eclipse.wst.validation/validate_core/org/eclipse/wst/validation/internal/core/EmptySchedulingRule.java
+++ /dev/null
@@ -1,25 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.validation.internal.core;
-
-import org.eclipse.core.runtime.jobs.ISchedulingRule;
-
-public class EmptySchedulingRule implements ISchedulingRule {
-		
-    public boolean contains(ISchedulingRule rule) 
-    {
-         return rule == this;
-    }
-
-    public boolean isConflicting(ISchedulingRule rule) {
-         return rule == this;
-    }
-}
diff --git a/plugins/org.eclipse.wst.validation/validate_core/org/eclipse/wst/validation/internal/core/FileDelta.java b/plugins/org.eclipse.wst.validation/validate_core/org/eclipse/wst/validation/internal/core/FileDelta.java
deleted file mode 100644
index 04e6ba7..0000000
--- a/plugins/org.eclipse.wst.validation/validate_core/org/eclipse/wst/validation/internal/core/FileDelta.java
+++ /dev/null
@@ -1,84 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.validation.internal.core;
-
-
-
-/**
- * <p>
- * Default implementation of the IFileDelta
- * </p>
- * 
- * @see org.eclipse.wst.validation.internal.core.IFileDelta
- * 
- *  [issue: CS - is there a reason that we need to expose this impl class as an API?
- *   It would seem better to only expose IFileDelta.  I can't think of a reason where 
- *   a typical client would need to create one of these.]
- */
-public class FileDelta implements IFileDelta {
-	private int fileDelta;
-	private String fileName;
-
-	/**
-	 * <p>
-	 * Creates a default instance of the FileDelta
-	 * </p>
-	 */
-	public FileDelta() {
-		super();
-	}
-	
-	/**
-	 * <p>
-	 * Constructor is used to initialize the fields. 
-	 * </p>
-	 * 
-	 * @param aFileName specifies the file name
-	 * @param aFileDelta specifies the 
-	 */
-	public FileDelta(String aFileName, int aFileDelta) {
-		fileName = aFileName;
-		fileDelta = aFileDelta;
-	}
-
-	/**
-	 * @see IFileDelta#getDeltaType()
-	 */
-	public int getDeltaType() {
-		return fileDelta;
-	}
-
-	/**
-	 * @see IFileDelta#getFileName()
-	 */
-	public String getFileName() {
-		return fileName;
-	}
-
-	/**
-	 * <p>
-	 * Set the flag which indicates the type of change that the file 
-	 * has undergone.
-	 * </p>
-	 */
-	public void setDeltaType(int deltaType) {
-		fileDelta = deltaType;
-	}
-
-	/**
-	 * <p>
-	 * Set the name of the file which has changed.
-	 * </p>
-	 */
-	public void setFileName(String aFileName) {
-		fileName = aFileName;
-	}
-}
diff --git a/plugins/org.eclipse.wst.validation/validate_core/org/eclipse/wst/validation/internal/core/IFileDelta.java b/plugins/org.eclipse.wst.validation/validate_core/org/eclipse/wst/validation/internal/core/IFileDelta.java
deleted file mode 100644
index b848eed..0000000
--- a/plugins/org.eclipse.wst.validation/validate_core/org/eclipse/wst/validation/internal/core/IFileDelta.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.validation.internal.core;
-
-/**
- * <p>
- * This interface is used, for incremental validation, to encapsulate the change 
- * status of a resource. IFileDelta contains the name of the file which has 
- * changed, and a flag which indicates the type of change which has occurred.
- * 
- * @plannedfor 1.0
- * </p>
- * [issue: LM - From speaking with Vijay the name IFileDelta doesn't really capture
- *  what this interface is for. Validation may occur of files, it may occur on resources,
- *  or it may occur on something more abstract simply known as an artifact. The delta part
- *  of the name also seems misleading as this interface doesn't provide the delta but
- *  rather provides the type of change. I suggest renaming this interface to IModifiedArtifact
- *  or something along those lines to better capture its use. ]
- */
-public interface IFileDelta {
-	
-	/** 1 - the file has been added */
-	int ADDED = 1;
-	
-	/** 2 - the file has been changed */
-	int CHANGED = 2;
-	
-	/** 3 - the file has been deleted */
-	int DELETED = 3;
-
-	/**
-	 * <p>
-	 * Returns the flag which indicates the type of change which has occurred:
-	 * IFileDelta.ADDED, IFileDelta.CHANGED, or IFileDelta.DELETED.
-	 * </p>
-	 * @return returns the delta type.
-	 * @plannedfor WTP 1.0
-	 * 
-	 * [issue: LM - From my experience a validator simply needs to know what artifact needs
-	 *  to be validated. Can you provide a use case where the type of change is needed for
-	 *  validation? ]
-	 */
-	int getDeltaType();
-
-	/**
-	 * <p>
-	 * Returns the name of the eclipse resource file which has changed. The return value must not be 
-	 * null or the empty string ("").
-	 * </p>
-	 * @return returns the file name.
-	 * @plannedfor WTP 1.0
-	 * 
-	 * [issue: LM - Following my comments above this method should be renamed to getArtifactName or
-	 *  something that follows along with the interface rename. ]
-	 */
-	String getFileName();
-}
diff --git a/plugins/org.eclipse.wst.validation/validate_core/org/eclipse/wst/validation/internal/core/IMessageAccess.java b/plugins/org.eclipse.wst.validation/validate_core/org/eclipse/wst/validation/internal/core/IMessageAccess.java
deleted file mode 100644
index af85f64..0000000
--- a/plugins/org.eclipse.wst.validation/validate_core/org/eclipse/wst/validation/internal/core/IMessageAccess.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.validation.internal.core;
-
-
-import java.util.List;
-import java.util.Locale;
-
-
-/**
- * <p>
- * Interface which can be used to access messages which are stored within a reporter which retains
- * its message history.
- * </p>
- * 
- * [issue: CS - This interface seems like overkill.  I'd think that an IReport should simply have a getMessages() method.
- * I think MessageFiltering should take place at the 'display' level and not at this level of the API.]
- */
-public interface IMessageAccess {
-	/**
-	 * @param filter
-	 *            A filter which specifies a subset of messages to retrieve. null specifies, "all
-	 *            messages".
-	 * @return List list of messages related to the target object
-	 */
-	abstract List getMessages(MessageFilter filter);
-
-	/**
-	 * @param filter
-	 *            A filter which specifies a subset of messages to retrieve. null specifies, "all
-	 *            messages".
-	 * @param locale
-	 *            The target local to translate the messages into. null specifies, "use default
-	 *            locale".
-	 * @return List a list of messages related to the target object, translated into the specified
-	 * locale.
-	 */
-	abstract List getMessagesAsText(MessageFilter filter, Locale targetLocale);
-}
diff --git a/plugins/org.eclipse.wst.validation/validate_core/org/eclipse/wst/validation/internal/core/Message.java b/plugins/org.eclipse.wst.validation/validate_core/org/eclipse/wst/validation/internal/core/Message.java
deleted file mode 100644
index 8998112..0000000
--- a/plugins/org.eclipse.wst.validation/validate_core/org/eclipse/wst/validation/internal/core/Message.java
+++ /dev/null
@@ -1,398 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.validation.internal.core;
-
-
-import java.util.HashMap;
-import java.util.Locale;
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-import org.eclipse.wst.validation.internal.provisional.core.IMessage;
-
-/**
- * <p>
- * Default implementation of the IMessage interface, provided for the convenience of the
- * IValidators. If an IValidator needs to run in both AAT and WSAD then this IMessage implementation
- * should be used; if the IValidator runs in WSAD alone, the WSAD LocalizedMessage may be used in
- * place of this implementation.
- * <p>
- * @see org.eclipse.wst.validation.internal.provisional.core.IMessage
- * 
- * [issue: CS - I'd suggest splitting this class into Message and BundleMessage (where the latter inherits
- * from the former.  We have many messages that come (from xerces) pretranslated and don't require 'bundle'
- * related fields and methods. Splitting this class would make it easier to understand where bundle related
- * function is coming into play. Below I've listed out what would go into BundleMessage to demonstrate how 
- * we can simplify the 'Message' class by factoring out the bundle related details.
- * 
- * Message
- *	private Object targetObject = null;
- *	private String groupName = null;
- *	private int lineNumber = IMessage.LINENO_UNSET;
- *	private int length = IMessage.OFFSET_UNSET;
- *	private int offset = IMessage.OFFSET_UNSET;
- *
- *    
- * BundleMessage
- *	private String id = null;
- *	private String[] params = null;
- *	private String bundleName = null;
- *   
- *   - getId()
- *   - getBundle(...)
- *   - getBundleName()
- *   - getParams()
- *   - getText(Locale)
- *   - getText(ClassLoader)
- *   - getText(Locale, ClassLoader)
- *   - setId(String)
- *   - setBundleName(String)
- *   - setParams(String[])
- * ]
- */
-public class Message implements IMessage {
-	private String id;
-	private String[] params;
-	private int severity = MessageFilter.ANY_SEVERITY;
-	private Object targetObject;
-	private String bundleName;
-	private String groupName;
-	private int lineNumber = IMessage.LINENO_UNSET;
-	private int length = IMessage.OFFSET_UNSET;
-	private int offset = IMessage.OFFSET_UNSET;
-	private HashMap<String, Object> messageAttributes;
-	private String markerId;
-
-	/**
-	 * <p>
-	 * Creates a default instance of the Message
-	 * </p>
-	 */
-	public Message() {
-		super();
-	}
-
-	/**
-	 * <p>
-	 * Creates a Message object with bundle name, severity and a unique id
-	 * </p>
-	 * 
-	 * @param aBundleName 
-	 * 			Must not be null or the empty string (""). 
-	 * @param aSeverity 
-	 * 			Must be one of the severities specified in IMessage. 
-	 * @param anId 
-	 * 			Must not be null or the empty string ("").
-	 */
-	public Message(String aBundleName, int aSeverity, String anId) {
-		this(aBundleName, aSeverity, anId, null, null);
-	}
-
-	/**
-	 * <p>
-	 * Creates a Message object with bundle name, severity, a unique id, and 
-	 * a list of parameters. 
-	 * </p>
-	 * 
-	 * @param aBundleName 
-	 * 			Must not be null or the empty string (""). 
-	 * @param aSeverity 
-	 * 			Must be one of the severities specified in IMessage.
-	 * @param anId 
-	 * 			Must not be null or the empty string ("").
-	 * @param aParams 
-	 * 			May be null, if there are no parameters in the message.
-	 */
-	public Message(String aBundleName, int aSeverity, String anId, String[] aParams) {
-		this(aBundleName, aSeverity, anId, aParams, null);
-	}
-	
-	/**
-	 * <p>
-	 * Creates a Message object with bundle name, severity, a unique id, and 
-	 * a list of parameters and the target object.
-	 * </p>
-	 * 
-	 * @param aBundleName 
-	 * 			Must not be null or the empty string (""). 
-	 * @param aSeverity 
-	 * 			Must be one of the severities specified in IMessage.
-	 * @param anId 
-	 * 			Must not be null or the empty string ("").
-	 * @param aParams 
-	 * 			May be null, if there are no parameters in the message.
-	 * @param targetObject 
-	 * 			May be null, if the message does not pertain to a particular 
-	 * 			object.
-	 */
-	public Message(String aBundleName, int aSeverity, String anId, String[] aParams, Object aTargetObject) {
-		bundleName = aBundleName;
-		severity = aSeverity;
-		id = anId;
-		params = aParams;
-		targetObject = aTargetObject;
-	}
-	
-	public Message(String aBundleName, int aSeverity, String anId, String[] aParams, Object aTargetObject, String aGroupName) {
-		bundleName = aBundleName;
-		severity = aSeverity;
-		id = anId;
-		params = aParams;
-		targetObject = aTargetObject;
-		groupName = aGroupName;
-	}
-
-	/**
-	 * @return the resource bundle which contains the messages, as identified by
-	 * 
-	 * @link #getBundleName()
-	 */
-	public ResourceBundle getBundle(Locale locale, ClassLoader classLoader) {
-		ResourceBundle bundle = null;
-		try {
-			if (classLoader == null) {
-				bundle = ResourceBundle.getBundle(getBundleName(), locale);
-			} else {
-				bundle = ResourceBundle.getBundle(getBundleName(), locale, classLoader);
-			}
-		} catch (MissingResourceException e) {
-			//try to  load the bundle from the validation framework plugin
-			bundle = getFrameworkBundle(locale);
-		}
-		return bundle;
-	}
-
-	private ResourceBundle getFrameworkBundle(Locale locale) {
-		ResourceBundle bundle = null;
-		try {
-			bundle = ResourceBundle.getBundle(getBundleName(), locale, this.getClass().getClassLoader());
-			
-		} catch (MissingResourceException e) {
-			e.printStackTrace();
-		}
-		return bundle;
-	}
-	
-	/**
-	 * @see IMessage#getBundleName()
-	 */
-	public String getBundleName() {
-		return bundleName;
-	}
-
-	/**
-	 * @see IMessage#getGroupName()
-	 */
-	public String getGroupName() {
-		return groupName;
-	}
-
-	/**
-	 * @see IMessage#getId()
-	 */
-	public String getId() {
-		return id;
-	}
-
-	/**
-	 * @see IMessage#getLength()
-	 */
-	public int getLength() {
-		return length;
-	}
-
-	/**
-	 * @see IMessage#getLineNumber()
-	 */
-	public int getLineNumber() {
-		return lineNumber;
-	}
-
-	/**
-	 * @see IMessage#getOffset()
-	 */
-	public int getOffset() {
-		return offset;
-	}
-
-	/**
-	 * @see IMessage#getParams()
-	 */
-	public String[] getParams() {
-		return params;
-	}
-
-	/**
-	 * @see IMessage#getSeverity()
-	 */
-	public int getSeverity() {
-		return severity;
-	}
-
-	/**
-	 * @see IMessage#getTargetObject()
-	 */
-	public Object getTargetObject() {
-		return targetObject;
-	}
-
-	/**
-	 * @see IMessage#getText()
-	 */
-	public String getText() {
-		return getText(Locale.getDefault(), null);
-	}
-
-	/**
-	 * @see IMessage#getText(ClassLoader)
-	 */
-	public String getText(ClassLoader classLoader) {
-		return getText(Locale.getDefault(), classLoader);
-	}
-
-	/**
-	 * @see IMessage#getText(Locale)
-	 */
-	public String getText(Locale locale) {
-		return getText(locale, null);
-	}
-
-	/**
-	 * @see IMessage#getText(Locale, ClassLoader)
-	 */
-	public java.lang.String getText(Locale locale, ClassLoader classLoader) {
-		String message = ""; //$NON-NLS-1$
-
-		if (locale == null) {
-			return message;
-		}
-
-		ResourceBundle bundle = getBundle(locale, classLoader);
-		if (bundle == null) {
-			return message;
-		}
-
-		try {
-			message = bundle.getString(getId());
-
-			if (getParams() != null) {
-				message = java.text.MessageFormat.format(message, (Object[])getParams());
-			}
-		} catch (MissingResourceException exc) {
-			System.err.println(exc.getMessage());
-			System.err.println(getId());
-		} catch (NullPointerException exc) {
-			System.err.println(exc.getMessage());
-			System.err.println(getId());
-		}
-
-		return message;
-	}
-
-	/**
-	 * @see IMessage#setBundleName(String)
-	 */
-	public void setBundleName(String aBundleName) {
-		bundleName = aBundleName;
-	}
-
-	/**
-	 * @see IMessage#setGroupName(String)
-	 */
-	public void setGroupName(String name) {
-		groupName = name;
-	}
-
-	/**
-	 * @see IMessage#setId(String)
-	 */
-	public void setId(String newId) {
-		id = newId;
-	}
-
-	/**
-	 * @see IMessage#setLength(int)
-	 */
-	public void setLength(int length) {
-		if (length < 0) {
-			length = IMessage.OFFSET_UNSET;
-		}
-		this.length = length;
-	}
-
-	/**
-	 * @see IMessage#setLineNo(int)
-	 */
-	public void setLineNo(int lineNumber) {
-		if (lineNumber < 0) {
-			this.lineNumber = IMessage.LINENO_UNSET;
-		} else {
-			this.lineNumber = lineNumber;
-		}
-	}
-
-	/**
-	 * @see IMessage#setOffset(int)
-	 */
-	public void setOffset(int offset) {
-		if (offset < 0) {
-			offset = IMessage.OFFSET_UNSET;
-		}
-		this.offset = offset;
-	}
-
-	/**
-	 * @see IMessage#setParams(String[])
-	 */
-	public void setParams(String[] newParams) {
-		params = newParams;
-	}
-
-	/**
-	 * @see IMessage#setSeverity(int)
-	 */
-	public void setSeverity(int newSeverity) {
-		severity = newSeverity;
-	}
-
-	/**
-	 * @see IMessage#setTargetObject(Object)
-	 */
-	public void setTargetObject(Object obj) {
-		targetObject = obj;
-	}
-
-	public Object getAttribute(String attributeName) {
-		if(messageAttributes != null) {
-			return messageAttributes.get(attributeName);
-		}
-		return null;
-	}
-
-	public void setAttribute(String attributeName, Object value) {
-		if(messageAttributes == null) {
-			messageAttributes = new HashMap<String, Object>();
-		}
-		messageAttributes.put(attributeName,value);
-	}
-	
-	public HashMap<String,Object> getAttributes() {
-		return messageAttributes;
-	}
-
-	public String getMarkerId() {
-		return markerId;
-	}
-
-	public void setMarkerId(String markerId) {
-		this.markerId = markerId;
-	}
-}
diff --git a/plugins/org.eclipse.wst.validation/validate_core/org/eclipse/wst/validation/internal/core/MessageFilter.java b/plugins/org.eclipse.wst.validation/validate_core/org/eclipse/wst/validation/internal/core/MessageFilter.java
deleted file mode 100644
index a8e97a3..0000000
--- a/plugins/org.eclipse.wst.validation/validate_core/org/eclipse/wst/validation/internal/core/MessageFilter.java
+++ /dev/null
@@ -1,129 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.validation.internal.core;
-
-import org.eclipse.wst.validation.internal.provisional.core.IValidator;
-
-
-/**
- * <p>
- * Encapsulates common message filtering parameters. Message Filters are used when retrieving
- * messages via an IMessageAccess. The filter encapsulates a simple set of typical filter criteria
- * which is used to select a subset of messages to retrieve. If multiple attributes of the message
- * filter are specified, they should be logically AND'd together by the MessageAccess
- * implementation.
- * </p>
- */
-public class MessageFilter {
-	public static final int ANY_SEVERITY = -1;
-
-	/**
-	 * <p>
-	 * Messages matching this severity(s) will be retrieved. One of SeverityEnum XXX_severity
-	 * constants, or ANY_SEVERITY to specify that messages of any severity will be returned. This
-	 * field can be combined with other filter attributes to narrow the selection set further.
-	 * </p>
-	 */
-	private int severity = ANY_SEVERITY;
-
-	/**
-	 * <p>
-	 * The validator which reported the messages that should be returned. All messages which were
-	 * reported using validator matching this validator will be returned. This field can be combined
-	 * with other filter attributes to narrow the selection set further.
-	 * </p>
-	 */
-	private IValidator validator;
-
-	/**
-	 * <p>
-	 * The target object of the messages that should be returned, or null to specify to retrieve
-	 * messages of any target. All messages having a target object matching this object will be
-	 * returned. This field can be combined with other filter attributes to narrow the selection set
-	 * further.
-	 * </p>
-	 */
-	private Object targetObject;
-
-	/**
-	 * @deprecated
-	 */
-	public MessageFilter() {
-		super();
-	}
-
-	/**
-	 * 
-	 * @param aSeverity
-	 * 			Severity of the message
-	 * @param validator
-	 * 			IValidator which reported the message
-	 * @param aTargetObject
-	 * 			Target object of the message
-	 */
-	public MessageFilter(int aSeverity, IValidator validator, Object aTargetObject) {
-		super();
-		severity = aSeverity;
-		this.validator = validator;
-		targetObject = aTargetObject;
-	}
-
-	/**
-	 * @return the severity filter constraint.
-	 */
-	public int getSeverity() {
-		return severity;
-	}
-
-	/**
-	 * @return the target object filter constraint.
-	 */
-	public java.lang.Object getTargetObject() {
-		return targetObject;
-	}
-
-	/**
-	 * @return the validator to filter on.
-	 */
-	public IValidator getValidator() {
-		return validator;
-	}
-
-	/**
-	 * Set the severity filter constraint.
-	 * 
-	 * @param newSeverity
-	 *            severity filter constraint
-	 */
-	public void setSeverity(int newSeverity) {
-		severity = newSeverity;
-	}
-
-	/**
-	 * Set the target object filter constraint.
-	 * 
-	 * @param newTargetObject
-	 *             target object filter constraint
-	 */
-	public void setTargetObject(java.lang.Object newTargetObject) {
-		targetObject = newTargetObject;
-	}
-
-	/**
-	 * Set the validator to return messages for.
-	 * 
-	 * @param validator
-	 *            validator to return messages for
-	 */
-	public void setValidator(IValidator validator) {
-		this.validator = validator;
-	}
-}
diff --git a/plugins/org.eclipse.wst.validation/validate_core/org/eclipse/wst/validation/internal/core/ValidationException.java b/plugins/org.eclipse.wst.validation/validate_core/org/eclipse/wst/validation/internal/core/ValidationException.java
deleted file mode 100644
index f8970a7..0000000
--- a/plugins/org.eclipse.wst.validation/validate_core/org/eclipse/wst/validation/internal/core/ValidationException.java
+++ /dev/null
@@ -1,165 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.validation.internal.core;
-
-
-import java.util.Locale;
-
-import org.eclipse.wst.validation.internal.provisional.core.IMessage;
-
-/**
- * <p>
- * This exception is the only exception which should be thrown by IValidators. The message in this
- * exception must be suitable for showing to the user. All ValidationExceptions will have their
- * message extracted when they're caught, and the message will be shown to the user.
- * 
- * @plannedfor 1.0
- * </p>
- */
-public class ValidationException extends Exception {
-	private Throwable _lowLevelException;
-	private IMessage _message;
-	private ClassLoader _loader;
-	private final static long serialVersionUID = -3387516993124229949L;
-
-
-	
-	/**
-	 * Constructs a new exception with a given message string. <br>
-	 * <br>
-	 * 
-	 * @param message
-	 *            IMessage, which is Locale-independent, which contains the message to be shown to
-	 *            be shown to the user.
-	 */
-	public ValidationException(IMessage message) {
-		this(message, null);
-	}
-
-	/**
-	 * Constructs a new exception with a given message string, and low-level exception. <br>
-	 * <br>
-	 * 
-	 * @param message
-	 *            IMessage Locale-independent message to be shown to the user.
-	 * @param exception
-	 *            relevant low-level exception, or <code>null</code> if none. <br>
-	 *            &nbsp;&nbsp;&nbsp For example, when a method fails because of a network
-	 *            communications &nbsp;&nbsp;&nbsp problem, this would be the
-	 *            <code>java.io.IOException</code> &nbsp;&nbsp;&nbsp describing the exact nature
-	 *            of the problem.
-	 */
-	public ValidationException(IMessage message, Throwable exception) {
-		super();
-		_message = message;
-		_lowLevelException = exception;
-	}
-
-	/**
-	 * @return the low-level exception associated with this ValidationException.
-	 */
-	public Throwable getAssociatedException() {
-		return _lowLevelException;
-	}
-
-	/**
-	 * @return the IMessage to be shown to the user, or null if this exception should be handled
-	 * internally.
-	 */
-	public IMessage getAssociatedMessage() {
-		return _message;
-	}
-
-	/**
-	 * @return if the IValidator which threw this exception was loaded by a different ClassLoader than the
-	 * framework, this method returns the ClassLoader of the IValidator.
-	 */
-	public ClassLoader getClassLoader() {
-		return _loader;
-	}
-
-	/**
-	 * @return the error message string of this <code>Throwable</code> object if it was
-	 *         {@link java.lang.Throwable#Throwable(String) created}with an error message string;
-	 *         or <code>null</code> if it was {@link java.lang.Throwable#Throwable() created}with
-	 *         no error message.
-	 *  
-	 */
-	public String getMessage() {
-		return _message.getText(getClassLoader());
-	}
-
-	/**
-	 * @param locale
-	 * 			The locale of which to get the message.
-	 * @return the error message string of this <code>Throwable</code> object if it was
-	 *         {@link java.lang.Throwable#Throwable(String) created}with an error message string;
-	 *         or <code>null</code> if it was {@link java.lang.Throwable#Throwable() created}with
-	 *         no error message.
-	 */
-	public String getMessage(Locale locale) {
-		return _message.getText(locale, getClassLoader());
-	}
-
-	/**
-	 * <p>
-	 * If the IValidator which threw this exception was loaded by a different ClassLoader than the
-	 * framework, this method should set the ClassLoader to be the ClassLoader of the IValidator.
-	 * </p>
-	 * @param loader
-	 *  		ClassLoader of the validator
-	 */
-	public void setClassLoader(ClassLoader loader) {
-		_loader = loader;
-	}
-
-	/**
-	 * <p>
-	 * Returns a short description of this throwable object. If this <code>Throwable</code> object
-	 * was {@link java.lang.Throwable#Throwable(String) created}with an error message string, then
-	 * the result is the concatenation of three strings:
-	 * <ul>
-	 * <li>The name of the actual class of this object
-	 * <li>": " (a colon and a space)
-	 * <li>The result of the {@link #getMessage}method for this object
-	 * </ul>
-	 * If this <code>Throwable</code> object was {@link java.lang.Throwable#Throwable() created}
-	 * with no error message string, then the name of the actual class of this object is returned.
-	 * </p>
-	 * 
-	 * @return a string representation of this <code>Throwable</code>.
-	 */
-	public String toString() {
-		return toString(Locale.getDefault());
-	}
-
-	/**
-	 * <p>
-	 * Returns a short description of this throwable object. If this <code>Throwable</code> object
-	 * was {@link java.lang.Throwable#Throwable(String) created}with an error message string, then
-	 * the result is the concatenation of three strings:
-	 * <ul>
-	 * <li>The name of the actual class of this object
-	 * <li>": " (a colon and a space)
-	 * <li>The result of the {@link #getMessage}method for this object
-	 * </ul>
-	 * If this <code>Throwable</code> object was {@link java.lang.Throwable#Throwable() created}
-	 * with no error message string, then the name of the actual class of this object is returned.
-	 * </p>
-	 * 
-	 * @return a string representation of this <code>Throwable</code>.
-	 */
-	public String toString(Locale locale) {
-		String s = getClass().getName();
-		String message = getMessage(locale);
-		return (message != null) ? (s + ": " + message) : s; //$NON-NLS-1$
-	}
-}
diff --git a/plugins/org.eclipse.wst.validation/validate_core/org/eclipse/wst/validation/internal/core/ValidatorLauncher.java b/plugins/org.eclipse.wst.validation/validate_core/org/eclipse/wst/validation/internal/core/ValidatorLauncher.java
deleted file mode 100644
index 40ca89c..0000000
--- a/plugins/org.eclipse.wst.validation/validate_core/org/eclipse/wst/validation/internal/core/ValidatorLauncher.java
+++ /dev/null
@@ -1,104 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.validation.internal.core;
-
-import java.util.List;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.wst.validation.internal.TaskListUtility;
-import org.eclipse.wst.validation.internal.operations.MessageInfo;
-import org.eclipse.wst.validation.internal.operations.ValidatorManager;
-import org.eclipse.wst.validation.internal.plugin.ValidationPlugin;
-import org.eclipse.wst.validation.internal.provisional.core.IReporter;
-import org.eclipse.wst.validation.internal.provisional.core.IValidationContext;
-import org.eclipse.wst.validation.internal.provisional.core.IValidator;
-import org.eclipse.wst.validation.internal.provisional.core.IValidatorJob;
-
-/**
- * This singleton launches the validation on a single validator. Clients should call this class's
- * <code>start</code> method to begin the validation.
- */
-public class ValidatorLauncher {
-	private static ValidatorLauncher _launcher;
-
-	private ValidatorLauncher() {
-	}
-
-	/**
-	 * @return the singleton launcher.
-	 */
-	public static ValidatorLauncher getLauncher() {
-		if (_launcher == null) {
-			_launcher = new ValidatorLauncher();
-		}
-		return _launcher;
-	}
-
-	/**
-	 * <p>
-	 * This method is the launch point of the validation. It runs validation on the validator
-	 * accessed by the IValidationContext. When the validation is complete, each validator may perform resource
-	 * cleanup, if necessary.
-	 * <p>
-	 * If <code>helper</code>,<code>validator</code>, or <code>reporter</code> are null,
-	 * validation is not performed. <code>changedFiles</code> may be null, or empty, if a full
-	 * build should be done.
-	 * </p>
-	 * 
-	 * @param helper 
-	 * 			loads an object. 
-	 * @param validator
-	 * 			validator object to launch validation.
-	 * @param reporter
-	 * 			Is an instance of an IReporter interface, which is used for interaction with the user.
-	 */
-	public void start(final IValidationContext helper, final IValidator validator, final IReporter reporter) throws ValidationException {
-		if ((helper == null) || (validator == null) || (reporter == null))return;
-
-		// Can't force each validator to check if it's cancelled or not,
-		// so check for cancellation here. Hopefully the user won't wait too long.
-		if (reporter.isCancelled())return;
-		
-
-		// If the validator is about to perform a full build, remove all of its previous validation
-		// messages.
-		if ((helper.getURIs() == null) || (helper.getURIs().length == 0)) {
-			reporter.removeAllMessages(validator);
-		}
-		if( validator instanceof IValidatorJob ){
-			((IValidatorJob)validator).validateInJob(helper, reporter);
-		}else{
-			validator.validate(helper, reporter);
-		}
-		if( validator instanceof IValidatorJob ){
-			//the  validators who have implemented IValidatorJob but are running synchronously
-			//would log messages now ...
-			ValidatorManager mgr = ValidatorManager.getManager();
-			final List<MessageInfo> list = mgr.getMessages((IValidatorJob)validator);
-
-			for(MessageInfo info : list){
-				try {
-					TaskListUtility.addTask( info.getMessageOwnerId(), info.getResource(),
-							info.getLocation(), info.getMsg().getId(), info.getText(),
-							info.getMsg().getSeverity(), info.getMarkerId(), 
-							info.getTargetObjectName(),
-							info.getMsg().getGroupName(), info.getMsg().getOffset(), info.getMsg().getLength());
-				
-				} catch (CoreException e) {
-					ValidationPlugin.getPlugin().handleException(e);
-				}										
-			}
-			mgr.clearMessages( (IValidatorJob)validator );
-		}
-
-	}
-	
-}
diff --git a/plugins/org.eclipse.wst.validation/validate_core/org/eclipse/wst/validation/internal/provisional/core/IMessage.java b/plugins/org.eclipse.wst.validation/validate_core/org/eclipse/wst/validation/internal/provisional/core/IMessage.java
deleted file mode 100644
index 5550942..0000000
--- a/plugins/org.eclipse.wst.validation/validate_core/org/eclipse/wst/validation/internal/provisional/core/IMessage.java
+++ /dev/null
@@ -1,346 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.validation.internal.provisional.core;
-
-
-import java.util.HashMap;
-import java.util.Locale;
-
-/**
- * <p>
- * This interface represents a locale-independent validation message.
- * </p>
- * <p>
- * Given these three values as input, this interface can be queried for the final message string.
- * (i.e., the message with the parameters already substituted in.) Either the default Locale can be
- * used, or the caller can specify a Locale.
- * </p>
- * <p>
- * <b>Provisional API:</b> This class/interface is part of an interim API that is still under development and expected to 
- * change significantly before reaching stability. It is being made available at this early stage to solicit feedback 
- * from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken 
- * (repeatedly) as the API evolves.
- * </p>
- */
-public interface IMessage {
-	/*
- * 
- * [issue: CS - The 'IMessage' interface would be simpler without the bundle related details.  I'd like to understand
- * why we can 'precompute' the translated message. Is there some benefit to perform 'late computation' of these messages?
- * How does this compare to the eclipse Marker (as far as I know the Marker's text() is preLocalized).
- * Here's a list of the methods that are related to 'bundle specific' aspects and could be separate out (or designed away)?
- *    
- *   - getId()
- *   - getBundle(...)
- *   - getBundleName()
- *   - getParams()
- *   - getText(Locale)
- *   - getText(ClassLoader)
- *   - getText(Locale, ClassLoader)
- *   - setId(String)
- *   - setBundleName(String)
- *   - setParams(String[])
- * ]
- * 
- *   - void setAttribute(String attributeName, Object value)
- *   - Object getAttribute(String attributeName);
- * ]
-	 */
-	int OFFSET_UNSET = -1; // see getLength(), getOffset()
-	int LINENO_UNSET = 0;
-	
-	/**
-	 * Typically used to specify error messages.
-	 */
-	int HIGH_SEVERITY = 0x0001;
-	/**
-	 * Typically used to specify warning messages.
-	 */
-	int NORMAL_SEVERITY = 0x0002;
-	/**
-	 * Typically used to specify information messages.
-	 */
-	int LOW_SEVERITY = 0x0004;
-	/**
-	 * Specify high (error) and normal (warning) messages. Typically used with a MessageFilter, to
-	 * filter out information messages.
-	 */
-	int ERROR_AND_WARNING = HIGH_SEVERITY | NORMAL_SEVERITY;
-	/**
-	 * Specify all types of messages. Typically used with a MessageFilter.
-	 */
-	int ALL_MESSAGES = ERROR_AND_WARNING | LOW_SEVERITY;
-	
-	/** 
-	 * TargetResource - The key to use when associating a resource with a message via an
-	 * attribute. 
-	 * <p>
-	 * Normally, the target is stored using the setTargetObject() method, but
-	 * some of the legacy validators used this field for objects that where not IResources.
-	 * In order to associate the message with the proper IResource the validator can store
-	 * the IResource as an attribute and use this string as the key.
-	 * </p>
-	 */
-	String TargetResource = "TargetResource"; //$NON-NLS-1$
-
-	/**
-	 * @return the name of the bundle which this message is contained in.
-	 */
-	String getBundleName();
-
-	/**
-	 * To support removal of a subset of validation messages, an IValidator may assign group names
-	 * to IMessages. An IMessage subset will be identified by the name of its group. Default (null)
-	 * means no group.
-	 * 
-	 * @return the name of the group to which the message belongs.
-	 */
-	String getGroupName();
-
-	/**
-	 * Returns the id of the message. Message ids are used as the constants in property bundles
-	 * which localize the description of the message in a locale-independent fashion. The id is the
-	 * key, in the resource bundle, which identifies the string to be loaded. The id may not be null
-	 * or the empty string.
-	 * 
-	 * @return the id of the message
-	 */
-	String getId();
-
-	/**
-	 * @return the length of the problem area, starting from the offset. If unset, value =
-	 * IMessage.OFFSET_UNSET.
-	 * 
-	 * @see #getOffset()
-	 */
-	int getLength();
-
-	/**
-	 * If there is a target object associated with this IMessage, and that target object is a file,
-	 * then an optional line number may be set. The line number identifies the location of the
-	 * problem identified by this message. If no line number has been set, #LINENO_UNSET will be
-	 * returned.
-	 * 
-	 * @return line number of the location of the problem.
-	 */
-	int getLineNumber();
-
-	/**
-	 * Returns the offset of the message. If unset, value = IMessage.OFFSET_UNSET. For example, if
-	 * the java compiler were a validator, and it reported that a variable name was unknown, offset
-	 * would identify the position of the first character of the unknown variable. The position is
-	 * identified by the number of characters from the start of the file.
-	 * 
-	 * @return offset of the message
-	 */
-	int getOffset();
-
-	/**
-	 * Returns the parameters of the message. Message parameters are the values which are
-	 * substituted into parameter slots in localized message text descriptions.
-	 * 
-	 * @return parameters of the message
-	 */
-	String[] getParams();
-
-	/**
-	 * <p>
-	 * Returns the severity level of the message. One of SeverityEnum constants.
-	 * 
-	 * @see IMessage#HIGH_SEVERITY
-	 * @see IMessage#NORMAL_SEVERITY
-	 * @see IMessage#LOW_SEVERITY
-	 * </p>
-	 * 
-	 * @return the severity level of the message
-	 */
-	int getSeverity();
-
-	/**
-	 * Return the object that this IMessage is reporting the problem against, if any. null will be
-	 * returned if this is a general message which does not apply to a particular object; for
-	 * example, "internal error".
-	 * 
-	 * @return the target object for the message
-	 */
-	Object getTargetObject();
-
-	/**
-	 * @return a text representation of this message formatted in the default Locale, with the
-	 * bundle loaded by the default ClassLoader.
-	 */
-	String getText();
-
-	/**
-	 * @param classLoader 
-	 * 				The ClassLoader which will be used to load the ResourceBundle.
-	 *            
-	 * @return a text representation of this message formatted in the default locale, with the
-	 * bundle loaded by the specified ClassLoader.
-	 */
-	String getText(ClassLoader classLoader);
-
-	/**
-	 * @param locale
-	 *            The locale to translate the message text into.
-	 *            
-	 * @return a text representation of this message formatted in the specified locale, with the
-	 * bundle loaded by the default ClassLoader.
-	 */
-	String getText(Locale locale);
-
-	/**
-	 * @param locale
-	 *            The locale to translate the message text into.
-	 * @param classLoader
-	 *            The ClassLoader which will be used to load the ResourceBundle.
-	 *            
-	 * @return a text representation of this message formatted in the specified locale, with the
-	 * bundle loaded by the specified ClassLoader.
-	 */
-	String getText(Locale locale, ClassLoader classLoader);
-	
-	/**
-	 * Provides a way to store some additional attributes that a message would like to store
-	 * that can used by some other parties that are interested in those attribute values.
-	 * 
-	 * @param attributeName
-	 * @return an Object basically the value associated with the object name.
-	 */
-	
-	 Object getAttribute(String attributeName);
-	
-	/**
-	 * Set the attributeName and value as key value pair.
-	 * 
-	 * @see #getAttribute(String attributeName)
-	 * @param attributeName
-	 */
-	
-	void setAttribute(String attributeName, Object value);
-	   
-
-	/**
-	 * Set the name of the bundle which this message is contained in.
-	 * 
-	 * @param bundleName 
-	 * 			Name of the bundle which contains the message.
-	 */
-	void setBundleName(String bundleName);
-
-	/**
-	 * To support removal of a subset of validation messages, an IValidator may assign group names
-	 * to IMessages. An IMessage subset will be identified by the name of its group. Default (null)
-	 * means no group.
-	 * 
-	 * @param name
-	 * 			Name of the group.
-	 */
-	void setGroupName(String name);
-
-	/**
-	 * Set the id of the message. Message ids are used as the constants in property bundles which
-	 * localize the description of the message in a locale-independent fashion. The id is the key,
-	 * in the resource bundle, which identifies the string to be loaded. The id may not be null or
-	 * the empty string.
-	 * 
-	 * @param newId
-	 *            Id of the message.
-	 */
-	void setId(String newId);
-
-	/**
-	 * Sets the length of the problem, starting from the offset. If unset, value =
-	 * IMessage.OFFSET_UNSET.
-	 * 
-	 * @see #setOffset(int)
-	 * 
-	 * @param length 
-	 *			Sets the length. 		
-	 */
-	void setLength(int length);
-
-	/**
-	 * If there is a target object associated with this IMessage, and that target object is a file,
-	 * then an optional line number may be set. The line number identifies the location of the
-	 * problem identified by this message. To indicate no line number, use #LINENO_UNSET.
-	 * 
-	 * @param lineNumber 
-	 *			Sets the line number.
-	 */
-	void setLineNo(int lineNumber);
-
-	/**
-	 * Sets the offset of the message. If unset, value = IMessage.OFFSET_UNSET. For example, if the
-	 * java compiler were a validator, and it reported that a variable name was unknown, offset
-	 * would identify the position of the first character of the unknown variable. The position is
-	 * identified by the number of characters from the start of the file.
-	 * 
-	 * @param offset 
-	 *			Sets the offset of the message.
-	 */
-	void setOffset(int offset);
-
-	/**
-	 * Sets the parameters of the message. Message parameters are the values which are substituted
-	 * into parameter slots in localized message text descriptions.
-	 * <p>
-	 * For example, if getId() returns "MY_ID", then the ResourceBundle identified by
-	 * getBundleName() is searched for the message named "MY_ID", and if found,
-	 * has it's parameters set.
-	 * </p>
-	 * 
-	 * @see java.text.MessageFormat#format(String, Object[]) is invoked on the message, with
-	 *      <code>newParams</code> passed in as the Object[].
-	 *      
-	 * @param newParams
-	 *            Parameters of the message.
-	 */
-	void setParams(String[] newParams);
-
-	/**
-	 * Sets the severity level of the message. One of SeverityEnum constants.
-	 * 
-	 * @see IMessage#HIGH_SEVERITY
-	 * @see IMessage#NORMAL_SEVERITY
-	 * @see IMessage#LOW_SEVERITY
-	 * 
-	 * @param newSeverity
-	 *            Severity level of the message.
-	 */
-	void setSeverity(int newSeverity);
-
-	/**
-	 * Associate this IMessage with the object that has the problem. A null value is permitted. If a
-	 * message is applicable to one object, then this value should be set. Otherwise, the default
-	 * value (null) should be kept. Given this target object, it should be possible to calculate the
-	 * exact location of the problem.
-	 * 
-	 * @param obj
-	 *         The object that has the problem.
-	 */
-	void setTargetObject(Object obj);
-	
-	/**
-	 * Return all the attributes of a Message object.
-	 */
-	HashMap getAttributes();
-	
-	/**
-	 * Return the marker id if one is set on this object when created.
-	 */
-	String getMarkerId();
-	
-	/**
-	 * Set the marker id on a Message object.
-	 */
-	 void setMarkerId(String markerId);
-}
diff --git a/plugins/org.eclipse.wst.validation/validate_core/org/eclipse/wst/validation/internal/provisional/core/IMetaModelContext.java b/plugins/org.eclipse.wst.validation/validate_core/org/eclipse/wst/validation/internal/provisional/core/IMetaModelContext.java
deleted file mode 100644
index 1ffef39..0000000
--- a/plugins/org.eclipse.wst.validation/validate_core/org/eclipse/wst/validation/internal/provisional/core/IMetaModelContext.java
+++ /dev/null
@@ -1,25 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.validation.internal.provisional.core;
-
-/**
- * <p>
- * <b>Provisional API:</b> This class/interface is part of an interim API that is still under development and expected to 
- * change significantly before reaching stability. It is being made available at this early stage to solicit feedback 
- * from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken 
- * (repeatedly) as the API evolves.
- * </p>
- */
-public interface IMetaModelContext extends IValidationContext {
-	
-	public Object getModel(String URI);
-
-}
diff --git a/plugins/org.eclipse.wst.validation/validate_core/org/eclipse/wst/validation/internal/provisional/core/IProjectValidationContext.java b/plugins/org.eclipse.wst.validation/validate_core/org/eclipse/wst/validation/internal/provisional/core/IProjectValidationContext.java
deleted file mode 100644
index 4210353..0000000
--- a/plugins/org.eclipse.wst.validation/validate_core/org/eclipse/wst/validation/internal/provisional/core/IProjectValidationContext.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.wst.validation.internal.provisional.core;
-
-import org.eclipse.core.resources.IProject;
-
-/**
- * IProjectValidationContext extends IValidationContext to provide access to a
- * reference to the project on which a validator is being invoked.
- * <p>
- * <b>Provisional API:</b> This class/interface is part of an interim API that is still under development and expected to 
- * change significantly before reaching stability. It is being made available at this early stage to solicit feedback 
- * from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken 
- * (repeatedly) as the API evolves.
- * </p>
- */
-public interface IProjectValidationContext extends IValidationContext
-{
-  /**
-   * Provides the project on which the validator is being invoked.
-   * 
-   * @return an IProject reference to the project on which the validator is
-   *         being invoked.
-   */
-  IProject getProject();
-}
diff --git a/plugins/org.eclipse.wst.validation/validate_core/org/eclipse/wst/validation/internal/provisional/core/IReporter.java b/plugins/org.eclipse.wst.validation/validate_core/org/eclipse/wst/validation/internal/provisional/core/IReporter.java
deleted file mode 100644
index 3005139..0000000
--- a/plugins/org.eclipse.wst.validation/validate_core/org/eclipse/wst/validation/internal/provisional/core/IReporter.java
+++ /dev/null
@@ -1,162 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.validation.internal.provisional.core;
-
-import java.util.List;
-
-/*
- * CCM - Reporter is now passed locale-independent messages.
- *       Messages should only be translated to a locale upon access.
- *       Or in special locale-dependent reporter implementations (console logger).
- */
-
-/**
- * The interface used by IValidator's to report messages. The implementation of the IReporter could
- * simply log the messages to stdout, a file, or retain them in a buffer for later access by a user
- * interface.
- * <p>
- * Reporter implementations should keep non-localized versions of their messages.
- * </p>
- * <p>
- * Any messages which need to be displayed to the user are done through this class, and if the user
- * cancels the current function, this class is the one which registers the cancellation.
- * </p>
- * <p>
- * The IReporter instance is created at the time validation begins and ends when validation is complete.
- * There is only one IReporter instance created for all validators that are run on a IResource. The IResource
- * provides a way to get messages put out each validator and add and delete messages for one validator
- * at a time. 
- * <p>
- * <b>Provisional API:</b> This class/interface is part of an interim API that is still under development and expected to 
- * change significantly before reaching stability. It is being made available at this early stage to solicit feedback 
- * from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken 
- * (repeatedly) as the API evolves.
- * </p>
- */
-public interface IReporter {
-	/**
-	 * <p>
-	 * Add a locale-independent validation message. It will be displayed later, with all of the
-	 * other validation messages.
-	 * </p>
-	 * <p>
-	 * The IValidator passed in is needed for incremental validation (when a message needs to be
-	 * removed, one validator should not remove messages entered by another validator.) The
-	 * validator is also queried for information about its resource bundle, to enable support for
-	 * localization of messages in a client-server environment.
-	 * </p>
-	 * <p>
-	 * Both parameters must not be null.
-	 * </p>
-	 * @param origin
-	 *            The validator which is the source of the message.
-	 * @param message
-	 *            A message to be reported.
-	 */
-	void addMessage(IValidator origin, IMessage message);
-
-	/**
-	 * Show a text representation of this message, formatted in the default
-	 * Locale, to the user immediately. This message indicates which subtask is
-	 * currently being processed. The message is not stored. The subtask message
-	 * in this context is the subtask in a IProgressMontior
-	 * <p>
-	 * Both parameters must not be null.
-	 * </p>
-	 * 
-	 * @param validator
-	 * 		The validator issuing the subtask message.
-	 * @param message
-	 * 		The message to be displayed to the user.
-	 * 
-	 */
-	void displaySubtask(IValidator validator, IMessage message);
-
-	/**
-	 * @return the message access interface to this reporter, or null if message access is not
-	 * supported.
-	 *     
-	 */
-	List getMessages();
-
-	/**
-	 * Return true if the user canceled validation, and false otherwise. This method should be
-	 * called by IValidators periodically, because no event is fired to notify IValidators that the
-	 * user canceled validation. If a validator does not check this method, a cancellation request
-	 * is ignored.
-	 * 
-	 * @return true if the user canceled validation, and false otherwise.
-	 *  
-	 */
-	boolean isCancelled();
-
-	/**
-	 * Remove all validation messages entered by the identified validator. This method is provided
-	 * for incremental validation. 
-	 * <p>
-	 * The IValidator parameter must not be null.
-	 * </p>
-	 * @param origin
-	 * 			Originator validator of the message.  
-	 */
-	void removeAllMessages(IValidator origin);
-
-	/**
-	 * Remove all validation messages, entered by the identified validator,
-	 * pertaining to the Object provided. This method is provided for
-	 * incremental validation. <br>
-	 * <br>
-	 * If <code>object</code> is null, then this method should remove all
-	 * messages owned by the validator. (i.e., the same behaviour as the
-	 * removeAllMessages(IValidator) method.) <br>
-	 * <br>
-	 * <p>
-	 * The IValidator parameter must not be null.
-	 * </p>
-	 * 
-	 * @param origin
-	 * 		Originator validator of the message.
-	 * @param object
-	 * 		Object to which the message belongs. Object is the target object
-	 * 		that was set on the IMessage when adding the message as problem
-	 * 		marker.
-	 * 
-	 */
-	void removeAllMessages(IValidator origin, Object object);
-
-	/**
-	 * To support removal of a subset of validation messages, an IValidator may
-	 * assign group names to IMessages. An IMessage subset will be identified by
-	 * the name of its group. This method will remove only the IMessage's that
-	 * are in the group identified by groupName. 
-	 * <p>
-	 * The IValidator parameter must not be null.
-	 * </p>
-	 * <p>
-	 * If <code>object</code> is null, then this method should remove all
-	 * messages owned by the validator. (i.e., the same behaviour as the
-	 * removeAllMessages(IValidator) method.)
-	 * </p>
-	 * <p>
-	 * If groupName is null, that's the same as no group (i.e., the same
-	 * behaviour as the <code>removeAllMessages(IValidator, Object)</code>
-	 * method.)
-	 * </p>
-	 * 
-	 * @param validator
-	 * 		Originator validator of the message.
-	 * @param obj
-	 * 		Object to which the message belongs.
-	 * @param groupName
-	 * 		Name of the group to which the message belongs.
-	 */
-	void removeMessageSubset(IValidator validator, Object obj, String groupName);
-}
diff --git a/plugins/org.eclipse.wst.validation/validate_core/org/eclipse/wst/validation/internal/provisional/core/IValidationContext.java b/plugins/org.eclipse.wst.validation/validate_core/org/eclipse/wst/validation/internal/provisional/core/IValidationContext.java
deleted file mode 100644
index 54a8ce5..0000000
--- a/plugins/org.eclipse.wst.validation/validate_core/org/eclipse/wst/validation/internal/provisional/core/IValidationContext.java
+++ /dev/null
@@ -1,90 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.validation.internal.provisional.core;
-
-/**
- * This class is used to to separate the IValidator from the model loading. A model 
- * is a group of object(s) that must follow some rules.
- * <p>
- * The model is loaded differently depending on whether the validator is running in 
- * as-you-type or builder based context. If the <code>loadModel</code> method was a method on the IValidator, 
- * then there would need to be two versions of validators, one for as-you-type and one for 
- * builder based. Because <code>loadModel</code> is separate from the IValidator, we provide 
- * two different IHelpers instead, and ship the one specific to the environment.
- * </p>
- * <p>
- * Each IValidationContext implementation loads a specific model as identified by a String
- * <code>symbolicName</code>. The symbolicName can be any value except null or the 
- * empty string. Each validator identifies the symbolic names which it needs, and the
- * type of model which needs to be returned when that symbolic name is loaded via a 
- * <code>loadModel</code> method. An IValidationContext can support more than one IValidator; 
- * the helper needs to support every model that each validator needs.
- * </p>
- * <p>
- * <b>Provisional API:</b> This class/interface is part of an interim API that is still under development and expected to 
- * change significantly before reaching stability. It is being made available at this early stage to solicit feedback 
- * from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken 
- * (repeatedly) as the API evolves.
- * </p>
- */
-public interface IValidationContext {
-	/**
-	 * <p>
-	 * Load the model identified by <code>symbolicName</code>. <code>symbolicName</code> 
-	 * must not be null or the empty string if the validator needs to be run in both 
-	 * as-you-type and builder based validation.
-	 * </p>
-	 * <p>
-	 * The symbolicName is a string name that is registered in the implementation of the
-	 * IValidatorContext. For an example our internal implementation of the loadModel use
-	 * method names for symbolicNames to load the model object to be validated. Users can
-	 * use their own model load mechanism.
-	 * </p>
-	 * 
-	 * @see <code>WorkbenchContext</code>
-	 */
-	Object loadModel(String symbolicName);
-
-	/*
-	 * 
-	 * [issue : CS - It's not at all clear how these parameters would get passed into a helper.  I'd suggest
-	 * providing getProperty() and setProperty() methods on the class to allow contextual information to be 
-	 * supplied and queried in a generic manner.]
-	 */
-	/**
-	 * <p>
-	 * Load the model identified by <code>symbolicName</code> and <code>parms</code>.
-	 * <code>symbolicName</code> must not be null or the empty string if the validator 
-	 * needs to be run in both as-you-type and builder based validation. 
-	 * If <code>parms</code> is null then this
-	 * method behaves the same as
-	 * 
-	 * @link #loadModel(String).
-	 * 
-	 * This method differs from
-	 * @link #loadModel(String) because it takes parameters, from the IValidator, which 
-	 * 		 are available only at runtime. If you need to pass a live object to the IValidationContext, 
-	 * 		 this is the loadModel method to use.
-	 * </p>
-	 * 
-	 * @param symbolicName String identifier for model.
-	 * @param parms 	   List of parameters that the model takes for invocation.
-	 */
-	Object loadModel(String symbolicName, Object[] parms);
-	
-	/**
-	 * @return a string array with the list of URI's that need to be validated in the
-	 * case of Incremental build.
-	 */
-	
-	String[] getURIs();
-
-}
diff --git a/plugins/org.eclipse.wst.validation/validate_core/org/eclipse/wst/validation/internal/provisional/core/IValidator.java b/plugins/org.eclipse.wst.validation/validate_core/org/eclipse/wst/validation/internal/provisional/core/IValidator.java
deleted file mode 100644
index 6fbd55e..0000000
--- a/plugins/org.eclipse.wst.validation/validate_core/org/eclipse/wst/validation/internal/provisional/core/IValidator.java
+++ /dev/null
@@ -1,74 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.validation.internal.provisional.core;
-
-import org.eclipse.wst.validation.internal.core.ValidationException;
-
-/**
- * This is the base interface for all Validators. A Validator is a class which verifies that objects
- * follow some rules. For example, in a MOF model which represents an EJB jar, the EJB specification
- * determines the rules. 
- * <p>
- * A validator can perform full validation or incremental validation. All validators must implement
- * full validation but incremental validation is optional.
- * </p>
- * <p>
- * Each validator must not be tied to any particular workbench implementation.
- * </p>
- * <p>
- * A validator's verification starts when the ValidatorLauncher singleton calls
- * <code>validate</code>.
- * </p>
- * <p>
- * <b>Provisional API:</b> This class/interface is part of an interim API that is still under development and expected to 
- * change significantly before reaching stability. It is being made available at this early stage to solicit feedback 
- * from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken 
- * (repeatedly) as the API evolves.
- * </p>
- */
-public interface IValidator{
-	
-	/*
-	 * [issue : CS - Perhaps the IValidator should be required to provide a 'name' that can be used describe 
-	 * the running validation 'Job'.  Then the framework could automatically say something like 'XYZ validator : cleanup'.
-	 * Relying on the IValidator to provide subtask information seems error prone.]
-	 * [issue: LM - Is the cleanup method necessary? Can the framework put a requirement that client validators 'clean up'
-	 *  before returning from the validate method? ] 
-	 */
-	
-	/**
-	 * Perform any resource cleanup once validation is complete. If cleanup will take some time, the
-	 * IValidator should report subtask information to the user through the IReporter parameter. The
-	 * IReporter parameter will not be null.
-	 * 
-	 * @param reporter Used for the interaction with the user.
-	 */
-	void cleanup(IReporter reporter);
-
-	/*
-	 * [issue : CS - I'm curious to understand why the validator is not invoked directly on a file.  It seems it should be the
-	 * domain of another API to manage manage incremental file changes and triggering validations accordingly. 
-	 * Do we have a current use case in WTP where the validator does anything more validate a file from the changedFiles list?]
-	 */
-	/**
-	 * This is the method which performs the validation on the objects.
-	 * <p>
-	 * <code>helper</code> and <code>reporter</code> may not be null. <code>changedFiles</code>
-	 * may be null, if a full build is desired. <br>
-	 * </p>
-	 * @param helper 
-	 * 			Loads an object. 
-	 * @param reporter
-	 * 			Is an instance of an IReporter interface, which is used for interaction with the user.
-	 * 
-	 */
-	void validate(IValidationContext helper, IReporter reporter) throws ValidationException;
-}
diff --git a/plugins/org.eclipse.wst.validation/validate_core/org/eclipse/wst/validation/internal/provisional/core/IValidatorExtender.java b/plugins/org.eclipse.wst.validation/validate_core/org/eclipse/wst/validation/internal/provisional/core/IValidatorExtender.java
deleted file mode 100644
index 581a6b0..0000000
--- a/plugins/org.eclipse.wst.validation/validate_core/org/eclipse/wst/validation/internal/provisional/core/IValidatorExtender.java
+++ /dev/null
@@ -1,11 +0,0 @@
-package org.eclipse.wst.validation.internal.provisional.core;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.wst.validation.ValidationState;
-
-public interface IValidatorExtender {
-
-	void validationFinishing(IProject project, ValidationState state, IProgressMonitor monitor);
-
-}
diff --git a/plugins/org.eclipse.wst.validation/validate_core/org/eclipse/wst/validation/internal/provisional/core/IValidatorJob.java b/plugins/org.eclipse.wst.validation/validate_core/org/eclipse/wst/validation/internal/provisional/core/IValidatorJob.java
deleted file mode 100644
index a25e7bb..0000000
--- a/plugins/org.eclipse.wst.validation/validate_core/org/eclipse/wst/validation/internal/provisional/core/IValidatorJob.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.validation.internal.provisional.core;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.jobs.ISchedulingRule;
-import org.eclipse.wst.validation.internal.core.ValidationException;
-
-/**
- * This is the Job interface for the validator. Validators implementing this interface are executed as
- * background jobs. 
- * Following is a sequence of  calls:
- * <ul>
- * <li>validator.getSchedulingRule(helper)
- * <li>validator.validate(reporter)
- * </ul>
- */
-public interface IValidatorJob extends IValidator{
-
-	IStatus OK_STATUS = new Status(IStatus.OK, "org.eclipse.wst.validation", 0, "OK", null); //$NON-NLS-1$ //$NON-NLS-2$
-	
-
-
-	/**
-	 * This is the method which performs the validation on the objects.
-	 * <p>
-	 * <code>reporter</code> may not be null. <code>changedFiles</code>
-	 * may be null, if a full build is desired. <br>
-	 * </p>
-     *
-	 * @param reporter
-	 *            Is an instance of an IReporter interface, which is used for interaction with the
-	 *            user.
-	 * @param helper Will not be null, loads an object.
-	 */
-	IStatus validateInJob(IValidationContext helper, IReporter reporter) throws ValidationException;
-
-	/**
-	 * Get the scheduling rule, which the framework applies to the Validator job.
-	 * 
-	 * @param helper Will not be null, loads an object.
-	 */
-	ISchedulingRule getSchedulingRule(IValidationContext helper);
-}
diff --git a/plugins/org.eclipse.wst.validation/validate_core/org/eclipse/wst/validation/internal/provisional/core/MessageLimitException.java b/plugins/org.eclipse.wst.validation/validate_core/org/eclipse/wst/validation/internal/provisional/core/MessageLimitException.java
deleted file mode 100644
index 3a86bf4..0000000
--- a/plugins/org.eclipse.wst.validation/validate_core/org/eclipse/wst/validation/internal/provisional/core/MessageLimitException.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.validation.internal.provisional.core;
-
-/*
- * [issue: LM - Going along with my comment on the addMessage method in IReporter I 
- *  think this class should be internal to the validation framework.
- *  I don't think there's a need for this class to be exposed to clients. If too many
- *  messages are added the framework should handle this without notifying the client
- *  validator. ]
- */
-/**
- * This exception is thrown by
- * 
- * @see IReporter#addMessage(IValidator, IMessage) method if no more messages can be reported
- *      because the maximum number of messages has been reported.
- *  @deprecated This class is not longer used by the framework. The framework is
- *  not going to limit the number of messages displayed by a validator.
- */
-public class MessageLimitException extends RuntimeException {
-	private final static long serialVersionUID = -7034897190745766940L;
-}
diff --git a/plugins/org.eclipse.wst.validation/validate_core/org/eclipse/wst/validation/internal/provisional/core/package.html b/plugins/org.eclipse.wst.validation/validate_core/org/eclipse/wst/validation/internal/provisional/core/package.html
deleted file mode 100644
index 70bdb29..0000000
--- a/plugins/org.eclipse.wst.validation/validate_core/org/eclipse/wst/validation/internal/provisional/core/package.html
+++ /dev/null
@@ -1,9 +0,0 @@
-<html>
-<head>
-<title>Validation Framework (Version 1)</title>
-</head>
-<body>
-<p>An earlier framework for calling validators that are build based.</p>
-<p>This framework is being replaced by the <code>newer org.eclipse.wst.validation</code> framework.</p>
-</body>
-</html>
diff --git a/plugins/org.eclipse.wst.validation/vf2/org/eclipse/wst/validation/AbstractValidator.java b/plugins/org.eclipse.wst.validation/vf2/org/eclipse/wst/validation/AbstractValidator.java
deleted file mode 100644
index 83c1d55..0000000
--- a/plugins/org.eclipse.wst.validation/vf2/org/eclipse/wst/validation/AbstractValidator.java
+++ /dev/null
@@ -1,194 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.validation;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.wst.validation.Validator.V2;
-
-/**
- * The class that all Validators that wish to use version two of the validation framework must subclass.
- * <p>
- * <b>Provisional API:</b> This class/interface is part of an interim API that is still under development and expected to 
- * change significantly before reaching stability. It is being made available at this early stage to solicit feedback 
- * from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken 
- * (repeatedly) as the API evolves.
- * </p>
- * @author karasiuk
- *
- */
-public abstract class AbstractValidator {
-	
-	private V2 _parent;
-	
-	/**
-	 * Validate the resource. The validator is called from a WorkspaceJob, so
-	 * the validator itself does not need to establish it's own IWorkspaceRunnable.
-	 * <p>
-	 * If you override this method then you should not override the other validate method.
-	 * </p>
-	 * 
-	 * @param resource
-	 * 		The resource to be validated.
-	 * 
-	 * @param kind
-	 * 		The way the resource changed. It uses the same values as the kind
-	 * 		parameter in IResourceDelta.
-	 * 
-	 * @param state
-	 * 		A way to pass arbitrary, validator specific, data from one
-	 * 		invocation of a validator to the next, during the validation phase.
-	 * 		At the end of the validation phase, this object will be cleared,
-	 * 		thereby allowing any of this state information to be garbaged
-	 * 		collected.
-	 * 
-	 * @param monitor
-	 * 		A monitor that you can use to report your progress. To be a well
-	 * 		behaved validator you need to check the isCancelled() method at
-	 * 		appropriate times.
-	 * 
-	 * @return the result of the validation. This may be, but usually isn't, null.
-	 */
-	public ValidationResult validate(IResource resource, int kind, ValidationState state, IProgressMonitor monitor){
-		return null;
-	}
-	
-	/**
-	 * Validate the resource. The validator is called from a WorkspaceJob, so
-	 * the validator itself does not need to establish it's own
-	 * IWorkspaceRunnable.
-	 * <p>
-	 * If you override this method then you should not override the other
-	 * validate method.
-	 * </p>
-	 * 
-	 * @param event
-	 *            An object that describes the resource to be validated and why
-	 *            it should be validated.
-	 * 
-	 * @param state
-	 *            A way to pass arbitrary, validator specific, data from one
-	 *            invocation of a validator to the next, during the validation
-	 *            phase. At the end of the validation phase, this object will be
-	 *            cleared, thereby allowing any of this state information to be
-	 *            garbaged collected.
-	 * 
-	 * @param monitor
-	 *            A monitor that you can use to report your progress. To be a
-	 *            well behaved validator you need to check the isCancelled()
-	 *            method at appropriate times.
-	 * 
-	 * @return the result of the validation. Null should never be returned. If
-	 *         null is returned then the other validate method will be called as
-	 *         well.
-	 */
-	public ValidationResult validate(ValidationEvent event, ValidationState state, IProgressMonitor monitor){
-		return null;
-	}
-	
-	
-	/**
-	 * A call back method that lets the validator know that the project is being
-	 * cleaned. This method gives the validator a chance to do any special
-	 * cleanup. The default is to do nothing.
-	 * <p>
-	 * If the entire workspace is being cleaned, then the first call will have a
-	 * null project, and then there will be subsequent calls for each open
-	 * project in the workspace.</p>
-	 * 
-	 * @param project
-	 * 		The project being cleaned. This may be null, which is an indication
-	 * 		that the workspace is being cleaned.
-	 * 
-	 * @param state
-	 * 		A way to pass arbitrary, validator specific, data from one
-	 * 		invocation of a validator to the next, during the validation phase.
-	 * 
-	 * @param monitor
-	 * 		The monitor that should be used for reporting progress if the clean
-	 * 		takes a long time.
-	 */
-	public void clean(IProject project, ValidationState state, IProgressMonitor monitor){		
-	}
-		
-	/**
-	 * This method is called before any validation takes place. It allows
-	 * validators to perform any initialization that they might need.
-	 * 
-	 * @param project
-	 * 		The project that is being validated. For the very first call in the
-	 * 		validation phase, this will be null. A null project is the signal
-	 * 		that a top level validation is starting. Subsequently, the project
-	 * 		will be set, as each of the individual projects are validated.
-	 * 
-	 * @param state
-	 * 		A way to pass arbitrary, validator specific, data from one
-	 * 		invocation of a validator to the next, during the validation phase.
-	 * 
-	 * @param monitor
-	 * 		The monitor that should be used for reporting progress if the initialization
-	 * 		takes a long time.
-	 */
-	public void validationStarting(IProject project, ValidationState state, IProgressMonitor monitor){		
-	}
-	
-	/**
-	 * This method will be called when validation is complete. It allows
-	 * validators to perform any cleanup that they might need to do.
-	 * 
-	 * @param project
-	 * 		The project that was validated. The very last call in the validation
-	 * 		sets this to null so that the validator knows that all the
-	 * 		projects have now been validated.
-	 * 
-	 * @param state
-	 * 		A way to pass arbitrary, validator specific, data from one
-	 * 		invocation of a validator to the next, during the validation phase.
-	 * 
-	 * @param monitor
-	 * 		The monitor that should be used for reporting progress if the cleanup
-	 * 		takes a long time.
-	 */
-	public void validationFinishing(IProject project, ValidationState state, IProgressMonitor monitor){		
-	}
-	
-	/**
-	 * Should the validation framework first clear the markers that this
-	 * validator has placed on this resource? This method can be overridden by
-	 * validator implementors to provide a validator specific behavior.
-	 * 
-	 * @param event
-	 *            The validation event that triggered the validation.
-	 * @return true if the validation framework should first clear all the
-	 *         markers that this validator produced. This is the default
-	 *         behavior. Return false to leave the markers unchanged. It then
-	 *         becomes the responsibility of the validator to manage it's own
-	 *         markers for this resource, for this validation event.
-	 */
-	public boolean shouldClearMarkers(ValidationEvent event){
-		return true;
-	}
-		
-	/**
-	 * Answer the validator that you belong to. The validator controls the
-	 * filters and various other settings.
-	 * 
-	 * @nooverride
-	 */
-	public V2 getParent(){
-		return _parent;
-	}
-	
-	void setParent(V2 parent){
-		_parent = parent;
-	}
-}
diff --git a/plugins/org.eclipse.wst.validation/vf2/org/eclipse/wst/validation/DependentResource.java b/plugins/org.eclipse.wst.validation/vf2/org/eclipse/wst/validation/DependentResource.java
deleted file mode 100644
index 3f1c67d..0000000
--- a/plugins/org.eclipse.wst.validation/vf2/org/eclipse/wst/validation/DependentResource.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.validation;
-
-import org.eclipse.core.resources.IResource;
-
-/**
- * A resource that is dependent on another resource.
- * <p>
- * This is returned by the IDependencyIndex.
- * <p>
- * <b>Provisional API:</b> This class/interface is part of an interim API that is still under development and expected to 
- * change significantly before reaching stability. It is being made available at this early stage to solicit feedback 
- * from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken 
- * (repeatedly) as the API evolves.
- * </p>
- * @noextend
- * @see IDependencyIndex
- * @author karasiuk
- *
- */
-public class DependentResource {
-	private IResource 	_resource;
-	private Validator	_validator;
-	
-	/**
-	 * @noreference
-	 */
-	public DependentResource(IResource resource, Validator validator){
-		_resource = resource;
-		_validator = validator;
-	}
-	
-	/**
-	 * Answer the resource that is depended on.
-	 */
-	public IResource getResource() {
-		return _resource;
-	}
-	
-	/**
-	 * Answer the validator that asserted the dependency.
-	 */
-	public Validator getValidator() {
-		return _validator;
-	}
-}
diff --git a/plugins/org.eclipse.wst.validation/vf2/org/eclipse/wst/validation/Friend.java b/plugins/org.eclipse.wst.validation/vf2/org/eclipse/wst/validation/Friend.java
deleted file mode 100644
index 4146636..0000000
--- a/plugins/org.eclipse.wst.validation/vf2/org/eclipse/wst/validation/Friend.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.validation;
-
-import java.util.Map;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.wst.validation.internal.ContentTypeWrapper;
-import org.eclipse.wst.validation.internal.ValType;
-
-/**
- * This class is only to be called by the validation framework and it's test cases.
- * This class is NOT part of the API.
- * <p>
- * This class provides access to some internal methods.
- * </p>
- * @author karasiuk
- *
- */
-public class Friend {
-	
-	public static void setMessages(Validator validator, Map<String, MessageSeveritySetting> map) {
-		validator.setMessages(map);
-	}
-	
-	/**
-	 * Has the validator's implementation been loaded yet? This is used by some test cases to ensure that 
-	 * plug-ins are not loaded too early.
-	 */
-	public static boolean isLoaded(Validator validator){
-		return validator.isLoaded();
-	}
-	
-	public static boolean shouldValidate(Validator validator, IResource resource, boolean isManual, boolean isBuild, 
-			ContentTypeWrapper contentTypeWrapper){
-		return validator.shouldValidate(resource, isManual, isBuild, contentTypeWrapper);
-	}
-	
-	public static boolean shouldValidate(Validator validator, IResource resource, ValType valType, 
-		ContentTypeWrapper contentTypeWrapper){
-		
-		return validator.shouldValidate(resource, valType, contentTypeWrapper);		
-	}
-	
-	public static void setMigrated(Validator validator, boolean migrated){
-		validator.setMigrated(migrated);
-	}
-
-}
diff --git a/plugins/org.eclipse.wst.validation/vf2/org/eclipse/wst/validation/IDependencyIndex.java b/plugins/org.eclipse.wst.validation/vf2/org/eclipse/wst/validation/IDependencyIndex.java
deleted file mode 100644
index d9d494b..0000000
--- a/plugins/org.eclipse.wst.validation/vf2/org/eclipse/wst/validation/IDependencyIndex.java
+++ /dev/null
@@ -1,112 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.validation;
-
-import java.util.List;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-
-/**
- * This service is used to specify the resources that a particular resource depends on.
- * <p>
- * This is an optional service, validators do not need to use this Interface and can simply supply
- * their dependency information through the ValidationResult return result.
- * </p>
- * <p>
- * <b>Provisional API:</b> This class/interface is part of an interim API that is still under development and expected to 
- * change significantly before reaching stability. It is being made available at this early stage to solicit feedback 
- * from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken 
- * (repeatedly) as the API evolves.
- * </p>
- * @noimplement
- * @see ValidationResult
- * @author karasiuk
- *
- */
-public interface IDependencyIndex {
-	
-	/**
-	 * Assert that one resource depends on another resource as part of it's validity.
-	 * <p>
-	 * For example, if an XML file is dependent on an XSD file to be valid, the
-	 * resource that holds the XML file would be the dependent, and the resource
-	 * that holds the XSD would be the dependsOn.
-	 * </p>
-	 * 
-	 * @param id
-	 * 		The validator id that is asserting that the dependency exists.
-	 * @param dependent
-	 * 		The resource that is dependent on the other resource. For example a XML file.
-	 * @param dependsOn
-	 * 		The resource that this being depended on. For example a XSD file.
-	 */
-	void add(String id, IResource dependent, IResource dependsOn);
-	
-	/**
-	 * Remove all the dependency assertions for this project.
-	 * 
-	 * @param project
-	 * 		The project that will have it's dependency assertions removed.
-	 */
-	void clear(IProject project);
-	
-	/**
-	 * Answer all the resources that depend on this resource. For example, if
-	 * this resource was a XSD, this could answer all the XML files that
-	 * depended on it for their validity.
-	 * 
-	 * @param resource
-	 * 		A resource that other resources may depend on.
-	 * 
-	 * @return the dependent resources.
-	 */
-	List<DependentResource> get(IResource resource);
-	
-	/**
-	 * Answer all the resources that depend on this resource. For example, if
-	 * this resource was a XSD, this could answer all the XML files that
-	 * depended on it for their validity.
-	 * 
-	 * @param id
-	 * 		The validator id that asserted that the dependency exists.
-	 * @param resource
-	 * 		A resource that other resources may depend on.
-	 * 
-	 * @return the dependent resources. This method can return null or an empty array, if
-	 * 	there are no dependent resources.
-	 */
-	IResource[] get(String id, IResource resource);
-	
-	/**
-	 * Answer true if other resources depend on this resource.
-	 * 
-	 * @param resource
-	 * 		The resource being tested.
-	 * 
-	 * @return true if any of the validators asserted a dependency on this resource.
-	 */
-	boolean isDependedOn(IResource resource);
-	
-	/**
-	 * Replace all the resources that the dependent depends on.
-	 * 
-	 * @param id
-	 * 		The validator id that is asserting that the dependency exists.
-	 * @param dependent
-	 * 		The resource that is dependent on the other resource.
-	 * @param dependsOn
-	 * 		All the resources that are depended on. This can be null or a zero
-	 * 		length array. Null or a zero length array removes all the dependencies.
-	 */
-	void set(String id, IResource dependent, IResource[] dependsOn);
-
-}
diff --git a/plugins/org.eclipse.wst.validation/vf2/org/eclipse/wst/validation/IMutableValidator.java b/plugins/org.eclipse.wst.validation/vf2/org/eclipse/wst/validation/IMutableValidator.java
deleted file mode 100644
index bbb6627..0000000
--- a/plugins/org.eclipse.wst.validation/vf2/org/eclipse/wst/validation/IMutableValidator.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.validation;
-
-/**
- * A validator that has fields that can be updated.
- * <p>
- * The following procedure is used to change a Validator's settings.
- * <ol>
- * <li>An IMutableValidator is retrieved.</li>
- * <li>The IMutableValidator is changed.</li>
- * <li>The IMutableValidator is "activated".</li>
- * </ol>
- * </p>
- * <p>The methods {@link ValidationFramework#getProjectSettings(org.eclipse.core.resources.IProject)} and 
- * {@link ValidationFramework#getWorkspaceSettings()} can be used to retrieve IMutableValidator's.
- * <p>
- * <b>Provisional API:</b> This class/interface is part of an interim API that is still under development and expected to 
- * change significantly before reaching stability. It is being made available at this early stage to solicit feedback 
- * from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken 
- * (repeatedly) as the API evolves.
- * </p>
- * @noextend This interface is not intended to be extended by clients.
- * @noimplement This interface is not intended to be implemented by clients.
-
- * @author karasiuk
- *
- */
-public interface IMutableValidator {
-	
-	/**
-	 * Answer the validator's id.
-	 * @return
-	 */
-	String getId();
-	
-	/**
-	 * Answer the validator's name.
-	 * @return
-	 */
-	String getName();
-	
-	/**
-	 * Answer the validator's class name.
-	 * @return
-	 */
-	String getValidatorClassname();
-	
-	/**
-	 * Answer if the validator is enabled for build based validation.
-	 */
-	boolean isBuildValidation();
-	
-	/**
-	 * Answer if the validator is enabled for manual based validation.
-	 */
-	boolean isManualValidation();
-	
-	/**
-	 * Set whether the validator should be enabled for build based validation.
-	 */
-	void setBuildValidation(boolean build);
-	
-	/**
-	 * Set whether the validator should be enabled for manual based validation.
-	 */	
-	void setManualValidation(boolean manual);
-
-}
diff --git a/plugins/org.eclipse.wst.validation/vf2/org/eclipse/wst/validation/IPerformanceMonitor.java b/plugins/org.eclipse.wst.validation/vf2/org/eclipse/wst/validation/IPerformanceMonitor.java
deleted file mode 100644
index b951270..0000000
--- a/plugins/org.eclipse.wst.validation/vf2/org/eclipse/wst/validation/IPerformanceMonitor.java
+++ /dev/null
@@ -1,79 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.validation;
-
-import java.util.List;
-
-/**
- * A service that collects performance information on validation operations.
- * <p>
- * <b>Provisional API:</b> This class/interface is part of an interim API that is still under development and expected to 
- * change significantly before reaching stability. It is being made available at this early stage to solicit feedback 
- * from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken 
- * (repeatedly) as the API evolves.
- * </p>
- * @noextend This interface is not intended to be extended by clients.
- * @noimplement This interface is not intended to be implemented by clients.
- * @author karasiuk
- *
- */
-public interface IPerformanceMonitor {
-	
-	/**
-	 * The level of information to collect.
-	 */
-	public enum CollectionLevel {None, Default}
-	
-	/** 
-	 * Add this performance counter to the monitor. The monitor will decide what to 
-	 * do with the results, it may log them to a file, or it may simply hold on to them.
-	 * 
-	 * @param counters
-	 */
-	public void add(PerformanceCounters counters);
-	
-	/**
-	 * Answer true if the performance monitor is collecting performance events.
-	 */
-	public boolean isCollecting();
-	
-	/** Answer true if only summary information is requested. */
-	public boolean isSummaryOnly();
-	
-	/**
-	 * Set the performance event collection level. This controls which
-	 * performance events are collected, including none of them.
-	 * 
-	 * @param level
-	 * 		The level to collect. The default is to not collect anything.
-	 */
-	public void setCollectionLevel(CollectionLevel level);
-	
-	/**
-	 * Answer the level of performance events that are being collected by the validation framework.
-	 */
-	public CollectionLevel getCollectionLevel();
-	
-	/**
-	 * Answer the performance counters that have been collected so far. Some
-	 * monitors do not save counters, and they will always return an empty list.
-	 * 
-	 * @param asSummary
-	 * 		If this parameter is true, only answer a summary of the counters.
-	 */
-	public List<PerformanceCounters> getPerformanceCounters(boolean asSummary);
-	
-	/**
-	 * Delete the collected performance counters.
-	 */
-	public void resetPerformanceCounters();
-
-}
diff --git a/plugins/org.eclipse.wst.validation/vf2/org/eclipse/wst/validation/IValidatorGroupListener.java b/plugins/org.eclipse.wst.validation/vf2/org/eclipse/wst/validation/IValidatorGroupListener.java
deleted file mode 100644
index 5f4feee..0000000
--- a/plugins/org.eclipse.wst.validation/vf2/org/eclipse/wst/validation/IValidatorGroupListener.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.validation;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.IProgressMonitor;
-
-/**
- * Validators may wish to join validator groups for performance or other
- * reasons. That way expensive operations like creating and releasing models can
- * be done in a common location, and be done only once per resource. Group listeners
- * are declared via the <code>org.eclipse.wst.validation.validatorGroup</code> extension point.
- * <p>
- * As validation proceeds, the validation framework, on a resource by resource
- * bases, determines if any validators that are members of a group are
- * interested in the resource. If they are, before the first validator in the
- * group is called, the <code>validationStarting</code> method is called. If this method was
- * called, then the <code>validationFinishing</code> method will be called once all the
- * validators have processed the resource.
- * </p>
- * <p>
- * <b>Provisional API:</b> This class/interface is part of an interim API that is still under development and expected to 
- * change significantly before reaching stability. It is being made available at this early stage to solicit feedback 
- * from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken 
- * (repeatedly) as the API evolves.
- * </p>
- */
-public interface IValidatorGroupListener {
-	/**
-	 * This is called before the first validator in the group that is interested
-	 * in the resource is called. If no validators in the group are interested
-	 * in the resource, then this method is not called.
-	 * 
-	 * @param resource
-	 *            The resource that is being validated.
-	 * @param monitor
-	 *            A progress monitor that the method should use.
-	 * @param state
-	 *            The validation state for the current operation.
-	 */
-	void validationStarting(IResource resource, IProgressMonitor monitor, ValidationState state);
-	
-	/**
-	 * If the validationStarting method was called on the resource, then this
-	 * method will be called after the last validator has processed the
-	 * resource.
-	 * 
-	 * @param resource
-	 * 		The resource that is being validated.
-	 * @param monitor
-	 * 		A progress monitor that the method can use.
-	 * @param state
-	 * 		The validation state for the current operation.
-	 */
-	void validationFinishing(IResource resource, IProgressMonitor monitor, ValidationState state);
-}
diff --git a/plugins/org.eclipse.wst.validation/vf2/org/eclipse/wst/validation/MessageSeveritySetting.java b/plugins/org.eclipse.wst.validation/vf2/org/eclipse/wst/validation/MessageSeveritySetting.java
deleted file mode 100644
index 4eaa3b7..0000000
--- a/plugins/org.eclipse.wst.validation/vf2/org/eclipse/wst/validation/MessageSeveritySetting.java
+++ /dev/null
@@ -1,140 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.validation;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.wst.validation.internal.ValMessages;
-
-/**
- * Associate a message severity with a message category.
- * <p>
- * <b>Provisional API:</b> This class/interface is part of an interim API that is still under development and expected to 
- * change significantly before reaching stability. It is being made available at this early stage to solicit feedback 
- * from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken 
- * (repeatedly) as the API evolves.
- * </p>
- * @noextend
- * @author karasiuk
- *
- */
-public class MessageSeveritySetting {
-	public enum Severity {
-		Error(ValMessages.SevError, IMarker.SEVERITY_ERROR),
-		Warning(ValMessages.SevWarning, IMarker.SEVERITY_WARNING),
-		Ignore(ValMessages.SevIgnore, IMarker.SEVERITY_INFO);
-		
-		private String _severityLabel;
-		private Severity(String label, int markerSeverity){
-			_severityLabel = label;
-			_markerSeverity = markerSeverity;
-		}
-		private int		_markerSeverity;
-		
-		@Override
-		public String toString() {
-			return _severityLabel;
-		}
-
-		/**
-		 * Answer the associated IMarker severity.
-		 */
-		public int getMarkerSeverity() {
-			return _markerSeverity;
-		}
-		
-	}
-	
-	private String		_id;
-	private String 		_label;
-	private Severity 	_default;
-	private Severity 	_current;
-	
-	/**
-	 * Create an association between a label and a message severity.
-	 * 
-	 * @param id
-	 * 		An id that is used to identify this particular setting. This must be
-	 * 		unique within the scope of this particular validator.
-	 * 
-	 * @param label
-	 * 		An end user string, that can describe either an individual message
-	 * 		or a message category.
-	 * 
-	 * @param defaultSeverity
-	 * 		The default severity for this label. If the end user doesn't change
-	 * 		anything this is what the severity will be.
-	 */
-	public MessageSeveritySetting(String id, String label, Severity defaultSeverity){
-		_id = id;
-		_label = label;
-		_default = defaultSeverity;
-	}
-	
-	@Override
-	public int hashCode() {
-		int h = 0;
-		if (_current != null)h += _current.getMarkerSeverity()*1000;
-		if (_id != null)h += _id.hashCode();
-		return h;
-	}
-
-	public String getLabel() {
-		return _label;
-	}
-
-	/** Answer the default severity as defined by the validator owner. */
-	public Severity getDefault() {
-		return _default;
-	}
-
-	/** 
-	 * Answer the current severity for the message. The end user may have changed this through a
-	 * preference dialog.
-	 */
-	public Severity getCurrent() {
-		if (_current != null)return _current;
-		return _default;
-	}
-
-	/**
-	 * The id that the validator owner assigned to the message.
-	 */
-	public String getId() {
-		return _id;
-	}
-
-	/**
-	 * Set the current message severity.
-	 * 
-	 * @param severity
-	 * @return true if the setting changed
-	 */
-	public boolean setCurrent(Severity severity) {
-		if (_current == severity)return false;
-		_current = severity;
-		return true;
-	}
-	
-	@Override
-	public String toString() {
-		return _id + " " + getCurrent().toString(); //$NON-NLS-1$
-	}
-
-	/**
-	 * Answer a copy of this object.
-	 */
-	public MessageSeveritySetting copy() {
-		MessageSeveritySetting ms = new MessageSeveritySetting(_id, _label, _default);
-		ms._current = _current;
-		return ms;
-	}
-
-}
diff --git a/plugins/org.eclipse.wst.validation/vf2/org/eclipse/wst/validation/MutableProjectSettings.java b/plugins/org.eclipse.wst.validation/vf2/org/eclipse/wst/validation/MutableProjectSettings.java
deleted file mode 100644
index 73bf21c..0000000
--- a/plugins/org.eclipse.wst.validation/vf2/org/eclipse/wst/validation/MutableProjectSettings.java
+++ /dev/null
@@ -1,96 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.validation;
-
-import org.eclipse.core.resources.IProject;
-
-/**
- * This class holds the overall project validation settings.
- * <p>
- * The following procedure is used to change a project's Validation settings.
- * <ol>
- * <li>The MutableProjectSettings are retrieved.</li>
- * <li>The MutableProjectSettings are changed.</li>
- * <li>The MutableProjectSettings are "applied".</li>
- * </ol>
- * </p>
- * <p>In order for a project's validation setting to be effective, both 
- * {@link #getOverride()} and {@link MutableWorkspaceSettings#getOverride()}
- * must be true.
- * </p>
- * <p>
- * These settings can be retrieved with {@link ValidationFramework#getProjectSettings(IProject)}.
- * </p>
- * <p>
- * <b>Provisional API:</b> This class/interface is part of an interim API that is still under development and expected to 
- * change significantly before reaching stability. It is being made available at this early stage to solicit feedback 
- * from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken 
- * (repeatedly) as the API evolves.
- * </p>
-
- * @author karasiuk
- *
- */
-public final class MutableProjectSettings {
-	private final IProject	_project;
-
-	private boolean _override;
-	private boolean	_suspend;
-	private final IMutableValidator[] _validators;
-	
-	public IMutableValidator[] getValidators() {
-		return _validators;
-	}
-
-	public MutableProjectSettings(IProject project, IMutableValidator[] validators){
-		_project = project;
-		_validators = validators;
-	}
-
-	/**
-	 * Can this project override the workspace level validation settings?
-	 */
-	public boolean getOverride() {
-		return _override;
-	}
-
-	/**
-	 * Change whether this project can override workspace level validation settings.
-	 * @param override Set to true if the project is allowed to override workspace level validation settings.
-	 */
-	public void setOverride(boolean override) {
-		_override = override;
-	}
-
-	/**
-	 * Is validation suspended for this project?
-	 */
-	public boolean getSuspend() {
-		return _suspend;
-	}
-
-	/**
-	 * Change whether this project is suspending it's validation.
-	 * @param suspend Set to true, to suspend validation for this project.
-	 */
-	public void setSuspend(boolean suspend) {
-		_suspend = suspend;
-	}
-
-	/**
-	 * Answer the project that these settings are for.
-	 */
-	public IProject getProject() {
-		return _project;
-	}
-
-
-}
diff --git a/plugins/org.eclipse.wst.validation/vf2/org/eclipse/wst/validation/MutableWorkspaceSettings.java b/plugins/org.eclipse.wst.validation/vf2/org/eclipse/wst/validation/MutableWorkspaceSettings.java
deleted file mode 100644
index 80d18f1..0000000
--- a/plugins/org.eclipse.wst.validation/vf2/org/eclipse/wst/validation/MutableWorkspaceSettings.java
+++ /dev/null
@@ -1,96 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.validation;
-
-import org.eclipse.wst.validation.internal.model.GlobalPreferencesValues;
-
-
-/**
- * This class holds the overall workspace validation settings.
- * <p>
- * The following procedure is used to change a project's Validation settings.
- * <ol>
- * <li>The MutableWorkspaceSettings are retrieved.</li>
- * <li>The MutableWorkspaceSettings are changed.</li>
- * <li>The MutableWorkspaceSettings are "applied".</li>
- * </ol>
- * </p>
- * <p>
- * These settings can be retrieved with {@link ValidationFramework#getWorkspaceSettings()}.
- * </p>
- * <p>
- * <b>Provisional API:</b> This class/interface is part of an interim API that is still under development and expected to 
- * change significantly before reaching stability. It is being made available at this early stage to solicit feedback 
- * from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken 
- * (repeatedly) as the API evolves.
- * </p>
-
- * @author karasiuk
- *
- */
-public final class MutableWorkspaceSettings {
-
-	private final GlobalPreferencesValues _values;
-	
-	private final IMutableValidator[] _validators;
-	
-	public IMutableValidator[] getValidators() {
-		return _validators;
-	}
-
-	public MutableWorkspaceSettings(IMutableValidator[] validators, GlobalPreferencesValues values){
-		_validators = validators;
-		_values = values;
-	}
-	
-	public GlobalPreferencesValues getGlobalPreferencesValues(){
-		return _values;
-	}
-	
-	public boolean getAutoSave() {
-		return _values.saveAutomatically;
-	}
-
-	public void setAutoSave(boolean autoSave) {
-		_values.saveAutomatically = autoSave;
-	}
-
-	/**
-	 * Can this project override the workspace level validation settings?
-	 */
-	public boolean getOverride() {
-		return _values.override;
-	}
-
-	/**
-	 * Change whether this project can override workspace level validation settings.
-	 * @param override Set to true if the project is allowed to override workspace level validation settings.
-	 */
-	public void setOverride(boolean override) {
-		_values.override = override;
-	}
-
-	/**
-	 * Is validation suspended for this project?
-	 */
-	public boolean getSuspend() {
-		return _values.disableAllValidation;
-	}
-
-	/**
-	 * Change whether this project is suspending it's validation.
-	 * @param suspend Set to true, to suspend validation for this project.
-	 */
-	public void setSuspend(boolean suspend) {
-		_values.disableAllValidation = suspend;
-	}
-
-}
diff --git a/plugins/org.eclipse.wst.validation/vf2/org/eclipse/wst/validation/PerformanceCounters.java b/plugins/org.eclipse.wst.validation/vf2/org/eclipse/wst/validation/PerformanceCounters.java
deleted file mode 100644
index cf57721..0000000
--- a/plugins/org.eclipse.wst.validation/vf2/org/eclipse/wst/validation/PerformanceCounters.java
+++ /dev/null
@@ -1,116 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.validation;
-
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.wst.validation.internal.Misc;
-import org.eclipse.wst.validation.internal.ValMessages;
-
-/**
- * Some performance information for a validation invocation. This object is immutable.
- * <p>
- * <b>Provisional API:</b> This class/interface is part of an interim API that is still under development and expected to 
- * change significantly before reaching stability. It is being made available at this early stage to solicit feedback 
- * from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken 
- * (repeatedly) as the API evolves.
- * </p>
- * @noextend
- * @author karasiuk
- *
- */
-public class PerformanceCounters {
-	
-	private long	_when;
-	private String 	_validatorId;
-	private String	_validatorName;
-	private String	_resourceName;
-	private int		_numberInvocations;
-	private	long	_elapsedTime;
-	private long	_cpuTime;
-	
-	/**
-	 * @param validatorId
-	 * @param validatorName
-	 * @param resourceName 
-	 * @param numberInvocations number of times the validator was invoked
-	 * @param elapsedTime elapsed time in milliseconds
-	 * @param cpuTime CPU time in nanoseconds
-	 */
-	public PerformanceCounters(String validatorId, String validatorName, String resourceName, 
-		int numberInvocations, long elapsedTime, long cpuTime){
-		
-		_when = System.currentTimeMillis();
-		_validatorId = validatorId;
-		_validatorName = validatorName;
-		_resourceName = resourceName;
-		_numberInvocations = numberInvocations;
-		_elapsedTime = elapsedTime;
-		_cpuTime = cpuTime;
-	}
-	
-	public String getValidatorId() {
-		return _validatorId;
-	}
-	public int getNumberInvocations() {
-		return _numberInvocations;
-	}
-	
-	/**
-	 * Answer the elapsed time in milliseconds. 
-	 */
-	public long getElapsedTime() {
-		return _elapsedTime;
-	}
-	
-	/**
-	 * Answer the amount of CPU time in nanoseconds. If this can not be determined,
-	 * answer -1.
-	 */
-	public long getCpuTime() {
-		return _cpuTime;
-	}
-	
-	@Override
-	public String toString() {
-		return NLS.bind(ValMessages.LogValEndTime,	
-			new Object[]{_validatorName, _validatorId, _resourceName, Misc.getTimeMS(_elapsedTime)});
-	}
-	
-	public String toString(boolean asSummary){
-		if (asSummary){
-			if (_cpuTime != -1)return NLS.bind(ValMessages.LogValSummary2, 
-				new Object[]{_validatorName, _validatorId, _numberInvocations, 
-					Misc.getTimeMS(_elapsedTime), Misc.getTimeNano(_cpuTime)});
-			
-			return NLS.bind(ValMessages.LogValSummary, 
-					new Object[]{_validatorName, _validatorId, _numberInvocations, Misc.getTimeMS(_elapsedTime)});
-		}
-		return toString();
-	}
-
-	public String getValidatorName() {
-		return _validatorName;
-	}
-
-	/** 
-	 * Answer when was the event logged. 
-	 * 
-	 * @see System#currentTimeMillis()
-	 */
-	public long getWhen() {
-		return _when;
-	}
-
-	public String getResourceName() {
-		return _resourceName;
-	}
-
-}
diff --git a/plugins/org.eclipse.wst.validation/vf2/org/eclipse/wst/validation/ReporterHelper.java b/plugins/org.eclipse.wst.validation/vf2/org/eclipse/wst/validation/ReporterHelper.java
deleted file mode 100644
index 20876bf..0000000
--- a/plugins/org.eclipse.wst.validation/vf2/org/eclipse/wst/validation/ReporterHelper.java
+++ /dev/null
@@ -1,70 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.validation;
-
-import java.util.LinkedList;
-import java.util.List;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.wst.validation.internal.MarkerManager;
-import org.eclipse.wst.validation.internal.provisional.core.IMessage;
-import org.eclipse.wst.validation.internal.provisional.core.IReporter;
-import org.eclipse.wst.validation.internal.provisional.core.IValidator;
-
-
-/**
- * This is a temporary class to ease the transition from the previous validation framework.
- * <p>
- * This is not API. 
- * @author karasiuk
- *
- */
-public class ReporterHelper implements IReporter {
-	private IProgressMonitor 	_monitor;
-	private List<IMessage>		_list = new LinkedList<IMessage>();
-	
-	public ReporterHelper(IProgressMonitor monitor){
-		_monitor = monitor;
-	}
-
-	public void addMessage(IValidator origin, IMessage message) {
-		_list.add(message);
-	}
-
-	public void displaySubtask(IValidator validator, IMessage message) {
-		_monitor.subTask(message.getText(validator.getClass().getClassLoader()));
-	}
-
-	public List<IMessage> getMessages() {
-		return _list;
-	}
-
-	public boolean isCancelled() {
-		return _monitor.isCanceled();
-	}
-
-	public void removeAllMessages(IValidator origin) {
-		_list.clear();
-	}
-
-	public void removeAllMessages(IValidator origin, Object object) {
-		_list.clear();
-	}
-
-	public void removeMessageSubset(IValidator validator, Object obj, String groupName) {
-		_list.clear();
-	}
-	
-	public void makeMarkers(){
-		MarkerManager.getDefault().makeMarkers(_list);
-	}
-	
-}
diff --git a/plugins/org.eclipse.wst.validation/vf2/org/eclipse/wst/validation/ValidationEvent.java b/plugins/org.eclipse.wst.validation/vf2/org/eclipse/wst/validation/ValidationEvent.java
deleted file mode 100644
index 528e58e..0000000
--- a/plugins/org.eclipse.wst.validation/vf2/org/eclipse/wst/validation/ValidationEvent.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.validation;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IResourceDelta;
-
-/**
- * An object that describes which object should be validated and what triggered its validation.
- * <p>
- * <b>Provisional API:</b> This class/interface is part of an interim API that is still under development and expected to 
- * change significantly before reaching stability. It is being made available at this early stage to solicit feedback 
- * from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken 
- * (repeatedly) as the API evolves.
- * </p>
- * @author karasiuk
- *
- */
-
-public final class ValidationEvent {
-	
-	private IResource 		_resource;
-	private int				_kind;
-	private IResourceDelta 	_dependsOn;
-	
-	/**
-	 * Create an object that describes what should be validated.
-	 * 
-	 * @param resource
-	 *            The resource to be validated.
-	 * @param kind
-	 *            The way the resource changed. It uses the same values as the
-	 *            kind parameter in IResourceDelta.
-	 * @param dependsOn
-	 *            If the resource is being validated because one of it's
-	 *            dependencies has changed, that change is described here. This
-	 *            can be null.
-	 */
-	public ValidationEvent(IResource resource, int kind, IResourceDelta dependsOn){
-		_resource = resource;
-		_kind = kind;
-		_dependsOn = dependsOn;
-	}
-
-	/**
-	 * The resource to be validated.
-	 */
-	public IResource getResource() {
-		return _resource;
-	}
-
-	/**
-	 * The way the resource changed. It uses the same values as the kind
-	 * parameter in IResourceDelta.
-	 */
-	public int getKind() {
-		return _kind;
-	}
-
-	/**
-	 * If the resource is being validated because one of it's dependencies has changed, that change is described here.
-	 * This method will return null when the trigger is not because of a dependency change.
-	 */
-	public IResourceDelta getDependsOn() {
-		return _dependsOn;
-	}
-}
diff --git a/plugins/org.eclipse.wst.validation/vf2/org/eclipse/wst/validation/ValidationFramework.java b/plugins/org.eclipse.wst.validation/vf2/org/eclipse/wst/validation/ValidationFramework.java
deleted file mode 100644
index 41f20b7..0000000
--- a/plugins/org.eclipse.wst.validation/vf2/org/eclipse/wst/validation/ValidationFramework.java
+++ /dev/null
@@ -1,724 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2011 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.validation;
-
-import java.lang.reflect.InvocationTargetException;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.LinkedList;
-import java.util.List;
-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.IResource;
-import org.eclipse.core.resources.IResourceVisitor;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.OperationCanceledException;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.core.runtime.preferences.IEclipsePreferences;
-import org.eclipse.core.runtime.preferences.InstanceScope;
-import org.eclipse.wst.validation.Validator.V1;
-import org.eclipse.wst.validation.internal.ConfigurationManager;
-import org.eclipse.wst.validation.internal.ContentTypeWrapper;
-import org.eclipse.wst.validation.internal.DebugConstants;
-import org.eclipse.wst.validation.internal.DependencyIndex;
-import org.eclipse.wst.validation.internal.DisabledResourceManager;
-import org.eclipse.wst.validation.internal.DisabledValidatorManager;
-import org.eclipse.wst.validation.internal.GlobalConfiguration;
-import org.eclipse.wst.validation.internal.MarkerManager;
-import org.eclipse.wst.validation.internal.Misc;
-import org.eclipse.wst.validation.internal.PerformanceMonitor;
-import org.eclipse.wst.validation.internal.ProjectUnavailableError;
-import org.eclipse.wst.validation.internal.ValManager;
-import org.eclipse.wst.validation.internal.ValOperation;
-import org.eclipse.wst.validation.internal.ValPrefManagerGlobal;
-import org.eclipse.wst.validation.internal.ValPrefManagerProject;
-import org.eclipse.wst.validation.internal.ValType;
-import org.eclipse.wst.validation.internal.ValidationRunner;
-import org.eclipse.wst.validation.internal.ValidatorMetaData;
-import org.eclipse.wst.validation.internal.ValidatorMutable;
-import org.eclipse.wst.validation.internal.ValManager.UseProjectPreferences;
-import org.eclipse.wst.validation.internal.model.GlobalPreferences;
-import org.eclipse.wst.validation.internal.model.GlobalPreferencesValues;
-import org.eclipse.wst.validation.internal.model.ProjectPreferences;
-import org.eclipse.wst.validation.internal.operations.ValidationBuilder;
-import org.eclipse.wst.validation.internal.operations.ValidatorManager;
-import org.eclipse.wst.validation.internal.operations.WorkbenchReporter;
-import org.eclipse.wst.validation.internal.plugin.ValidationPlugin;
-import org.eclipse.wst.validation.internal.provisional.core.IReporter;
-
-
-/**
- * The central class of the Validation Framework.
- * <p>
- * This is a singleton class that is accessed through the getDefault() method. 
- * <p>
- * <b>Provisional API:</b> This class/interface is part of an interim API that is still under development and expected to 
- * change significantly before reaching stability. It is being made available at this early stage to solicit feedback 
- * from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken 
- * (repeatedly) as the API evolves.
- * </p>
- * @author karasiuk
- *
- */
-public final class ValidationFramework {
-	
-	private volatile IDependencyIndex 	_dependencyIndex;
-	private IPerformanceMonitor			_performanceMonitor;
-	
-	private Set<IProject> 				_suspendedProjects;
-	private boolean 					_suspendAllValidation;
-
-	/** 
-	 * Answer the singleton, default instance of this class.
-	 */
-	public static ValidationFramework getDefault(){
-		return Singleton.vf;
-	}
-	
-	private ValidationFramework(){}
-	
-	/**
-	 * Add the validation builder to the project, so that the project can support
-	 * build time validation. It is safe to call this method, if the builder was
-	 * previously added to the project. It will not be added more than once.
-	 * 
-	 * @param project The project that the builder is added to.
-	 */
-	public void addValidationBuilder(IProject project){
-		ValidatorManager.addProjectBuildValidationSupport(project);
-	}
-	
-	/**
-	 * Clear any validation markers that may have been set by this validator.
-	 * 
-	 * @param resource
-	 * 		The resource that may have it's markers cleared.
-	 * @param validatorId
-	 * 		The id of validator that created the marker.
-	 */
-	public void clearMessages(IResource resource, String validatorId) throws CoreException {
-		Validator v = getValidator(validatorId, null);
-		if (v != null)MarkerManager.getDefault().clearMarker(resource, v);
-	}
-	
-	/**
-	 * Disable all validation for the given resource. This method instructs
-	 * the framework to not run any validators on the given resource or any of
-	 * it's children. This setting is persistent. Currently this only works with version 2
-	 * validators.
-	 * <p>
-	 * Use the enableValidation method to restore validation.
-	 * </p>
-	 * 
-	 * @param resource
-	 *            The resource that is having validation disabled. It must be an IFolder or an IFile.
-	 * 
-	 * @see #enableValidation(IResource)
-	 */
-	public void disableValidation(IResource resource){
-		assert resource != null;
-		DisabledResourceManager.getDefault().disableValidation(resource);
-	}
-	
-	/**
-	 * Enable validation for the given resource. If the resource was not
-	 * previously disabled this method call has no effect. Currently this only
-	 * works with version 2 validators.
-	 * 
-	 * @param resource
-	 * 		The resource that is having validation re-enabled.
-	 * 
-	 * @see #disableValidation(IResource)
-	 */
-	public void enableValidation(IResource resource){
-		DisabledResourceManager.getDefault().enableValidation(resource);
-	}
-	
-	/**
-	 * Answer the dependency index. Validators can use this to determine which resources depend on which
-	 * other resources.
-	 */
-	public IDependencyIndex getDependencyIndex(){
-		// note how the _dependencyIndex is volatile so that this double checking approach can be used.
-		if (_dependencyIndex == null){
-			synchronized(this){
-				if (_dependencyIndex == null)_dependencyIndex = new DependencyIndex();
-			}
-		}
-		return _dependencyIndex;
-	}
-
-	/**
-	 * Answer a performance monitor for the validators.
-	 */
-	public synchronized IPerformanceMonitor getPerformanceMonitor(){
-		if (_performanceMonitor == null){
-			boolean traceTimes = Misc.debugOptionAsBoolean(DebugConstants.TraceTimes);
-			String traceFile = Platform.getDebugOption(DebugConstants.TraceTimesFile);
-			boolean useDoubles = Misc.debugOptionAsBoolean(DebugConstants.TraceTimesUseDoubles);
-
-			_performanceMonitor = PerformanceMonitor.create(traceTimes, traceFile, useDoubles);
-		}
-		return _performanceMonitor;
-	}
-	
-	/**
-	 * Answer the preference store that holds the persisted global validation settings.
-	 */
-	public IEclipsePreferences getPreferenceStore(){
-		return new InstanceScope().getNode(ValidationPlugin.PLUGIN_ID);
-	}
-	
-	public IReporter getReporter(IProject project, IProgressMonitor monitor){
-		return new WorkbenchReporter(project, monitor);
-	}
-	
-	/**
-	 * Answer all the validators that are applicable for the given resource. A validator is
-	 * still returned even if it has been turned off by the user.
-	 * <p>
-	 * The caller may still need to test if the validator has been turned off by
-	 * the user, by using the isBuildValidation() and isManualValidation()
-	 * methods.
-	 * </p>
-	 * 
-	 * @param resource
-	 * 		The resource that determines which validators are applicable.
-	 * 
-	 * @param isManual
-	 * 		If true then the validator must be turned on for manual validation.
-	 * 		If false then the isManualValidation setting isn't used to filter
-	 * 		out validators.
-	 * 
-	 * @param isBuild
-	 * 		If true then the validator must be turned on for build based
-	 * 		validation. If false then the isBuildValidation setting isn't used
-	 * 		to filter out validators.
-	 * 
-	 * @see Validator#isBuildValidation()
-	 * @see Validator#isManualValidation()
-	 */
-	public Validator[] getValidatorsFor(IResource resource, boolean isManual, boolean isBuild){
-		IProject project = resource.getProject();
-		List<Validator> list = new LinkedList<Validator>();
-		ContentTypeWrapper ctw = new ContentTypeWrapper();
-		for (Validator val : ValManager.getDefault().getValidators(project)){
-			if (val.shouldValidate(resource, isManual, isBuild, ctw))list.add(val);
-		}
-		
-		Validator[] result = new Validator[list.size()];
-		list.toArray(result);
-		return result;
-	}
-	
-	/**
-	 * Answer all the validators that should not validate the resource, either
-	 * because their filters don't support the resource, or the validator has
-	 * been disabled for both build validation and manual validation.
-	 * 
-	 * @param resource
-	 * 		The resource this is being tested.
-	 */
-	public Set<Validator> getDisabledValidatorsFor(IResource resource){
-		return DisabledValidatorManager.getDefault().getDisabledValidatorsFor(resource);
-	}
-	
-	/**
-	 * Answer the global validator with the given id.
-	 * 
-	 * @deprecated Use getValidator(String id, IProject project) with a null project instead.
-	 * 
-	 * @param id
-	 * @return null if the validator is not found
-	 */
-	public Validator getValidator(String id){
-		return ValManager.getDefault().getValidatorWithId(id, null);
-	}
-	
-	/**
-	 * Answer the validator with the given id that is in effect for the given
-	 * project.
-	 * <p>
-	 * Individual projects may override the global validation preference
-	 * settings. If this is allowed and if the project has it's own settings,
-	 * then those validators are returned via this method.
-	 * </p>
-	 * <p>
-	 * The following approach is used. For version 1 validators, the validator
-	 * is only returned if it is defined to operate on this project type. This
-	 * is the way that the previous version of the framework did it. For version
-	 * 2 validators, they are all returned.
-	 * </p>
-	 * 
-	 * @param id
-	 * 		Validator id.
-	 * @param project
-	 * 		This can be null, in which case all the registered validators are
-	 * 		checked.
-	 * @return null if the validator is not found
-	 */
-	public Validator getValidator(String id, IProject project){
-		return ValManager.getDefault().getValidatorWithId(id, project);
-	}
-	
-	/**
-	 * Answer copies of all the registered validators.
-	 * 
-	 * @return Answer an empty array if there are no validators.
-	 */
-	public Validator[] getValidators(){
-		return ValManager.getDefault().getValidatorsCopy();
-	}
-		
-	/**
-	 * Answer the validation settings that have been defined on the
-	 * project. To "activate" any changes to these settings, the
-	 * {@link #applyChanges(MutableProjectSettings, boolean)} method needs to be
-	 * called.
-	 * 
-	 * @param project The project who's settings you wish to examine or change.
-	 * @return Validation settings that apply to the given project.
-	 */
-	public MutableProjectSettings getProjectSettings(IProject project){
-		ProjectPreferences pp = ValManager.getDefault().getProjectPreferences(project);
-		Validator[] vals = pp.getValidators();
-		ValidatorMutable[] vms = new ValidatorMutable[vals.length];
-		for (int i=0; i<vals.length; i++)vms[i] = new ValidatorMutable(vals[i]);
-
-		MutableProjectSettings mps = new MutableProjectSettings(project, vms);
-		mps.setOverride(pp.getOverride());
-		mps.setSuspend(pp.getSuspend());
-		return mps;
-	}
-	
-	/**
-	 * Answer the validation settings that have been defined at the workspace level.
-	 * To "activate" any changes to these settings, the
-	 * {@link #applyChanges(MutableWorkspaceSettings, boolean)} method needs to be
-	 * called.
-	 * 
-	 * @return Validation settings that apply to the entire workspace.
-	 */
-	public MutableWorkspaceSettings getWorkspaceSettings() throws InvocationTargetException{
-		
-		ValManager vm = ValManager.getDefault();
-		GlobalPreferences gp = vm.getGlobalPreferences();
-		
-		Validator[] vals = vm.getValidators();		
-		ValidatorMutable[] vms = new ValidatorMutable[vals.length];
-		for (int i=0; i<vals.length; i++)vms[i] = new ValidatorMutable(vals[i]);
-
-		MutableWorkspaceSettings mws = new MutableWorkspaceSettings(vms, gp.asValues());
-		return mws;
-	}
-		
-	/**
-	 * Apply the changes that have been been to the validation settings.
-	 * 
-	 * @param settings
-	 *            The project settings.
-	 * @param persist
-	 *            If true then the changes are persisted to the property files.
-	 *            If false the changes are applied to the validators, but are
-	 *            not persisted.
-	 */
-	public void applyChanges(MutableProjectSettings settings, boolean persist){
-		ValPrefManagerProject vpm = new ValPrefManagerProject(settings.getProject());
-		vpm.savePreferences(settings, persist);
-	}
-	
-	/**
-	 * Apply the changes that have been been to the validation settings.
-	 * 
-	 * @param settings
-	 *            The workspace settings.
-	 * @param persist
-	 *            If true then the changes are persisted to the property files.
-	 *            If false the changes are applied to the validators, but are
-	 *            not persisted.
-	 */
-	public void applyChanges(MutableWorkspaceSettings settings, boolean persist){
-		
-		ValManager vm = ValManager.getDefault();
-		GlobalPreferencesValues gpv = settings.getGlobalPreferencesValues();
-		vm.replace(gpv);
-		
-		IMutableValidator[] mvs = settings.getValidators();
-		ValidatorMutable[] vals = new ValidatorMutable[mvs.length];
-		for (int i=0; i<mvs.length; i++)vals[i] = (ValidatorMutable)mvs[i];
-		ValPrefManagerGlobal.getDefault().savePreferences(vm.getGlobalPreferences(), vals, persist);
-		ValPrefManagerGlobal.saveV1Preferences(vals, persist);		
-	}
-	
-	/**
-	 * Validators can use project level settings (Project natures and facets) to
-	 * determine if they are applicable to the project or not.
-	 * 
-	 * @param project
-	 *            The project that the configuration is based on.
-	 * @return The copies of the validators that are configured to run on this project based
-	 *         on the project level settings.
-	 * @throws ProjectUnavailableError
-	 */
-	public Validator[] getValidatorsConfiguredForProject(IProject project) throws ProjectUnavailableError {
-		Validator[] orig = ValManager.getDefault().getValidatorsConfiguredForProject(project, UseProjectPreferences.Normal);
-		Validator[] copy = new Validator[orig.length];
-		for (int i=0; i<orig.length; i++)copy[i] = orig[i].copy();
-		return copy;
-	}
-	
-	/**
-	 * Answer all the validators that are applicable for the given resource.
-	 * 
-	 * @param resource the resource that determines which validators are applicable.
-	 */
-	public Validator[] getValidatorsFor(IResource resource){
-		List<Validator> list = new LinkedList<Validator>();
-		for (Validator v : getValidatorsFor(resource, false, false)){
-			if (v.isBuildValidation() || v.isManualValidation())list.add(v);
-		}
-		Validator[] vals = new Validator[list.size()];
-		return list.toArray(vals);
-	}
-	
-	/**
-	 * Answer true if the resource has any enabled validators.
-	 * 
-	 * @param resource
-	 * 		A file, folder or project.
-	 * 
-	 * @param isManual
-	 * 		If true then the validator must be turned on for manual validation.
-	 * 		If false then the isManualValidation setting isn't used to filter
-	 * 		out validators.
-	 * 
-	 * @param isBuild
-	 * 		If true then the validator must be turned on for build based
-	 * 		validation. If false then the isBuildValidation setting isn't used
-	 * 		to filter out validators.
-	 */
-	public boolean hasValidators(IResource resource, boolean isManual, boolean isBuild){
-		return ValManager.getDefault().hasValidators(resource, isManual, isBuild);
-	}
-	
-	/**
-	 * Answer whether or not the validator has been activated, i.e. has the
-	 * bundle that defines the validator been loaded. We do not want to cause
-	 * unnecessary bundle loading, so this check can be performed by third party
-	 * callers, to prevent making other calls that will force the validator to
-	 * be loaded.
-	 * 
-	 * @param validator
-	 *            The validator that is being tested.
-	 * @return true if the validator has already been loaded.
-	 */
-	public boolean isLoaded(Validator validator){
-		return validator.isLoaded();
-	}
-	
-	/**
-	 * Waits until all the validation jobs and all the other auto build jobs are finished. 
-	 * This method will block the
-	 * calling thread until all such jobs have finished executing, or until this
-	 * thread is interrupted. If there are no relevant jobs that are
-	 * currently waiting, running, or sleeping, this method returns immediately.
-	 * Feedback on how the join is progressing is provided to the progress
-	 * monitor.
-	 * <p>
-	 * If this method is called while the job manager is suspended, only jobs
-	 * that are currently running will be joined. Once there are no jobs in the
-	 * family in the {@link Job#RUNNING} state, this method returns.
-	 * </p>
-	 * <p>
-	 * Note that there is a deadlock risk when using join. If the calling thread
-	 * owns a lock or object monitor that the joined thread is waiting for,
-	 * deadlock will occur. This method can also result in starvation of the
-	 * current thread if another thread continues to add jobs of the given
-	 * family, or if a job in the given family reschedules itself in an infinite
-	 * loop.
-	 * </p>
-	 * 
-	 * <p>If you are interested in only waiting for the validation jobs, see the
-	 * joinValidationOnly method.
-	 * 
-	 * @param monitor
-	 * 		Progress monitor for reporting progress on how the wait is
-	 * 		progressing, or <code>null</code> if no progress monitoring is
-	 * 		required.
-	 * @exception InterruptedException
-	 * 		if this thread is interrupted while waiting
-	 * @exception OperationCanceledException
-	 * 		if the progress monitor is canceled while waiting
-	 * 
-	 * @see #joinValidationOnly(IProgressMonitor)
-	 */
-	public void join(IProgressMonitor monitor) throws InterruptedException, OperationCanceledException {
-		Job.getJobManager().join(ResourcesPlugin.FAMILY_AUTO_BUILD, monitor);
-		Job.getJobManager().join(ValidationBuilder.FAMILY_VALIDATION_JOB, monitor);
-	}
-	
-	/**
-	 * Waits until all the validation jobs are finished. 
-	 * This method will block the
-	 * calling thread until all such jobs have finished executing, or until this
-	 * thread is interrupted. If there are no relevant jobs that are
-	 * currently waiting, running, or sleeping, this method returns immediately.
-	 * Feedback on how the join is progressing is provided to the progress
-	 * monitor.
-	 * <p>
-	 * If this method is called while the job manager is suspended, only jobs
-	 * that are currently running will be joined. Once there are no jobs in the
-	 * family in the {@link Job#RUNNING} state, this method returns.
-	 * </p>
-	 * <p>
-	 * Note that there is a deadlock risk when using join. If the calling thread
-	 * owns a lock or object monitor that the joined thread is waiting for,
-	 * deadlock will occur. This method can also result in starvation of the
-	 * current thread if another thread continues to add jobs of the given
-	 * family, or if a job in the given family reschedules itself in an infinite
-	 * loop.
-	 * </p>
-	 * 
-	 * @param monitor
-	 * 		Progress monitor for reporting progress on how the wait is
-	 * 		progressing, or <code>null</code> if no progress monitoring is
-	 * 		required.
-	 * @exception InterruptedException
-	 * 		if this thread is interrupted while waiting
-	 * @exception OperationCanceledException
-	 * 		if the progress monitor is canceled while waiting
-	 */
-	public void joinValidationOnly(IProgressMonitor monitor) throws InterruptedException, OperationCanceledException {
-		Job.getJobManager().join(ValidationBuilder.FAMILY_VALIDATION_JOB, monitor);
-	}
-	
-	/**
-	 * Suspends, or undoes the suspension of, validation on the current project.
-	 * If <b>suspend</b> is true then validation is suspended and if it's false
-	 * then validation is not suspended on the project. The value of this
-	 * variable is not persisted.
-	 * <p>
-	 * Be <b>very careful</b> when you use this method! Turn validation back on in a
-	 * finally block because if the code which suspended validation crashes, the
-	 * user has no way to reset the suspension. The user will have to shut down
-	 * and restart the workbench to get validation to work again.
-	 * </p>
-	 * 
-	 * @param project
-	 * 		The project that is to be suspended or unsuspended.
-	 * @param suspend
-	 * 		If true, validation on the project will be suspend. If false it will
-	 * 		not be suspended.
-	 */
-	public void suspendValidation(IProject project, boolean suspend) {
-		if (project == null)return;
-		if (suspend)getSuspendedProjects().add(project);
-		else getSuspendedProjects().remove(project);
-	}
-	
-	private synchronized Set<IProject> getSuspendedProjects(){
-		if (_suspendedProjects == null)_suspendedProjects = Collections.synchronizedSet(new HashSet<IProject>(20));
-		return _suspendedProjects;
-	}
-	
-	/**
-	 * Save the validators settings into the persistent store, there by making their settings the active settings.
-	 * <p>
-	 * A common use of this method would be to change whether particular validators are enabled or not. For example
-	 * if you only wanted the JSP validator enabled, you could use code similar to this:
-	 * <pre>
-	 * ValidationFramework vf = ValidationFramework.getDefault();
-	 * Validator[] vals = vf.getValidators();
-	 * for (Validator v : vals){
-	 *   boolean enabled = false;
-	 *   if (v.getValidatorClassname().equals("org.eclipse.jst.jsp.core.internal.validation.JSPBatchValidator"))enabled = true;
-	 *     v.setBuildValidation(enabled);
-	 *     v.setManualValidation(enabled);
-	 *  }
-	 * vf.saveValidators(vals);
-	 * </pre>
-	 * </p> 
-	 * 
-	 * @param validators The validators that you are saving.
-	 * 
-	 * @throws InvocationTargetException
-	 */
-	public void saveValidators(Validator[] validators) throws InvocationTargetException{
-		
-		
-		ValPrefManagerGlobal gp = ValPrefManagerGlobal.getDefault();
-		gp.saveAsPrefs(validators);	
-		
-		GlobalConfiguration gc = ConfigurationManager.getManager().getGlobalConfiguration();
-		
-		List<ValidatorMetaData> manual = new LinkedList<ValidatorMetaData>();
-		List<ValidatorMetaData> build = new LinkedList<ValidatorMetaData>();
-		for (Validator v : validators){
-			V1 v1 = v.asV1Validator();
-			if (v1 == null)continue;
-			if (v1.isManualValidation())manual.add(v1.getVmd());
-			if (v1.isBuildValidation())build.add(v1.getVmd());
-		}
-		
-		ValidatorMetaData[] array = new ValidatorMetaData[manual.size()];
-		gc.setEnabledManualValidators(manual.toArray(array));
-		
-		array = new ValidatorMetaData[build.size()];
-		gc.setEnabledBuildValidators(build.toArray(array));
-
-		gc.passivate();
-		gc.store();		
-	}
-
-	/**
-	 * Suspends, or undoes the suspension of, validation on all projects in the
-	 * workbench. If "suspend" is true then validation is suspended and if it's
-	 * "false" then validation is not suspended. The value of this variable is
-	 * not persisted.
-	 * <p>
-	 * Be <b>very careful</b> when you use this method! Turn validation back on in a
-	 * finally block because if the code which suspended validation crashes, the
-	 * user has no way to reset the suspension. The user will have to shut down
-	 * and restart the workbench to get validation to work again.
-	 * </p>
-	 */
-	public void suspendAllValidation(boolean suspend) {
-		_suspendAllValidation = suspend;
-	}
-
-	/**
-	 * Return true if "suspend all" is enabled, false otherwise.
-	 */
-	public boolean isSuspended() {
-		return _suspendAllValidation;
-	}
-
-	/**
-	 * Returns true if validation will not run on the project because it's been suspended. This
-	 * method checks only the suspension status; if validation cannot run for some other reason (for
-	 * example, there are no enabled validators), yet the IProject is not suspended, this method
-	 * will return true even though validation will not run.
-	 */
-	public boolean isSuspended(IProject project) {
-		if (_suspendAllValidation)return true;
-		if (project == null)return false;
-		return getSuspendedProjects().contains(project);
-	}
-
-	/**
-	 * This method should be called by any code that is preparing to suspend validation on a
-	 * project. Rather than calling isSuspended(IProject), which will also return true if all validation
-	 * has been suspended. 
-	 * 
-	 * @param project the project that is being tested
-	 * @return boolean true if the project has been suspended
-	 */
-	public boolean isProjectSuspended(IProject project) {
-		if (project == null)return false;
-		return getSuspendedProjects().contains(project);
-	}
-	
-	/**
-	 * Validate the projects. Exactly one of isManual or isBuild needs to be true.
-	 * 
-	 * @param projects
-	 *            The projects to be validated.
-	 * 
-	 * @param isManual
-	 *            Is this being done as part of a manual validation? i.e. did
-	 *            the user select the Validate menu item?
-	 * 
-	 * @param isBuild
-	 *            Is this being done as part of a build?
-	 * 
-	 * @param monitor
-	 * 
-	 * @return the validation result which is the combined result for all the
-	 *         resources that were validated.
-	 */
-	public ValidationResults validate(IProject[] projects, final boolean isManual, final boolean isBuild,
-		IProgressMonitor monitor) throws CoreException{
-		ValType type = ValType.Build;
-		if (isManual)type = ValType.Manual;
-		ValOperation vo = ValidationRunner.validate(createMap(projects), type, monitor, true);
-		return vo.getResults();
-	}
-
-	/**
-	 * Validate a specific file resource.
-	 * 
-	 * @param file
-	 *            The file to be validated.
-	 * @param monitor
-	 *            Progress monitor.
-	 * @return the result of validating the file.
-	 */
-  public ValidationResults validate(IFile file, IProgressMonitor monitor) throws CoreException{
-      ValOperation vo = ValidationRunner.validate(file, ValType.Manual, monitor, true);
-      return vo.getResults();
-    }
-	  
-	/**
-	 * Answer all the resources in the projects as a map.
-	 * @param projects
-	 */
-	private Map<IProject, Set<IResource>> createMap(IProject[] projects) throws CoreException{
-		final HashMap<IProject, Set<IResource>> map = new HashMap<IProject, Set<IResource>>(1000);
-			
-		for (IProject p : projects){
-			Set<IResource> set = new HashSet<IResource>(1000);
-			ResourceAdder ra = new ResourceAdder(set);
-			p.accept(ra);
-			map.put(p, set);
-		}
-		return map;
-	}
-	
-	public static class ResourceAdder implements IResourceVisitor {
-		
-		private Set<IResource> _set;
-		
-		/**
-		 * A class that knows how to add resources to a set.
-		 * @param set the set where the resources are added.
-		 */
-		public ResourceAdder(Set<IResource> set){
-			_set = set;
-		}
-
-		public boolean visit(IResource resource) throws CoreException {
-			// [225839] the older validators only expect files and folders.
-			int type = resource.getType();
-			if (type == IResource.FILE || type == IResource.FOLDER)_set.add(resource);
-			return true;
-		}
-		
-	}
-	
-	/**
-	 * Store the singleton for the ValidationFramework. This approach is used to avoid having to synchronize the
-	 * ValidationFramework.getDefault() method.
-	 * 
-	 * @author karasiuk
-	 *
-	 */
-	private static class Singleton {
-		static ValidationFramework vf = new ValidationFramework();
-	}
-
-}
diff --git a/plugins/org.eclipse.wst.validation/vf2/org/eclipse/wst/validation/ValidationResult.java b/plugins/org.eclipse.wst.validation/vf2/org/eclipse/wst/validation/ValidationResult.java
deleted file mode 100644
index c1714e1..0000000
--- a/plugins/org.eclipse.wst.validation/vf2/org/eclipse/wst/validation/ValidationResult.java
+++ /dev/null
@@ -1,385 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2009 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.validation;
-
-import java.util.LinkedList;
-import java.util.List;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.wst.validation.internal.core.ValidationException;
-import org.eclipse.wst.validation.internal.provisional.core.IReporter;
-
-/**
- * The result of running a validate operation. Validators create and return this objects as part of
- * performing their validation.
- * <p>
- * <b>Provisional API:</b> This class/interface is part of an interim API that is still under development and expected to 
- * change significantly before reaching stability. It is being made available at this early stage to solicit feedback 
- * from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken 
- * (repeatedly) as the API evolves.
- * </p>
- * @author karasiuk
- *
- */
-public final class ValidationResult {
-	
-	private final List<ValidatorMessage> _messages = new LinkedList<ValidatorMessage>();
-	
-	private final static ValidatorMessage[] _noMessages = new ValidatorMessage[0];
-	
-	private boolean		_canceled;
-	
-	/** 
-	 * The resources that the validated resource depends on. This can be left null.
-	 * For example, an XML file may depend on a XSD in order to know if it is valid or not.
-	 * It would pass back the XSD file. 
-	 */
-	private IResource[]	_dependsOn;
-	
-	/** 
-	 * The objects that you validated as a side effect of validating this object. The framework will not
-	 * call you with any of these objects (in this validation run). This can be left null.
-	 */
-	private IResource[] _validated;
-	
-	private int			_severityError;
-	private int			_severityWarning;
-	private int			_severityInfo;
-	
-	private IProject	_suspendValidation;
-	
-	/** A count of the number of resources that were validated. */
-	private int			_numberOfValidatedResources = 1;
-	
-	private ReporterHelper	_reporter;
-	private ValidationException	_validationException;
-	
-	/**
-	 * This is an optional method, that a validator can use to return error
-	 * messages. The validation framework converts these into IMarkers.
-	 * <p>
-	 * The scenario that motivated this method, is when a validator is used both
-	 * for <b>as you type</b> validation and <b>build</b> validation. When
-	 * called in as you type mode, the validator doesn't want to directly create IMarkers,
-	 * because the resource hasn't been saved yet. It needs to return something
-	 * other than an IMarker. But when called in build mode, it does ultimately
-	 * want IMarkers. By returning ValidatorMessages, it only needs to return
-	 * one type of message, and those messages can be either be directly used by
-	 * the caller, or automatically converted into IMarkers by the validation
-	 * framework.
-	 * </p>
-	 * <p>
-	 * To make matters even more complicated there is a third way to return
-	 * messages. To make it easier for old validators to port to the new
-	 * framework, they can continue to use an IReporter. If a validator calls
-	 * the getReporter() method then it is assumed by the framework that that is
-	 * the approach that they have chosen.
-	 * </p>
-	 * 
-	 * @see #getReporter(IProgressMonitor)
-	 * 
-	 * @param message
-	 * 		A validation message.
-	 */
-	public void add(ValidatorMessage message){
-		_messages.add(message);
-	}
-	
-	/**
-	 * Answer an IReporter for handing error messages.
-	 * <p>
-	 * This is a transition method, to help old validators port to the new validation framework. If this method
-	 * is called it is assumed by the framework, that this IReporter will be used as the only way of passing messages
-	 * back to the framework.
-	 * 
-	 * @see #add(ValidatorMessage)
-	 * @param monitor
-	 */
-	public IReporter getReporter(IProgressMonitor monitor){
-		if (_reporter == null)_reporter = new ReporterHelper(monitor);
-		return _reporter;
-	}
-	
-	ReporterHelper getReporterHelper(){
-		return _reporter;
-	}
-	
-	/**
-	 * Merge the message counts and messages from an individual validator into this result.
-	 * @param result it can be null, in which case it is ignored.
-	 */
-	public void mergeResults(ValidationResult result){
-		if (result == null)return;
-		
-		ValidatorMessage[] msgs = result.getMessages();
-		for (ValidatorMessage m : msgs){
-			add(m);
-			int severity = m.getAttribute(IMarker.SEVERITY, 0);
-			switch (severity){
-			case IMarker.SEVERITY_ERROR:
-				incrementError(1);
-				break;
-			case IMarker.SEVERITY_WARNING:
-				incrementWarning(1);
-				break;
-			case IMarker.SEVERITY_INFO:
-				incrementInfo(1);
-				break;
-					
-			}
-		}
-		
-		incrementError(result.getSeverityError());
-		incrementWarning(result.getSeverityWarning());
-		incrementInfo(result.getSeverityInfo());
-		
-		_numberOfValidatedResources += result.getNumberOfValidatedResources();
-		
-	}
-
-	/**
-	 * Answer the resources that the validated resource depends on.
-	 */
-	public IResource[] getDependsOn() {
-		return _dependsOn;
-	}
-	
-	/**
-	 * Answer any validation messages that were added by the validator. 
-	 * @return an array is returned even if there are no messages.
-	 */
-	public ValidatorMessage[] getMessages(){
-		if (_messages == null)return _noMessages;
-		ValidatorMessage[] msgs = new ValidatorMessage[_messages.size()];
-		_messages.toArray(msgs);
-		return msgs;
-	}
-		
-	/**
-	 * Answer a copy of any validation messages that were added by the validator. The array is a new
-	 * array, and each message is a copy. 
-	 * @return an array is returned even if there are no messages.
-	 */
-	public synchronized ValidatorMessage[] getMessagesAsCopy(){
-		if (_messages == null)return _noMessages;
-		ValidatorMessage[] msgs = new ValidatorMessage[_messages.size()];
-		int i = 0;
-		for (ValidatorMessage msg : _messages)msgs[i++] = msg.asCopy();
-		return msgs;
-	}
-
-	/**
-	 * Update the resources that the validated resource depends on. This can be
-	 * left null. For example, a XML file may depend on a XSD file in order to
-	 * know if it is valid or not. It would pass back that XSD file.
-	 * 
-	 * @param dependsOn
-	 * 		If this is null then the dependency information is not updated. To
-	 * 		remove the dependency information, an empty array needs to be
-	 * 		supplied. A non null parameter, <b>replaces</b> all the dependency
-	 * 		information for this resource, for this validator.
-	 */
-	public void setDependsOn(IResource[] dependsOn) {
-		_dependsOn = dependsOn;
-	}
-	
-	/**
-	 * @return All the resources that were validated as a side-effect of
-	 * 	validating the main resource, or null if none were.
-	 */
-	public IResource[] getValidated() {
-		return _validated;
-	}
-	
-	/**
-	 * Indicate that additional resources have been validated as part of this
-	 * validate operation. Sometimes in the course of performing a validation on
-	 * one resource it is necessary to validate other resources as well. This
-	 * method is used to let the framework know about these additional validated
-	 * resources, to possibly save them being validated redundantly.
-	 * 
-	 * @param validated
-	 * 		Any additional resources that were validated.
-	 */
-	public void setValidated(IResource[] validated) {
-		_validated = validated;
-	}
-
-	/**
-	 * Answer the number of error messages that were generated as part of this validation operation.
-	 */
-	public int getSeverityError() {
-		return _severityError;
-	}
-
-	/**
-	 * Set the number of error messages that were generated as part of this validation operation.
-	 * <p>
-	 * Messages added through the add(ValidationMessage) method should not be included here, as this
-	 * information will be determined from the ValidationMessage.
-	 * </p>
-	 */
-	public void setSeverityError(int severityError) {
-		_severityError = severityError;
-	}
-	
-
-	/**
-	 * Increment the number of error messages that were generated as part of this validation operation.
-	 * <p>
-	 * Messages added through the add(ValidationMessage) method should not be included here, as this
-	 * information will be determined from the ValidationMessage.
-	 * </p>
-	 * 
-	 * @return the current number of errors.
-	 */
-	public int incrementError(int errors){
-		_severityError += errors;
-		return _severityError;
-	}
-
-	/**
-	 * Answer the number of warning messages that were generated as part of this validation operation.
-	 */
-	public int getSeverityWarning() {
-		return _severityWarning;
-	}
-
-	/**
-	 * Set the number of warning messages that were generated as part of this validation operation.
-	 * <p>
-	 * Messages added through the add(ValidationMessage) method should not be included here, as this
-	 * information will be determined from the ValidationMessage.
-	 * </p>
-	 */
-	public void setSeverityWarning(int severityWarning) {
-		_severityWarning = severityWarning;
-	}
-
-	/**
-	 * Increment the number of warning messages that were generated as part of this validation operation.
-	 * <p>
-	 * Messages added through the add(ValidationMessage) method should not be included here, as this
-	 * information will be determined from the ValidationMessage.
-	 * </p>
-	 * 
-	 * @return the current number of warnings.
-	 */
-	public int incrementWarning(int warnings){
-		_severityWarning += warnings;
-		return _severityWarning;
-	}
-
-	/**
-	 * Answer the number of informational messages that were generated as part of this validation operation.
-	 */
-	public int getSeverityInfo() {
-		return _severityInfo;
-	}
-
-	/**
-	 * Set the number of informational messages that were generated as part of this validation operation.
-	 * <p>
-	 * Messages added through the add(ValidationMessage) method should not be included here, as this
-	 * information will be determined from the ValidationMessage.
-	 * </p>
-	 */
-	public void setSeverityInfo(int severityInfo) {
-		_severityInfo = severityInfo;
-	}
-
-	/**
-	 * Increment the number of informational messages that were generated as part of this validation operation.
-	 * <p>
-	 * Messages added through the add(ValidationMessage) method should not be included here, as this
-	 * information will be determined from the ValidationMessage.
-	 * </p>
-	 * 
-	 * @return the current number of informational message.
-	 */
-	public int incrementInfo(int info){
-		_severityInfo += info;
-		return _severityInfo;
-	}
-
-	/**
-	 * Was the operation canceled before it completed? For example if the validation is being run through the
-	 * user interface, the end user can cancel the operation through the progress monitor.
-	 * 
-	 * @return true if the operation was canceled
-	 */
-	public boolean isCanceled() {
-		return _canceled;
-	}
-
-	/**
-	 * Indicate if the operation was canceled.
-	 * 
-	 * @param canceled
-	 * 		Set to true if it was canceled and false if it was not canceled.
-	 */
-	public void setCanceled(boolean canceled) {
-		_canceled = canceled;
-	}
-
-	/**
-	 * Answer the number of resources that have been validated.
-	 */
-	public int getNumberOfValidatedResources() {
-		if (_validated == null)return _numberOfValidatedResources;
-		return _numberOfValidatedResources + _validated.length;
-	}
-
-	/**
-	 * If the validation ended with an exception, answer it.
-	 * @return null if the validator did not finish with an exception.
-	 */
-	public ValidationException getValidationException() {
-		return _validationException;
-	}
-
-	/**
-	 * If the validation failed with an exception, it can be recorded here.
-	 * <p>
-	 * This method is provided for old validators to ease their transition to the new framework.
-	 * </p>
-	 * @param validationException
-	 */
-	public void setValidationException(ValidationException validationException) {
-		_validationException = validationException;
-	}
-	
-	/**
-	 * Answer the project that the validator would like to have suspended.
-	 * 
-	 * @return the project to suspend or null. The normal result is null, which means that
-	 * the validator wishes to receive normal validation requests. 
-	 */
-	public IProject getSuspendValidation(){
-		return _suspendValidation;
-	}
-
-	/**
-	 * Calling this method will inform the framework, that this validator does not wish to be
-	 * called again for any resources in this project, for the duration of this validation operation.
-	 * <p>
-	 * Some validators may have a rich set of triggers, but once they have been invoked once,
-	 * do not need to be invoked again during the course of the current validation.
-	 * </p>
-	 * @param project The project that this validator no longer wants to be notified on.
-	 */
-	public void setSuspendValidation(IProject project) {
-		_suspendValidation = project;
-	}
-}
diff --git a/plugins/org.eclipse.wst.validation/vf2/org/eclipse/wst/validation/ValidationResults.java b/plugins/org.eclipse.wst.validation/vf2/org/eclipse/wst/validation/ValidationResults.java
deleted file mode 100644
index ba947f8..0000000
--- a/plugins/org.eclipse.wst.validation/vf2/org/eclipse/wst/validation/ValidationResults.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2009 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.validation;
-
-
-/**
- * The combined results of validating multiple resources.
- * <p>
- * <b>Provisional API:</b> This class/interface is part of an interim API that is still under development and expected to 
- * change significantly before reaching stability. It is being made available at this early stage to solicit feedback 
- * from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken 
- * (repeatedly) as the API evolves.
- * </p>
- * @author karasiuk
- *
- */
-public final class ValidationResults {
-	
-	private final ValidatorMessage[] _messages;
-	private final int 	_error;
-	private final int	_warn;
-	private final int	_info;
-	
-	public ValidationResults(ValidationResult result){
-		if (result == null){
-			_messages = new ValidatorMessage[0];
-			_error = 0;
-			_warn = 0;
-			_info = 0;
-		}
-		else {
-			_messages = result.getMessagesAsCopy();
-			_error = result.getSeverityError();
-			_warn = result.getSeverityWarning();
-			_info = result.getSeverityInfo();
-		}
-	}
-	
-	/**
-	 * Answer any validation messages that were added by the validation operation.
-	 * @return an array is returned even if there are no messages.
-	 */
-	public ValidatorMessage[] getMessages(){
-		return _messages;
-	}
-
-	/**
-	 * Answer the number of error messages that were generated as part of this validation operation.
-	 */
-	public int getSeverityError() {
-		return _error;
-	}
-
-	/**
-	 * Answer the number of informational messages that were generated as part of this validation operation.
-	 */
-	public int getSeverityInfo() {
-		return _info;
-	}
-	
-	/**
-	 * Answer the number of warning messages that were generated as part of this validation operation.
-	 */
-	public int getSeverityWarning() {
-		return _warn;
-	}
-
-}
diff --git a/plugins/org.eclipse.wst.validation/vf2/org/eclipse/wst/validation/ValidationState.java b/plugins/org.eclipse.wst.validation/vf2/org/eclipse/wst/validation/ValidationState.java
deleted file mode 100644
index 8097de4..0000000
--- a/plugins/org.eclipse.wst.validation/vf2/org/eclipse/wst/validation/ValidationState.java
+++ /dev/null
@@ -1,90 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.validation;
-
-import java.util.HashMap;
-import java.util.Map;
-
-import org.eclipse.wst.validation.internal.plugin.ValidationPlugin;
-
-/**
- * Keep track of arbitrary validation data, during the course of a validation.
- * <p>
- * To enable more efficient caching, the validation framework, allows individual validators to cache
- * arbitrary data during the validation process. Use of this object is completely optional.
- * <p>
- * Since some validators wish to share data with other validators, any validator can see the state data for
- * any other validator, since the id is simply the validator's extension id.
- * <p>
- * This object is freed at the end of the validation process.
- * <p>
- * <b>Provisional API:</b> This class/interface is part of an interim API that is still under development and expected to 
- * change significantly before reaching stability. It is being made available at this early stage to solicit feedback 
- * from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken 
- * (repeatedly) as the API evolves.
- * </p>
- * @noextend
- * @author karasiuk
- *
- */
-public final class ValidationState {
-	
-	/**
-	 * This is a special id.
-	 * <p>
-	 * If a resource that is depended on by others is changed, then the
-	 * dependent resources are validated. The depended on resource, which is the
-	 * resource that actually changed, is placed into the ValidationState using
-	 * this id.
-	 * </p>
-	 * @deprecated This approach is not thread safe, the longer form of the AbstractValidator validate method should be used instead.
-	 * @see AbstractValidator#validate(ValidationEvent, ValidationState, org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	public static final String TriggerResource = ValidationPlugin.PLUGIN_ID + ".Trigger"; //$NON-NLS-1$
-
-	// I can't use a ConncurrentHashMap because some of the clients store nulls.
-	private final Map<String, Object> _map = new HashMap<String, Object>(50);
-	
-	public ValidationState(){
-	}
-	
-	/**
-	 * Save some state information.
-	 * 
-	 * @param id
-	 * 		By convention this is the fully qualified validator extension id.
-	 * 		For example: org.eclipse.wst.html.ui.HTMLValidator
-	 * 
-	 * @param value
-	 * 		Any arbitrary data that the validator might find useful. The
-	 * 		validation framework doesn't do anything with this object except
-	 * 		pass it along during the validation process.
-	 */
-	public synchronized void put(String id, Object value){
-		_map.put(id, value);
-	}
-	
-	/**
-	 * Answer the state data for the given validator.
-	 * 
-	 * @param id
-	 * 		By convention this is the fully qualified validator extension point
-	 * 		id. For example org.eclipse.wst.html.ui.HTMLValidator
-	 * 
-	 * @return any arbitrary data that the validator might find useful,
-	 * 	including null.
-	 */
-	public synchronized Object get(String id){
-		return _map.get(id);
-	}
-
-	
-}
diff --git a/plugins/org.eclipse.wst.validation/vf2/org/eclipse/wst/validation/Validator.java b/plugins/org.eclipse.wst.validation/vf2/org/eclipse/wst/validation/Validator.java
deleted file mode 100644
index 88f5ec5..0000000
--- a/plugins/org.eclipse.wst.validation/vf2/org/eclipse/wst/validation/Validator.java
+++ /dev/null
@@ -1,1395 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2010 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.validation;
-
-import java.lang.reflect.InvocationTargetException;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-import java.util.concurrent.atomic.AtomicBoolean;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IContributor;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.wst.validation.internal.ConfigurationConstants;
-import org.eclipse.wst.validation.internal.ConfigurationManager;
-import org.eclipse.wst.validation.internal.ContentTypeWrapper;
-import org.eclipse.wst.validation.internal.ExtensionConstants;
-import org.eclipse.wst.validation.internal.MarkerManager;
-import org.eclipse.wst.validation.internal.Misc;
-import org.eclipse.wst.validation.internal.NullValidator;
-import org.eclipse.wst.validation.internal.SummaryReporter;
-import org.eclipse.wst.validation.internal.Tracing;
-import org.eclipse.wst.validation.internal.ValManager;
-import org.eclipse.wst.validation.internal.ValMessages;
-import org.eclipse.wst.validation.internal.ValOperation;
-import org.eclipse.wst.validation.internal.ValPrefManagerGlobal;
-import org.eclipse.wst.validation.internal.ValPrefManagerProject;
-import org.eclipse.wst.validation.internal.ValType;
-import org.eclipse.wst.validation.internal.ValidationConfiguration;
-import org.eclipse.wst.validation.internal.ValidatorExtensionReader;
-import org.eclipse.wst.validation.internal.ValidatorMetaData;
-import org.eclipse.wst.validation.internal.core.ValidatorLauncher;
-import org.eclipse.wst.validation.internal.delegates.ValidatorDelegateDescriptor;
-import org.eclipse.wst.validation.internal.delegates.ValidatorDelegatesRegistry;
-import org.eclipse.wst.validation.internal.model.FilterGroup;
-import org.eclipse.wst.validation.internal.operations.IWorkbenchContext;
-import org.eclipse.wst.validation.internal.operations.WorkbenchContext;
-import org.eclipse.wst.validation.internal.plugin.ValidationPlugin;
-import org.eclipse.wst.validation.internal.provisional.core.IMessage;
-import org.eclipse.wst.validation.internal.provisional.core.IValidator;
-import org.eclipse.wst.validation.internal.provisional.core.IValidatorExtender;
-
-/**
- * Represents a validator. This gets instantiated through one of the validator extension points.
- * <p>
- * <b>This class is not API</b>.
- * </p>
- * 
- * @author karasiuk
- *
- */
-public abstract class Validator implements Comparable<Validator> {
-	// Remember if you add a new instance variable, make sure that you update the copy and become methods
-	
-	/**
-	 * The level of configuration for the validator.
-	 * <ul>
-	 * <li>Extension - Defined by an extension point.</li>
-	 * <li>Global - Defined by a global preference.</li>
-	 * <li>Project - Defined by a project property.</li>
-	 * </ul>
-	 */
-	public enum Level {Extension, Global, Project};
-	
-	protected boolean	_buildValidation = true;
-	
-	/** If this is a delegating validator, then this field holds the validator that will be delegated to. */
-	private String 		_delegatingId;
-	
-	/** 
-	 * If this validator is also used to control an ISource validator, the id of the ISource validator is
-	 * registered here.
-	 */
-	private String		_sourceId;
-	
-	protected boolean 	_manualValidation = true;
-	
-	/** An optional customized marker id for this validator. */
-	private String 		_markerId;
-	
-	/** 
-	 * Version of the filter definition. By increasing this number the framework can know that a plug-in has 
-	 * changed it's filters.
-	 */
-	private int			_version = 1;
-	
-	/** Map simple message id's to message settings. */
-	private Map<String, MessageSeveritySetting> _messageSettings;
-	
-	/** The project that you are defined in. This can be null which means that you are a global validator. */
-	protected IProject	_project;
-		
-	/** How many times has a global field in this validator been changed since it was created (or copied)? */
-	protected transient int _changeCountGlobal;
-	
-	/** How many times has a message field in this validator been changed since it was created (or copied)? */
-	protected transient int _changeCountMessages;
-	
-	/** Has the validator been migrated from an earlier version in this session, but not yet saved? */
-	private boolean _migrated;
-	
-	public Validator(IProject project){
-		_project = project;
-	}
-		
-	void setMigrated(boolean migrated){
-		_migrated = migrated;
-	}
-	
-	/**
-	 * Create a new validator based on a abstract validator.
-	 * 
-	 * @param validator
-	 *            The validator that is being wrapped.
-	 * 
-	 * @param project
-	 *            The project that you are defined in. This can be null which
-	 *            means that you are a global validator.
-	 */
-	public static Validator create(IConfigurationElement validator, IProject project) {
-		V2 v2 = new V2(validator, project);
-		return v2;
-	}
-	
-	/**
-	 * Create a new validator based on validator meta data.
-	 * 
-	 * @param project
-	 *            The project that you are defined in. This can be null which
-	 *            means that you are a global validator.
-	 */
-	public static Validator create(ValidatorMetaData vmd, ValidationConfiguration config, IProject project){
-		V1 v1 = new V1(vmd, config, project);
-		return v1;
-	}
-	
-	/**
-	 * If you are a version 1 validator, answer yourself as one, otherwise answer null.
-	 */
-	public V1 asV1Validator(){
-		return null;
-	}
-	
-	/**
-	 * If you are a version 2 validator, answer yourself as one, otherwise answer null.
-	 */
-	public V2 asV2Validator() {
-		return null;
-	}
-	
-	/**
-	 * The project is being cleaned, this method gives the validator a chance to do any special cleanup.
-	 * The default is to do nothing.
-	 * 
-	 * @param project the project being built.
-	 * @param monitor the monitor that should be used for reporting progress if the clean takes a long time.
-	 */
-	public void clean(IProject project, ValOperation operation, IProgressMonitor monitor){
-	}	
-	
-	/**
-	 * Compare yourself based on Validator name.
-	 */
-	public int compareTo(Validator validator) {
-		return getName().compareTo(validator.getName());			
-	}
-	
-	/** Answer a deep copy of yourself. */
-	public Validator copy(){
-		return copy(false);
-	}
-	
-	public abstract Validator copy(boolean includeChangeCounts);
-	
-	/**
-	 * Update your direct, non transient fields from the fields in v.
-	 */
-	protected void copyLocal(Validator v, boolean includeChangeCounts){
-		_buildValidation = v._buildValidation;
-		_delegatingId = v._delegatingId;
-		_manualValidation = v._manualValidation;
-		_markerId = v._markerId;
-		_messageSettings = v._messageSettings;
-		_sourceId = v._sourceId;
-		_version = v._version;
-		_migrated = v._migrated;
-		
-		if (includeChangeCounts){
-			_changeCountGlobal = v._changeCountGlobal;
-			_changeCountMessages = v._changeCountMessages;
-		}
-	}
-	
-	/**
-	 * Should the validation framework first clear the markers that this
-	 * validator has placed on this resource? This method can be overridden by
-	 * validator implementors to provide a validator specific behavior.
-	 * 
-	 * @param event
-	 *            The validation event that triggered the validation.
-	 * @return true if the validation framework should first clear all the
-	 *         markers that this validator produced. This is the default
-	 *         behavior. Return false to leave the markers unchanged. It then
-	 *         becomes the responsibility of the validator to manage it's own
-	 *         markers for this resource, for this validation event.
-	 */
-	public boolean shouldClearMarkers(ValidationEvent event){
-		return true;
-	}
-	
-	/**
-	 * Answer true if this validator, based on it's filters, should validate
-	 * this resource. This method does not check to see if global validation or
-	 * project validation has been suspended or not.
-	 * 
-	 * @param resource
-	 *            The resource to be checked.
-	 * @param isManual
-	 *            If true then this validator must also be enabled for manual
-	 *            validation.
-	 * @param isBuild
-	 *            If true then this validator must also be enabled for builder
-	 *            based validation.
-	 * 
-	 * @return true if the resource should be validated.
-	 */
-	public boolean shouldValidate(IResource resource, boolean isManual, boolean isBuild){
-		return shouldValidate(resource, isManual, isBuild, new ContentTypeWrapper());
-	}
-	
-	/**
-	 * Answer true if this validator, based on it's filters, should validate
-	 * this resource. This method does not check to see if global validation or
-	 * project validation has been suspended or not.
-	 * 
-	 * @param resource
-	 *            The resource to be checked.
-	 * @param isManual
-	 *            If true then this validator must also be enabled for manual
-	 *            validation.
-	 * @param isBuild
-	 *            If true then this validator must also be enabled for builder
-	 *            based validation.
-	 * @param contentTypeWrapper 
-	 *            For repeated calls on the same resource, it is more efficient
-	 *            to remember the content type.
-	 * @return true if the resource should be validated.
-	 * @see Friend#shouldValidate(Validator, IResource, boolean, boolean, ContentTypeWrapper)
-	 */
-	boolean shouldValidate(IResource resource, boolean isManual, boolean isBuild, 
-		ContentTypeWrapper contentTypeWrapper){
-		
-		if (isManual && !_manualValidation)return false;
-		if (isBuild && !_buildValidation)return false;
-		
-		return shouldValidate(resource, contentTypeWrapper);
-	}
-	
-	/**
-	 * Answer true if this validator, based on it's filters, should validate
-	 * this resource. This method does not check to see if global validation or
-	 * project validation has been suspended or not.
-	 * 
-	 * @param resource
-	 *            The resource to be checked.
-	 * @param valType
-	 *            The context to use when performing the check.
-	 * 
-	 * @return true if the resource should be validated.
-	 */
-	public boolean shouldValidate(IResource resource, ValType valType){
-		return shouldValidate(resource, valType, new ContentTypeWrapper());
-	}
-	
-	/**
-	 * Answer true if this validator, based on it's filters, should validate
-	 * this resource. This method does not check to see if global validation or
-	 * project validation has been suspended or not.
-	 * 
-	 * @param resource
-	 *            The resource to be checked.
-	 * @param valType
-	 *            The context to use when performing the check.
-	 * @param contentTypeWrapper
-	 *            For repeated calls on the same resource, it is more efficient
-	 *            to remember the content type.
-	 * 
-	 * @return true if the resource should be validated.
-	 * 
-	 * @see Friend#shouldValidate(Validator, IResource, ValType, ContentTypeWrapper)
-	 */
-	boolean shouldValidate(IResource resource, ValType valType, ContentTypeWrapper contentTypeWrapper){
-		if (Tracing.matchesExtraDetail(getId())){
-			Tracing.log("Validator-01: checking if " + getId() + " should validate " + resource); //$NON-NLS-1$ //$NON-NLS-2$
-		}
-		if (valType == ValType.Manual && !_manualValidation)return false;
-		if (valType == ValType.Build && !_buildValidation)return false;
-		
-		boolean result = shouldValidate(resource, contentTypeWrapper);
-		if (Tracing.matchesExtraDetail(getId())){
-			Tracing.log("Validator-02: result = " + result); //$NON-NLS-1$
-		}
-		
-		return result;
-	}
-	
-	/**
-	 * Answer true if this validator, based on it's filters, should validate this project. This method
-	 * does not check to see if global validation or project validation has been suspended or not.
-	 * 
-	 * @param project the project to be checked
-	 * @param type The type of validation request
-	 * 
-	 * @return true if the project should be validated.
-	 */
-	public boolean shouldValidateProject(IProject project, ValType type){
-		return shouldValidateProject(project, type == ValType.Manual, type == ValType.Build);
-	}
-	
-	/**
-	 * Answer true if this validator, based on it's filters, should validate this project. This method
-	 * does not check to see if global validation or project validation has been suspended or not.
-	 * 
-	 * @param project the project to be checked
-	 * @param isManual if true then this validator must also be enabled for manual validation.
-	 * @param isBuild if true then this validator must also be enabled for builder based validation.
-	 * 
-	 * @return true if the project should be validated.
-	 */
-	public boolean shouldValidateProject(IProject project, boolean isManual, boolean isBuild){
-		if (Tracing.matchesExtraDetail(getId())){
-			Tracing.log("Validator-03: checking if " + getId() + " should validate " + project); //$NON-NLS-1$ //$NON-NLS-2$
-		}
-		if (isManual && !_manualValidation)return false;
-		if (isBuild && !_buildValidation)return false;
-		if (project == null || !project.isOpen())return false;
-		boolean result = shouldValidateProject(project);
-		if (Tracing.matchesExtraDetail(getId())){
-			Tracing.log("Validator-04: result " + result); //$NON-NLS-1$
-		}
-		return result;
-	}
-	
-	/**
-	 * Validate the resource.
-	 * 
-	 * @param resource
-	 *            The resource to be validated.
-	 * @param kind
-	 *            The kind of resource change, see IResourceDelta for values.
-	 * @param operation
-	 *            The operation that this validation is running under. This can
-	 *            be null.
-	 * @param monitor
-	 *            A way to report progress. This can be null.
-	 * 
-	 * @return the result of doing the validation, it can be, but usually isn't
-	 *         null.
-	 */
-	public abstract ValidationResult validate(IResource resource, int kind, ValOperation operation, IProgressMonitor monitor);
-	
-	/**
-	 * Validate the resource.
-	 * 
-	 * @param resource
-	 *            The resource to be validated.
-	 * @param kind
-	 *            The kind of resource change, see IResourceDelta for values.
-	 * @param operation
-	 *            The operation that this validation is running under. This can
-	 *            be null.
-	 * @param monitor
-	 *            A way to report progress. This can be null.
-	 * @param event
-	 *            An event that describes in more detail what should be
-	 *            validated and why it should be validated. This can be null.
-	 * 
-	 * @return the result of doing the validation, it can be, but usually isn't
-	 *         null.
-	 */
-	public ValidationResult validate(IResource resource, int kind, ValOperation operation, IProgressMonitor monitor, ValidationEvent event){
-		// The reason that the resource and kind are still specified, is that I didn't want to remove a public method in the service
-		// stream. 
-		return validate(resource, kind, operation, monitor);		
-	}
-
-	/**
-	 * This method will be called before any validation takes place. It allows validators to perform any
-	 * initialization that they might need. 
-	 *  
-	 * @param project the project that is being validated. For the very first call in the validation phase,
-	 * this will be null. That is the signal to the validator that a top level validation is starting.
-	 * Subsequently, the project will be set, as each of the individual projects are validated.
-	 * 
-	 * @param state a way to pass arbitrary, validator specific, data from one invocation of a validator to
-	 * the next, during the validation phase.
-	 * 
-	 * @param monitor the monitor that should be used for reporting progress if the clean takes a long time.
-	 */
-	public void validationStarting(IProject project, ValidationState state, IProgressMonitor monitor){
-		// subclasses need to override this, if they wish to let their validators know about this event
-	}
-	
-	/**
-	 * This method will be called when validation is complete. It allows validators to perform any
-	 * cleanup that they might need to do.  
-	 *  
-	 * @param project the project that was validated. The very last call in the validation will set this to 
-	 * null so that the validator knows that all the projects have now been validated.
-	 * 
-	 * @param state a way to pass arbitrary, validator specific, data from one invocation of a validator to
-	 * the next, during the validation phase.
-	 * 
-	 * @param monitor the monitor that should be used for reporting progress if the clean takes a long time.
-	 */
-	public void validationFinishing(IProject project, ValidationState state, IProgressMonitor monitor){		
-		// subclasses need to override this, if they wish to let their validators know about this event
-	}
-	
-	void add(MessageSeveritySetting message){
-		// I can't use getMessageSettings() here, as that will put us into an infinite loop
-		if (_messageSettings == null){
-			_messageSettings = new HashMap<String, MessageSeveritySetting>(10);
-		}
-		_messageSettings.put(message.getId(), message);
-		bumpChangeCountMessages();
-	}
-	
-	public IValidator asIValidator(){
-		return null;
-	}
-	
-	protected abstract boolean shouldValidate(IResource resource, ContentTypeWrapper contentTypeWrapper);
-	protected abstract boolean shouldValidateProject(IProject project);
-			
-	public abstract String getId();
-	
-	public MessageSeveritySetting getMessage(String id){
-		return getMessageSettings().get(id);
-	}
-	
-	/**
-	 * Answer all the message settings that this validator has defined.
-	 * 
-	 * @return an empty map if the validator did not define any message settings.
-	 */
-	public Map<String, MessageSeveritySetting> getMessageSettings(){
-		Map<String, MessageSeveritySetting> settings = _messageSettings;
-		if (settings == null){
-			settings = new HashMap<String, MessageSeveritySetting>(10);
-			init(settings);
-			if (ValManager.getDefault().mustUseGlobalValidators(getProject())){
-				ValPrefManagerGlobal gp = ValPrefManagerGlobal.getDefault();
-				gp.loadMessages(this, settings);
-			}
-			else {
-				ValPrefManagerProject vp = new ValPrefManagerProject(getProject());
-				vp.loadMessages(this, settings);				
-			}
-			_messageSettings = settings;
-		}
-		return settings;
-	}
-	
-	/**
-	 * Answer a hash code for the configurable fields so that we can quickly determine if two
-	 * validators are the same.
-	 */
-	public int hashCodeForConfig(){
-		int h = 0;
-		if (_buildValidation)h += 101;
-		if (_delegatingId != null)h += _delegatingId.hashCode();
-		if (_manualValidation)h += 201;
-		if (_messageSettings != null){
-			for (MessageSeveritySetting ms : _messageSettings.values())h += ms.hashCode();
-		}
-		if (_sourceId != null)h += _sourceId.hashCode();
-		h += _version;
-		return h;
-	}
-	
-	private void init(Map<String, MessageSeveritySetting> settings) {
-		for (MessageSeveritySetting ms : ValidatorExtensionReader.getDefault().addMessages(this)){
-			settings.put(ms.getId(), ms);
-		}		
-	}
-
-	public abstract String getName();
-	
-	/**
-	 * Answer the project that you were enabled on. 
-	 * 
-	 * @return null if you are a global (i.e. workspace level) validator.
-	 */
-	public IProject getProject(){
-		return _project;
-	}
-		
-	/**
-	 * Answer the name of the class that implements the validator.
-	 */
-	public abstract String getValidatorClassname();
-	
-	/**
-	 * Is this validator currently enabled for validations that are triggered manually? 
-	 */
-	public boolean isManualValidation() {
-		return _manualValidation;
-	}
-
-	/**
-	 * Set whether this validator should be triggered as part of a manual validation.
-	 * 
-	 * @param manualValidation
-	 * @return true if the setting changed.
-	 */
-	public boolean setManualValidation(boolean manualValidation) {
-		return setManualValidation2(manualValidation);
-	}
-	
-	protected final boolean setManualValidation2(boolean manualValidation) {
-		boolean changed = false;
-		if (_manualValidation != manualValidation){
-			bumpChangeCountGlobal();
-			changed = true;
-			_manualValidation = manualValidation;
-		}
-		return changed;
-	}
-
-	/**
-	 * Is this validator currently enabled for validations that are triggered by builds? 
-	 */
-	public boolean isBuildValidation() {
-		return _buildValidation;
-	}
-	
-	/**
-	 * Has the validator changed since it was last created or copied? Or was it migrated from an earlier version. 
-	 */
-	public boolean isChanged(){
-		if (_changeCountGlobal > 0 || _changeCountMessages > 0 || _migrated)return true;
-		return false;
-	}
-	
-	/**
-	 * Has the validator's implementation been loaded yet? This is used by some test cases to ensure that 
-	 * plug-ins are not loaded too early.
-	 */
-	abstract boolean isLoaded();
-	
-
-	/**
-	 * Set whether this validator should be triggered by the build process.
-	 * 
-	 * @param buildValidation
-	 * @return true if the setting changed.
-	 */
-	public boolean setBuildValidation(boolean buildValidation) {
-		return setBuildValidation2(buildValidation);
-	}
-	
-	protected final boolean setBuildValidation2(boolean buildValidation) {
-		boolean changed = false;
-		if (_buildValidation != buildValidation){
-			bumpChangeCountGlobal();
-			changed = true;
-			_buildValidation = buildValidation;
-		}
-		return changed;
-	}
-
-	/**
-	 * Get the id of the "real" validator, that is the validator that will be called when this delegating
-	 * validator is asked to validate something. If this isn't a delegating validator answer null.
-	 */
-	public String getDelegatingId() {
-		return _delegatingId;
-	}
-	
-	/**
-	 * Set the id of the "real" validator, that is the validator that will be called when this delegating
-	 * validator is asked to validate something.
-	 * 
-	 * @param delegating the id of the validator that is actually going to perform the validation.
-	 */
-	public void setDelegatingId(String delegating) {
-		if (!Misc.same(_delegatingId, delegating)){
-			_delegatingId = delegating;
-			bumpChangeCountGlobal();
-		}
-	}
-	
-	public int getVersion() {
-		return _version;
-	}
-	
-	public void setVersion(int version) {
-		if (_version != version){
-			_version = version;
-			bumpChangeCountGlobal();
-		}
-	}
-	
-	@Override
-	public String toString() {
-		return getName();
-	}
-		
-/**
- * A validator that uses version 1 of the validation framework.
- * @author karasiuk
- *
- */ 
-public static class V1 extends Validator {
-	private ValidatorMetaData _vmd;
-	
-	/**
-	 * Create a new version 1 validator. 
-	 * @param vmd
-	 * @param config this is used to set the global enablement options. In some case this can be null.
-	 */
-	public V1(ValidatorMetaData vmd, ValidationConfiguration config, IProject project){
-		super(project);
-		_vmd = vmd;
-		if (config != null){
-			setBuildValidation(config.isBuildEnabled(vmd));
-			setManualValidation(config.isManualEnabled(vmd));
-		}
-		setDelegatingId(ValidatorDelegatesRegistry.getInstance().getDefaultDelegate(_vmd.getValidatorUniqueName()));
-		if (_vmd.getMarkerIds() != null && _vmd.getMarkerIds().length > 0)setMarkerId(_vmd.getMarkerIds()[0]);
-		resetChangeCounters();
-	}
-	
-	@Override
-	public void validationFinishing(IProject project, ValidationState state, IProgressMonitor monitor) {
-		if (project != null) {
-			IValidator v = asIValidator();
-			if (v instanceof IValidatorExtender) {
-				IValidatorExtender vExt = (IValidatorExtender) v;
-				vExt.validationFinishing(project, state, monitor);
-			}	
-		}
-	}
-
-	@Override
-	public IValidator asIValidator() {
-		IValidator v = null;
-		try {
-			v = _vmd.getValidator();
-		}
-		catch (InstantiationException e){
-			ValidationPlugin.getPlugin().handleException(e);
-			return null;
-		}
-		return v;
-	}
-	
-	public V1 asV1Validator() {
-		return this;
-	}
-			
-	public Validator copy(boolean includeChangeCounts) {
-		V1 v = new V1Copy(_vmd, null, _project);
-		v.copyLocal(this, includeChangeCounts);
-				
-		return v;
-	}
-	
-	public String getName() {
-		return _vmd.getValidatorDisplayName();
-	}
-	
-	public ValidatorMetaData getVmd(){
-		return _vmd;
-	}
-	
-	public String getValidatorClassname(){
-		String name = ""; //$NON-NLS-1$
-		try {
-			name = _vmd.getValidator().getClass().getName();
-		}
-		catch (Exception e){
-			// eat it
-		}
-		return name;
-	}
-	public String getId() {
-		return _vmd.getValidatorUniqueName();
-	}
-	
-	@Override
-	boolean isLoaded() {
-		return _vmd.isActive();
-	}
-	
-	@Override
-	public boolean setBuildValidation(boolean buildValidation) {
-		boolean changed = super.setBuildValidation(buildValidation);
-		_vmd.setBuildValidation(buildValidation);
-		return changed;
-	}
-	
-	@Override
-	public boolean setManualValidation(boolean manualValidation) {
-		boolean changed = super.setManualValidation(manualValidation);
-		_vmd.setManualValidation(manualValidation);
-		return changed;
-	}
-
-	@Override
-	protected boolean shouldValidate(IResource resource, ContentTypeWrapper contentTypeWrapper) {
-		return _vmd.isApplicableTo(resource);
-	}
-
-	@Override
-	protected boolean shouldValidateProject(IProject project) {
-		// TODO determine if this can be optimized
-		return true;
-	}
-
-	@Override
-	public ValidationResult validate(IResource resource, int kind, ValOperation operation, 
-		IProgressMonitor monitor) {
-		
-		if (monitor == null)monitor = new NullProgressMonitor();
-		
-		ValidationResult vr = new ValidationResult();
-		IValidator v = asIValidator();
-		if (v == null)return null;
-		
-		if (shouldSkipValidator(resource, operation))return null;
-		
-		try {
-			IProject project = resource.getProject();
-			SummaryReporter reporter = new SummaryReporter(project, monitor);
-			IWorkbenchContext helper = _vmd.getHelper(project);
-			if (helper instanceof WorkbenchContext){
-				WorkbenchContext wc = (WorkbenchContext)helper;
-				List<String> files = new LinkedList<String>();
-				// [213631] The JSP validator expects full paths not relative paths, but the XML validator
-				// expects relative paths.
-				files.add(wc.getPortableName(resource));
-				wc.setValidationFileURIs(files);
-			}
-			try {
-				ValidatorLauncher.getLauncher().start(helper, v, reporter);
-			}
-			finally {
-				try {
-					v.cleanup(reporter);
-				}
-				finally {
-					helper.cleanup(reporter);
-				}
-			}
-			
-			vr.incrementError(reporter.getSeverityHigh());
-			vr.incrementWarning(reporter.getSeverityNormal());
-			vr.incrementInfo(reporter.getSeverityLow());
-			
-		}
-		catch (Exception e){
-			ValidationPlugin.getPlugin().handleException(e);
-		}
-		return vr;
-	}
-	
-
-	private static final String VALIDATE_PROJECT_ONCE = "ValidateProjectOnce"; //$NON-NLS-1$
-
-		@SuppressWarnings("unchecked")	
-		private boolean shouldSkipValidator(IResource resource, ValOperation operation) {
-
-			if (_vmd.isValidateByProject())
-			{
-				ValidationState validationState = operation.getState();
-				Set<String> projectsNameSet = (Set<String>)validationState.get(VALIDATE_PROJECT_ONCE);
-				String projectName = resource.getProject().getName();
-
-				if (projectsNameSet == null) {
-					projectsNameSet = new HashSet<String>();
-					validationState.put(VALIDATE_PROJECT_ONCE, projectsNameSet);
-				}
-
-				if (projectsNameSet.contains(projectName))return true;
-				else projectsNameSet.add(projectName);
-			}
-			return false;
-		}
-
-	/*
-	 * GRK - Because I didn't want to try to make a true copy of the V1 validator, (because I didn't
-	 * want to copy the vmd object), I came up with this approach to only copy the fields that
-	 * the preference page was worried about. 
-	 */
-	public final static class V1Copy extends V1 {
-		public V1Copy(ValidatorMetaData vmd, ValidationConfiguration vc, IProject project){
-			super(vmd, vc, project);
-		}
-		
-		@Override
-		public boolean setManualValidation(boolean bool) {
-			return setManualValidation2(bool);
-		}
-		
-		@Override
-		public boolean setBuildValidation(boolean bool) {
-			return setBuildValidation2(bool);
-		}
-				
-	}
-		
-}
-
-/**
- * A validator that uses version 2 of the validation framework.
- * @author karasiuk
- *
- */
-public final static class V2 extends Validator implements IAdaptable {
-	private AbstractValidator	_validator;
-	
-	private List<FilterGroup>	_groups = new LinkedList<FilterGroup>();
-	private FilterGroup[]		_groupsArray;
-	
-	/** The full id of the extension. */
-	private String			_id;
-	
-	/** Name of the validator. */
-	private String			_name;
-	
-	/** 
-	 * We don't want to create the validator too early, as it may trigger new plug-ins to be loaded.
-	 * We delay that as long as possible, by starting with just the config element.
-	 */
-	private IConfigurationElement _validatorConfigElement;
-	
-	private String	_validatorClassName;
-	
-	/**
-	 * An array containing the validator group IDs for which this validator is a member.
-	 */
-	private String[] _validatorGroupIds;
-		
-	/** 
-	 * If this validator is a delegating validator, then this is the "real" validator (i.e. the one that
-	 * does the work).
-	 */
-	private AbstractValidator	_delegated;
-		
-	/** How many times has a group field in this validator been changed since it was created (or copied)? */
-	protected transient int _changeCountGroups;
-		
-	private Level _level;
-	
-	/**
-	 * Do we still need to invoke the validateStarting method for this validator, for the null project?
-	 * 
-	 * Because we do not want to activate a validator's plug-in too soon, we do not activate the validator
-	 * as a reaction to the global validation starting event. Instead we mark it pending, and wait until
-	 * we are sure that we have something to validate.
-	 * 
-	 * If this flag is true, it means that the validateStarting method still needs to be called for this validator.
-	 */
-	private AtomicBoolean _pendingValidationStarted = new AtomicBoolean();
-	
-	V2(IConfigurationElement configElement, IProject project){
-		super(project);
-		assert configElement != null;
-		_validatorConfigElement = configElement;
-		_validatorClassName = configElement.getAttribute(ExtensionConstants.AttribClass);
-
-		IConfigurationElement[] groupReferenceElements = configElement.getChildren(ExtensionConstants.Group.elementGroup);
-		List<String> validatorGroupIDs = new ArrayList<String>();
-		for (IConfigurationElement groupElement : groupReferenceElements) {
-			String id = groupElement.getAttribute(ExtensionConstants.Group.attId);
-			if (id != null)validatorGroupIDs.add(id);
-		}
-		_validatorGroupIds = validatorGroupIDs.toArray(new String[validatorGroupIDs.size()]);
-			
-		init();
-	}
-	
-	private V2(IProject project, String validatorClassName, AbstractValidator validator){
-		super(project);
-		assert validator != null;
-		
-		_validatorClassName = validatorClassName;
-		_validator = validator;
-		init();
-	}
-	
-	private void init(){
-		try {
-			String id = ConfigurationManager.getManager().getConfiguration(_project).getDelegateForTarget(_validatorClassName);
-			if (id == null) id = ValidatorDelegatesRegistry.getInstance().getDefaultDelegate(_validatorClassName);
-			setDelegatingId(id);
-		}
-		catch (InvocationTargetException e){
-			ValidationPlugin.getPlugin().handleException(e);
-		}
-		resetChangeCounters();		
-	}
-
-	public synchronized void add(FilterGroup fg) {
-		assert fg != null;
-		_groupsArray = null;
-		_groups.add(fg);
-		bumpChangeCountGroups();
-	}
-	
-	@Override
-	public IValidator asIValidator() {
-		AbstractValidator av = getDelegatedValidator();
-		if (av instanceof IValidator)return (IValidator)av;
-		return super.asIValidator();
-	}
-	
-	@Override
-	public V2 asV2Validator() {
-		return this;
-	}
-	
-	/**
-	 * Let the validator know that a clean is about to happen.
-	 * 
-	 * @param project the project that is being cleaned. This can be null which means that the workspace
-	 * is being cleaned (in which case a separate call will be made for each open project).
-	 * 
-	 */
-	@Override
-	public void clean(IProject project, ValOperation operation, IProgressMonitor monitor) {
-		getDelegatedValidator().clean(project, operation.getState(), monitor);
-	}
-	
-	@Override
-	public Validator copy(boolean includeChangeCounts) {
-		V2 v = null;
-		if (_validatorConfigElement != null)v = new V2(_validatorConfigElement, _project);
-		else v = new V2(_project, _validatorClassName, _validator);
-		v.copyLocal(this, includeChangeCounts);
-		
-		if (includeChangeCounts)v._changeCountGroups = _changeCountGroups;
-		
-		FilterGroup[] groups = getGroups();
-		v._groupsArray = new FilterGroup[groups.length];
-		for (int i=0; i<groups.length; i++){
-			v._groupsArray[i] = groups[i];
-			v._groups.add(groups[i]);
-		}
-
-		v._id = _id;
-		v._name = _name;
-		v._validatorGroupIds = _validatorGroupIds;
-		v._pendingValidationStarted = _pendingValidationStarted;
-				
-		return v;
-	}
-	
-	public int getChangeCountGroups(){
-		return _changeCountGroups;
-	}
-	
-	public void bumpChangeCountGroups(){
-		_changeCountGroups++;
-	}
-	
-	public Level getLevel() {
-		return _level;
-	}
-
-	public void setLevel(Level level) {
-		assert _level == null;
-		_level = level;
-	}
-	
-	/**
-	 * Answer the actual validator that is going to perform the validation. If this is a normal validator this
-	 * method will simply answer itself. However if this is a delegating validator, then this will answer the
-	 * "real" validator.
-	 */
-	public AbstractValidator getDelegatedValidator(){
-		AbstractValidator delegated = _delegated;
-		if (delegated != null)return delegated;
-		else if (getDelegatingId() == null)return getValidator();
-		try {
-			ValidatorDelegateDescriptor vdd = ValidatorDelegatesRegistry.getInstance()
-				.getDescriptor(getValidatorClassname(), getDelegatingId());
-			if (vdd == null)return getValidator();
-			delegated = vdd.getValidator2();
-		}
-		catch (Exception e){
-			ValidationPlugin.getPlugin().handleException(e);
-			delegated = new NullValidator();
-		}
-		delegated.setParent(this);
-		_delegated = delegated;
-		return delegated;
-	}
-		
-	@Override
-	public String getId() {
-		return _id;
-	}
-	
-	/**
-	 * Answer the validator's filter groups.
-	 * @return an empty array if the validator does not have any filter groups.
-	 */
-	public synchronized FilterGroup[] getGroups(){
-		FilterGroup[] groups = _groupsArray;
-		if (groups == null){
-			groups = new FilterGroup[_groups.size()];
-			_groups.toArray(groups);
-			_groupsArray = groups;
-		}
-		return groups;
-	}
-	
-	@Override
-	public String getName() {
-		return _name;
-	}
-	
-	public AbstractValidator getValidator() {
-		if (_validator == null){
-			try {
-				_validator = (AbstractValidator)_validatorConfigElement.createExecutableExtension(ExtensionConstants.AttribClass);
-			}
-			catch (Exception e){
-				ValidationPlugin.getPlugin().handleException(e);
-				IContributor contrib = _validatorConfigElement.getContributor();
-				String message = NLS.bind(ValMessages.ErrConfig, contrib.getName());
-				ValidationPlugin.getPlugin().logMessage(IStatus.ERROR, message);
-				_validator = new NullValidator();
-			}
-			_validator.setParent(this);
-			_validatorConfigElement = null;
-
-		}
-		return _validator;
-	}
-	
-	@Override
-	public String getValidatorClassname(){
-		return _validatorClassName;
-	}
-	
-	public String[] getValidatorGroups(){
-		return _validatorGroupIds;
-	}
-	
-	@Override
-	public int hashCodeForConfig() {
-		int h =  super.hashCodeForConfig();
-		if (_id != null)h += _id.hashCode();
-		if (_groups != null){
-			for (FilterGroup fg : _groups)h += fg.hashCodeForConfig();
-		}
-		return h;
-	}
-	
-	@Override
-	public boolean isChanged() {
-		if (_changeCountGroups > 0)return true;
-		return super.isChanged();
-	}
-	
-	@Override
-	boolean isLoaded() {
-		return _validator != null;
-	}
-	
-	@Override
-	public boolean shouldClearMarkers(ValidationEvent event) {
-		return getValidator().shouldClearMarkers(event);
-	}
-		
-	/**
-	 * Answer true if this validator, based on it's filters, should validate this resource.
-	 * 
-	 * @return true if the resource should be validated.
-	 */
-	@Override
-	protected boolean shouldValidate(IResource resource, ContentTypeWrapper contentTypeWrapper) {
-	    if (resource.isDerived()){
-	      return false;
-	    }
-		FilterGroup[] groups = getGroups();
-		IProject project = resource.getProject();
-		for (FilterGroup group : groups){
-			if (!group.shouldValidate(project, resource, contentTypeWrapper))return false;
-		}
-		return true;
-	}
-	
-	
-	@Override
-	public void setDelegatingId(String delegating) {
-		super.setDelegatingId(delegating);
-		_delegated = null;
-	}
-	
-	public synchronized void setGroups(List<FilterGroup> groups){
-		_groups = groups;
-		_groupsArray = null;
-		bumpChangeCountGroups();
-	}
-
-	public void setId(String id) {
-		if (!Misc.same(_id, id)){
-			_id = id;
-			bumpChangeCountGlobal();
-		}
-	}
-	
-	public void setName(String name) {
-		if (!Misc.same(_name, name)){
-			_name = name;
-			bumpChangeCountGlobal();
-		}
-	}
-	
-	@Override
-	public ValidationResult validate(IResource resource, int kind, ValOperation operation, IProgressMonitor monitor){
-		return validate(resource, kind, operation, monitor, null);
-	}
-	
-	@Override
-	public ValidationResult validate(IResource resource, int kind, ValOperation operation, IProgressMonitor monitor, ValidationEvent event) {
-		ValidationResult vr = null;
-		if (operation == null)operation = new ValOperation();
-		if (monitor == null)monitor = new NullProgressMonitor();
-		try {
-			if (event == null)event = new ValidationEvent(resource, kind, null);
-			vr = getDelegatedValidator().validate(event, operation.getState(), monitor);
-			if (vr == null)vr = getDelegatedValidator().validate(resource, kind, operation.getState(), monitor);
-		}
-		catch (Exception e){
-			try {
-				String msg = NLS.bind(ValMessages.LogValEnd, getName(), resource.getLocationURI());
-				ValidationPlugin.getPlugin().logMessage(IStatus.ERROR, msg);
-			}
-			catch (Exception e2 ){
-				// ignore it
-			}
-			ValidationPlugin.getPlugin().handleException(e);
-		}
-		
-		if (vr != null){
-			if (vr.getValidationException() != null){
-				ValidationPlugin.getPlugin().handleException(vr.getValidationException());
-			}
-			updateResults(vr);
-			if (vr.getDependsOn() != null){
-				ValidationFramework.getDefault().getDependencyIndex().set(getId(), resource, vr.getDependsOn());
-			}
-			IResource[] validated = vr.getValidated();
-			if (validated != null){
-				for (int i=0; i<validated.length; i++){
-					operation.addValidated(getId(), validated[i]);
-				}
-			}
-			
-			ValidatorMessage[] msgs = vr.getMessages();
-//			if (sanityTest(msgs.length, resource)){
-				MarkerManager mm = MarkerManager.getDefault();
-				for (ValidatorMessage m : msgs){
-					mm.createMarker(m, getId());
-				}
-//			}
-//			else {
-//				setBuildValidation(false);
-//				setManualValidation(false);
-//			}
-		}
-		return vr;		
-	}
-	
-	/**
-	 * Perform a simple sanity test to ensure that the validator is configured correctly.
-	 * @param numberofMessages number of messages that the validator produced.
-	 * @return true if the test passed
-	 */
-//	private boolean sanityTest(int numberofMessages, IResource resource) {
-//		if (numberofMessages < 201)return true;
-//		
-//		String resName = ""; //$NON-NLS-1$
-//		if (resource != null)resName = resource.getName();
-//		String message = NLS.bind(ValMessages.ConfigError, new Object[]{
-//				getName(), getId(), String.valueOf(numberofMessages), resName});
-//		ValidationPlugin.getPlugin().logMessage(IStatus.ERROR, message);
-//		
-//		return false;
-//	}
-
-	/**
-	 * If the validator is using a report helper then update it with any of the messages that were
-	 * added directly to the validation result.
-	 * @param vr
-	 */
-	private void updateResults(ValidationResult vr) {
-		ReporterHelper rh = vr.getReporterHelper();
-		if (rh == null)return;
-		ClassLoader classloader = getDelegatedValidator().getClass().getClassLoader();
-		for (IMessage message : rh.getMessages()){
-			Object target = message.getTargetObject();
-			if (target != null){
-				IResource res = null;
-				if (target instanceof IResource)res = (IResource)target;
-				if (res == null){
-					target = message.getAttribute(IMessage.TargetResource);
-					if (target != null && target instanceof IResource)res = (IResource)target;
-				}
-				if (res != null){
-					
-					ValidatorMessage vm = ValidatorMessage.create(message.getText(classloader), res);
-					if (getMarkerId() != null)vm.setType(getMarkerId());
-					vr.add(vm);
-					int markerSeverity = IMarker.SEVERITY_INFO;
-					int sev = message.getSeverity();
-					if ((sev & IMessage.HIGH_SEVERITY) != 0)markerSeverity = IMarker.SEVERITY_ERROR;
-					else if ((sev & IMessage.NORMAL_SEVERITY) != 0)markerSeverity = IMarker.SEVERITY_WARNING;
-					vm.setAttribute(IMarker.SEVERITY, markerSeverity);
-					vm.setAttribute(IMarker.LINE_NUMBER, message.getLineNumber());
-					int offset = message.getOffset();
-					if (offset != IMessage.OFFSET_UNSET){
-						vm.setAttribute(IMarker.CHAR_START, offset);
-						int len = message.getLength();
-						if (len != IMessage.OFFSET_UNSET){
-							vm.setAttribute(IMarker.CHAR_START, offset);
-							vm.setAttribute(IMarker.CHAR_END, offset+len);
-						}
-					}
-					String groupName = message.getGroupName();
-					if (groupName != null){
-						vm.setAttribute(ConfigurationConstants.VALIDATION_MARKER_GROUP, groupName);
-					}
-					
-					copyAttributes(message, vm);
-				}
-			}
-		}		
-	}
-
-	@SuppressWarnings("unchecked")
-	private void copyAttributes(IMessage message, ValidatorMessage vm) {
-		// I made this a separate method, so that I could localize the suppression of unchecked warnings.
-		Map attributes = message.getAttributes();
-		if (attributes != null){						
-			for (Iterator it = attributes.entrySet().iterator(); it.hasNext();){
-				Map.Entry me = (Map.Entry)it.next();
-				String key = (String)me.getKey();
-				vm.setAttribute(key, me.getValue());
-			}
-		}
-	}
-	
-	@Override
-	public void validationStarting(IProject project, ValidationState state, IProgressMonitor monitor) {
-		if (project == null)_pendingValidationStarted.set(true);
-		else {
-			AbstractValidator val = getDelegatedValidator();
-			if (_pendingValidationStarted.getAndSet(false)){
-				val.validationStarting(null, state, monitor);
-			}
-			val.validationStarting(project, state, monitor);
-		}
-	}
-	
-	@Override
-	public void validationFinishing(IProject project, ValidationState state, IProgressMonitor monitor) {
-		if (project == null){
-			if (!_pendingValidationStarted.getAndSet(false))getDelegatedValidator().validationFinishing(null, state, monitor);
-		}
-		else getDelegatedValidator().validationFinishing(project, state, monitor);
-	}
-
-	@SuppressWarnings("unchecked")
-	public Object getAdapter(Class adapter) {
-		return Platform.getAdapterManager().getAdapter(this, adapter);
-	}
-
-	public synchronized void remove(FilterGroup group) {
-		_groups.remove(group);
-		_groupsArray = null;	
-		bumpChangeCountGroups();
-	}
-	
-	@Override
-	public void resetChangeCounters() {
-		super.resetChangeCounters();
-		_changeCountGroups = 0;
-	}
-
-	@Override
-	protected boolean shouldValidateProject(IProject project) {
-		FilterGroup[] groups = getGroups();
-		ContentTypeWrapper ctw = new ContentTypeWrapper();
-		for (FilterGroup group : groups){
-			if (!group.shouldValidate(project, null, ctw))return false;
-		}
-		return true;
-	}
-	
-	public synchronized void replaceFilterGroup(FilterGroup existing, FilterGroup merged) {
-		remove(existing);
-		add(merged);
-	}
-
-}
-
-public String getSourceId() {
-	return _sourceId;
-}
-
-public void setSourceId(String sourceId) {
-	if (!Misc.same(_sourceId, sourceId)){
-		_sourceId = sourceId;
-		bumpChangeCountGlobal();
-	}
-}
-
-
-void setMessages(Map<String, MessageSeveritySetting> map) {
-	_messageSettings = map;
-	bumpChangeCountMessages();
-}
-
-public int getChangeCountGlobal() {
-	return _changeCountGlobal;
-}
-
-public boolean hasGlobalChanges(){
-	return _migrated || _changeCountGlobal > 0;
-}
-
-public int getChangeCountMessages() {
-	return _changeCountMessages;
-}
-
-public void bumpChangeCountMessages(){
-	_changeCountMessages++;
-}
-
-public void resetChangeCounters() {
-	_changeCountGlobal = 0;
-	_changeCountMessages = 0;
-}
-
-public void bumpChangeCountGlobal(){
-	_changeCountGlobal++;
-}
-
-/**
- * Answer true if you have the same configuration settings as validator.
- * @param validator this can be null.
- */
-public boolean sameConfig(Validator validator) {
-	if (validator == null)return false;
-	return hashCodeForConfig() == validator.hashCodeForConfig();
-}
-
-public String getMarkerId() {
-	return _markerId;
-}
-
-public void setMarkerId(String markerId) {
-	_markerId = markerId;
-	if (markerId != null)MarkerManager.getDefault().getMarkers().add(markerId);
-}
-
-}
diff --git a/plugins/org.eclipse.wst.validation/vf2/org/eclipse/wst/validation/ValidatorMessage.java b/plugins/org.eclipse.wst.validation/vf2/org/eclipse/wst/validation/ValidatorMessage.java
deleted file mode 100644
index a16c26e..0000000
--- a/plugins/org.eclipse.wst.validation/vf2/org/eclipse/wst/validation/ValidatorMessage.java
+++ /dev/null
@@ -1,296 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.validation;
-
-
-import java.util.HashMap;
-import java.util.Map;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.Assert;
-import org.eclipse.wst.validation.internal.Tracing;
-import org.eclipse.wst.validation.internal.ValConstants;
-import org.eclipse.wst.validation.internal.plugin.ValidationPlugin;
-
-/**
- * This class provides a way for a validator to return messages, that are easily
- * converted into IMarkers.
- * <p>
- * This class is completely optional for validators. A validator can choose to
- * directly manage IMarkers. However, some validators want to be used in
- * multiple contexts, for example as-you-type validation and build based
- * validation. For these types of validators it is not possible for them to use
- * only IMarkers, because often the Resource has not been saved yet.
- * </p>
- * <p>
- * <b>Provisional API:</b> This class/interface is part of an interim API that
- * is still under development and expected to change significantly before
- * reaching stability. It is being made available at this early stage to solicit
- * feedback from pioneering adopters on the understanding that any code that
- * uses this API will almost certainly be broken (repeatedly) as the API
- * evolves.
- * </p>
- */
-public class ValidatorMessage {
-	
-	public static final String ValidationId = "ValidationId"; //$NON-NLS-1$
-	
-	/** Associate some arbitrary attributes with a message. */
-	private final Map<String, Object>	_map = new HashMap<String, Object>(5);
-	
-	private IResource	_resource;
-	
-	/** The type of marker. */
-	private String		_type;
-	
-	/**
-	 * Create a new validation message.
-	 * 
-	 * @param message
-	 * 		The localized message that will be displayed to the user.
-	 * 
-	 * @param resource
-	 * 		The resource that the message is associated with.
-	 */
-	public static ValidatorMessage create(String message, IResource resource){
-		ValidatorMessage msg = new ValidatorMessage();
-		msg._type = ValConstants.ProblemMarker;
-		msg._resource = resource;
-		msg.setAttribute(IMarker.MESSAGE, ValidationPlugin.getPlugin().isDebugging() ? 
-			Tracing.timestampIt(message): message);
-		return msg;
-	}
-	
-	private ValidatorMessage(){}
-	
-	/**
-	 * Answer a copy of yourself.
-	 */
-	public ValidatorMessage asCopy(){
-		ValidatorMessage msg = new ValidatorMessage();
-		msg._resource = _resource;
-		msg._type = _type;
-		msg._map.putAll(_map);
-		return msg;
-	}
-	
-	/**
-	 * Returns the attribute with the given name. The result is an instance of
-	 * one of the following classes: <code>String</code>, <code>Integer</code>,
-	 * or <code>Boolean</code>. Returns <code>null</code> if the attribute is
-	 * undefined.
-	 * 
-	 * @param attributeName
-	 * 		The name of the attribute.
-	 * @return the value, or <code>null</code> if the attribute is undefined.
-	 */
-	public Object getAttribute(String attributeName){
-		return _map.get(attributeName);
-	}
-
-	/**
-	 * Returns the integer valued attribute with the given name. Returns the
-	 * given default value if the attribute is undefined or the marker does not
-	 * exist or is not an integer value.
-	 * 
-	 * @param attributeName
-	 * 		The name of the attribute.
-	 * @param defaultValue
-	 * 		The value to use if no integer value is found.
-	 * @return the value or the default value if no integer value was found.
-	 */
-	public int getAttribute(String attributeName, int defaultValue){
-		Integer value = null;
-		try {
-			value = (Integer)_map.get(attributeName);
-		}
-		catch (Exception e){
-			// eat it
-		}
-		if (value == null)return defaultValue;
-		return value.intValue();
-	}
-
-	/**
-	 * Returns the string valued attribute with the given name. Returns the
-	 * given default value if the attribute is undefined or the marker does not
-	 * exist or is not a string value.
-	 * 
-	 * @param attributeName
-	 * 		The name of the attribute.
-	 * @param defaultValue
-	 * 		The value to use if no value is found.
-	 * @return the value or the default value if no value was found.
-	 */
-	public String getAttribute(String attributeName, String defaultValue){
-		String value = null;
-		try {
-			value = (String)_map.get(attributeName);
-		}
-		catch (Exception e){
-			// eat it
-		}
-		if (value == null)return defaultValue;
-		return value;
-		
-	}
-
-	/**
-	 * Returns the boolean valued attribute with the given name. Returns the
-	 * given default value if the attribute is undefined or the marker does not
-	 * exist or is not a boolean value.
-	 * 
-	 * @param attributeName
-	 * 		The name of the attribute.
-	 * @param defaultValue
-	 * 		The value to use if no value is found.
-	 * @return the value or the default value if no value was found.
-	 */
-	public boolean getAttribute(String attributeName, boolean defaultValue){
-		Boolean value = null;
-		try {
-			value = (Boolean)_map.get(attributeName);
-		}
-		catch (Exception e){
-			// eat it
-		}
-		if (value == null)return defaultValue;
-		return value.booleanValue();
-		
-	}
-
-	/**
-	 * Returns a map with all the attributes for the marker. If the marker has
-	 * no attributes then <code>null</code> is returned.
-	 * 
-	 * @return a map of attribute keys and values (key type :
-	 * 	<code>String</code> value type : <code>String</code>,
-	 * 	<code>Integer</code>, or <code>Boolean</code>) or <code>null</code>.
-	 */
-	@SuppressWarnings("unchecked")
-	public Map getAttributes() {
-		return _map;
-	}
-		
-	/**
-	 * Returns the resource with which this marker is associated. 
-	 *
-	 * @return the resource with which this marker is associated
-	 */
-	public IResource getResource(){
-		return _resource;		
-	}
-
-	/**
-	 * Returns the type of this marker. The returned marker type will not be 
-	 * <code>null</code>.
-	 *
-	 * @return the type of this marker
-	 */
-	public String getType() {
-		return _type;
-	}
-	
-	/**
-	 * Sets the marker type.
-	 * 
-	 * @param type The marker id to use when creating new markers.
-	 */
-	public void setType(String type){
-		assert type != null;
-		_type = type;
-	}
-		
-	/**
-	 * Sets the integer valued attribute with the given name.
-	 * <p>
-	 * This method changes resources; these changes will be reported in a
-	 * subsequent resource change event, including an indication that this
-	 * marker has been modified.
-	 * </p>
-	 * 
-	 * @param attributeName
-	 * 		The name of the attribute.
-	 * @param value
-	 * 		The value.
-	 */
-	public void setAttribute(String attributeName, int value){
-		_map.put(attributeName, new Integer(value));
-		
-	}
-
-	/**
-	 * Sets the attribute with the given name. The value must be
-	 * <code>null</code> or an instance of one of the following classes:
-	 * <code>String</code>, <code>Integer</code>, or <code>Boolean</code>.
-	 * 
-	 * @param attributeName
-	 * 		The name of the attribute.
-	 * @param value
-	 * 		The value, or <code>null</code> if the attribute is to be undefined.
-	 */
-	public void setAttribute(String attributeName, Object value){
-		_map.put(attributeName, value);
-	}
-
-	/**
-	 * Sets the boolean valued attribute with the given name.
-	 * 
-	 * @param attributeName
-	 * 		The name of the attribute.
-	 * @param value
-	 * 		The value.
-	 */
-	public void setAttribute(String attributeName, boolean value){
-		_map.put(attributeName, value ? Boolean.TRUE : Boolean.FALSE);		
-	}
-
-	/**
-	 * Sets the given attribute key-value pairs on this marker. The values must
-	 * be <code>null</code> or an instance of one of the following classes:
-	 * <code>String</code>, <code>Integer</code>, or <code>Boolean</code>. If a
-	 * value is <code>null</code>, the new value of the attribute is considered
-	 * to be undefined.
-	 * 
-	 * @param attributeNames
-	 * 		An array of attribute names.
-	 * @param values
-	 * 		An array of attribute values.
-	 */
-	public void setAttributes(String[] attributeNames, Object[] values){
-		Assert.isTrue(attributeNames.length == values.length);
-		for (int i=0; i<attributeNames.length; i++){
-			setAttribute(attributeNames[i], values[i]);			
-		}
-	}
-
-	/**
-	 * Sets the attributes for this marker to be the ones contained in the given
-	 * table. The values must be an instance of one of the following classes:
-	 * <code>String</code>, <code>Integer</code>, or <code>Boolean</code>.
-	 * Attributes previously set on the marker but not included in the given map
-	 * are considered to be removals. This includes the text of the message.
-	 * Setting the given map to be
-	 * <code>null</code> is equivalent to removing all marker attributes.
-	 * 
-	 * @param attributes
-	 * 		A map of attribute names to attribute values (key type :
-	 * 		<code>String</code> value type : <code>String</code>,
-	 * 		<code>Integer</code>, or <code>Boolean</code>) or <code>null</code>.
-	 */
-	public void setAttributes(Map<String, Object> attributes) {
-		_map.clear();
-		_map.putAll(attributes);
-		
-	}
-
-}
diff --git a/plugins/org.eclipse.wst.validation/vf2/org/eclipse/wst/validation/doc-files/faq.html b/plugins/org.eclipse.wst.validation/vf2/org/eclipse/wst/validation/doc-files/faq.html
deleted file mode 100644
index 8096d0a..0000000
--- a/plugins/org.eclipse.wst.validation/vf2/org/eclipse/wst/validation/doc-files/faq.html
+++ /dev/null
@@ -1,40 +0,0 @@
-<html>
-<head>
-<title>Validation Framework - Frequently Asked Questions</title>
-</head>
-<body>
-<h1>Validation Framework - Frequently Asked Questions</h1>
-<h3>How do I create Problem Markers?</h3>
-<p>There are three different ways to create problem markers.</p>
-<ol>
-	<li>Use the native support in the validation framework.</li>
-	<li>Manage your own markers.</li>
-	<li>Use the support in the previous version of the validation framework.</li>
-</ol>
-<p>The first approach, is the recommended approach.</p>
-
-<h4>1. Use the native support in the validation framework</h4>
-<p>After you have finished performing your validation, and are returning control back to
-the validation framework, add your messages into the 
-<a href="../ValidationResult.html">ValidationResult</a> by using
-the <a href="../ValidationResult.html#add(org.eclipse.wst.validation.ValidatorMessage)">add(ValidatorMessage message)</a> method.
-
-<h4>2. Manage your own markers</h4>
-
-<p>Create and remove your own markers. So that summary information can still be displayed, set the counts of any newly
-created markers in the <a href="../ValidationResult.html">ValidationResult</a> by using the setSeverityXXX() methods.
-For example, if this validation pass generated two error markers, you would call 
-<a href="../ValidationResult.html#setSeverityError(int)">setSeverityError(2)</a>. 
-</p>
-
-<h4>3. Use the support in the previous version of the validation framework</h4>
-
-<p>If you are porting a validator that used the previous version of the validation framework, and you wish to continue to use an
-<A HREF="../../../../../org/eclipse/wst/validation/internal/provisional/core/IReporter.html">IReporter</a> to
-report your markers, you can continue to do so.</p>
-<p>For this approach, use the
-<a href="../ValidationResult.html#getReporter(IProgressMonitor)">getReporter(IProgressMonitor&nbsp;monitor)</a> method,
-and return your messages through the IReporter. If this method is called it is assumed by the framework, 
-that this IReporter will be used as the only way of passing messages back to the framework. 
-</body>
-</html>
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.validation/vf2/org/eclipse/wst/validation/internal/ContentTypeWrapper.java b/plugins/org.eclipse.wst.validation/vf2/org/eclipse/wst/validation/internal/ContentTypeWrapper.java
deleted file mode 100644
index 53dd045..0000000
--- a/plugins/org.eclipse.wst.validation/vf2/org/eclipse/wst/validation/internal/ContentTypeWrapper.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.validation.internal;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.content.IContentDescription;
-import org.eclipse.core.runtime.content.IContentType;
-import org.eclipse.wst.validation.internal.plugin.ValidationPlugin;
-
-/**
- * Since it can be expense to determine a content type, we provide a wrapper so that we only
- * need to get it once, as we validate a resource.
- * @author karasiuk
- *
- */
-public class ContentTypeWrapper {
-	
-	private IContentType _type;
-	private boolean 	_initialized;
-	
-	public IContentType getContentType(IFile file){
-		if (_initialized)return _type;
-		
-		IContentDescription cd = null;
-		try {
-			cd = file.getContentDescription();
-		}
-		catch (CoreException e){
-			try {
-				file.refreshLocal(IResource.DEPTH_ZERO, null);
-				cd = file.getContentDescription();
-			}
-			catch (CoreException e2){
-				if (Tracing.isLogging())ValidationPlugin.getPlugin().handleException(e2);
-			}
-		}
-		if (cd == null)return null;
-		_type = cd.getContentType();
-		_initialized = true;
-		return _type;
-	}
-
-}
diff --git a/plugins/org.eclipse.wst.validation/vf2/org/eclipse/wst/validation/internal/DebugConstants.java b/plugins/org.eclipse.wst.validation/vf2/org/eclipse/wst/validation/internal/DebugConstants.java
deleted file mode 100644
index a466241..0000000
--- a/plugins/org.eclipse.wst.validation/vf2/org/eclipse/wst/validation/internal/DebugConstants.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2009 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.validation.internal;
-
-import org.eclipse.wst.validation.internal.plugin.ValidationPlugin;
-
-public interface DebugConstants {
-	
-	/** matches - trace filter matches. */
-	String TraceMatches = ValidationPlugin.PLUGIN_ID+"/matches"; //$NON-NLS-1$
-	
-	/** timings - trace the times of the validators. */
-	String TraceTimes = ValidationPlugin.PLUGIN_ID+"/timings"; //$NON-NLS-1$
-	
-	/** v1 - trace the v1 validators. */
-	String TraceV1 = ValidationPlugin.PLUGIN_ID+"/v1"; //$NON-NLS-1$
-	
-	/** timings/tracefile - file that stores the trace events */
-	String TraceTimesFile = ValidationPlugin.PLUGIN_ID+"/timings/tracefile"; //$NON-NLS-1$
-	
-	/** 
-	 * timings/useDoubles - By default times that are written to the trace file are
-	 * in milliseconds for elapsed time and nanoseconds for cpu time. 
-	 * If you find these times easier to read as seconds as expressed by a double, 
-	 * the following flag can be turned on.
-	 */
-	String TraceTimesUseDoubles = ValidationPlugin.PLUGIN_ID+"/timings/useDoubles"; //$NON-NLS-1$
-	
-	/** 
-	 * extraValDetail - If extra detail is needed for a particular validator it's id can be specified here. 
-	 * For example, if you wanted more detail on the XML validator you would use org.eclipse.wst.xml.core.xml 
-	 */
-	String ExtraValDetail = ValidationPlugin.PLUGIN_ID+"/extraValDetail"; //$NON-NLS-1$
-	
-	/** 
-	 * filter/allExcept - If supplied, it is as if this is the only validator that gets defined via
-	 * the extension point. All the other validators are ignored.
-	 */
-	String FilterAllExcept = ValidationPlugin.PLUGIN_ID+"/filter/allExcept"; //$NON-NLS-1$
-	
-	/**
-	 * trace/level - The tracing level. If not supplied a default of zero is used. The higher the number the
-	 * more verbose the tracing.
-	 */
-	String TraceLevel = ValidationPlugin.PLUGIN_ID+"/trace/level"; //$NON-NLS-1$
-
-}
diff --git a/plugins/org.eclipse.wst.validation/vf2/org/eclipse/wst/validation/internal/DependencyIndex.java b/plugins/org.eclipse.wst.validation/vf2/org/eclipse/wst/validation/internal/DependencyIndex.java
deleted file mode 100644
index 074593b..0000000
--- a/plugins/org.eclipse.wst.validation/vf2/org/eclipse/wst/validation/internal/DependencyIndex.java
+++ /dev/null
@@ -1,381 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.validation.internal;
-
-import java.io.DataInputStream;
-import java.io.DataOutputStream;
-import java.io.EOFException;
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.ISaveContext;
-import org.eclipse.core.resources.ISaveParticipant;
-import org.eclipse.core.resources.IWorkspaceRoot;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.wst.validation.DependentResource;
-import org.eclipse.wst.validation.IDependencyIndex;
-import org.eclipse.wst.validation.Validator;
-import org.eclipse.wst.validation.internal.plugin.ValidationPlugin;
-
-/**
- * A simple implementation of the IDependencyIndex. This will probably be
- * replaced with a higher performance, more robust index, at some point in the
- * future.
- * <p>
- * The format of the index is:
- * 
- * <pre>
- * Version number
- * Number of depends on entries
- *   depends on file name
- *   number of dependent entries
- *     dependent file name
- *     number of validators
- *       validator id
- * </pre>
- * 
- * @author karasiuk
- */
-public class DependencyIndex implements IDependencyIndex, ISaveParticipant {
-	
-	/**
-	 * An index so that we can determine which things depend on this resource.
-	 */
-	private Map<IResource,Set<Depends>>		_dependsOn;
-	
-	/**
-	 * An index so that we can determine who the resource depends on.
-	 */
-	private Map<IResource,Set<Depends>>		_dependents;
-	private boolean _dirty;
-	
-	private static IResource[] EmptyResources = new IResource[0];
-	
-	/** Version of the persistent index. */
-	private static final int CurrentVersion = 1;
-
-	public synchronized void add(String id, IResource dependent, IResource dependsOn) {
-		init();
-		if (dependsOn == null || dependent == null)return;
-		Depends d = getOrCreateDepends(dependent, dependsOn);
-		if (d.getValidators().add(id))_dirty = true;
-	}
-	
-	private Depends getOrCreateDepends(IResource dependent, IResource dependsOn) {
-		Set<Depends> set = getSet(_dependents, dependent);
-		for (Depends d : set){
-			if (d.getDependsOn() != null && d.getDependsOn().equals(dependsOn)) return d;
-		}
-		Depends d = new Depends(dependent, dependsOn);
-		_dirty = true;
-		set.add(d);
-		
-		getSet(_dependsOn, dependsOn).add(d);
-		return d;
-	}
-
-	/**
-	 * Answer the set for the resource, creating it if you need to.
-	 */
-	private Set<Depends> getSet(Map<IResource, Set<Depends>> map, IResource resource) {
-		Set<Depends> set = map.get(resource);
-		if (set == null){
-			set = new HashSet<Depends>(5);
-			map.put(resource, set);
-		}
-		return set;
-	}
-
-	/**
-	 * Restore the dependency index. See the class comment for the structure.
-	 */	
-	private void init() {
-		if (_dependsOn != null)return;
-		
-		boolean error = false;
-		File f = getIndexLocation();
-		if (!f.exists()){
-			_dependsOn = new HashMap<IResource,Set<Depends>>(100);
-			_dependents = new HashMap<IResource,Set<Depends>>(100);
-		}
-		else {
-			String errorMessage = ValMessages.Error21; 
-			DataInputStream in = null;
-			try {
-				IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot();
-				in = new DataInputStream(new FileInputStream(f));
-				
-				int version = in.readInt();
-				if (version != CurrentVersion){
-					error = true;
-					String msg = NLS.bind(ValMessages.ErrDependencyVersion, CurrentVersion);
-					throw new IllegalStateException(msg);
-				}
-				int numDependsOn = in.readInt();
-				_dependsOn = new HashMap<IResource,Set<Depends>>(numDependsOn+100);
-				_dependents = new HashMap<IResource,Set<Depends>>(numDependsOn+100);
-				for (int i=0; i<numDependsOn; i++){
-					String v = in.readUTF();
-					IResource dependsOn = root.findMember(v);
-					if (dependsOn == null){
-						Tracing.log(NLS.bind(errorMessage, v));
-					}
-					int numDependents = in.readInt();
-					for (int j=0; j<numDependents; j++){
-						v = in.readUTF();
-						IResource dependent = root.findMember(v);
-						if (dependent == null){
-							Tracing.log(NLS.bind(errorMessage, v));
-						}
-						int numVal = in.readInt();
-						for (int k=0; k<numVal; k++){
-							String id = in.readUTF();
-							if (dependent != null && dependsOn != null)add(id, dependent, dependsOn);
-						}
-					}					
-				}				
-			}
-			catch (EOFException e){
-				Tracing.log("Unable to read the dependency index file because of EOF exception");  //$NON-NLS-1$
-			}
-			catch (IOException e){
-				error = true;
-				ValidationPlugin.getPlugin().handleException(e);
-			}
-			finally {
-				Misc.close(in);
-				if (error){
-					_dependsOn = new HashMap<IResource,Set<Depends>>(100);
-					_dependents = new HashMap<IResource,Set<Depends>>(100);
-					f.delete();
-				}
-			}			
-		}
-	}
-
-	public synchronized void clear(IProject project) {
-		init();
-		for (Map.Entry<IResource,Set<Depends>> me : _dependents.entrySet()){
-			IResource key = me.getKey();
-			if (key != null && key.getProject() == project){
-				for (Depends d : me.getValue()){
-					if (d.delete())_dirty = true;
-				}
-			}
-		}
-	}
-
-	public synchronized IResource[] get(String validatorId, IResource dependsOn) {
-		init();
-		List<IResource> list = new LinkedList<IResource>();
-		Set<Depends> set = getSet(_dependsOn, dependsOn);
-		for (Depends d : set){
-			for (String id : d.getValidators()){
-				if (validatorId.equals(id))list.add(d.getDependent());
-			}
-		}
-		
-		if (list.size() == 0)return EmptyResources;
-		IResource[] resources = new IResource[list.size()];
-		list.toArray(resources);
-		return resources;
-	}
-
-	
-	public synchronized List<DependentResource> get(IResource dependsOn) {
-		init();
-		List<DependentResource> list = new LinkedList<DependentResource>();
-		Set<Depends> set = getSet(_dependsOn, dependsOn);
-		ValManager vm = ValManager.getDefault();
-		for (Depends d : set){
-			for (String id : d.getValidators()){
-				Validator v = vm.getValidator(id, d.getDependent().getProject());
-				if (v != null)list.add(new DependentResource(d.getDependent(), v));
-			}
-		}
-		return list;
-	}
-
-
-	public synchronized void set(String id, IResource dependent, IResource[] dependsOn) {
-		init();
-		Set<Depends> set = getSet(_dependents, dependent);
-		for (Depends d : set){
-			if (d.delete(id))_dirty = true;
-		}
-		if (dependsOn != null){
-			for (IResource d : dependsOn)add(id, dependent, d);
-		}
-	}
-		
-	public synchronized boolean isDependedOn(IResource resource) {
-		init();
-		Set<Depends> set = _dependsOn.get(resource);
-		if (set == null || set.size() == 0)return false;
-		return true;
-	}
-
-	public void doneSaving(ISaveContext context) {	
-	}
-	
-	public void prepareToSave(ISaveContext context) throws CoreException {	
-	}
-	
-	public void rollback(ISaveContext context) {
-	}
-	
-	/**
-	 * Persist the dependency index. See the class comment for the structure.
-	 */
-	public synchronized void saving(ISaveContext context) throws CoreException {
-		if (!_dirty)return;
-		_dirty = false;
-		boolean error = false;
-		DataOutputStream out = null;
-		File f = null;
-		try {
-			f = getIndexLocation();
-			out = new DataOutputStream(new FileOutputStream(f));
-			out.writeInt(CurrentVersion);
-			Map<String, Set<DependsResolved>> map = compress(_dependsOn);
-			out.writeInt(map.size());
-			for (Map.Entry<String, Set<DependsResolved>> me : map.entrySet()){
-				out.writeUTF(me.getKey());
-				Set<DependsResolved> set = me.getValue();
-				out.writeInt(set.size());
-				for (DependsResolved d : set){
-					out.writeUTF(d.resource);
-					out.writeInt(d.validators.size());
-					for (String id : d.validators){
-						out.writeUTF(id);
-					}
-				}
-			}
-		}
-		catch (IOException e){
-			error = true;
-			ValidationPlugin.getPlugin().handleException(e);
-		}
-		finally {		
-			Misc.close(out);
-			if (error)f.delete();
-		}
-	}
-
-	private Map<String, Set<DependsResolved>> compress(Map<IResource, Set<Depends>> dependsOn) {
-		Map<String, Set<DependsResolved>> map = new HashMap<String, Set<DependsResolved>>(dependsOn.size());
-		for (Map.Entry<IResource, Set<Depends>> me : dependsOn.entrySet()){
-			Set<DependsResolved> set = new HashSet<DependsResolved>(me.getValue().size());
-			for (Depends d : me.getValue()){
-				IPath path = d.getDependent().getFullPath();
-				if (path != null){
-					DependsResolved dr = new DependsResolved(path.toPortableString(), d.getValidators());
-					if (dr.validators.size() > 0){
-						set.add(dr);
-					}
-				}				
-			}
-			if (set.size() > 0){
-				IResource res = me.getKey();
-				if (res != null){
-					IPath path = res.getFullPath();
-					if (path != null)map.put(path.toPortableString(), set);
-				}
-			}
-		}
-		return map;
-	}
-
-	private File getIndexLocation() {
-		IPath path = ValidationPlugin.getPlugin().getStateLocation().append("dep.index"); //$NON-NLS-1$
-		return path.toFile();
-	}
-
-	/**
-	 * Keep track of a relationship between a dependent and the thing that it
-	 * depends on.
-	 * 
-	 * @author karasiuk
-	 * 
-	 */
-	private final static class Depends {
-
-		/** The resource that is being depended on, for example a.xsd */
-		private final IResource _dependsOn;
-
-		/** The resource that is dependent, for example a.xml */
-		private final IResource _dependent;
-
-		/** The id's of the validators that have asserted the dependency. */
-		private final Set<String> _validators;
-
-		public Depends(IResource dependent, IResource dependsOn) {
-			_dependent = dependent;
-			_dependsOn = dependsOn;
-			_validators = new HashSet<String>(5);
-		}
-
-		/**
-		 * Answer true if the id was deleted.
-		 */
-		public boolean delete(String id) {
-			return _validators.remove(id);
-		}
-
-		/**
-		 * Delete all the dependency assertions for all of your validators.
-		 * @return false if there was nothing to delete
-		 */
-		public boolean delete() {
-			boolean deleted = _validators.size() > 0;
-			if (deleted)_validators.clear();
-			return deleted;
-		}
-
-		public IResource getDependsOn() {
-			return _dependsOn;
-		}
-
-		public IResource getDependent() {
-			return _dependent;
-		}
-
-		public Set<String> getValidators() {
-			return _validators;
-		}
-}
-
-	private final static class DependsResolved {
-		final String 		resource;
-		final Set<String> validators;
-		
-		DependsResolved(String resource, Set<String> validators){
-			this.resource = resource;
-			this.validators = validators;
-			
-		}
-	}
-
-
-}
diff --git a/plugins/org.eclipse.wst.validation/vf2/org/eclipse/wst/validation/internal/Deserializer.java b/plugins/org.eclipse.wst.validation/vf2/org/eclipse/wst/validation/internal/Deserializer.java
deleted file mode 100644
index b1af963..0000000
--- a/plugins/org.eclipse.wst.validation/vf2/org/eclipse/wst/validation/internal/Deserializer.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.validation.internal;
-
-/**
- * A simple deserializer that knows how to retrieve booleans, integers and strings, from a string
- * that was encoded by the Serializer class.
- * 
- *  @see Serializer
- * @author karasiuk
- *
- */
-public class Deserializer {
-	private char[] 	_buffer;
-	private int		_posn;
-	
-	public Deserializer(String value){
-		_buffer = value.toCharArray();
-	}
-	
-	public boolean getBoolean(){
-		boolean result = false;
-		if (_buffer[_posn] == 'T')result = true;
-		else if (_buffer[_posn] == 'F')result = false;
-		else throw new IllegalStateException(ValMessages.DecodeError1);
-		
-		_posn++;
-		return result;
-	}
-	
-	public String getString(){
-		int len = getInt();
-		String result = new String(_buffer, _posn, len);
-		_posn += len;
-		return result;		
-	}
-	
-	public int getInt(){
-		Integer len = new Integer(String.valueOf(_buffer[_posn]));
-		_posn++;
-		
-		String s = String.valueOf(_buffer, _posn, len+1);
-		_posn += len+1;
-		return Integer.parseInt(s);
-	}
-
-	/**
-	 * Are there any more items?
-	 * @return
-	 */
-	public boolean hasNext() {
-		if (_posn >= _buffer.length)return false;
-		return true;
-	}
-}
diff --git a/plugins/org.eclipse.wst.validation/vf2/org/eclipse/wst/validation/internal/DisabledResourceManager.java b/plugins/org.eclipse.wst.validation/vf2/org/eclipse/wst/validation/internal/DisabledResourceManager.java
deleted file mode 100644
index 120180f..0000000
--- a/plugins/org.eclipse.wst.validation/vf2/org/eclipse/wst/validation/internal/DisabledResourceManager.java
+++ /dev/null
@@ -1,158 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.validation.internal;
-
-import java.util.HashSet;
-import java.util.Set;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.wst.validation.internal.plugin.ValidationPlugin;
-import org.osgi.service.prefs.BackingStoreException;
-
-/**
- * Validators can assert that certain resources (usually folders) are not validated. This class keeps track of those
- * assertions.
- * @author karasiuk
- *
- */
-public class DisabledResourceManager implements IProjectChangeListener {
-	
-	public static DisabledResourceManager getDefault(){
-		return Singleton.disabledResourceManager;
-	}
-	
-	private Set<IResource> _disabled = new HashSet<IResource>(100);
-	private Set<IProject>	_loadedProjects = new HashSet<IProject>(40);
-	
-	private DisabledResourceManager(){
-		EventManager.getManager().addProjectChangeListener(this);
-	}
-	
-	public void disableValidation(IResource resource){
-		// We check for two reasons, 1) we may save some work, 2) we force the project to be loaded 
-		if (isDisabled(resource))return;
-		
-		Set<IResource> copy = new HashSet<IResource>(_disabled.size()+2);
-		copy.addAll(_disabled);
-		copy.add(resource);
-		save(copy, resource.getProject());
-		_disabled = copy;
-	}
-	
-	public void enableValidation(IResource resource){
-		// We check for two reasons, 1) we may save some work, 2) we force the project to be loaded 
-		if (!isDisabled(resource))return;
-		
-		Set<IResource> copy = new HashSet<IResource>(_disabled.size()+2);
-		copy.addAll(_disabled);
-		copy.remove(resource);
-		save(copy, resource.getProject());
-		_disabled = copy;		
-	}
-		
-	private void save(Set<IResource> disabled, IProject project) {
-		Serializer ser = new Serializer(200);
-		for (IResource resource : disabled){
-			if (project == resource.getProject()){
-				ser.put(resource.getProjectRelativePath().toPortableString());
-			}
-		}
-		PreferencesWrapper prefs = PreferencesWrapper.getPreferences(project, null);
-		prefs.put(PrefConstants.disabled, ser.toString());
-		try {
-			prefs.flush();
-		}
-		catch (BackingStoreException e){
-			ValidationPlugin.getPlugin().handleException(e);
-		}
-	}
-	
-	private void load(IProject project){
-		Set<IResource> copy = new HashSet<IResource>(_disabled.size()+10);
-		copy.addAll(_disabled);
-		PreferencesWrapper prefs = PreferencesWrapper.getPreferences(project, null);
-		String disabled = prefs.get(PrefConstants.disabled, ""); //$NON-NLS-1$
-		if (disabled.length() > 0){
-			Deserializer des = new Deserializer(disabled);
-			while(des.hasNext()){
-				String pathString = des.getString();
-				IPath path = Path.fromPortableString(pathString);
-				IResource resource = project.findMember(path);
-				copy.add(resource);
-			}
-		}
-		_disabled = copy;
-	}
-
-	public void dispose(){
-		EventManager.getManager().removeProjectChangeListener(this);
-	}
-	
-	/**
-	 * Answer true if this resource should not be validated.
-	 * 
-	 * @param resource the resource that is being tested.
-	 * @return true if the resource should not be validated.
-	 */
-	public boolean isDisabled(IResource resource){
-		IProject project = resource.getProject();
-		if (_loadedProjects.contains(project))return _disabled.contains(resource);
-		return isDisabled(resource, project); 		
-	}
-	
-	private synchronized boolean isDisabled(IResource resource, IProject project){
-		if (!_loadedProjects.contains(project)){
-			load(project);
-			_loadedProjects.add(project);
-		}
-		return _disabled.contains(resource);
-	}
-	
-	public void addDisabled(IResource resource){
-		_disabled.add(resource);
-	}
-
-	public void projectChanged(IProject project, int type) {
-		switch (type) {
-		case IProjectChangeListener.ProjectDeleted:
-		case IProjectChangeListener.ProjectClosed:
-			projectRemoved(project);
-			break;
-			
-		}
-		
-	}
-	
-	private synchronized void projectRemoved(IProject project) {
-		_loadedProjects.remove(project);
-		Set<IResource> copy = new HashSet<IResource>(100);
-		for (IResource resource : _disabled){
-			if (resource.getProject() != project)copy.add(resource);
-		}
-		_disabled = copy;
-	}
-	
-	/**
-	 * Store the singleton for the DisabledResourceManager. This approach is used to avoid having to synchronize the
-	 * DisabledResourceManager.getDefault() method.
-	 * 
-	 * @author karasiuk
-	 *
-	 */
-	private static class Singleton {
-		static DisabledResourceManager disabledResourceManager = new DisabledResourceManager();
-	}
-
-
-}
diff --git a/plugins/org.eclipse.wst.validation/vf2/org/eclipse/wst/validation/internal/DisabledValidatorManager.java b/plugins/org.eclipse.wst.validation/vf2/org/eclipse/wst/validation/internal/DisabledValidatorManager.java
deleted file mode 100644
index 8a141c5..0000000
--- a/plugins/org.eclipse.wst.validation/vf2/org/eclipse/wst/validation/internal/DisabledValidatorManager.java
+++ /dev/null
@@ -1,135 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.validation.internal;
-
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Map;
-import java.util.Set;
-import java.util.concurrent.atomic.AtomicInteger;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.wst.validation.Validator;
-import org.eclipse.wst.validation.internal.model.IValidatorVisitor;
-
-/**
- * Keep track of the disabled validators.
- * @author karasiuk
- *
- */
-public final class DisabledValidatorManager implements IValChangedListener {
-	
-	private static final AtomicInteger _counter = new AtomicInteger();
-	private static final int CacheSize = 5;
-	
-	private final Map<IResource, LRUSet> _map = Collections.synchronizedMap(new HashMap<IResource, LRUSet>(5));
-	
-	public static DisabledValidatorManager getDefault(){
-		return Singleton.disabledValidatorManager;
-	}
-	
-	private DisabledValidatorManager(){
-		ValPrefManagerProject.addListener(this);
-	}
-	
-	/*
-	 * Although this is currently not called, it should be if this ever stops being a singleton.
-	 */
-	public void dispose(){
-		ValPrefManagerProject.removeListener(this);
-	}
-
-	public Set<Validator> getDisabledValidatorsFor(IResource resource) {
-		LRUSet set = _map.get(resource);
-		if (set != null){
-			set.counter = _counter.getAndIncrement();
-			return set.validators;
-		}
-		
-		DisabledValidationFinder dvf = new DisabledValidationFinder();
-		Set<Validator> vset = dvf.findDisabledValidatorsFor(resource);
-		insert(resource, vset);
-		return vset;		
-	}
-	
-	private synchronized void insert(IResource resource, Set<Validator> vset) {
-		if (_map.size() >= CacheSize ){
-			IResource oldest = null;
-			int current = Integer.MAX_VALUE;
-			for (Map.Entry<IResource, LRUSet> me : _map.entrySet()){
-				if (me.getValue().counter < current){
-					oldest = me.getKey();
-					current = me.getValue().counter;
-				}
-			}
-			_map.remove(oldest);
-		}
-		LRUSet set = new LRUSet();
-		set.counter = _counter.getAndIncrement();
-		set.validators = vset;
-		_map.put(resource, set);		
-	}
-
-
-	private final static class LRUSet {
-		int counter;
-		Set<Validator> validators;
-	}
-	
-	private final static class DisabledValidationFinder implements IValidatorVisitor {
-		
-		private Map<String, Validator> _validators;
-
-		public void visit(Validator validator, IProject project, ValType valType, ValOperation operation,
-				IProgressMonitor monitor) {
-			
-			_validators.remove(validator.getId());
-			
-		}
-		
-		public Set<Validator> findDisabledValidatorsFor(IResource resource) {
-			ValManager vm = ValManager.getDefault();
-			Validator[] vals = vm.getValidatorsCopy();
-			_validators = new HashMap<String, Validator>(100);
-			for (Validator v : vals)_validators.put(v.getId(), v);
-						
-			IProject project = resource.getProject();
-			vm.accept(this, project, resource, ValType.Build, new ValOperation(), new NullProgressMonitor());
-			Set<Validator> set = new HashSet<Validator>(_validators.size());
-			set.addAll(_validators.values());
-			return set;
-		}
-		
-		
-	}
-
-	public void validatorsForProjectChanged(IProject project, boolean configSettingChanged) {
-		_map.clear();
-	}
-	
-	
-	/**
-	 * Store the singleton for the DisabledValidatorManager. This approach is used to avoid having to synchronize the
-	 * DisabledValidatorManager.getDefault() method.
-	 * 
-	 * @author karasiuk
-	 *
-	 */
-	private final static class Singleton {
-		final static DisabledValidatorManager disabledValidatorManager = new DisabledValidatorManager();
-	}
-
-
-}
diff --git a/plugins/org.eclipse.wst.validation/vf2/org/eclipse/wst/validation/internal/ExtensionConstants.java b/plugins/org.eclipse.wst.validation/vf2/org/eclipse/wst/validation/internal/ExtensionConstants.java
deleted file mode 100644
index c0b4bda..0000000
--- a/plugins/org.eclipse.wst.validation/vf2/org/eclipse/wst/validation/internal/ExtensionConstants.java
+++ /dev/null
@@ -1,194 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2010 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.validation.internal;
-
-/**
- * Constants used in the extension points.
- * @author karasiuk
- *
- */
-public interface ExtensionConstants {
-	
-	/** validatorV2 - extension point for registering validators that use version 2 of the validation framework. */
-	String validator = "validatorV2"; //$NON-NLS-1$
-	
-	/** exclude - extension point for adding extra exclusion filters to a validator. */ 
-	String excludeExtension = "exclude"; //$NON-NLS-1$
-	
-	/** build - is the validator enabled by default for build based validations? true or false */
-	String build = "build"; //$NON-NLS-1$
-	
-	/** class - name of the attribute that holds the validator class. */
-	String AttribClass = "class"; //$NON-NLS-1$
-	
-	/** manual - is the validator enabled by default for manual based validations? true or false */
-	String manual = "manual"; //$NON-NLS-1$
-	
-	/** 
-	 * markerId - the marker id that the framework should use when creating customized markers for this validator.
-	 * This is an optional attribute. If it is not supplied than the standard validation marker type will be used.
-	 */
-	String markerId = "markerId"; //$NON-NLS-1$
-	
-	/** 
-	 * sourceid - If this validator also serves as an as-you-type validator (also know as an ISourceValidator) 
-	 * then it's source id is specified here, so that the two validators can be associated with one 
-	 * another. By source id, we mean the id that is used in the org.eclipse.wst.sse.ui.sourceValidation 
-	 * extension point.
-	 */
-	String sourceId = "sourceid"; //$NON-NLS-1$
-	
-	/** 
-	 * version - the version of this definition. The attribute is a simple integer, and if not specified it
-	 * is assumed to be 1. This allows the filter settings to be changed in the future.
-	 */
-	String version = "version";  //$NON-NLS-1$
-	
-	/** 
-	 * include - a group of inclusion rules. At least one rule in this group needs to match in order for the resource
-	 * to to considered to be validated.
-	 */
-	String include = "include"; //$NON-NLS-1$
-	
-	/** exclude - a group of exclusion rules. If any of these rules match the resource is not validated. */
-	String exclude = "exclude"; //$NON-NLS-1$
-	
-	/** rules - a group of inclusion or exclusion rules. */
-	String rules = "rules"; //$NON-NLS-1$
-	
-	/** rules - extension point to declare a validator group */
-	String group = "validatorGroup"; //$NON-NLS-1$
-	
-	/** removeV2Validator - extension point to remove a V2 validator */
-	String removedValidatorExtension = "removeV2Validator"; //$NON-NLS-1$
-	
-
-	interface Group {
-		/*
-		 * The group sub-element for either the validatorGroup or validator
-		 * extension points.
-		 */
-		String elementGroup = "group"; //$NON-NLS-1$
-		// a validator group identifier
-		String attId = "id"; //$NON-NLS-1$
-		// the listener sub-element
-		String elementListener = "listener"; //$NON-NLS-1$
-		// the group listener class name
-		String attClass = "class"; //$NON-NLS-1$
-	}
-	
-	/** Different types of rules for filtering validation. */
-	interface Rule {
-		
-		/** projectNature - filter by project nature. */
-		String projectNature = "projectNature"; //$NON-NLS-1$
-		
-		/** fileext - filter by file extension. */
-		String fileext = "fileext"; //$NON-NLS-1$
-		
-		/** file - a file name, it can include path information as well. */
-		String file = "file"; //$NON-NLS-1$
-		
-		/** facet - filter by facet id. */
-		String facet = "facet"; //$NON-NLS-1$
-		
-		/** contentType - filter by content type. */
-		String contentType = "contentType"; //$NON-NLS-1$
-		
-		/** targetRuntime - filter by targetRuntime. */
-		String targetRuntime = "targetRuntime"; //$NON-NLS-1$
-		
-		/** pattern - filter paths by regular expression. */
-		String pattern = "pattern"; //$NON-NLS-1$
-	}
-	
-	/** Rule attributes */
-	interface RuleAttrib {
-		
-		/** caseSensitive - true or false. */
-		String caseSensitive = "caseSensitive"; //$NON-NLS-1$
-		
-		/** 
-		 * exactMatch - true or false, default is true. It is used to decide whether content types need to match
-		 * exactly, or whether sub types should also be considered.
-		 */
-		String exactMatch = "exactMatch"; //$NON-NLS-1$
-		
-		/** ext - a file extension, for example "html". */
-		String ext = "ext"; //$NON-NLS-1$
-		
-		/** id - an identifier. */
-		String id = "id"; //$NON-NLS-1$
-		
-		/** name - a file name. */
-		String name = "name"; //$NON-NLS-1$
-		
-		/** regex - a Java regular expression. */
-		String regex = "regex"; //$NON-NLS-1$
-		
-		/** 
-		 * type - the type of file to be matched:
-		 * <ul>
-		 * <li>folder - project relative folder name
-		 * <li>file - simple file name
-		 * <li>full - fully qualified, project relative file name
-		 * </ul>
-		 */
-		String fileType = "type"; //$NON-NLS-1$
-		
-		/** version - facet version expression. See the facet framework for the exact syntax of this expression. */
-		String version = "version"; //$NON-NLS-1$
-	}
-	
-	interface FileType {
-		/** folder - project relative folder name */
-		String folder = "folder"; //$NON-NLS-1$
-		
-		/** file - simple file name */
-		String file = "file"; //$NON-NLS-1$
-		
-		/** full - fully qualified, project relative file name */
-		String full = "full"; //$NON-NLS-1$
-	}
-	
-	interface MessageCategory {
-		/** messageCategory - name of the message category element. */
-		String name = "messageCategory"; //$NON-NLS-1$
-		
-		/** id - simple id of the message. */
-		String id = "id"; //$NON-NLS-1$
-		
-		/** label = human readable label of the message category. */
-		String label = "label"; //$NON-NLS-1$
-		
-		/** severity - message severity, it must be one of error, warning or ignore. */
-		String severity = "severity"; //$NON-NLS-1$
-		
-		String sevError = "error"; //$NON-NLS-1$
-		String sevWarning = "warning"; //$NON-NLS-1$
-		String sevIgnore = "ignore";  //$NON-NLS-1$
-	}
-	
-	interface Exclude {
-		/** id - fully qualified id of the validator that is being extended. */
-		String id = "id"; //$NON-NLS-1$
-	}
-	
-	interface RemovedValidator {
-		/** validatorId - the validator ID. The String represents the validator that will be removed */
-		String validatorIDAttr = "validatorId"; //$NON-NLS-1$
-	}
-	/** true */
-	String True = "true"; //$NON-NLS-1$
-	
-	/** false */
-	String False = "false"; //$NON-NLS-1$
-}
diff --git a/plugins/org.eclipse.wst.validation/vf2/org/eclipse/wst/validation/internal/ExtensionValidators.java b/plugins/org.eclipse.wst.validation/vf2/org/eclipse/wst/validation/internal/ExtensionValidators.java
deleted file mode 100644
index 090f4af..0000000
--- a/plugins/org.eclipse.wst.validation/vf2/org/eclipse/wst/validation/internal/ExtensionValidators.java
+++ /dev/null
@@ -1,110 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.validation.internal;
-
-import java.lang.reflect.InvocationTargetException;
-import java.util.HashMap;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.wst.validation.Validator;
-import org.eclipse.wst.validation.internal.plugin.ValidationPlugin;
-
-/**
- * The validators that have been defined by the validator extension points.
- * @author karasiuk
- *
- */
-public final class ExtensionValidators {
-	private static ExtensionValidators _me;
-	
-	/** All the registered validators. The key is the validator id and the value is the validator. */
-	private final Map<String, Validator> _map;
-	
-	public synchronized static ExtensionValidators instance(){
-		if (_me == null){
-			_me = new ExtensionValidators();
-		}
-		return _me;
-	}
-
-	private ExtensionValidators(){
-		_map = new HashMap<String, Validator>(100);
-		for (Validator v : ValidatorExtensionReader.getDefault().process()){
-			_map.put(v.getId(), v);
-		}		
-	}
-	
-	/**
-	 * Answer all the v2 validators that have been defined by the extension point. This is the real
-	 * map (not a copy).
-	 * 
-	 * @return The key is the validator id and the value is the validator.
-	 */
-	public Map<String, Validator> getMapV2() {
-		return _map;
-	}
-
-	/**
-	 * Answer all the v2 validators that have been defined by the extension point. This is a copy of
-	 * the map, but not a copy of the validators.
-	 * 
-	 * @return The key is the validator id and the value is the validator.
-	 */
-	public Map<String, Validator> getMapV2Copy() {
-		HashMap<String, Validator> map = new HashMap<String, Validator>(_map.size());
-		map.putAll(_map);
-		return map;
-	}
-	
-	
-	/**
-	 * Answer all the validators that have been defined by extension points. This includes all
-	 * the v2 validators, and all of the v1 validators that have been defined just on this project.
-	 * 
-	 * @return The key is the validator id and the value is the validator.
-	 */
-	public Map<String, Validator> getMap(IProject project) {
-		//TODO I may want to consider caching this, but then again if the v1 validators are going away
-		// it may not be worth it.
-		Map<String, Validator> map = new HashMap<String, Validator>();
-		map.putAll(_map);
-		
-		for (Validator v : getV1Validators(project))map.put(v.getId(), v);
-		
-		return map;
-	}
-	
-	/**
-	 * Answer the v1 validators that have been defined just on this project.
-	 * @param project
-	 * @return
-	 */
-	List<Validator> getV1Validators(IProject project){
-		List<Validator> list = new LinkedList<Validator>();
-		try {
-			ProjectConfiguration pc = new ProjectConfiguration(project);
-			pc.resetToDefault();
-			for (ValidatorMetaData vmd : pc.getValidators()){
-				Validator v = Validator.create(vmd, pc, project);
-				list.add(v);
-			}
-		}
-		catch (InvocationTargetException e){
-			ValidationPlugin.getPlugin().handleException(e);
-		}
-
-		return list;
-	}
-
-}
diff --git a/plugins/org.eclipse.wst.validation/vf2/org/eclipse/wst/validation/internal/FullBuildJob.java b/plugins/org.eclipse.wst.validation/vf2/org/eclipse/wst/validation/internal/FullBuildJob.java
deleted file mode 100644
index 332a2c7..0000000
--- a/plugins/org.eclipse.wst.validation/vf2/org/eclipse/wst/validation/internal/FullBuildJob.java
+++ /dev/null
@@ -1,29 +0,0 @@
-package org.eclipse.wst.validation.internal;
-
-import org.eclipse.core.resources.IncrementalProjectBuilder;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.resources.WorkspaceJob;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.wst.validation.internal.plugin.ValidationPlugin;
-
-public class FullBuildJob extends WorkspaceJob {
-	
-	public FullBuildJob(){
-		super(ValMessages.JobName);
-	}
-
-	@Override
-	public IStatus runInWorkspace(IProgressMonitor monitor) throws CoreException {
-		try {
-			ResourcesPlugin.getWorkspace().build(IncrementalProjectBuilder.FULL_BUILD, monitor);
-		}
-		catch (Exception e){
-			return new Status(IStatus.ERROR,ValidationPlugin.PLUGIN_ID, e.toString(), e);
-		}
-		return Status.OK_STATUS;
-	}
-
-}
diff --git a/plugins/org.eclipse.wst.validation/vf2/org/eclipse/wst/validation/internal/IProjectChangeListener.java b/plugins/org.eclipse.wst.validation/vf2/org/eclipse/wst/validation/internal/IProjectChangeListener.java
deleted file mode 100644
index 6788534..0000000
--- a/plugins/org.eclipse.wst.validation/vf2/org/eclipse/wst/validation/internal/IProjectChangeListener.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.validation.internal;
-
-import org.eclipse.core.resources.IProject;
-
-/**
- * A call back for listeners that are interested when a project changes.
- * @author karasiuk
- *
- */
-public interface IProjectChangeListener {
-	
-	int ProjectOpened = 1;
-	int ProjectClosed = 2;
-	int ProjectDeleted = 4;
-	
-	/** 8 - Something in the project description has changed. For example, a Nature was added. */
-	int ProjectChanged = 8;
-	
-	/** 16 - The project has been added. */
-	int ProjectAdded = 16;
-	
-	/**
-	 * The project has changed in some way.
-	 * 
-	 * @param project The project that has changed.
-	 * @param type The type of change. This will be one of the Project constants;
-	 */
-	void projectChanged(IProject project, int type);
-}
diff --git a/plugins/org.eclipse.wst.validation/vf2/org/eclipse/wst/validation/internal/IValChangedListener.java b/plugins/org.eclipse.wst.validation/vf2/org/eclipse/wst/validation/internal/IValChangedListener.java
deleted file mode 100644
index a2d26d8..0000000
--- a/plugins/org.eclipse.wst.validation/vf2/org/eclipse/wst/validation/internal/IValChangedListener.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.validation.internal;
-
-/**
- * A class that wants to be notified when the validator preferences change.
- * @author karasiuk
- *
- */
-public interface IValChangedListener {
-	
-	/**
-	 * The validators for the project have changed.
-	 *  
-	 * @param project the project can be null, which means that the global validation preferences have
-	 * changed.
-	 * 
-	 * @param configSettingChanged If true a setting that could effect what gets validated has changed.
-	 * If false, then only other types of settings (like whether to show a results dialog or not) have
-	 * changed. 
-	 */
-	public void validatorsForProjectChanged(org.eclipse.core.resources.IProject project, boolean configSettingChanged);
-}
diff --git a/plugins/org.eclipse.wst.validation/vf2/org/eclipse/wst/validation/internal/MarkerManager.java b/plugins/org.eclipse.wst.validation/vf2/org/eclipse/wst/validation/internal/MarkerManager.java
deleted file mode 100644
index ab36398..0000000
--- a/plugins/org.eclipse.wst.validation/vf2/org/eclipse/wst/validation/internal/MarkerManager.java
+++ /dev/null
@@ -1,209 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.validation.internal;
-
-import java.util.HashSet;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.wst.validation.Validator;
-import org.eclipse.wst.validation.ValidatorMessage;
-import org.eclipse.wst.validation.internal.plugin.ValidationPlugin;
-import org.eclipse.wst.validation.internal.provisional.core.IMessage;
-
-/**
- * A central place to manage all of the V2 validation markers.
- * @author karasiuk
- *
- */
-public class MarkerManager {
-	
-	private Set<String> _markers = new HashSet<String>(50);
-	
-	public static MarkerManager getDefault(){
-		return Singleton.markerManager;
-	}
-	
-	private MarkerManager(){
-		_markers.add(ValConstants.ProblemMarker);
-		_markers.add(ConfigurationConstants.VALIDATION_MARKER);
-	}
-	
-	/**
-	 * Clear any validation markers that may have been set by this validator.
-	 * 
-	 * @param resource
-	 *            The resource that may have it's markers cleared. It can be
-	 *            null, in which case the operation is a no-op.
-	 * @param validator
-	 *            The validator that created the marker.
-	 */
-	public void clearMarker(IResource resource, Validator validator) throws CoreException {
-		if (resource == null)return;
-		hook(resource);
-		
-		String id = validator.getMarkerId();
-		if (id != null){
-			try {
-				resource.deleteMarkers(id, true, IResource.DEPTH_ZERO);
-			}
-			catch (CoreException e){
-				// Nothing that we can do. This is not worth logging.
-			}
-			return;
-		}
-				
-		IMarker[] markers = resource.findMarkers(ValConstants.ProblemMarker, true, IResource.DEPTH_ZERO);
-		String valId = validator.getId();
-		for (IMarker marker : markers){
-			id = marker.getAttribute(ValidatorMessage.ValidationId, null);
-			if (valId.equals(id))marker.delete();
-		}
-	}
-	
-	@SuppressWarnings("unchecked")
-	public void createMarker(ValidatorMessage m, String id){
-		try {
-			IResource resource = m.getResource();
-			hook(resource);
-			IMarker marker = resource.createMarker(m.getType());
-			Map map = m.getAttributes();
-			if (map.get(ValidatorMessage.ValidationId) == null)
-				map.put(ValidatorMessage.ValidationId, id);
-			marker.setAttributes(map);
-		}
-		catch (CoreException e){
-			if (!m.getResource().exists())throw new ResourceUnavailableError(m.getResource());
-			ValidationPlugin.getPlugin().handleException(e);
-		}
-		
-	}
-	
-	/**
-	 * Delete all the markers on this resource that were created before the
-	 * operation start time.
-	 * 
-	 * @param resource
-	 *            The resource that is having it's markers deleted.
-	 * @param operationStartTime
-	 *            The time as returned by System.currentTimeMillis().
-	 * @param depth
-	 *            The depth of the markers to clear. It is one of the
-	 *            IResource.DEPTH_XXX constants.
-	 */
-	public void deleteMarkers(IResource resource, long operationStartTime, int depth){
-		try {
-			hook(resource);
-
-			if(!resource.exists())
-				return;
-
-			IMarker[] markers = resource.findMarkers(null, true, depth);
-			String markerType;
-			for (IMarker marker : markers){
-				try {
-					markerType = marker.getType();
-				}
-				catch (CoreException e)
-				{
-					//ignore the marker
-					return;
-				}
-				if (_markers.contains(markerType)){
-					long createTime = marker.getCreationTime();
-					if (createTime < operationStartTime){
-						try {
-							marker.delete();
-						}
-						catch (CoreException e){
-							// eat it - there is nothing we can do about this.
-						}
-					}
-				}
-			}
-		}
-		catch (CoreException e){
-			IProject project = resource.getProject();
-			if (!project.exists() || !project.isOpen())throw new ProjectUnavailableError(project);
-			if (!resource.exists())throw new ResourceUnavailableError(resource);
-			ValidationPlugin.getPlugin().handleException(e);
-		}		
-	}
-	
-	public void makeMarkers(List<IMessage> list){
-		for (IMessage message : list){
-			IResource res = null;
-			Object target = message.getTargetObject();
-			if (target != null && target instanceof IResource)res = (IResource)target;
-			if (res == null){
-				target = message.getAttribute(IMessage.TargetResource);
-				if (target != null && target instanceof IResource)res = (IResource)target;
-			}
-			if (res != null){
-				try {
-					hook(res);
-					String id = message.getMarkerId();
-					if (id == null)id = ConfigurationConstants.VALIDATION_MARKER;
-					IMarker marker = res.createMarker(id);
-					marker.setAttributes(message.getAttributes());
-					marker.setAttribute(IMarker.MESSAGE, message.getText());
-					int markerSeverity = IMarker.SEVERITY_INFO;
-					int sev = message.getSeverity();
-					if ((sev & IMessage.HIGH_SEVERITY) != 0)markerSeverity = IMarker.SEVERITY_ERROR;
-					else if ((sev & IMessage.NORMAL_SEVERITY) != 0)markerSeverity = IMarker.SEVERITY_WARNING;
-					marker.setAttribute(IMarker.SEVERITY, markerSeverity);
-					marker.setAttribute(IMarker.LINE_NUMBER, message.getLineNumber());
-				}
-				catch (CoreException e){
-					ValidationPlugin.getPlugin().handleException(e);
-				}				
-			}
-		}
-	}
-	
-	/**
-	 * A debugging method. A place to put break points, so that you can figure out what sort of marker
-	 * changes are happening.
-	 * 
-	 * @param resource
-	 */
-	public void hook(IResource resource){
-//		String name = "first.test2x";
-//		if (resource.getName().equals(name)){
-//			String markers = Misc.listMarkers(resource);
-//			Tracing.log("MarkerManager has hooked: ", name); //$NON-NLS-1$
-//			RuntimeException rt = new RuntimeException("hooking " + name);
-//			rt.printStackTrace();
-//		}
-	}
-
-	public Set<String> getMarkers() {
-		return _markers;
-	}
-	
-	/**
-	 * Store the singleton for the MarkerManager. This approach is used to avoid having to synchronize the
-	 * MarkerManager.getDefault() method.
-	 * 
-	 * @author karasiuk
-	 *
-	 */
-	private static class Singleton {
-		static MarkerManager markerManager = new MarkerManager();
-	}
-
-
-}
diff --git a/plugins/org.eclipse.wst.validation/vf2/org/eclipse/wst/validation/internal/Misc.java b/plugins/org.eclipse.wst.validation/vf2/org/eclipse/wst/validation/internal/Misc.java
deleted file mode 100644
index ceafc41..0000000
--- a/plugins/org.eclipse.wst.validation/vf2/org/eclipse/wst/validation/internal/Misc.java
+++ /dev/null
@@ -1,155 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.wst.validation.internal;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStream;
-import java.lang.management.ManagementFactory;
-import java.lang.management.ThreadMXBean;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IResourceChangeEvent;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.osgi.util.NLS;
-
-/**
- * Some miscellaneous helper methods. 
- * @author karasiuk
- *
- */
-public final class Misc {
-	
-	public static void close(InputStream in){
-		if (in == null)return;
-		try {
-			in.close();
-		}
-		catch (IOException e){
-			// eat it
-		}
-	}
-
-	public static void close(OutputStream out) {
-		if (out == null)return;
-		try {
-			out.close();
-		}
-		catch (IOException e){
-			// eat it
-		}		
-	}
-	
-	public static boolean debugOptionAsBoolean(String option){
-		String opt = Platform.getDebugOption(option);
-		if (opt == null)return false;
-		opt = opt.toLowerCase();
-		if ("true".equals(opt))return true; //$NON-NLS-1$
-		if ("yes".equals(opt))return true; //$NON-NLS-1$
-		return false;
-	}
-	
-	
-	/**
-	 * Answer a units appropriate string for the time.
-	 * @param time time in nano seconds
-	 */
-	public static String getTimeNano(long time){
-		if (time <= 1000)return NLS.bind(ValMessages.TimeNano, time);
-		if (time <= 1000000)return NLS.bind(ValMessages.TimeMicro, time/1000);
-		return getTimeMS(time/1000000);
-	}
-	
-	/**
-	 * Answer the CPU time consumed by this thread in nano seconds.
-	 * @return -1 if the time can not be determined.
-	 */
-	public static long getCPUTime(){
-		long cpuTime = -1;
-		ThreadMXBean tb = ManagementFactory.getThreadMXBean();
-		if (tb.isCurrentThreadCpuTimeSupported()){
-			cpuTime = tb.getCurrentThreadCpuTime();
-		}
-		return cpuTime;
-	}
-	
-	/**
-	 * Answer a units appropriate string for the time.
-	 * @param time time in milliseconds
-	 */
-	public static String getTimeMS(long time) {
-		if (time <= 1000)return ValMessages.TimeUnder;
-		if (time <= 60000)return NLS.bind(ValMessages.TimeSec, time/1000);
-		return NLS.bind(ValMessages.TimeMin, time/60000);
-	}
-
-	/**
-	 * Used in debugging so we can see what types of markers there are.
-	 * @param resource
-	 */
-	public static String listMarkers(IResource resource){
-		StringBuffer b = new StringBuffer(2000);
-		try {
-			IMarker[] markers = resource.findMarkers(null, true, IResource.DEPTH_ZERO);
-			for (IMarker m : markers){
-				Object o = m.getAttribute(IMarker.MESSAGE);
-				if (o != null){
-					b.append(o);
-				}
-				o = m.getAttribute(IMarker.SEVERITY);
-				if (o != null){
-					b.append(", Severity="); //$NON-NLS-1$
-					b.append(o);
-				}
-				b.append("; "); //$NON-NLS-1$
-			}
-		}
-		catch (CoreException e){
-			
-		}
-		return b.toString();
-	}
-	
-	/**
-	 * Answer true if they are the same. If they are both null then they are the same. 
-	 * @param s1 the string to compare. It can be null.
-	 * @param s2 the string to compare. It can be null.
-	 */
-	public static boolean same(String s1, String s2){
-		if (s1 == null && s2 == null)return true;
-		if (s1 == null)return false;
-		return s1.equals(s2);
-	}
-	
-	public static void niy(String msg){
-		if (msg == null)msg = "Sorry, this function is not implemented yet"; //$NON-NLS-1$
-		throw new RuntimeException(msg);
-	}
-	
-	/**
-	 * Answer the type as a human readable string. This is only used for debugging.
-	 * @param type
-	 * @return
-	 */
-	public static String resourceChangeEventType(int type){
-		StringBuffer b = new StringBuffer(200);
-		if ((type & IResourceChangeEvent.POST_BUILD) != 0)b.append("post_build "); //$NON-NLS-1$
-		if ((type & IResourceChangeEvent.POST_CHANGE) != 0)b.append("post_change "); //$NON-NLS-1$
-		if ((type & IResourceChangeEvent.PRE_BUILD) != 0)b.append("pre_build "); //$NON-NLS-1$
-		if ((type & IResourceChangeEvent.PRE_CLOSE) != 0)b.append("pre_close "); //$NON-NLS-1$
-		if ((type & IResourceChangeEvent.PRE_DELETE) != 0)b.append("pre_delete "); //$NON-NLS-1$
-		return b.toString();
-	}
-	
-}
diff --git a/plugins/org.eclipse.wst.validation/vf2/org/eclipse/wst/validation/internal/NullValidator.java b/plugins/org.eclipse.wst.validation/vf2/org/eclipse/wst/validation/internal/NullValidator.java
deleted file mode 100644
index 9f057aa..0000000
--- a/plugins/org.eclipse.wst.validation/vf2/org/eclipse/wst/validation/internal/NullValidator.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.wst.validation.internal;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.wst.validation.AbstractValidator;
-import org.eclipse.wst.validation.ValidationResult;
-import org.eclipse.wst.validation.ValidationState;
-
-/**
- * A null validator that is used in error cases. It simply no-ops.
- * @author karasiuk
- *
- */
-public class NullValidator extends AbstractValidator {
-
-	@Override
-	public ValidationResult validate(IResource resource, int kind, ValidationState state, IProgressMonitor monitor) {
-		return null;
-	}
-
-}
diff --git a/plugins/org.eclipse.wst.validation/vf2/org/eclipse/wst/validation/internal/PerformanceMonitor.java b/plugins/org.eclipse.wst.validation/vf2/org/eclipse/wst/validation/internal/PerformanceMonitor.java
deleted file mode 100644
index f00e93d..0000000
--- a/plugins/org.eclipse.wst.validation/vf2/org/eclipse/wst/validation/internal/PerformanceMonitor.java
+++ /dev/null
@@ -1,192 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.validation.internal;
-
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.io.PrintWriter;
-import java.text.DateFormat;
-import java.text.SimpleDateFormat;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.wst.validation.IPerformanceMonitor;
-import org.eclipse.wst.validation.PerformanceCounters;
-import org.eclipse.wst.validation.internal.plugin.ValidationPlugin;
-
-public class PerformanceMonitor implements IPerformanceMonitor {
-	
-	private CollectionLevel _level = CollectionLevel.None;
-	private boolean			_summaryOnly;
-	
-	/**
-	 * Create a performance monitor.
-	 * 
-	 * @param traceTimes
-	 *            Should the monitor be turned on?
-	 * @param file
-	 *            Should the events be logged to a file. If this is null or the
-	 *            empty string the events will be written to stderr. Otherwise
-	 *            the events are appended to a file with this name.
-	 * 
-	 * @param logInSeconds
-	 *            Set this to true if you want the times that are logged in the
-	 *            trace file normalized to seconds. Otherwise the default units are used,
-	 *            milliseconds for elapsed time and nanoseconds for cpu time.
-	 */
-	public static PerformanceMonitor create(boolean traceTimes, String file, boolean logInSeconds){
-		PerformanceMonitor pm = null;
-		if (file == null || file.length() == 0)pm = new PerformanceMonitor();
-		else pm = new ToFile(file, logInSeconds);
-		
-		if (traceTimes)pm.setCollectionLevel(CollectionLevel.Default);
-		
-		return pm;
-	}
-	
-	private PerformanceMonitor(){};
-	
-	public CollectionLevel getCollectionLevel() {
-		return _level;
-	}
-
-	public void setCollectionLevel(CollectionLevel level) {
-		_level = level;
-	}
-
-	public List<PerformanceCounters> getPerformanceCounters(boolean asSummary) {
-		return new LinkedList<PerformanceCounters>();
-	}
-
-
-	public void resetPerformanceCounters() {
-	}
-
-	public boolean isCollecting() {
-		return _level != CollectionLevel.None;
-	}
-	
-	public boolean isSummaryOnly() {
-		return _summaryOnly;
-	}
-	
-	public void add(PerformanceCounters counters){
-		Tracing.write(counters.toString());
-	}
-	
-	public static class Counters{
-		String	name;
-		int 	numberInvocations;
-		
-		/** Elapsed time in milliseconds. */
-		long	elapsedTime;
-		
-		/** CPU time in nanoseconds, or -1 if unknown. */
-		long	cpuTime;		
-	}
-	
-	public static class ToFile extends PerformanceMonitor {
-		
-		private String 		_fileName;
-		private boolean		_logInSeconds;
-		
-		private PrintWriter _pw;
-		private static final String Comma=","; //$NON-NLS-1$
-		private static DateFormat 	_df = new SimpleDateFormat("HH:mm:ss.SSSS"); //$NON-NLS-1$
-		
-		private ToFile(String fileName, boolean logInSeconds){
-			_fileName = fileName;
-			_logInSeconds = logInSeconds;
-		}
-		
-		@Override
-		public synchronized void add(PerformanceCounters pc) {
-			try {
-				PrintWriter pw = getWriter();
-				pw.print(_df.format(pc.getWhen()) + Comma + 
-					pc.getValidatorId() + Comma + pc.getNumberInvocations() + Comma);
-				if (_logInSeconds){
-					double sec = ((double)pc.getElapsedTime()) / 1000.0;
-					pw.print(sec);
-					pw.print(Comma);
-					sec = ((double)pc.getCpuTime()) / 1000000000.0;
-					pw.print(sec);
-				}
-				else {
-					pw.print(pc.getElapsedTime()+Comma+pc.getCpuTime());
-				}
-				pw.println(Comma + pc.getResourceName());
-				pw.flush();
-			}
-			catch (IOException e){
-				ValidationPlugin.getPlugin().handleException(e);
-			}
-		}
-		
-		private PrintWriter getWriter() throws IOException {
-			if (_pw == null){
-				_pw = new PrintWriter(new FileOutputStream(_fileName, true));
-				DateFormat df = DateFormat.getDateTimeInstance();
-				_pw.println("# " + NLS.bind(ValMessages.LogSession,  //$NON-NLS-1$
-					df.format(new Date(System.currentTimeMillis()))));
-				if (_logInSeconds)
-					_pw.println("# when, id, invocation count, elapsed time (seconds), cpu time (seconds), resource"); //$NON-NLS-1$
-				else 
-					_pw.println("# when, id, invocation count, elapsed time (ms), cpu time (ns), resource"); //$NON-NLS-1$
-			}
-			return _pw;
-			
-		}
-	}
-	
-	public static class Collecting extends PerformanceMonitor {
-		private List<PerformanceCounters>	_counters = new LinkedList<PerformanceCounters>();
-		
-		public void add(PerformanceCounters counters){
-			_counters.add(counters);
-		}
-		
-		public List<PerformanceCounters> getPerformanceCounters(boolean asSummary) {
-			if (asSummary){
-				Map<String, Counters> map = new HashMap<String, Counters>(40);
-				for (PerformanceCounters pc : _counters){
-					Counters c = map.get(pc.getValidatorId());
-					if (c == null){
-						c = new Counters();
-						c.name = pc.getValidatorName();
-						map.put(pc.getValidatorId(), c);
-					}
-					c.numberInvocations += pc.getNumberInvocations();
-					c.elapsedTime += pc.getElapsedTime();
-					if (pc.getCpuTime() != -1)c.cpuTime += pc.getCpuTime();
-					else c.cpuTime = -1;
-				}
-				List<PerformanceCounters> list = new LinkedList<PerformanceCounters>();
-				for (Map.Entry<String, Counters> me : map.entrySet()){
-					Counters c = me.getValue();
-					list.add(new PerformanceCounters(me.getKey(), c.name, null, c.numberInvocations, c.elapsedTime, c.cpuTime));
-				}
-				return list;
-			}
-			return _counters;
-		}
-		
-		public void resetPerformanceCounters() {
-			_counters.clear();
-		}
-
-	}
-
-}
diff --git a/plugins/org.eclipse.wst.validation/vf2/org/eclipse/wst/validation/internal/PrefConstants.java b/plugins/org.eclipse.wst.validation/vf2/org/eclipse/wst/validation/internal/PrefConstants.java
deleted file mode 100644
index 3bac075..0000000
--- a/plugins/org.eclipse.wst.validation/vf2/org/eclipse/wst/validation/internal/PrefConstants.java
+++ /dev/null
@@ -1,116 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.validation.internal;
-
-/**
- * The constants that are used in the preference store so save the validator configurations. 
- * <p>
- * The entries in the preference hierarchy are organized something like this:
- * <pre>
- * /instance/frame-work-id/saveAuto=true|false
- * /instance/frame-work-id/suspend=true|false
- * /instance/frame-work-id/vf.version=2
- * /instance/frame-work-id/filters/val-id/build=true|false
- * /instance/frame-work-id/filters/val-id/manual=true|false
- * /instance/frame-work-id/filters/val-id/version=someNumber
- * /instance/frame-work-id/filters/val-id/groups/0/type=include|exclude
- * /instance/frame-work-id/filters/val-id/groups/0/rules/0/type=file|fileext|projectNature|...
- * /instance/frame-work-id/filters/val-id/groups/0/rules/0/pattern=...
- * /instance/frame-work-id/filters/val-id/groups/0/rules/1/type=file|fileext|projectNature|...
- * /instance/frame-work-id/filters/val-id/groups/0/rules/1/pattern=...
- * </pre>
- * <p>
- * New approach
- * <pre>
- * vals/val-id/global=TF[version][len]delegate-id
- * vals/val-id/groups=[groups]
- * </pre>
- * 
- * 
- * @author karasiuk
- *
- */
-public interface PrefConstants {
-	
-	/** filters - node where all the filters are saved. */
-	String filters = "filters"; //$NON-NLS-1$
-	
-	/** build - is the validator enabled for builds? */
-	String build = "build"; //$NON-NLS-1$
-	
-	/** delegate - the delegating implementation to use */
-	String delegate = "delegate"; //$NON-NLS-1$
-	
-	/** disabled - the list of disabled resources in the project. */
-	String disabled = "disabled"; //$NON-NLS-1$
-	
-	/** exactMatch - must the content type match exactly? */
-	String exactMatch = "exactMatch"; //$NON-NLS-1$
-	
-	/** manual - is the validator enabled for manual validation? */
-	String manual = "manual"; //$NON-NLS-1$
-	
-	/** msgs - node where all the message severity mappings are stored. */
-	String msgs = "msgs"; //$NON-NLS-1$
-	
-	/** 
-	 * version - version of the filter definition. This is something that a client can use to keep track
-	 * of changes that they might make to their validation extension.
-	 */
-	String version = "version"; //$NON-NLS-1$
-	
-	/** vf.version - version of the validation framework. */
-	String frameworkVersion = "vf.version"; //$NON-NLS-1$
-	
-	/** groups - filter group. */
-	String groups = "groups"; //$NON-NLS-1$
-	
-	/** type - type of group, either include or exclude. */
-	String type = "type"; //$NON-NLS-1$
-	
-	/** type - the type of rule. */
-	String ruleType = "type"; //$NON-NLS-1$
-	
-	/** rules - a filter rule. */
-	String rules = "rules"; //$NON-NLS-1$
-	
-	/** pattern - the pattern part of the rule. */
-	String pattern = "pattern"; //$NON-NLS-1$
-	
-	/** saveAuto - can we save all the resources automatically? true/false */
-	String saveAuto = "saveAuto"; //$NON-NLS-1$
-	
-	/** stateTS - plug-in state time stamp */
-	String stateTS = "stateTS"; //$NON-NLS-1$
-	
-	/** suspend - suspend all validation? true/false */
-	String suspend = "suspend"; //$NON-NLS-1$
-	
-	/** case - is this case sensitive? */
-	String caseSensitive = "case"; //$NON-NLS-1$
-	
-	/** fileType - the type of file, see FilterRule.File */
-	String fileType = "fileType"; //$NON-NLS-1$
-	
-	/** confirmDialog - should we show a confirmation dialog when doing a manual validation? */
-	String confirmDialog = "confirmDialog"; //$NON-NLS-1$
-	
-	/** override - should we show projects to override the global preferences? */
-	String override = "override"; //$NON-NLS-1$
-	
-	/** vals - the validators are grouped under this node. */
-	String vals = "vals"; //$NON-NLS-1$
-	
-	/** global - some global validation settings. */
-	String global = "global"; //$NON-NLS-1$
-	
-	
-}
diff --git a/plugins/org.eclipse.wst.validation/vf2/org/eclipse/wst/validation/internal/PreferencesWrapper.java b/plugins/org.eclipse.wst.validation/vf2/org/eclipse/wst/validation/internal/PreferencesWrapper.java
deleted file mode 100644
index 0f3a5e7..0000000
--- a/plugins/org.eclipse.wst.validation/vf2/org/eclipse/wst/validation/internal/PreferencesWrapper.java
+++ /dev/null
@@ -1,431 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.validation.internal;
-
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.Map;
-import java.util.Set;
-import java.util.concurrent.atomic.AtomicReference;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.wst.validation.ValidationFramework;
-import org.eclipse.wst.validation.internal.plugin.ValidationPlugin;
-import org.osgi.service.prefs.BackingStoreException;
-import org.osgi.service.prefs.Preferences;
-
-/**
- * The subset of the IEclipsePreferences interface that the framework needs to
- * be able to persist preferences.
- * @author karasiuk
- *
- */
-public abstract class PreferencesWrapper {
-	
-	private static final WrapperManger _manager = new WrapperManger();
-	
-	/**
-	 * Answer the preferences for the project. If project is null answer the global preferences.
-	 * @param project
-	 * @param persistent if null the default preferences are returned, if True the persisted 
-	 * preferences are return and if False the transient preferences are returned.
-	 * @return
-	 */
-	public static PreferencesWrapper getPreferences(IProject project, Boolean persistent){
-		return _manager.get(project, persistent);
-	}
-		
-	/**
-	 * These are the names of the node entries.
-	 * @return
-	 * @throws BackingStoreException
-	 */
-	public abstract String[] childrenNames() throws BackingStoreException;
-	
-	public void flush() throws BackingStoreException {
-	}
-	
-	public abstract boolean getBoolean(String key, boolean def);
-	
-	public abstract String get(String key, String def);
-	
-	public abstract int getInt(String key, int def);
-	
-	public abstract long getLong(String key, long def);
-
-	public abstract String[] keys() throws BackingStoreException;
-
-	public boolean isPersistent(){
-		return false;
-	}
-
-	public boolean isTransient(){
-		return false;
-	}
-	
-	public abstract void put(String key, String value);
-	
-	public abstract void putBoolean(String key, boolean value);
-	
-	public abstract void putLong(String key, long value);
-	
-	public abstract void putInt(String key, int value);
-	
-	/**
-	 * Unlike the more sophisticated org.osgi.service.prefs.Preferences support, 
-	 * this is currently limited to simple node names.
-	 */
-	public abstract PreferencesWrapper node(String nodeName);
-	
-	public abstract boolean nodeExists();
-	
-	public abstract boolean nodeExists(String pathName)  throws BackingStoreException;
-	
-	public abstract void removeNode()  throws BackingStoreException;
-
-
-public final static class PreferencesWrapperPersistent extends PreferencesWrapper {
-	
-	private final Preferences _preferences;
-	
-	public PreferencesWrapperPersistent(Preferences preferences){
-		_preferences = preferences;
-	}
-	
-	@Override
-	public String[] childrenNames() throws BackingStoreException {
-		return _preferences.childrenNames();
-	}
-	
-	public void flush() throws BackingStoreException {
-		_preferences.flush();
-	}
-	
-	@Override
-	public String get(String key, String def) {
-		return _preferences.get(key, def);
-	}
-	
-	@Override
-	public boolean getBoolean(String key, boolean def) {
-		return _preferences.getBoolean(key, def);
-	}
-	
-	@Override
-	public int getInt(String key, int def) {
-		return _preferences.getInt(key, def);
-	}
-	
-	@Override
-	public long getLong(String key, long def) {
-		return _preferences.getLong(key, def);
-	}
-	
-	@Override
-	public String[] keys() throws BackingStoreException {
-		return _preferences.keys();
-	}
-	
-	@Override
-	public boolean isPersistent() {
-		return true;
-	}
-	
-	@Override
-	public void put(String key, String value) {
-		_preferences.put(key, value);
-	}
-	
-	@Override
-	public PreferencesWrapper node(String path) {
-		Preferences prefs = _preferences.node(path);
-		return new PreferencesWrapperPersistent(prefs);
-	}
-	
-	@Override
-	public boolean nodeExists() {
-		try {
-			return nodeExists(""); //$NON-NLS-1$
-		}
-		catch (BackingStoreException e){
-		
-		}
-		return false;
-	}
-	
-	@Override
-	public boolean nodeExists(String pathName) throws BackingStoreException  {
-		return _preferences.nodeExists(pathName);
-	}
-	
-	public void putBoolean(String key, boolean value) {
-		_preferences.putBoolean(key, value);	
-	}
-	
-	public void putLong(String key, long value){
-		_preferences.putLong(key, value);
-	}
-	
-	@Override
-	public void putInt(String key, int value) {
-		_preferences.putInt(key, value);
-	}
-	
-	@Override
-	public void removeNode() throws BackingStoreException {
-		_preferences.removeNode();
-	}
-}
-
-public final static class PreferencesWrapperTransient extends PreferencesWrapper {
-	
-	private final PreferencesWrapperTransient _parent;
-	private final Map<String, String> _children = Collections.synchronizedMap(new HashMap<String, String>(10));
-	private final Map<String, PreferencesWrapperTransient> _nodes = Collections.synchronizedMap(new HashMap<String, PreferencesWrapperTransient>(10));
-	
-	public PreferencesWrapperTransient(PreferencesWrapperTransient parent){
-		_parent = parent;
-	}
-	
-	public PreferencesWrapperTransient(PreferencesWrapper pw, PreferencesWrapperTransient parent) {
-		_parent = parent;
-		try {
-			for (String key : pw.keys()){
-				put(key, pw.get(key, null));
-			}
-			
-			
-			for (String nodeName : pw.childrenNames()){
-				PreferencesWrapper p = pw.node(nodeName);
-				PreferencesWrapperTransient pwt = new PreferencesWrapperTransient(p, this);
-				_nodes.put(nodeName, pwt);
-			}
-		}
-		catch (BackingStoreException e){
-			
-		}
-	}
-
-	@Override
-	public String[] childrenNames() throws BackingStoreException {
-		Set<String> keys = _nodes.keySet();
-		String names[] = new String[keys.size()];
-		keys.toArray(names);
-		return names;
-	}
-	
-	@Override
-	public String get(String key, String def) {
-		String value = _children.get(key);
-		if (value != null)return value;
-		return def;
-	}
-	
-	@Override
-	public boolean getBoolean(String key, boolean def) {
-		String value = _children.get(key);
-		if (value == null)return def;
-		value = value.toLowerCase();
-		if ("true".equals(value))return true; //$NON-NLS-1$
-		if ("false".equals(value))return false; //$NON-NLS-1$
-		return def;
-	}
-	
-	@Override
-	public int getInt(String key, int def) {
-		String value = _children.get(key);
-		if (value == null)return def;
-		try {
-			return Integer.parseInt(value);
-		}
-		catch (NumberFormatException e){
-		}
-		return def;
-	}
-	
-	@Override
-	public long getLong(String key, long def) {
-		String value = _children.get(key);
-		if (value == null)return def;
-		try {
-			return Long.parseLong(value);
-		}
-		catch (NumberFormatException e){
-		}
-		return def;
-	}
-	
-	@Override
-	public boolean isTransient() {
-		return true;
-	}
-	
-	@Override
-	public synchronized String[] keys() throws BackingStoreException {
-		String[] keys = new String[_children.size()];
-		_children.keySet().toArray(keys);
-		return keys;
-	}
-	
-	@Override
-	public synchronized PreferencesWrapper node(String name) {
-		PreferencesWrapperTransient pw  = _nodes.get(name);
-		if (pw != null)return pw;
-		pw = new PreferencesWrapperTransient(this);
-		_nodes.put(name, pw);
-		return pw;
-	}
-	
-	@Override
-	public boolean nodeExists() {
-		return true;
-	}
-	
-	@Override
-	public boolean nodeExists(String key) throws BackingStoreException {
-		PreferencesWrapperTransient pw = _nodes.get(key);
-		if (pw != null)return true;
-		return false;
-	}
-	
-	@Override
-	public void put(String key, String value) {
-		_children.put(key, value);
-	}
-	
-	@Override
-	public void putBoolean(String key, boolean bool) {
-		String value = bool ? "true" : "false";  //$NON-NLS-1$//$NON-NLS-2$
-		_children.put(key, value);
-	}
-	
-	@Override
-	public void putInt(String key, int value) {
-		_children.put(key, String.valueOf(value));
-	}
-	
-	@Override
-	public void putLong(String key, long value) {
-		_children.put(key, String.valueOf(value));
-	}
-	
-	@Override
-	public void removeNode() throws BackingStoreException {
-		if (_parent == null)return;
-		_parent.removeNode(this);
-	}
-	
-	private synchronized void removeNode(PreferencesWrapperTransient node){
-		String key = null;
-		for (Map.Entry<String, PreferencesWrapperTransient> me : _nodes.entrySet()){
-			if (me.getValue().equals(node)){
-				key = me.getKey();
-				break;
-			}
-		}
-		if (key != null)_nodes.remove(key);
-	}
-}
-
-private final static class WrapperManger implements IProjectChangeListener {
-	
-	private final Map<IProject, PreferencesWrapper> _map = new HashMap<IProject, PreferencesWrapper>(20); 
-	private final AtomicReference<PreferencesWrapper> _global = new AtomicReference<PreferencesWrapper>();
-	
-	private WrapperManger(){
-		EventManager.getManager().addProjectChangeListener(this);
-	}
-	
-	/**
-	 * Currently this object never goes away, but if that was ever to change then we would need to dispose it.
-	 */
-	@Override
-	protected void finalize() throws Throwable {
-		dispose();
-	}
-	
-	public void dispose(){
-		EventManager.getManager().removeProjectChangeListener(this);
-	}
-
-	public PreferencesWrapper get(IProject project, Boolean persistent) {
-		if (project == null)return globalPreferences(persistent);
-		PreferencesWrapper pw = null;
-		synchronized(_map){
-			pw = _map.get(project);
-		}
-		
-		if (pw != null && (persistent == null || persistent == pw.isPersistent()))return pw;
-		
-		if (pw == null)pw = new PreferencesWrapperPersistent(ValidationPlugin.getPreferences(project));
-		if (persistent != null && persistent && pw.isTransient())pw = new PreferencesWrapperPersistent(ValidationPlugin.getPreferences(project));
-		if (persistent != null && !persistent && pw.isPersistent())pw = new PreferencesWrapperTransient(pw, null);
-		
-		synchronized(_map){
-			_map.put(project, pw);
-		}
-		
-		return pw;
-	}
-
-	/**
-		 * Answer the appropriate global preferences.
-		 * 
-		 * @param persistent
-		 *            If null then answer the current saved global preferences,
-		 *            creating a new persistent one if there is none. If True,
-		 *            then ensure that the preferences are persistent. If False,
-		 *            ensure that the preferences are transient.
-		 * @return
-		 */
-	private PreferencesWrapper globalPreferences(Boolean persistent) {
-		PreferencesWrapper pw = _global.get();
-		
-		while(pw == null){
-			PreferencesWrapper newPW = createGlobal(persistent);
-			if (_global.compareAndSet(null, newPW))pw = newPW;
-			else pw = _global.get();
-		}
-		
-		while (persistent != null && !persistent && !pw.isTransient()){
-			PreferencesWrapper newPW = new PreferencesWrapperTransient(pw, null);
-			if (_global.compareAndSet(pw, newPW))pw = newPW;
-			else pw = _global.get();
-		}
-		
-		while (persistent != null && persistent && !pw.isPersistent()){
-			PreferencesWrapper newPW = new PreferencesWrapperPersistent(ValidationFramework.getDefault().getPreferenceStore());
-			if (_global.compareAndSet(pw, newPW))pw = newPW;
-			else pw = _global.get();			
-		}
-		return pw;
-	}
-	
-	private PreferencesWrapper createGlobal(Boolean persistent){
-		PreferencesWrapper pw = new PreferencesWrapperPersistent(ValidationFramework.getDefault().getPreferenceStore());
-		if (persistent == null || persistent)return pw;
-		return new PreferencesWrapperTransient(pw, null);
-	}
-
-	public void projectChanged(IProject project, int type) {
-		int interested = IProjectChangeListener.ProjectClosed | IProjectChangeListener.ProjectDeleted;
-		if ((type & interested) != 0){
-			synchronized (_map) {
-				_map.remove(project);
-			}
-		}
-		
-	}
-	
-}
-
-
-}
diff --git a/plugins/org.eclipse.wst.validation/vf2/org/eclipse/wst/validation/internal/ProjectUnavailableError.java b/plugins/org.eclipse.wst.validation/vf2/org/eclipse/wst/validation/internal/ProjectUnavailableError.java
deleted file mode 100644
index 03e2b65..0000000
--- a/plugins/org.eclipse.wst.validation/vf2/org/eclipse/wst/validation/internal/ProjectUnavailableError.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.validation.internal;
-
-import org.eclipse.core.resources.IProject;
-
-/**
- * This internal error is used to signal that a project is now unavailable.
- * <p>
- * We could be in the middle of validating a large project, and the project could be closed. 
- * This error is used to "exit" the validation framework.
- * <p>
- * This is an error rather than a runtime exception, because some parts of Eclipse like to
- * trap RuntimeExceptions and log them.
- * @author karasiuk
- *
- */
-public class ProjectUnavailableError extends Error {
-	
-	private IProject _project;
-
-	private static final long serialVersionUID = 200801281118L;
-	
-	public ProjectUnavailableError(IProject project){
-		super();
-		_project = project;
-	}
-
-	public IProject getProject() {
-		return _project;
-	}
-
-}
diff --git a/plugins/org.eclipse.wst.validation/vf2/org/eclipse/wst/validation/internal/ResourceUnavailableError.java b/plugins/org.eclipse.wst.validation/vf2/org/eclipse/wst/validation/internal/ResourceUnavailableError.java
deleted file mode 100644
index 9543670..0000000
--- a/plugins/org.eclipse.wst.validation/vf2/org/eclipse/wst/validation/internal/ResourceUnavailableError.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.validation.internal;
-
-import org.eclipse.core.resources.IResource;
-
-/**
- * This internal error is used to signal that a resource is now unavailable.
- * <p>
- * This error is used to "exit" the validation framework. 
- * <p>
- * This is an error rather than a runtime exception, because some parts of Eclipse like to
- * trap RuntimeExceptions and log them.
- * @author karasiuk
- *
- */
-public class ResourceUnavailableError extends Error {
-
-	private static final long serialVersionUID = 200801290853L;
-	
-	private IResource _resource;
-	
-	public ResourceUnavailableError(IResource resource){
-		super();
-		_resource = resource;
-	}
-
-	public IResource getResource() {
-		return _resource;
-	}
-
-}
diff --git a/plugins/org.eclipse.wst.validation/vf2/org/eclipse/wst/validation/internal/Serializer.java b/plugins/org.eclipse.wst.validation/vf2/org/eclipse/wst/validation/internal/Serializer.java
deleted file mode 100644
index 22da768..0000000
--- a/plugins/org.eclipse.wst.validation/vf2/org/eclipse/wst/validation/internal/Serializer.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.validation.internal;
-
-/**
- * A simple encoder that knows how to convert booleans, integers and strings, into a single string.
- * 
- * @see Deserializer
- * @author karasiuk
- *
- */
-public class Serializer {
-	private StringBuffer _buffer;
-	
-	public Serializer(int size){
-		_buffer = new StringBuffer(size);
-	}
-	
-	public void put(boolean bool){
-		_buffer.append(bool ? 'T' : 'F');
-	}
-	
-	public void put(String string){
-		put(string.length());
-		_buffer.append(string);
-	}
-	
-	public void put(int anInt){
-		String s = String.valueOf(anInt);
-		int len = s.length();
-		_buffer.append(len-1);
-		_buffer.append(s);
-	}
-	
-	@Override
-	public String toString() {
-		return _buffer.toString();
-	}
-
-}
diff --git a/plugins/org.eclipse.wst.validation/vf2/org/eclipse/wst/validation/internal/SummaryReporter.java b/plugins/org.eclipse.wst.validation/vf2/org/eclipse/wst/validation/internal/SummaryReporter.java
deleted file mode 100644
index 5a19332..0000000
--- a/plugins/org.eclipse.wst.validation/vf2/org/eclipse/wst/validation/internal/SummaryReporter.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.validation.internal;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.wst.validation.internal.operations.WorkbenchReporter;
-import org.eclipse.wst.validation.internal.provisional.core.IMessage;
-import org.eclipse.wst.validation.internal.provisional.core.IValidator;
-
-/**
- * This class extends the workbench reporter by capturing some summary information about any added
- * messages.
- * @author karasiuk
- *
- */
-public class SummaryReporter extends WorkbenchReporter {
-	
-	private int _severityHigh;
-	private int _severityNormal;
-	private int	_severityLow;
-
-	public SummaryReporter(IProject project, IProgressMonitor monitor) {
-		super(project, monitor);
-	}
-	
-	@Override
-	public void addMessage(IValidator validator, IMessage message) {
-		super.addMessage(validator, message);
-		switch (message.getSeverity()){
-		case IMessage.HIGH_SEVERITY: 
-			_severityHigh++;
-			break;
-		case IMessage.NORMAL_SEVERITY: 
-			_severityNormal++;
-			break;
-		case IMessage.LOW_SEVERITY:
-			_severityLow++;
-			break;
-		}
-	}
-
-	public int getSeverityHigh() {
-		return _severityHigh;
-	}
-
-	public int getSeverityNormal() {
-		return _severityNormal;
-	}
-
-	public int getSeverityLow() {
-		return _severityLow;
-	}
-
-}
diff --git a/plugins/org.eclipse.wst.validation/vf2/org/eclipse/wst/validation/internal/Tracing.java b/plugins/org.eclipse.wst.validation/vf2/org/eclipse/wst/validation/internal/Tracing.java
deleted file mode 100644
index 77e49cb..0000000
--- a/plugins/org.eclipse.wst.validation/vf2/org/eclipse/wst/validation/internal/Tracing.java
+++ /dev/null
@@ -1,208 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.validation.internal;
-
-import java.text.DateFormat;
-import java.text.SimpleDateFormat;
-import java.util.Date;
-
-import org.eclipse.core.resources.IResourceDelta;
-import org.eclipse.core.resources.IResourceDeltaVisitor;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.wst.validation.internal.plugin.ValidationPlugin;
-
-/**
- * Control the tracing that this plug-in performs. This is used for service.
- * @author karasiuk
- *
- */
-public final class Tracing {
-	
-	private final static DateFormat _df = new SimpleDateFormat("HH:mm:ss.SSSS"); //$NON-NLS-1$
-	private final static boolean	_isLogging = ValidationPlugin.getPlugin().isDebugging();
-	private final static boolean	_traceMatches = Misc.debugOptionAsBoolean(DebugConstants.TraceMatches);
-	private final static boolean	_traceV1 = Misc.debugOptionAsBoolean(DebugConstants.TraceV1);
-	private final static String		_extraValDetail = Platform.getDebugOption(DebugConstants.ExtraValDetail);
-	private final static int 		_tracingLevel;
-	
-	private final static String		_filter = Platform.getDebugOption(DebugConstants.FilterAllExcept);
-	
-	static {
-		String traceLevel = Platform.getDebugOption(DebugConstants.TraceLevel);
-		int level = 0;
-		if (traceLevel != null){
-			try {
-				level = Integer.parseInt(traceLevel);
-			}
-			catch (Exception e){
-			}
-		}
-		_tracingLevel = level;
-	}
-	
-	/**
-	 * Answer true if the filters allow this validator to be enabled. Normally this method will answer true.
-	 * It is only when filters are activated via the debugging options, that this method might return false.
-	 * This is used to aid in debugging by making it look like only one validator has been registered.
-	 * 
-	 * @param validatorId the validator id.
-	 * @return true if the validator should be registered via an extension point.
-	 */
-	public static boolean isEnabled(String validatorId){
-		if (_filter == null || _filter.length() == 0)return true;
-		return (_filter.equals(validatorId));		
-	}
-	
-	/**
-	 * Are we in logging/debugging mode?
-	 */
-	public static boolean isLogging(){
-		return _isLogging;
-	}
-	
-	/**
-	 * Answer true if we are in logging mode, and if the current logging level is greater than or
-	 * equal to level.
-	 * @param level The logging level that we are testing. The higher the level the more verbose
-	 * the tracing.
-	 */
-	public static boolean isLogging(int level){
-		if (_isLogging){
-			return _tracingLevel >= level;
-		}
-		return false;
-	}
-	
-	public static boolean isTraceMatches(){
-		return _traceMatches;
-	}
-	
-	public static boolean isTraceV1(){
-		return _traceV1;
-	}
-	
-	public static boolean matchesExtraDetail(String validatorId){
-		if (_extraValDetail == null)return false;
-		return _extraValDetail.equals(validatorId);
-	}
-
-	/**
-	 * Write a line to the console for debugging, if in debugging mode.
-	 * @param line
-	 */
-	public static void log(String line){
-		if (isLogging())write(line);
-	}
-	
-	public static void log(Object... parts){
-		if (isLogging()){
-			StringBuffer b = new StringBuffer(200);
-			for (Object p : parts)b.append(p);
-			write(b.toString());
-		}
-	}
-
-	/**
-	 * Write a line to the log. Include a time stamp with the line.
-	 * @param line
-	 */
-	public static void write(String line){
-		System.err.println(timestampIt(line));
-	}
-
-	public static String timestampIt(String line){
-		Date date = new Date();
-		String thread = Thread.currentThread().getName();
-		return _df.format(date) + " " + thread + " " + line;  //$NON-NLS-1$//$NON-NLS-2$		
-	}
-
-	/**
-	 * If we are in logging mode, log the item, and then reset the string buffer.
-	 */
-	public static void log(StringBuffer b){
-		log(b.toString());
-		b.setLength(0);
-	}
-
-	/**
-	 * This method doesn't do anything, and will be removed.
-	 * 
-	 * @deprecated
-	 */
-	public static void setForceLogging(boolean forceLogging) {
-	}
-	
-	/**
-	 * Log up to maxNumber deltas to the log.
-	 * @param delta The deltas to log.
-	 * @param maxNumber The maximum number of deltas to log.
-	 */
-	public static void logResourceDeltas(IResourceDelta delta, int maxNumber){
-		if (!isLogging())return;
-		if (delta == null)Tracing.log("  ResourceDelta: null"); //$NON-NLS-1$
-		else {
-			DeltaLogger logger = new DeltaLogger(maxNumber);
-			try {
-				delta.accept(logger);
-				if (logger.getCount() == 0)Tracing.log("  ResourceDelta: no deltas"); //$NON-NLS-1$
-			}
-			catch (CoreException e){
-				// eat it
-			}
-		}
-	}
-	
-	/**
-	 * A debugging class that prints out some resource delta's.
-	 * @author karasiuk
-	 *
-	 */
-	private final static class DeltaLogger implements IResourceDeltaVisitor {
-		
-		private final int 	_max;
-		private int 		_count;
-		public int getCount() {
-			return _count;
-		}
-
-		private StringBuffer _b = new StringBuffer(200);
-		
-		public DeltaLogger(int max){
-			_max = max;
-		}
-
-		public boolean visit(IResourceDelta delta) throws CoreException {
-			if (_count++ > _max)return false;
-			int kind = delta.getKind();
-			String type = "unknown"; //$NON-NLS-1$
-			switch (kind){
-			case IResourceDelta.ADDED:
-				type = "Added"; //$NON-NLS-1$
-				break;
-			case IResourceDelta.CHANGED:
-				type = "Changed"; //$NON-NLS-1$
-				break;
-			case IResourceDelta.REMOVED:
-				type = "Removed"; //$NON-NLS-1$
-				break;				
-			}
-			_b.append("  ResourceDelta "); //$NON-NLS-1$
-			_b.append(type);
-			_b.append(' ');
-			_b.append(delta.getResource());
-			Tracing.log(_b);
-			return true;
-		}
-		
-	}
-
-}
diff --git a/plugins/org.eclipse.wst.validation/vf2/org/eclipse/wst/validation/internal/ValBuilderJob.java b/plugins/org.eclipse.wst.validation/vf2/org/eclipse/wst/validation/internal/ValBuilderJob.java
deleted file mode 100644
index 9c52aae..0000000
--- a/plugins/org.eclipse.wst.validation/vf2/org/eclipse/wst/validation/internal/ValBuilderJob.java
+++ /dev/null
@@ -1,360 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2011 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.validation.internal;
-
-import java.text.MessageFormat;
-import java.util.LinkedList;
-import java.util.Queue;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IResourceDelta;
-import org.eclipse.core.resources.IResourceDeltaVisitor;
-import org.eclipse.core.resources.IResourceProxy;
-import org.eclipse.core.resources.IResourceProxyVisitor;
-import org.eclipse.core.resources.IResourceVisitor;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.resources.WorkspaceJob;
-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.core.runtime.SubMonitor;
-import org.eclipse.wst.validation.DependentResource;
-import org.eclipse.wst.validation.Friend;
-import org.eclipse.wst.validation.IDependencyIndex;
-import org.eclipse.wst.validation.ValidationEvent;
-import org.eclipse.wst.validation.ValidationFramework;
-import org.eclipse.wst.validation.ValidationState;
-import org.eclipse.wst.validation.Validator;
-import org.eclipse.wst.validation.internal.model.IValidatorVisitor;
-import org.eclipse.wst.validation.internal.operations.ValidationBuilder;
-import org.eclipse.wst.validation.internal.plugin.ValidationPlugin;
-
-
-/**
- * Run all the v2 validators through this job.
- * <p>
- * This is the main class for supporting build based validation. When triggered it looks at all of the
- * resource changes and determines what needs to be validated. 
- * </p>
- * @author karasiuk
- *
- */
-public final class ValBuilderJob extends WorkspaceJob {
-	
-	private static ValBuilderJob _job;
-	private static Queue<ValidationRequest> _work = new LinkedList<ValidationRequest>();
-	
-	private final ValOperation _operation = new ValOperation();
-		
-	/** The types of changes we are interested in. */
-	private final static int	InterestedFlags = IResourceDelta.CONTENT | IResourceDelta.ENCODING |
-		IResourceDelta.MOVED_FROM | IResourceDelta.MOVED_TO;
-	
-	public static synchronized void validateProject(IProject project, IResourceDelta delta, int buildKind){
-		ValidationRequest request = new ValidationRequest(project, delta, buildKind);
-		if (_job == null){
-			_job = new ValBuilderJob();
-			_job.add(request);
-			_job.schedule();
-		}
-		else {
-			_job.add(request);
-		}
-	}
-	
-	private static synchronized ValidationRequest getRequest(){
-		ValidationRequest request = _work.poll();
-		if (request == null){
-			_job = null;
-		}
-		return request;
-	}
-	
-	/**
-	 * Each validation run is done in it's own job.
-	 * 
-	 * @param project the project that is being validated
-	 * @param delta the delta that is being validated. This may be null, in which case we do a 
-	 * full validation of the project.
-	 * 
-	 * @param buildKind the kind of build.
-	 * @see org.eclipse.core.resources.IncrementalProjectBuilder#AUTO_BUILD
-	 * @see org.eclipse.core.resources.IncrementalProjectBuilder#CLEAN_BUILD
-	 * @see org.eclipse.core.resources.IncrementalProjectBuilder#FULL_BUILD
-	 * @see org.eclipse.core.resources.IncrementalProjectBuilder#INCREMENTAL_BUILD
-	 * 
-	 * @param operation some global context for the validation operation
-	 * 
-	 */
-	private ValBuilderJob(){
-		super(ValMessages.JobName);
-	}
-	
-	private void add(ValidationRequest request){
-		_work.add(request);
-	}
-	
-	@Override
-	public boolean belongsTo(Object family) {
-		if (family == ResourcesPlugin.FAMILY_MANUAL_BUILD)return true;
-		if (family == ValidationBuilder.FAMILY_VALIDATION_JOB){
-			return true;
-		}
-			
-		return super.belongsTo(family);
-	}
-
-	@Override
-	public IStatus runInWorkspace(IProgressMonitor monitor) {
-		Tracing.log("ValBuilderJob-01: Starting"); //$NON-NLS-1$
-		
-		try {
-			startingValidation(monitor);
-			
-			ValidationRequest request = getRequest();
-			while(request != null){
-				run(request, monitor);
-				request = getRequest();
-			}
-		}
-		finally {
-			finishingValidation(monitor);
-		}
-		
-		Tracing.log("ValBuilderJob-02: Finished"); //$NON-NLS-1$
-		return Status.OK_STATUS;
-	}
-
-	private void startingValidation(IProgressMonitor monitor) {
-        IValidatorVisitor startingVisitor = new IValidatorVisitor(){
-
-            public void visit(Validator validator, IProject project, ValType valType, 
-                ValOperation operation, IProgressMonitor monitor) {
-                
-                validator.validationStarting(project, operation.getState(), monitor);                   
-            }               
-        };
-
-        ValManager.getDefault().accept(startingVisitor, null, ValType.Build, getOperation(), monitor);
-	}
-	
-	private void finishingValidation(IProgressMonitor monitor) {
-		
-		IValidatorVisitor finishedVisitor = new IValidatorVisitor(){
-
-		    public void visit(Validator validator, IProject project, ValType valType,
-		      ValOperation operation, IProgressMonitor monitor) {
-
-		      validator.validationFinishing(project, operation.getState(), monitor);              
-		    }           
-		  };
-		  ValManager.getDefault().accept(finishedVisitor, null, ValType.Build, getOperation(), monitor);
-	}
-
-	private void run(ValidationRequest request, IProgressMonitor monitor){
-		setName(MessageFormat.format(ValMessages.JobNameWithProjectName,new Object[] { request.getProject().getName() })); 
-		try {		
-	        IValidatorVisitor startingVisitor = new IValidatorVisitor(){
-
-	            public void visit(Validator validator, IProject project, ValType valType, 
-	                ValOperation operation, IProgressMonitor monitor) {
-	                
-	                validator.validationStarting(project, operation.getState(), monitor);                   
-	            }               
-	        };
-
-	        ValManager.getDefault().accept(startingVisitor, request.getProject(), ValType.Build, getOperation(), monitor);
-		  
-			if (request.getDelta() == null)fullBuild(request, monitor);
-			else deltaBuild(request, monitor);
-
-			
-		}
-		catch (ProjectUnavailableError e){
-			ValidationPlugin.getPlugin().handleProjectUnavailableError(e);
-		}
-		catch (ResourceUnavailableError e){
-			ValidationPlugin.getPlugin().handleResourceUnavailableError(e);
-		}
-		catch (CoreException e){
-			ValidationPlugin.getPlugin().handleException(e);
-		}
-		finally {
-		  IValidatorVisitor finishedVisitor = new IValidatorVisitor(){
-
-		    public void visit(Validator validator, IProject project, ValType valType,
-		      ValOperation operation, IProgressMonitor monitor) {
-
-		      validator.validationFinishing(project, operation.getState(), monitor);              
-		    }           
-		  };
-          ValManager.getDefault().accept(finishedVisitor, request.getProject(), ValType.Build, getOperation(), monitor);
-		}
-		
-	}
-
-	private void deltaBuild(ValidationRequest request, IProgressMonitor monitor) throws CoreException {
-		ResourceCounter counter = new ResourceCounter();
-		request.getDelta().accept(counter);
-		SubMonitor subMonitor = SubMonitor.convert(monitor, counter.getCount());
-		Visitor vistitor = new Visitor(request, subMonitor, monitor, getOperation());
-		request.getDelta().accept(vistitor);		
-	}
-
-	private void fullBuild(ValidationRequest request, IProgressMonitor monitor) throws CoreException {
-		ResourceCounter counter = new ResourceCounter();
-		request.getProject().accept(counter, 0);
-		SubMonitor subMonitor = SubMonitor.convert(monitor, counter.getCount());
-		Visitor vistitor = new Visitor(request, subMonitor, monitor, getOperation());
-		request.getProject().accept(vistitor);
-		
-	}
-	
-	private ValOperation getOperation(){
-		return _operation;
-	}
-
-	static final class ResourceCounter implements IResourceProxyVisitor, IResourceDeltaVisitor {
-		
-		private int _count;
-
-		public int getCount() {
-			return _count;
-		}
-
-		public boolean visit(IResourceProxy proxy) throws CoreException {
-			_count++;
-			return true;
-		}
-
-		public boolean visit(IResourceDelta delta) throws CoreException {
-			_count++;
-			return true;
-		}		
-	}
-	
-	static final class ValidationRequest {
-		/** The project that is being built. */
-		private final IProject 			_project;
-		
-		/** The resource delta that triggered the build, it will be null for a full build. */
-		private final IResourceDelta	_delta;
-		
-		/** 
-		 * The kind of build.
-		 * 
-		 *  @see org.eclipse.core.resources.IncrementalProjectBuilder
-		 */
-		private final int					_buildKind;
-		
-		public ValidationRequest(IProject project, IResourceDelta delta, int buildKind){
-			_project = project;
-			_delta = delta;
-			_buildKind = buildKind;
-		}
-
-		public IProject getProject() {
-			return _project;
-		}
-
-		public IResourceDelta getDelta() {
-			return _delta;
-		}
-
-		public int getBuildKind() {
-			return _buildKind;
-		}
-	}
-	
-	private final static class Visitor implements IResourceDeltaVisitor, IResourceVisitor{
-		
-		private final ValidationRequest 	_request;
-		private final SubMonitor 			_subMonitor;
-		private final IProgressMonitor 		_monitor;
-		private final ValOperation			_operation;
-		
-		public Visitor(ValidationRequest request, SubMonitor subMonitor, IProgressMonitor monitor, ValOperation operation){
-			_request = request;
-			_subMonitor = subMonitor;
-			_monitor = monitor;
-			_operation = operation;
-		}
-		
-		public boolean visit(IResource resource) throws CoreException {
-			try {
-				if (DisabledResourceManager.getDefault().isDisabled(resource)){
-					MarkerManager.getDefault().deleteMarkers(resource, _operation.getStarted(), IResource.DEPTH_INFINITE);
-					return false;
-				}
-				ValManager.getDefault().validate(_request.getProject(), resource, IResourceDelta.NO_CHANGE, ValType.Build, 
-					_request.getBuildKind(), _operation, _subMonitor.newChild(1));
-			}
-			catch (ResourceUnavailableError e){
-				if (Tracing.isLogging())Tracing.log("ValBuilderJob-02: " + e.toString()); //$NON-NLS-1$
-				return false;
-			}
-			return true;
-		}
-		
-		@SuppressWarnings("deprecation")
-		public boolean visit(IResourceDelta delta) throws CoreException {
-			IResource resource = delta.getResource();
-			if (DisabledResourceManager.getDefault().isDisabled(resource)){
-				MarkerManager.getDefault().deleteMarkers(resource, _operation.getStarted(), IResource.DEPTH_INFINITE);
-				return false;
-			}
-			int kind = delta.getKind();
-			boolean isChanged = (kind & IResourceDelta.CHANGED) != 0;
-			if (isChanged &&  (delta.getFlags() & InterestedFlags) == 0)return true;
-			
-			// Check for file ADDED and REMOVED events, which means that the file may have moved to a new
-			// project. To be safe we clear it's cached list of validators.
-			if (((kind & (IResourceDelta.ADDED | IResourceDelta.REMOVED)) != 0)	&& resource.getType() == IResource.FILE) {
-				ValManager.getDefault().clearValProperty(resource.getProject());
-			}
-
-			if ((kind & (IResourceDelta.ADDED | IResourceDelta.CHANGED)) != 0){
-				ValManager.getDefault().validate(_request.getProject(), resource, delta.getKind(), ValType.Build,
-						_request.getBuildKind(), _operation, _subMonitor.newChild(1));
-			}
-			
-			if ((kind & (IResourceDelta.REMOVED)) != 0){
-				
-				IResource project = resource.getProject();
-				if (!_operation.isValidatedProject(project))
-				{
-					ValManager.getDefault().validate(_request.getProject(), project, IResourceDelta.REMOVED, ValType.Build,
-						_request.getBuildKind(), _operation, _subMonitor.newChild(1));
-					_operation.addValidatedProject(project);
-				}				
-			}
-					
-			IDependencyIndex index = ValidationFramework.getDefault().getDependencyIndex();
-			if (index.isDependedOn(resource)){
-				MarkerManager mm = MarkerManager.getDefault();
-				for (DependentResource dr : index.get(resource)){
-					Validator val = dr.getValidator();
-					if (Friend.shouldValidate(val, dr.getResource(), ValType.Build, new ContentTypeWrapper())){
-						_operation.getState().put(ValidationState.TriggerResource, resource);
-						ValidationEvent event = new ValidationEvent(dr.getResource(), IResourceDelta.NO_CHANGE, delta);
-						if (val.shouldClearMarkers(event))mm.clearMarker(dr.getResource(), val);
-						ValManager.getDefault().validate(val, _operation, dr.getResource(),
-							IResourceDelta.NO_CHANGE, _monitor, event);
-					}
-				}
-			}
-			
-			return true;
-		}
-	}
-}
diff --git a/plugins/org.eclipse.wst.validation/vf2/org/eclipse/wst/validation/internal/ValConstants.java b/plugins/org.eclipse.wst.validation/vf2/org/eclipse/wst/validation/internal/ValConstants.java
deleted file mode 100644
index ab2aebf..0000000
--- a/plugins/org.eclipse.wst.validation/vf2/org/eclipse/wst/validation/internal/ValConstants.java
+++ /dev/null
@@ -1,19 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.validation.internal;
-
-import org.eclipse.wst.validation.internal.plugin.ValidationPlugin;
-
-public interface ValConstants {
-	/** problem marker for version 2 of the validation framework. */
-	String ProblemMarker =  ValidationPlugin.PLUGIN_ID +".problemmarker2"; //$NON-NLS-1$
-
-}
diff --git a/plugins/org.eclipse.wst.validation/vf2/org/eclipse/wst/validation/internal/ValManager.java b/plugins/org.eclipse.wst.validation/vf2/org/eclipse/wst/validation/internal/ValManager.java
deleted file mode 100644
index 0fd1c2a..0000000
--- a/plugins/org.eclipse.wst.validation/vf2/org/eclipse/wst/validation/internal/ValManager.java
+++ /dev/null
@@ -1,1283 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2011 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.validation.internal;
-
-import java.lang.reflect.InvocationTargetException;
-import java.util.BitSet;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-import java.util.TreeSet;
-import java.util.concurrent.ConcurrentHashMap;
-import java.util.concurrent.ConcurrentMap;
-import java.util.concurrent.atomic.AtomicInteger;
-import java.util.concurrent.atomic.AtomicReference;
-
-import org.eclipse.core.resources.IFolder;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IResourceStatus;
-import org.eclipse.core.resources.IResourceVisitor;
-import org.eclipse.core.resources.IWorkspaceRoot;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.ISafeRunnable;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.QualifiedName;
-import org.eclipse.core.runtime.SafeRunner;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.SubMonitor;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.wst.common.project.facet.core.FacetedProjectFramework;
-import org.eclipse.wst.common.project.facet.core.events.IFacetedProjectEvent;
-import org.eclipse.wst.common.project.facet.core.events.IFacetedProjectListener;
-import org.eclipse.wst.validation.Friend;
-import org.eclipse.wst.validation.IPerformanceMonitor;
-import org.eclipse.wst.validation.IValidatorGroupListener;
-import org.eclipse.wst.validation.PerformanceCounters;
-import org.eclipse.wst.validation.ValidationEvent;
-import org.eclipse.wst.validation.ValidationFramework;
-import org.eclipse.wst.validation.ValidationResult;
-import org.eclipse.wst.validation.ValidationState;
-import org.eclipse.wst.validation.Validator;
-import org.eclipse.wst.validation.internal.model.GlobalPreferences;
-import org.eclipse.wst.validation.internal.model.GlobalPreferencesValues;
-import org.eclipse.wst.validation.internal.model.IValidatorVisitor;
-import org.eclipse.wst.validation.internal.model.ProjectPreferences;
-import org.eclipse.wst.validation.internal.operations.ManualValidatorsOperation;
-import org.eclipse.wst.validation.internal.plugin.ValidationPlugin;
-import org.osgi.service.prefs.BackingStoreException;
-
-/**
- * A central place to keep track of all the validators.
- * @author karasiuk
- *
- */
-public final class ValManager implements IValChangedListener, IFacetedProjectListener, IProjectChangeListener {
-	
-	/**
-	 * Projects may be allowed to override the global validation settings. If that is the case then those
-	 * project specific settings are saved here. If the key exists, but the value is null, then that
-	 * means that the project has been checked and it does not have any specific settings.
-	 */
-	private final Map<IProject, ProjectPreferences> _projectPreferences = 
-		Collections.synchronizedMap(new HashMap<IProject, ProjectPreferences>(50));
-	
-	private final AtomicReference<GlobalPreferences> _globalPreferences = new AtomicReference<GlobalPreferences>();
-		
-	/**
-	 * This number increases each time any of the validation configurations change. It is used to determine
-	 * if information that we have cached in the ValProperty is stale or not. This starts off at zero, each time
-	 * the workbench is started.
-	 */
-	private final AtomicInteger _configNumber = new AtomicInteger();
-	
-	private final ValidatorIdManager _idManager = new ValidatorIdManager();
-	private final ValidatorCache 	_cache = new ValidatorCache();
-		
-	private static final QualifiedName StatusBuild = new QualifiedName(ValidationPlugin.PLUGIN_ID, "sb"); //$NON-NLS-1$
-	private static final QualifiedName StatusManual = new QualifiedName(ValidationPlugin.PLUGIN_ID, "sm"); //$NON-NLS-1$
-
-	
-	public static ValManager getDefault(){
-		return Singleton.valManager;
-	}
-	
-	private ValManager(){
-		ValPrefManagerGlobal.getDefault().addListener(this);
-		ValPrefManagerProject.addListener(this);
-		FacetedProjectFramework.addListener(this, IFacetedProjectEvent.Type.PROJECT_MODIFIED);
-		EventManager.getManager().addProjectChangeListener(this);
-	}
-	
-	/**
-	 * This needs to be called if the ValManager is ever deleted.
-	 */
-	public void dispose(){
-		// currently nobody calls this method, because this instance is never removed, but the method is
-		// here for completeness none the less.
-		ValPrefManagerGlobal.getDefault().removeListener(this);
-		ValPrefManagerProject.removeListener(this);
-		FacetedProjectFramework.removeListener(this);
-		EventManager.getManager().removeProjectChangeListener(this);	
-	}
-	
-	/**
-	 * Answer all the registered validators. If you are planning on making changes to the validators,
-	 * and then saving them in a preference store then you probably want the getValidatorsCopy method.
-	 * Because if you make changes to the original validators, and since we only save differences,
-	 * there won't be any differences. 
-	 * 
-	 * @return Answer the validators in name sorted order. Answer an empty array if there are no validators.
-	 * 
-	 * @see #getValidatorsCopy()
-	 */
-	public Validator[] getValidators(){
-		return getValidators(null);
-	}
-	
-	/**
-	 * Answer copies of all the registered validators. If you are going to be making changes to the validators
-	 * and then saving them backing into the preference store, then this is the method to use.
-	 * 
-	 * @return Answer an empty array if there are no validators.
-	 */
-	public Validator[] getValidatorsCopy(){
-		Validator[] orig = getValidators();
-		Validator[] copy = new Validator[orig.length];
-		for (int i=0; i<orig.length; i++)copy[i] = orig[i].copy();
-		return copy;
-	}
-	
-	/**
-	 * Answer all the validators for the given project.
-	 * <p>
-	 * Individual projects may override the global validation preference
-	 * settings. If the project has it's own settings, then those validators are
-	 * returned via this method.
-	 * </p>
-	 * <p>
-	 * The following approach is used. For version 1 validators, the validator
-	 * is only returned if it is defined to operate on this project type. This
-	 * is the way that the previous version of the framework did it. For version
-	 * 2 validators, they are all returned.
-	 * </p>
-	 * 
-	 * @param project
-	 *            this may be null, in which case the global preferences are
-	 *            returned.
-	 * @param respectOverrideSettings
-	 *            if this is true then the validators that get returned are
-	 *            based on the override settings. So for example, if the global
-	 *            preferences do not allow project overrides then none of the
-	 *            project settings are used. Normal validation would set this to true.
-	 *            The properties page would set this to false.
-	 *            
-	 * @deprecated Use {@link #getValidatorsNotCached(IProject)} instead            
-	 */
-	public Validator[] getValidators(IProject project, boolean respectOverrideSettings) throws ProjectUnavailableError {
-		return getValidators(project);
-	}
-	
-	/**
-	 * Answer a cached copy of the the validators for a given project. This is a front end method, 
-	 * for the getValidatorsNotCached() method.
-	 * <p>
-	 * Individual projects may override the global validation preference
-	 * settings. If the project has it's own settings, then those validators are
-	 * returned via this method.
-	 * </p>
-	 * <p>
-	 * The following approach is used. For version 1 validators, the validator
-	 * is only returned if it is defined to operate on this project type. This
-	 * is the way that the previous version of the framework did it. For version
-	 * 2 validators, they are all returned.
-	 * </p>
-	 * 
-	 * @param project
-	 *            This may be null, in which case the global preferences are
-	 *            returned.
-	 * 
-	 * @return The validators in name sorted order.
-	 */
-	public Validator[] getValidators(IProject project) throws ProjectUnavailableError {
-		return _cache.getValidatorsCached(project);
-	}
-	
-	/**
-	 * Answer all the validators for the given project.
-	 * <p>
-	 * Individual projects may override the global validation preference
-	 * settings. If the project has it's own settings, then those validators are
-	 * returned via this method.
-	 * </p>
-	 * <p>
-	 * The following approach is used. For version 1 validators, the validator
-	 * is only returned if it is defined to operate on this project type. This
-	 * is the way that the previous version of the framework did it. For version
-	 * 2 validators, they are all returned.
-	 * </p>
-	 * 
-	 * @param project
-	 *            This may be null, in which case the global preferences are
-	 *            returned.
-	 * 
-	 * @return The validators in name sorted order.
-	 */
-	private Validator[] getValidatorsNotCached(IProject project) throws ProjectUnavailableError {
-		Map<String,Validator> v2Vals = getV2Validators(project, UseProjectPreferences.Normal);
-		TreeSet<Validator> sorted = new TreeSet<Validator>();
-		sorted.addAll(v2Vals.values());
-		
-		try {
-			ValidationConfiguration vc = ConfigurationManager.getManager().getConfiguration(project);
-			if (project == null){
-				// If the project is null we need to use this approach, since you can not use new ManualValidatorsOperation(null)
-				ValidatorMetaData[] vmds = vc.getValidators();
-				for (ValidatorMetaData vmd : vmds){
-					Validator v = Validator.create(vmd, vc, project);
-					sorted.add(v);
-				}
-			}
-			else {
-				ManualValidatorsOperation mvo = new ManualValidatorsOperation(project);
-				Set<ValidatorMetaData> vmds = mvo.getEnabledValidators();
-				for (ValidatorMetaData vmd : vmds){
-					Validator v = Validator.create(vmd, vc, project);
-					sorted.add(v);
-				}
-			}
-		}
-		catch (InvocationTargetException e){
-			ValidationPlugin.getPlugin().handleException(e);
-		}
-		
-		Validator[] vals = new Validator[sorted.size()];
-		sorted.toArray(vals);
-		return vals;
-	}
-	/**
-	 * Validators can use project level settings (Project natures and facets) to
-	 * determine if they are applicable to the project or not.
-	 * 
-	 * @param project
-	 *            The project that the configuration is based on.
-	 * @param mustUseProjectSettings
-	 *            Force the project properties to be used. There is a case where the user has toggled the
-	 *            Enable project specific settings checkbox in the dialog, but has not yet committed the
-	 *            changes. This allows that setting to be passed through.
-	 * @return The validators that are configured to run on this project based
-	 *         on the project level settings. These are the "live" validators, they are not copies.
-	 * @throws ProjectUnavailableError
-	 * 
-	 * @deprecated Use getValidatorsConfiguredForProject(IProject project, UseProjectPreferences useProject)
-	 */
-	public Validator[] getValidatorsConfiguredForProject(IProject project, boolean mustUseProjectSettings) throws ProjectUnavailableError {
-		UseProjectPreferences useProject = UseProjectPreferences.Normal;
-		return getValidatorsConfiguredForProject(project, useProject);
-	}
-	
-	/**
-	 * Validators can use project level settings (Project natures and facets) to
-	 * determine if they are applicable to the project or not.
-	 * 
-	 * @param project
-	 *            The project that the configuration is based on.
-	 * @param useProject
-	 *            Specifies how to use the project preferences. This can be used
-	 *            to force the project properties to be used. There is a case
-	 *            where the user has toggled the Enable project specific
-	 *            settings checkbox in the dialog, but has not yet committed the
-	 *            changes. This allows that setting to be passed through.
-	 * @return The validators that are configured to run on this project based
-	 *         on the project level settings. These are the "live" validators,
-	 *         they are not copies.
-	 * @throws ProjectUnavailableError
-	 */
-	public Validator[] getValidatorsConfiguredForProject(IProject project, UseProjectPreferences useProject) throws ProjectUnavailableError {
-		Map<String,Validator> v2Vals = getV2Validators(project, useProject);
-		TreeSet<Validator> sorted = new TreeSet<Validator>();
-		sorted.addAll(v2Vals.values());
-		
-		if (useProject == UseProjectPreferences.MustNotUse){
-			sorted.addAll(ExtensionValidators.instance().getV1Validators(project));
-		}
-		else {
-			try {
-				ValidationConfiguration vc = ConfigurationManager.getManager().getProjectConfiguration(project);
-				ValidatorMetaData[] vmds = vc.getValidators();
-				for (ValidatorMetaData vmd : vmds) {
-					Validator v = Validator.create(vmd, vc, project);
-					sorted.add(v);
-				}
-			}
-			catch (InvocationTargetException e){
-				ValidationPlugin.getPlugin().handleException(e);
-			}
-		}
-				
-		List<Validator> list = new LinkedList<Validator>();
-		for (Validator v : sorted){
-			if (v.shouldValidateProject(project, false, false))list.add(v);
-		}
-		
-		Validator[]vals = new Validator[list.size()];
-		list.toArray(vals);
-		return vals;
-	}
-	
-	/**
-	 * Answer the V2 validators that are in effect for this project. The
-	 * following approach is used:
-	 * <ol>
-	 * <li>The validators that are defined by the extension point are loaded.</li>
-	 * <li>They are customized by any global preferences.</li>
-	 * <li>If project customizations are allowed, they are customized by the
-	 * project preferences.
-	 * </ol>
-	 * 
-	 * @param project
-	 *            This may be null, in which case only the global preferences
-	 *            are used.
-	 * @param useProject
-	 *            Specifies how to use the project preferences. This can be used
-	 *            to force the project properties to be used. There is a case
-	 *            where the user has toggled the Enable project specific
-	 *            settings checkbox in the dialog, but has not yet committed the
-	 *            changes. This allows that setting to be passed through.
-	 *            
-	 * @return
-	 */
-	private Map<String,Validator> getV2Validators(IProject project, UseProjectPreferences useProject){
-		Map<String,Validator> extVals = ExtensionValidators.instance().getMapV2Copy();
-		try {
-			List<Validator> vals = ValPrefManagerGlobal.getDefault().getValidators();
-			for (Validator v : vals)extVals.put(v.getId(), v);
-			
-			if (useProject != UseProjectPreferences.MustNotUse){
-				if (useProject == UseProjectPreferences.MustUse || !mustUseGlobalValidators(project)){
-					//TODO should probably cache this vpm
-					ValPrefManagerProject vpm = new ValPrefManagerProject(project);
-					vals = vpm.getValidators(extVals);
-					for (Validator v : vals)extVals.put(v.getId(), v);
-					
-					for (Validator v : getProjectPreferences(project).getValidators())extVals.put(v.getId(), v);
-				}	
-			}
-		}
-		catch (BackingStoreException e){
-			ValidationPlugin.getPlugin().handleException(e);
-		}
-		return extVals;
-	}
-	
-
-	/**
-	 * Answer true if we must use the global settings for this project. If the global preferences do not
-	 * allow overrides, or if this project does not allow overrides then the global preferences must be used.
-	 *  
-	 * @param project project that is being tested. It can be null, in which case the global preferences must be used.
-	 * @return true if the global preferences must be used.
-	 */
-	public boolean mustUseGlobalValidators(IProject project){
-		if (project == null)return true;
-		if (!getGlobalPreferences().getOverride())return true;
-		ProjectPreferences pp = _projectPreferences.get(project);
-		if (pp != null)return !pp.getOverride();
-		
-		ValPrefManagerProject vpm = new ValPrefManagerProject(project);
-		return !vpm.getOverride();
-	}
-	
-	/**
-	 * Answer the validator with the given id that is in effect for the given project.
-	 * 
-	 * @param id The validator id.
-	 * @param project
-	 * @return null if the validator is not found
-	 */
-	public Validator getValidator(String id, IProject project){
-		Validator[] vals = getValidators(project);
-		for (Validator v : vals){
-			if (v.getId().equals(id))return v;
-		}
-		return null;
-	}
-	
-	/**
-	 * @see ValidationFramework#getValidator(String, IProject)
-	 */
-	public Validator getValidatorWithId(String id, IProject project){
-		Validator[] vals = getValidators(project);
-		for (Validator v : vals){
-			if (v.getId().equals(id))return v;
-		}
-		return null;
-	}
-					
-	/**
-	 * Answer true if the resource has any enabled validators.
-	 * 
-	 * @param resource a file, folder or project.
-	 * 
-	 * @param isManual if true then the validator must be turned on for manual validation. 
-	 * If false then the isManualValidation setting isn't used to filter out validators.
-	 *   
-	 * @param isBuild if true then the validator must be turned on for build based validation.
-	 * If false then the isBuildValidation setting isn't used to filter out validators.  
-	 */
-	public boolean hasValidators(IResource resource, boolean isManual, boolean isBuild){
-		if (resource instanceof IProject){
-			IProject project = (IProject)resource;
-			return ValManager.getDefault().getValidators(project).length > 0;
-		}
-		else if (resource instanceof IFolder){
-			IFolder folder = (IFolder)resource;
-			HasValidatorVisitor v = new HasValidatorVisitor(isManual, isBuild);
-			return v.hasValidator(folder);
-		}
-		else {
-			ContentTypeWrapper ctw = new ContentTypeWrapper();
-			for (Validator val : ValManager.getDefault().getValidators(resource.getProject())){
-				if (Friend.shouldValidate(val, resource, isManual, isBuild, ctw))return true;
-			}			
-		}
-		return false;
-	}
-	
-	/**
-	 * Answer true if the project has disabled all of it's validators, or if project overrides are not
-	 * allowed if global validation has been disabled.
-	 * 
-	 * @param project the project that is being consulted, or null if only the global settings are to be 
-	 * checked.
-	 */
-	public boolean isDisabled(IProject project){
-		GlobalPreferences gp = getGlobalPreferences();
-		if (!gp.getOverride() || project == null)return gp.getDisableAllValidation();
-		
-		ProjectPreferences pp = _projectPreferences.get(project);
-		if (pp == null)return gp.getDisableAllValidation();
-		return pp.getSuspend();		
-	}
-			
-	/**
-	 * Answer all the registered validators as they were defined by the extension points. That is
-	 * answer the validators as if the user has never applied any customizations.
-	 * 
-	 * @return Answer an empty array if there are no validators.
-	 */
-	public static Validator[] getDefaultValidators() throws InvocationTargetException {
-		Map<String,Validator> extVals = ExtensionValidators.instance().getMapV2();
-		TreeSet<Validator> sorted = new TreeSet<Validator>();
-		for (Validator v : extVals.values())sorted.add(v);
-		
-		IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot();
-		GlobalConfiguration gc = new GlobalConfiguration(root);
-		gc.resetToDefault();
-		for (ValidatorMetaData vmd : gc.getValidators()){
-			Validator v = Validator.create(vmd, gc, null);
-			v.setBuildValidation(vmd.isBuildValidation());
-			v.setManualValidation(vmd.isManualValidation());
-			sorted.add(v);
-		}
-		
-		Validator[] val = new Validator[sorted.size()];
-		sorted.toArray(val);
-		return val;
-	}
-	
-	public static Validator[] getDefaultValidators(IProject project) throws InvocationTargetException {
-		Map<String,Validator> extVals = ExtensionValidators.instance().getMap(project);
-		Validator[] val = new Validator[extVals.size()];
-		extVals.values().toArray(val);
-		return val;
-	}
-
-	/**
-	 * Answer all the registered validators.
-	 * 
-	 * @param project the project to use for getting the version 1 validator settings. This can
-	 * be null in which case the global preferences are used.
-	 * 
-	 * @return Answer an empty array if there are no validators.
-	 */
-//	Validator[] getValidators2(IProject project) throws ProjectUnavailableError {
-//		// If I use a local variable I don't need to synchronize the method.
-//		
-//		Validator[] validators = _validators;
-//		if (project == null && validators != null)return validators;
-//				
-//		Validator[] val = loadExtensions(false, project);
-//		ValPrefManagerGlobal vpm = ValPrefManagerGlobal.getDefault();
-//		if (!vpm.loadPreferences(val)){
-//			val = restoreDefaults2(project);
-//			saveStateTimestamp();				
-//		}
-//		else {
-//			if (getGlobalPreferences().getStateTimeStamp() != Platform.getStateStamp())
-//				val = migrateSettings(val, project);
-//		}
-//		
-//		TreeSet<Validator> set = new TreeSet<Validator>();
-//		for (Validator v : val)set.add(v);
-//		
-//		List<Validator> list = new LinkedList<Validator>();
-//		try {
-//			ValidationConfiguration vc = ConfigurationManager.getManager().getConfiguration(project);
-//			for (ValidatorMetaData vmd : vc.getValidators()){
-//				list.add(Validator.create(vmd, vc, project));
-//			}							
-//			
-//		}
-//		catch (InvocationTargetException e){
-//			if (project != null && (!project.exists() || !project.isOpen()))
-//				throw new ProjectUnavailableError(project);
-//			ValidationPlugin.getPlugin().handleException(e);
-//		}
-//		
-//		set.addAll(list);
-//		val = new Validator[set.size()];
-//		set.toArray(val);
-//		if (project == null)_validators = val;
-//		return val;
-//	}
-	
-	/**
-	 * This method needs to be called whenever the validation configuration has changed.
-	 */
-	private void configHasChanged(){
-		_configNumber.incrementAndGet();
-		ValidatorProjectManager.reset();
-		_cache.reset();
-	}
-		
-	/**
-	 * Answer the global validation preferences.
-	 */
-	public GlobalPreferences getGlobalPreferences(){
-		GlobalPreferences gp = _globalPreferences.get();
-		if (gp == null){
-			ValPrefManagerGlobal vpm = ValPrefManagerGlobal.getDefault();
-			gp = vpm.loadGlobalPreferences();
-			if (!_globalPreferences.compareAndSet(null, gp))gp = _globalPreferences.get();
-		}
-		return gp;
-	}
-	
-	/**
-	 * Update the global preferences, but only if something has actually changed.
-	 * @param values The global settings.
-	 * @return a bit mask of the changes between the old values and the new values. See the GlobalPreferences
-	 * constants for the bit mask values. If a zero is return there were no changes.
-	 */
-	public int replace(GlobalPreferencesValues values){
-		GlobalPreferences gp = new GlobalPreferences(values);
-		GlobalPreferences old = getGlobalPreferences();
-		int changes = old.compare(gp);
-		if (changes != 0){
-			_globalPreferences.set(gp);
-		}
-		return changes;
-	}
-		
-	/**
-	 * Answer the project preferences for this project.
-	 * @param project The project, this may be null.
-	 */
-	public ProjectPreferences getProjectPreferences(IProject project) {
-		ProjectPreferences pp = _projectPreferences.get(project);
-		if (pp != null)return pp;
-		
-		/* hopefully we rarely get this far */
-		
-		Map<String,Validator> extVals = ExtensionValidators.instance().getMapV2Copy();
-		try {
-			List<Validator> vals = ValPrefManagerGlobal.getDefault().getValidators();
-			for (Validator v : vals)extVals.put(v.getId(), v);
-			
-			pp = getProjectPreferences(project, extVals);
-		}
-		catch (BackingStoreException e){
-			ValidationPlugin.getPlugin().handleException(e);
-		}	
-		return pp;
-	}
-
-	/**
-	 * 
-	 * @param project The project, this may be null.
-	 * @param baseValidators
-	 */
-	private ProjectPreferences getProjectPreferences(IProject project, Map<String, Validator> baseValidators) 
-		throws BackingStoreException {
-		ProjectPreferences pp = _projectPreferences.get(project);
-		if (pp != null)return pp;
-		
-		ValPrefManagerProject vpm = new ValPrefManagerProject(project);
-		pp = vpm.loadProjectPreferences(project, baseValidators);
-		_projectPreferences.put(project, pp);
-		return pp;		
-	}
-		
-	/**
-	 * Restore all the validation defaults, as defined by the individual validators via the
-	 * validation extension point.
-	 */
-//	public synchronized void restoreDefaults() {
-//		getGlobalPreferences().resetToDefault();
-//		_validators = null;
-//		getValidators(true);
-//	}
-	
-
-	/**
-	 * Run all the validators that are applicable to this resource.
-	 * <p>
-	 * If this is a manual validation both the version 1 and version 2 validators are run. If it
-	 * is a build validation, then only the version 2 validators are run, because the old framework handles
-	 * the running of the old validators.
-	 * </p>
-	 * 
-	 * @param project project that is being validated
-	 * 
-	 * @param resource the resource that is being validated
-	 * 
-	 * @param kind the kind of resource delta. It will be one of the IResourceDelta constants, like
-	 * IResourceDelta.CHANGED for example.
-	 * 
-	 * @param valType The type of validation request.
-	 * @param buildKind the kind of build that triggered this validation. See IncrementalProjectBuilder for values.
-	 * @param operation the operation that this validation is running under
-	 * @param monitor the monitor to use to report progress 
-	 */
-	public void validate(IProject project, final IResource resource, final int kind, ValType valType, 
-		int buildKind, ValOperation operation, final IProgressMonitor monitor) {
-		
-		MarkerManager.getDefault().deleteMarkers(resource, operation.getStarted(), IResource.DEPTH_ZERO);
-		
-		IValidatorVisitor visitor = new IValidatorVisitor(){
-
-			public void visit(Validator validator, IProject project, ValType vt,
-				ValOperation operation, IProgressMonitor monitor) {
-								
-				Validator.V1 v1 = validator.asV1Validator();
-				if (vt == ValType.Build && v1 != null)return;
-				
-				SubMonitor subMonitor = SubMonitor.convert(monitor);
-				String task = NLS.bind(ValMessages.LogValStart, validator.getName(), resource.getName());
-				subMonitor.beginTask(task, 1);
-
-				if (project.isOpen())
-					validate(validator, operation, resource, kind, subMonitor.newChild(1), null);
-			}			
-		};
-		SubMonitor sm = SubMonitor.convert(monitor, getValidators(project).length);
-		accept(visitor, project, resource, valType, operation, sm);
-		
-	}
-	
-	/**
-	 * Validate a single resource with a single validator. This will call the validator whether the validator
-	 * is enabled or not.
-	 * <p>
-	 * Callers of this method should ensure that the shouldValidate was tested before making this call.
-	 * 
-	 * @param validator the validator
-	 * @param operation the operation that the validation is running in.
-	 * @param resource the resource to validate
-	 * @param kind the kind of resource change. See IResourceDelta.
-	 * @param monitor
-	 */
-	public void validate(Validator validator, ValOperation operation, IResource resource, int kind, 
-			IProgressMonitor monitor, ValidationEvent event){
-		if (operation.isValidated(validator.getId(), resource))return;
-		long time = 0;
-		long cpuTime = -1;
-		String msg1 = NLS.bind(ValMessages.LogValStart, validator.getName(), resource.getName());
-		monitor.subTask(msg1);
-		IPerformanceMonitor pm = ValidationFramework.getDefault().getPerformanceMonitor();
-		if (pm.isCollecting()){
-			time = System.currentTimeMillis();
-			cpuTime = Misc.getCPUTime();
-		}
-		
-		if (Tracing.matchesExtraDetail(validator.getId())){
-			Tracing.log("ValManager-03: validating ", resource); //$NON-NLS-1$
-		}
-	
-		if (resource.exists())
-		{	
-			ValidationResult vr = validator.validate(resource, kind, operation, monitor, event);
-	
-			if (pm.isCollecting()){
-				if (cpuTime != -1){
-					cpuTime = Misc.getCPUTime() - cpuTime;
-				}
-				int num = 0;
-				if (vr != null)num = vr.getNumberOfValidatedResources();
-				PerformanceCounters pc = new PerformanceCounters(validator.getId(), 
-					validator.getName(), resource.getName(),
-					num, System.currentTimeMillis()-time, cpuTime);
-				pm.add(pc);
-			}
-			if (ValidationPlugin.getPlugin().isDebugging() && !pm.isCollecting()){
-				String msg = time != 0 ? 
-					NLS.bind(ValMessages.LogValEndTime,	new Object[]{validator.getName(), 
-						validator.getId(), resource, Misc.getTimeMS(System.currentTimeMillis()-time)}) :
-					NLS.bind(ValMessages.LogValEnd, validator.getName(), resource);
-				Tracing.log("ValManager-01: " + msg); //$NON-NLS-1$
-			}
-			if (vr != null){
-				operation.mergeResults(vr);
-				if (vr.getSuspendValidation() != null)operation.suspendValidation(vr.getSuspendValidation(), validator);
-			}
-		}
-	}
-	
-	/**
-	 * Accept a visitor for all the validators that are enabled for the given project.
-	 * 
-	 * @param visitor
-	 * @param project
-	 * @param valType the type of validation
-	 * @param operation
-	 * @param monitor
-	 */
-	public void accept(IValidatorVisitor visitor, IProject project, ValType valType, 
-		ValOperation operation, IProgressMonitor monitor){
-		
-		if (isDisabled(project))return;
-		
-		for (Validator val : getValidators(project)){
-			if (monitor.isCanceled())return;
-			if (!ValidatorProjectManager.get().shouldValidate(val, project, valType))continue;
-			if (operation.isSuspended(val, project))continue;
-			try {
-				visitor.visit(val, project, valType, operation, monitor);
-			}
-			catch (Exception e){
-				ValidationPlugin.getPlugin().handleException(e);
-			}
-		}		
-	}
-	
-	/**
-	 * Accept a visitor for all the validators that are enabled for the given project, resource, 
-	 * and validation mode.
-	 * 
-	 * @param valType the type of validation request
-	 */
-	public void accept(IValidatorVisitor visitor, IProject project, IResource resource, 
-			ValType valType, ValOperation operation, IProgressMonitor monitor){
-		
-		if (isDisabled(project))return;
-		
-		Map<String,IValidatorGroupListener[]> groupListeners = new HashMap<String,IValidatorGroupListener[]>();
-		
-		ValProperty vp = getValProperty(resource, valType, _configNumber.get());
-		if (vp != null){
-			BitSet bs = vp.getConfigSet();
-			for (Validator val : getValidators(project)){
-				if (!monitor.isCanceled()) {
-					if (!bs.get(_idManager.getIndex(val.getId())))continue;
-					if (operation.isSuspended(val, project))continue;
-					Validator.V2 v2 = val.asV2Validator();
-					if (v2 != null) {
-						notifyGroupListenersStarting(resource, operation.getState(), monitor, groupListeners, v2);
-					}
-					try {
-						visitor.visit(val, project, valType, operation, monitor);
-					}
-					catch (Exception e){
-						ValidationPlugin.getPlugin().handleException(e);
-					}
-				}
-			}
-			notifyGroupFinishing(resource, operation.getState(), monitor, groupListeners);
-			return;
-		}
-		
-		vp = new ValProperty();
-		vp.setConfigNumber(_configNumber.get());
-		ContentTypeWrapper ctw = new ContentTypeWrapper();
-		for (Validator val : getValidators(project)){
-			if (!monitor.isCanceled()) {
-				if (!ValidatorProjectManager.get().shouldValidate(val, project, valType))continue;
-				if (Friend.shouldValidate(val, resource, valType, ctw)){
-					vp.getConfigSet().set(_idManager.getIndex(val.getId()));
-					// we do the suspend check after figuring out if it needs to be validated, because we save
-					// this information for the session.
-					if (operation.isSuspended(val, project))continue;
-					Validator.V2 v2 = val.asV2Validator();
-					if (v2 != null) {
-						notifyGroupListenersStarting(resource, operation.getState(), monitor, groupListeners, v2);
-					}
-					try {
-						visitor.visit(val, project, valType, operation, monitor);
-					}
-					catch (Exception e){
-						ValidationPlugin.getPlugin().handleException(e);
-					}
-				}
-			}
-		}
-		notifyGroupFinishing(resource, operation.getState(), monitor, groupListeners);
-		putValProperty(vp, resource, valType);
-	}
-
-	/**
-	 * Let the group listeners know that validation might be starting for the group of validators. 
-	 */
-	private void notifyGroupListenersStarting(final IResource resource,	 
-			final ValidationState state, final IProgressMonitor monitor, 
-			Map<String, IValidatorGroupListener[]> groupListeners, Validator.V2 v2) {
-		
-		String[] groups = v2.getValidatorGroups();
-		for (String group : groups) {
-			if (!groupListeners.containsKey(group)) {
-				IValidatorGroupListener[] createdListeners = null;
-				try {
-					createdListeners = ValidatorGroupExtensionReader.getDefault().createListeners(group);
-				}
-				catch (CoreException e){
-					String msg = NLS.bind(ValMessages.ErrConfig, v2.getId());
-					Status status = new Status(IStatus.ERROR, ValidationPlugin.PLUGIN_ID, msg);
-					CoreException core = new CoreException(status);
-					ValidationPlugin.getPlugin().handleException(core);
-					ValidationPlugin.getPlugin().handleException(e);
-					
-					// we create this to ensure that we don't signal the same exception over and over. 
-					createdListeners = new IValidatorGroupListener[0];
-				}
-				
-				// create and notify just this once
-				final IValidatorGroupListener[] listeners = createdListeners;
-					
-				groupListeners.put(group, listeners);
-				for (final IValidatorGroupListener listener : listeners) {
-					SafeRunner.run(new ISafeRunnable() {
-						public void run() throws Exception {
-							listener.validationStarting(resource, monitor, state);
-						}
-
-						public void handleException(Throwable exception) {
-							ValidationPlugin.getPlugin().handleException(exception);
-						}
-					});
-				}
-			}
-		}
-	}
-
-	/**
-	 * Let the group listeners know that validation is finished for the group of validators. 
-	 */
-	private void notifyGroupFinishing(final IResource resource, 
-			final ValidationState state, final IProgressMonitor monitor,
-			Map<String, IValidatorGroupListener[]> groupListeners) {
-		for (final IValidatorGroupListener[] listeners : groupListeners.values()) {
-			for (final IValidatorGroupListener listener : listeners) {
-				SafeRunner.run(new ISafeRunnable() {
-					public void run() throws Exception {
-						listener.validationFinishing(resource, monitor, state);
-					}
-
-					public void handleException(Throwable exception) {
-						ValidationPlugin.getPlugin().handleException(exception);
-					}
-				});
-			}
-		}
-	}
-
-	private ValProperty getValProperty(IResource resource, ValType valType, int configNumber) {
-		ValProperty vp = null;
-		try {
-			if (valType == ValType.Build)vp = (ValProperty)resource.getSessionProperty(StatusBuild);
-			else if (valType == ValType.Manual)vp = (ValProperty)resource.getSessionProperty(StatusManual);
-		}
-		catch (CoreException e){
-			// don't care about this one
-		}
-		if (vp == null)return null;
-		if (vp.getConfigNumber() != _configNumber.get())return null;
-		return vp;
-	}
-	
-	/**
-	 * Let the validation manager know that a project has been changed.
-	 * 
-	 * @param project The project that has been opened, created, or had it's description change.
-	 */
-	public void projectChanged(IProject project){
-		ValidatorProjectManager.reset();
-		_projectPreferences.remove(project);
-		_cache.reset(project);
-	}
-	
-	/**
-	 * Let the validation manager know that a project has been removed.
-	 * 
-	 * @param project The project that has been closed or deleted.
-	 * 
-	 */
-	public void projectRemoved(IProject project){
-		ValidatorProjectManager.reset();
-		_projectPreferences.remove(project);
-		_cache.reset(project);
-	}
-	
-	/**
-	 * Clear the validation properties.
-	 * @param resource
-	 */
-	public void clearValProperty(IResource resource){
-		if (!resource.isAccessible())return;
-		try {
-			resource.setSessionProperty(StatusBuild, null);
-			resource.setSessionProperty(StatusManual, null);
-		} 
-		catch (CoreException e) {
-		}		
-	}
-	
-	private void putValProperty(ValProperty vp, IResource resource, ValType valType) {
-		try {
-			if (!(resource.isAccessible())) return;
-			if (valType == ValType.Build)resource.setSessionProperty(StatusBuild, vp);
-			else if (valType == ValType.Manual)resource.setSessionProperty(StatusManual, vp);
-		} 
-		catch (CoreException e) {
-	        // If the resource is not found, it is likely just been deleted 
-	        // and there is no need to do anything. 
-	        // See https://bugs.eclipse.org/bugs/show_bug.cgi?id=269022
-	        if (!e.getStatus().equals(IResourceStatus.RESOURCE_NOT_FOUND)) {
-	                ValidationPlugin.getPlugin().handleException(e, IStatus.WARNING);
-	        }
-		}
-	}
-
-	/**
-	 * Let each of the enabled validators know that a clean has been requested.
-	 * 
-	 * @param project the project that is being cleaned, or null if the entire workspace is being cleaned.
-	 * @param monitor
-	 */
-	void clean(final IProject project, final ValOperation operation, final IProgressMonitor monitor) {
-		IValidatorVisitor visitor = new IValidatorVisitor(){
-
-			public void visit(Validator validator, IProject project, ValType valType,
-				ValOperation operation, IProgressMonitor monitor) {
-				validator.clean(project, operation, monitor);					
-			}
-			
-		};
-		accept(visitor, project, ValType.Build, operation, monitor);
-	}
-	
-	/**
-	 * Let each of the enabled validators know that a clean has been requested.
-	 * 
-	 * @param project the project that is being cleaned, or null if the entire workspace is being cleaned.
-	 * @param monitor
-	 */
-	public void clean(IProject project, IProgressMonitor monitor){
-		IValidatorVisitor visitor = new IValidatorVisitor(){
-
-			public void visit(Validator validator, IProject project, ValType valType,
-				ValOperation operation, IProgressMonitor monitor) {
-				validator.clean(project, operation, monitor);					
-			}
-			
-		};
-		ValidationFramework.getDefault().getDependencyIndex().clear(project);
-		ValOperation operation = new ValOperation();
-		accept(visitor, project, ValType.Build, operation, monitor);
-	}
-
-	public void validatorsForProjectChanged(IProject project, boolean validationSettingChanged) {
-		if (validationSettingChanged){
-			if (project != null)_projectPreferences.remove(project);
-			configHasChanged();
-		}
-	}
-		
-	private final class HasValidatorVisitor implements IResourceVisitor {
-		
-		private boolean 			_hasValidator;
-		private final boolean		_isManual;
-		private final boolean		_isBuild;
-		
-		public HasValidatorVisitor(boolean isManual, boolean isBuild){
-			_isManual = isManual;
-			_isBuild = isBuild;			
-		}
-		
-		public boolean hasValidator(IFolder folder){
-			try {
-				folder.accept(this);
-			}
-			catch (CoreException e){
-				ValidationPlugin.getPlugin().handleException(e);
-			}
-			return _hasValidator;
-		}
-
-		public boolean visit(IResource resource) throws CoreException {
-			if (resource instanceof IFolder)return true;
-			if (hasValidators(resource, _isManual, _isBuild)){
-				_hasValidator = true;
-				return false;
-			}
-			return true;
-		}
-	}
-	
-	/**
-	 * Map validator id's to an index number on a bit set, so that we can quickly determine if a
-	 * particular validator needs to validate a particular resource.
-	 * @author karasiuk
-	 *
-	 */
-	private final static class ValidatorIdManager {
-		
-		/**
-		 * Map validator id's to Integers. The integers correspond to bits in the ValProperty instances.
-		 */
-		private final Map<String, Integer> _map = new HashMap<String, Integer>(100);
-		
-		/** Next available bit. */
-		private int _next;
-		
-		/**
-		 * Answer the index number for this validator. If we haven't seen it yet allocate a new index number.
-		 * @param id validator id.
-		 * @return index into the validator bit mask.
-		 */
-		public synchronized int getIndex(String id){
-			Integer i = _map.get(id);
-			if (i != null)return i;
-			
-			i = _next++;
-			_map.put(id, i);
-			
-			return i;
-		}				
-	}
-	
-	/**
-	 * This is used to keep track of which validators are enabled with which projects. We want to ensure
-	 * that we don't activate a validator (and it's plug-in) if it has nothing to validate in the workspace.
-	 * This is an immutable object.
-	 * @author karasiuk
-	 *
-	 */
-	private final static class ValidatorProjectManager {
-		
-		private final static AtomicReference<ValidatorProjectManager> _me = new AtomicReference<ValidatorProjectManager>();
-		private final static AtomicInteger _counter = new AtomicInteger();
-		
-		private final ValProjectMap _manual = new ValProjectMap(ValType.Manual);
-		private final ValProjectMap _build = new ValProjectMap(ValType.Build);
-		private final int _sequence;
-		
-		/**
-		 * Answer the most current ValidatorProjectManager creating a new one if you have to.
-		 * @return
-		 */
-		public static ValidatorProjectManager get(){
-			ValidatorProjectManager vpm = _me.get();
-			if (vpm != null)return vpm;
-			
-			int next = _counter.incrementAndGet();
-			ValidatorProjectManager newVpm = null;
-			boolean looking = true;
-			while(looking){
-				vpm = _me.get();
-				if (vpm == null || next > vpm.getSequence()){
-					if (newVpm == null)newVpm = new ValidatorProjectManager(next);
-					if (_me.compareAndSet(vpm, newVpm))return newVpm;
-				}
-				else looking = false;
-			}
-			return vpm;
-		}
-		
-		/**
-		 * Reset the ValidatorProjectManager to null, which will force a newer one to be created the next time
-		 * that it is requested.
-		 */
-		public static void reset(){
-			int next = _counter.incrementAndGet();
-			ValidatorProjectManager vpm = _me.get();
-			if ( vpm == null)return;
-			if (next > vpm.getSequence())_me.compareAndSet(vpm, null);
-		}
-		
-		private ValidatorProjectManager(int sequence){
-			_sequence = sequence;
-		}
-		
-		int getSequence(){
-			return _sequence;
-		}
-		
-		/**
-		 * Should this validator attempt to validate any resources in this project?
-		 * 
-		 * @param validator
-		 *            The validator that is being tested.
-		 * @param project
-		 *            The project that is being tested. This can be null, which
-		 *            means that all projects will be tested.
-		 * @param type
-		 *            The type of validation operation.
-		 * @return true if the validator should attempt to validate.
-		 */
-		public boolean shouldValidate(Validator validator, IProject project, ValType type){
-			if (type == ValType.Build)return _build.shouldValidate(validator, project);
-			if (type == ValType.Manual)return _manual.shouldValidate(validator, project);
-				
-			return false;
-		}		
-				
-		/**
-		 * This is used to keep track of which validators are enabled for which projects. We want to ensure
-		 * that we don't activate a validator (and it's plug-in) if it has nothing to validate in the workspace.
-		 * <p>
-		 * There are two reasons why a validator may not be enabled. It's current project level filters may not match
-		 * the project. Or the entire validator may have been turned off for the project. 
-		 * </p>
-		 * @author karasiuk
-		 *
-		 */
-		private final static class ValProjectMap {
-			/**
-			 * Map a validator to the projects that it validates. This is an immutable object.
-			 * <p>
-			 * I've gone back and forth on whether the key should
-			 * be a Validator or the validator id. I'm back to it being the id because I was
-			 * running into cases where because of copying I wasn't getting the matches that I expected and I
-			 * want to ensure that I don't leak validators. If I run into
-			 * false matches, it is probably because reset isn't being called when it should be.
-			 * </p>
-			 */
-			private final Map<String, Set<IProject>> _map;
-			
-			private final ValType _type;
-						
-			public ValProjectMap(ValType type){
-				_type = type;
-				_map = load();
-			}
-			
-			/**
-			 * Should this validator attempt to validate any resources in this project?
-			 * 
-			 * @param validator
-			 *            The validator that is being tested.
-			 * @param project
-			 *            The project that is being tested. This can be null, which
-			 *            means that all projects will be tested, and if any of them return true, 
-			 *            then true is answered for this method.
-			 *            
-			 * @return true if the validator should attempt to validate.
-			 */
-			public boolean shouldValidate(Validator validator, IProject project){
-				String vid = validator.getId();
-				Set<IProject> projects = _map.get(vid);
-				if (projects == null)return false;
-				if (project == null)return projects.size() > 0;
-				return projects.contains(project);
-			}
-			
-			/**
-			 * For each of the projects in the workspace, load which validators are currently prepared to validate things.
-			 */
-			private Map<String, Set<IProject>> load() {
-				Map<String, Set<IProject>> map = new HashMap<String, Set<IProject>>(50);
-				ValManager vm = ValManager.getDefault();
-				IProject[] projects = ResourcesPlugin.getWorkspace().getRoot().getProjects();
-				Tracing.log("ValManager-02: loading " + projects.length + " projects");  //$NON-NLS-1$//$NON-NLS-2$
-				for (IProject project : projects){
-					if (!project.isOpen())continue;
-					Validator[] vals = vm.getValidators(project);
-					for (Validator v : vals){
-						String vid = v.getId();
-						Set<IProject> set = map.get(vid);
-						if (set == null){
-							set = new HashSet<IProject>(50);
-							map.put(vid, set);
-						}
-						
-						if (v.shouldValidateProject(project, _type))set.add(project);
-					}					
-				}
-				return map;
-			}
-			
-		}
-		
-	}
-
-	public void handleEvent(IFacetedProjectEvent event) {
-		_configNumber.incrementAndGet();
-		projectChanged(event.getProject().getProject());
-	}
-
-	public void projectChanged(IProject project, int type) {
-		switch (type){
-		case IProjectChangeListener.ProjectClosed:
-		case IProjectChangeListener.ProjectDeleted:
-			projectRemoved(project);
-			break;
-		case IProjectChangeListener.ProjectOpened:
-		case IProjectChangeListener.ProjectChanged:
-		case IProjectChangeListener.ProjectAdded:
-			projectChanged(project);
-			break;
-		}		
-	}
-	
-	/**
-	 * Store the singleton for the ValManager. This approach is used to avoid having to synchronize the
-	 * ValManager.getDefault() method.
-	 * 
-	 * @author karasiuk
-	 *
-	 */
-	private static class Singleton {
-		static ValManager valManager = new ValManager();
-	}
-	
-	private final class ValidatorCache {
-		private final ConcurrentMap<IProject, Validator[]> _cache = new ConcurrentHashMap<IProject, Validator[]>(50);
-		private final AtomicReference<Validator[]> _global = new AtomicReference<Validator[]>();
-		
-		public Validator[] getValidatorsCached(IProject project) throws ProjectUnavailableError {
-			Validator[] vals = null;
-			if (project == null){
-				vals = _global.get();
-				if (vals == null){				
-					vals = getValidatorsNotCached(project);
-					_global.set(vals);
-				}
-			}
-			else {
-				vals = _cache.get(project);
-				if (vals == null){
-					vals = getValidatorsNotCached(project);
-					_cache.put(project, vals);
-				}
-			}
-			return vals;
-		}
-		
-		public void reset(){
-			_cache.clear();
-			_global.set(null);
-		}
-		
-		public void reset(IProject project){
-			if (project != null)_cache.remove(project);
-		}
-
-	}
-	
-	public enum UseProjectPreferences {Normal, MustUse, MustNotUse}
-
-}
diff --git a/plugins/org.eclipse.wst.validation/vf2/org/eclipse/wst/validation/internal/ValMessages.java b/plugins/org.eclipse.wst.validation/vf2/org/eclipse/wst/validation/internal/ValMessages.java
deleted file mode 100644
index 2835105..0000000
--- a/plugins/org.eclipse.wst.validation/vf2/org/eclipse/wst/validation/internal/ValMessages.java
+++ /dev/null
@@ -1,95 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2010 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.validation.internal;
-
-import org.eclipse.osgi.util.NLS;
-
-public class ValMessages extends NLS {
-	
-	private static final String BUNDLE_NAME = "org.eclipse.wst.validation.internal.messages"; //$NON-NLS-1$
-	   
-	public static String ConfigError;
-	
-	public static String DecodeError1;
-	public static String Error20;
-	public static String Error21;
-	
-	public static String ErrConfig;	
-	public static String ErrFilterRule;	  
-	public static String ErrGroupName;
-	public static String ErrDependencyVersion;
-	
-	public static String ErrGroupNoType;
-	public static String ErrGroupInvalidType;
-	
-	public static String ErrPatternAttrib;
-	public static String ErrTypeReq;
-	public static String ErrType;
-	
-	public static String VbfExcSyntaxNoValClass;
-	public static String VbfExcSyntaxNoValRun;
-	public static String VbfExcSyntaxNoValNull;
-	
-	public static String GroupInclude;
-	
-	public static String GroupExclude;
-	
-	public static String JobName;
-	public static String JobNameWithProjectName;
-	public static String JobNameMonitor;
-	
-	public static String JobIndexSave;
-	
-	public static String LogValStart;
-	public static String LogValEnd;
-	public static String LogValEndTime;
-	public static String LogValSummary;
-	public static String LogValSummary2;
-	public static String LogSession;
-	
-	public static String MigrationJobName;
-	
-	public static String RogueValidator;
-	
-	public static String RuleProjectNature;
-	public static String RuleFileExt;
-	public static String RuleFile;
-	public static String RuleFolder;
-	public static String RuleFull;
-	public static String RuleContentType;
-	public static String RuleFacet;
-	public static String RulePattern;
-	public static String RuleTargetRuntime;
-	
-	public static String ContentTypeExact;
-	public static String ContentTypeNotExact;
-	
-	public static String FileExtWithCase;
-	public static String FileExtWithoutCase;
-
-	public static String SevError;
-	public static String SevWarning;
-	public static String SevIgnore;
-
-	public static String TimeUnder;
-	public static String TimeNano;
-	public static String TimeMicro;
-	public static String TimeSec;
-	public static String TimeMin;
-	
-	public static String TypeInclude;
-	public static String TypeExclude;
-	
-	static {
-		NLS.initializeMessages(BUNDLE_NAME, ValMessages.class);
-	  }
-
-}
diff --git a/plugins/org.eclipse.wst.validation/vf2/org/eclipse/wst/validation/internal/ValOperation.java b/plugins/org.eclipse.wst.validation/vf2/org/eclipse/wst/validation/internal/ValOperation.java
deleted file mode 100644
index bf65ce4..0000000
--- a/plugins/org.eclipse.wst.validation/vf2/org/eclipse/wst/validation/internal/ValOperation.java
+++ /dev/null
@@ -1,232 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.validation.internal;
-
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Map;
-import java.util.Set;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.wst.validation.ValidationResult;
-import org.eclipse.wst.validation.ValidationResults;
-import org.eclipse.wst.validation.ValidationState;
-import org.eclipse.wst.validation.Validator;
-
-/**
- * This represents a validation operation, i.e. the running of a set of validators in response to some change. 
- * It may be a large operation, as would happen on a clean build, or it may be the validation of just a single
- * resource.
- * <p>
- * The operation can, but doesn't need to, span multiple projects.
- * </p>
- * <p>
- * Once the operation has finished, this object goes away.
- * </p>     
- * @author karasiuk
- *
- */
-public final class ValOperation {
-	
-	private final ValidationState 	_state = new ValidationState();
-	private final ValidationResult	_result = new ValidationResult();
-	
-	/**
-	 * Each project can have a set of validators that are suspended for the duration of the validation operation.
-	 * The set contains the validator's id.
-	 */
-	private final Map<IProject, Set<String>> _suspended = new HashMap<IProject, Set<String>>(40);
-	
-	/** The time that the operation started. */
-	private final long	_started = System.currentTimeMillis();
-	
-	/** 
-	 * Are we in a multi project validation? That is, could we be validating several
-	 * projects at the same time? This can be triggered by either clean all or 
-	 * if auto build is turned off, a build all. 
-	 */
-	private final boolean	_multiProject;
-	
-	/** 
-	 * Holds all the resources that have been validated as a side-effect of running other validations.
-	 * The key is the validator id and the value is a Set of IResources.
-	 */
-	private final Map<String, Set<IResource>> 	_validated = new HashMap<String, Set<IResource>>(20);
-	
-	private final Set<IResource>	_validatedProjects = new HashSet<IResource>(20);
-	
-	public ValOperation(){
-		_multiProject = false;
-	}
-	
-	/**
-	 * 
-	 * @param multiProject Set to true if we could be validating several projects at the same time.
-	 */
-	public ValOperation(boolean multiProject){
-		_multiProject = multiProject;
-	}
-	
-	public ValidationState getState() {
-		return _state;
-	}
-	
-	/**
-	 * Answer a summary of the validation results.
-	 * @return
-	 */
-	public ValidationResultSummary getResult() {
-		synchronized(_result){
-			ValidationResultSummary vrs = new ValidationResultSummary(_result.getSeverityError(), 
-				_result.getSeverityWarning(), _result.getSeverityInfo());
-			return vrs;
-		}
-	}
-		
-	/**
-	 * Answer a copy of the ValidationResult.
-	 * @return
-	 */
-	public ValidationResults getResults(){
-		return new ValidationResults(_result);
-	}
-	
-	/**
-	 * Remember that this resource has already been validated as a side-effect.
-	 *  
-	 * @param id id of the validator
-	 * @param resource resource that has been validated.
-	 */
-	public void addValidated(String id, IResource resource){
-		synchronized(_validated){
-			Set<IResource> set = _validated.get(id);
-			if (set == null){
-				set = new HashSet<IResource>(20);
-				_validated.put(id, set);
-			}
-			set.add(resource);
-		}
-	}
-	
-	/**
-	 * Remember that this resource has been validated
-	 *  
-	 * @param resource resource that has been validated.
-	 */
-	
-	public void addValidatedProject(IResource resource){
-		synchronized(_validatedProjects){
-			if (resource != null)
-				_validatedProjects.add(resource);
-		}
-	}
-	
-	/**
-	 * Answer if this resource has already been validated as a side-effect of some other validation by the
-	 * given validator.
-	 * 
-	 * @param id
-	 * @param resource
-	 */
-	public boolean isValidated(String id, IResource resource){
-		synchronized(_validated){
-			Set<IResource> set = _validated.get(id);
-			if (set == null)return false;
-			
-			return set.contains(resource);
-		}
-	}
-	
-	/**
-	 * Answer if this resource has been validated
-	 * 
-	 * @param resource
-	 */
-	
-	public boolean isValidatedProject(IResource resource){
-		synchronized(_validatedProjects){
-			return _validatedProjects.contains(resource);
-		}
-	}
-
-	/**
-	 * Has this validator been suspended for the duration of this operation on this project?
-	 * 
-	 * @param val
-	 *            The validator that is being checked.
-	 * @param project
-	 *            Can be null, in which case we return false.
-	 * 
-	 * @return true if this validator should not run on this project.
-	 */
-	public boolean isSuspended(Validator val, IProject project) {
-		if (project == null)return false;
-		synchronized(_suspended){
-			Set<String> set = getSuspended(project);		
-			return set.contains(val.getId());
-		}
-	}
-	
-	private Set<String> getSuspended(IProject project){
-		Set<String> set = _suspended.get(project);
-		if (set == null){
-			set = new HashSet<String>(5);
-			_suspended.put(project, set);
-		}
-		return set;
-	}
-
-	void suspendValidation(IProject project, Validator validator) {
-		if (project == null)return;
-		if (validator == null)return;
-		getSuspended(project).add(validator.getId());
-	}
-
-	public long getStarted() {
-		return _started;
-	}
-
-	public boolean isMultiProject() {
-		return _multiProject;
-	}
-
-	/**
-	 * Indicate if the operation was canceled.
-	 * 
-	 * @param canceled
-	 * 		Set to true if it was canceled and false if it was not canceled.
-	 */
-	public void setCanceled(boolean canceled) {
-		synchronized (_result) {
-			_result.setCanceled(canceled);
-		}
-		
-	}
-
-	/**
-	 * Was the operation canceled before it completed? For example if the validation is being run through the
-	 * user interface, the end user can cancel the operation through the progress monitor.
-	 * 
-	 * @return true if the operation was canceled
-	 */
-	public boolean isCanceled() {
-		synchronized (_result) {
-			return _result.isCanceled();
-		}
-	}
-
-	public void mergeResults(ValidationResult vr) {
-		synchronized (_result) {
-			_result.mergeResults(vr);
-		}
-	}
-}
diff --git a/plugins/org.eclipse.wst.validation/vf2/org/eclipse/wst/validation/internal/ValPrefManagerGlobal.java b/plugins/org.eclipse.wst.validation/vf2/org/eclipse/wst/validation/internal/ValPrefManagerGlobal.java
deleted file mode 100644
index 16389dc..0000000
--- a/plugins/org.eclipse.wst.validation/vf2/org/eclipse/wst/validation/internal/ValPrefManagerGlobal.java
+++ /dev/null
@@ -1,668 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2011 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.validation.internal;
-
-import java.lang.reflect.InvocationTargetException;
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-import java.util.concurrent.CopyOnWriteArraySet;
-import java.util.concurrent.atomic.AtomicReference;
-
-import org.eclipse.wst.validation.Friend;
-import org.eclipse.wst.validation.MessageSeveritySetting;
-import org.eclipse.wst.validation.Validator;
-import org.eclipse.wst.validation.Validator.V2;
-import org.eclipse.wst.validation.internal.model.FilterGroup;
-import org.eclipse.wst.validation.internal.model.GlobalPreferences;
-import org.eclipse.wst.validation.internal.model.GlobalPreferencesValues;
-import org.eclipse.wst.validation.internal.plugin.ValidationPlugin;
-import org.osgi.service.prefs.BackingStoreException;
-
-/**
- * A class that knows how to manage the global persisted validation settings.
- * @author karasiuk
- */
-public final class ValPrefManagerGlobal {
-	
-	/** 
-	 * Version of the framework properties.
-	 * <ul>
-	 * <li>Version 2 - used the filter approach
-	 * <li>Version 3 - switched to a difference based approach. (See Bugzilla 224179)
-	 * </ul>
-	 * 
-	 */
-	public final static int frameworkVersion = 3;
-	
-	private final Set<IValChangedListener> _listeners = new CopyOnWriteArraySet<IValChangedListener>();
-	
-	private final AtomicReference<List<Validator>> _validators = new AtomicReference<List<Validator>>();
-	
-	private ValPrefManagerGlobal(){}
-	
-	public static ValPrefManagerGlobal getDefault(){
-		return Singleton.valPrefManagerGlobal;
-	}
-	
-	public void addListener(IValChangedListener listener){
-		_listeners.add(listener);
-	}
-	
-	public void removeListener(IValChangedListener listener){
-		_listeners.remove(listener);
-	}
-	
-	private void updateListeners(boolean validationSettingChanged){
-		for (IValChangedListener cl : _listeners)cl.validatorsForProjectChanged(null, validationSettingChanged); 
-	}
-			
-	/**
-	 * Update the validator filters from the preference store.
-	 *  
-	 * @param val
-	 * 
-	 * @return false if there are no preferences, that means that the user has never changed any
-	 * of the default settings. Also answer false if there was some sort of error, which essentially
-	 * means that the preferences aren't valid for whatever reason.   
-	 * 
-	 * @deprecated
-	 */
-//	public boolean loadPreferences(Validator[] val) {
-//	
-//		try {
-//			IEclipsePreferences pref = ValidationFramework.getDefault().getPreferenceStore();
-//			if (!pref.nodeExists(PrefConstants.filters))return false;
-//		
-//			Preferences filters = pref.node(PrefConstants.filters);
-//			for (Validator v : val){
-//				String id = v.getId();
-//				if (filters.nodeExists(id)){
-//					Preferences vp = filters.node(id);
-//					loadPreferences(v, vp);
-//				}
-//			}			
-//		}
-//		catch (Exception e){
-//			ValidationPlugin.getPlugin().handleException(e);
-//			return false;
-//		}
-//		
-//		return true;
-//	}
-	
-	/**
-	 * Answer the v2 validators that have been overridden by the global preferences.
-	 */
-	public List<Validator> getValidators() throws BackingStoreException {
-		List<Validator> vals = _validators.get();
-		while (vals == null){
-			vals = loadValidators();
-			if (!_validators.compareAndSet(null, vals))vals = _validators.get();
-		}
-		return vals;
-	}
-	
-	/**
-	 * Load the validators from the preference store.
-	 * @return the validators that have been overridden by the global references.
-	 */
-	private List<Validator> loadValidators() throws BackingStoreException {
-		LinkedList<Validator> list = new LinkedList<Validator>();
-		PreferencesWrapper pref = PreferencesWrapper.getPreferences(null, null);
-		if (pref.nodeExists(PrefConstants.vals)){
-			PreferencesWrapper vals = pref.node(PrefConstants.vals);
-			for (String id : vals.childrenNames()){
-				Validator base = ExtensionValidators.instance().getMapV2().get(id);
-				Validator v = loadValidator(id, vals, base);
-				if (v != null){
-					V2 v2 = v.asV2Validator();
-					if (v2 != null)v2.setLevel(Validator.Level.Global);					
-					list.add(v);
-				}
-			}
-		}
-		return list;
-	}
-
-	/**
-	 * Answer a copy of the validator that has been updated with the given preferences.
-	 * 
-	 * @param id
-	 *            Validator id.
-	 * @param valsNode
-	 *            The /vals node in the preference store.
-	 * @param base
-	 *            The base validator that is being customized. This can be null,
-	 *            in which case null will be returned.
-	 * 
-	 * @return A new validator that is a copy of the extension point validator
-	 *         with the updates from the preference store.
-	 */
-	static Validator loadValidator(String id, PreferencesWrapper valsNode, Validator base) {
-		if (base == null)return null;
-		
-		PreferencesWrapper vp = valsNode.node(id);
-		base = base.copy();
-		V2 v2 = base.asV2Validator();
-
-		String global = vp.get(PrefConstants.global, ""); //$NON-NLS-1$
-		if (global.length() > 0){
-		Global g = new Global(global);
-			base.setBuildValidation(g.isBuild());
-			base.setManualValidation(g.isManual());
-			base.setDelegatingId(g.getDelegating());
-		}
-		
-		if (v2 != null){
-			String groups = vp.get(PrefConstants.groups, ""); //$NON-NLS-1$
-			if (groups.length() > 0){
-				List<FilterGroup> list = new LinkedList<FilterGroup>();
-				Deserializer des = new Deserializer(groups);
-				while(des.hasNext())list.add(FilterGroup.create(des));
-				v2.setGroups(list);
-			}
-			
-			String settings = vp.get(PrefConstants.msgs, ""); //$NON-NLS-1$
-			if (settings.length() >0)
-			{
-				Map<String, MessageSeveritySetting.Severity> map = Msgs.deserialize(settings);
-				Map<String, MessageSeveritySetting> msg = base.getMessageSettings();
-			
-				for (Map.Entry<String, MessageSeveritySetting.Severity> me : map.entrySet()){
-					MessageSeveritySetting ms = msg.get(me.getKey());
-					if (ms != null)ms.setCurrent(me.getValue());
-				}	
-			}
-		}					
-		return base;
-	}
-
-	/**
-	 * The only valid way to get the global preferences is through the ValManager.
-	 * 
-	 * @see ValManager#getGlobalPreferences()
-	 */
-	public GlobalPreferences loadGlobalPreferences() {
-		PreferencesWrapper pref = PreferencesWrapper.getPreferences(null, null);
-		GlobalPreferencesValues gp = new GlobalPreferencesValues();
-		gp.saveAutomatically = pref.getBoolean(PrefConstants.saveAuto, GlobalPreferences.DefaultAutoSave);
-		gp.disableAllValidation = pref.getBoolean(PrefConstants.suspend, GlobalPreferences.DefaultSuspend);
-		gp.confirmDialog = pref.getBoolean(PrefConstants.confirmDialog, GlobalPreferences.DefaultConfirm);
-		gp.override = pref.getBoolean(PrefConstants.override, GlobalPreferences.DefaultOverride);
-		gp.version = pref.getInt(PrefConstants.frameworkVersion, GlobalPreferences.DefaultFrameworkVersion);
-		gp.stateTimeStamp = pref.getLong(PrefConstants.stateTS, 0);
-		
-		if (gp.version != frameworkVersion)migrate(gp.version, pref);
-		return new GlobalPreferences(gp);
-	}
-	
-	/**
-	 * If necessary migrate the preferences.
-	 * @param version The incoming version of the preferences.
-	 * @param pref the root of the preference store
-	 */
-	static void migrate(int version, PreferencesWrapper pref) {
-		try {
-			boolean update = false;
-			if (version == 2){
-				if (pref.nodeExists(PrefConstants.filters)){
-					pref.node(PrefConstants.filters).removeNode();
-					update = true;
-				}
-				if (pref.nodeExists(PrefConstants.msgs)){
-					pref.node(PrefConstants.msgs).removeNode();
-					update = true;
-				}
-			}
-			if (update){
-				pref.putInt(PrefConstants.frameworkVersion, frameworkVersion);
-				pref.flush();
-			}
-		}
-		catch (BackingStoreException e){
-			ValidationPlugin.getPlugin().handleException(e);
-		}		
-	}
-
-	/**
-	 * Load the preferences for a validator.
-	 * 
-	 * @param v the validator that is being built up
-	 * @param p the node in the preference tree for the validator, 
-	 * 	e.g. /instance/validator-framework-id/filters/validator-id
-	 * 
-	 * @deprecated
-	 */
-//	static void loadPreferences(Validator v, Preferences p) throws BackingStoreException {
-//		v.setBuildValidation(p.getBoolean(PrefConstants.build, true));
-//		v.setManualValidation(p.getBoolean(PrefConstants.manual, true));
-//		v.setVersion(p.getInt(PrefConstants.version, 1));
-//		v.setDelegatingId(p.get(PrefConstants.delegate, null));
-//		
-//		Validator.V2 v2 = v.asV2Validator();
-//		if (v2 == null)return;
-//		if (!p.nodeExists(PrefConstants.groups))return;
-//		
-//		Preferences groupNode = p.node(PrefConstants.groups);
-//		for (String groupName : groupNode.childrenNames()){
-//			Preferences group = groupNode.node(groupName);
-//			String type = group.get(PrefConstants.type, null);
-//			if (type == null)throw new IllegalStateException(ValMessages.ErrGroupNoType);
-//			FilterGroup fg = FilterGroup.create(type);
-//			if (fg == null)throw new IllegalStateException(NLS.bind(ValMessages.ErrGroupInvalidType, type));
-//			v2.add(fg);
-//			
-//			if (group.nodeExists(PrefConstants.rules)){
-//				Preferences ruleNode = group.node(PrefConstants.rules);
-//				for (String ruleName : ruleNode.childrenNames()){
-//					Preferences rule = ruleNode.node(ruleName);
-//					FilterRule fr = FilterRule.create(rule.get(PrefConstants.ruleType, null));
-//					if (fr != null){
-//						fr.load(rule);
-//						fg.add(fr);
-//					}
-//				}
-//			}
-//		}		
-//	}
-	
-	/**
-	 * Save the validator into the preference store.
-	 * 
-	 * @param validator
-	 *            The validator being saved.
-	 * 
-	 * @param root
-	 *            The top of the preference tree for validators, i.e.
-	 *            /instance/validator-framework-id/vals for workspace validators
-	 *            and /vals for project validators.
-	 *            
-	 * @param baseValidators
-	 *            A map of the validators that are one level higher in the
-	 *            storage hierarchy. So if we are updating the preference page
-	 *            validators, then this map would be the extension point
-	 *            validators. If we are updating a project's validators, then
-	 *            this map would be the preference page validators.
-	 */
-	static void save(Validator validator, PreferencesWrapper root, Map<String, Validator> baseValidators) throws BackingStoreException {
-		Validator.V2 v2 = validator.asV2Validator();
-		if (v2 == null)return;
-		
-		final String id = validator.getId();
-		boolean hasNode = root.nodeExists(id);
-		
-		if (validator.sameConfig(baseValidators.get(id))){
-			if (hasNode){
-				PreferencesWrapper vp = root.node(id);
-				vp.removeNode();
-			}
-			return;
-		}
-		if (!validator.isChanged())return;
-		PreferencesWrapper vp = root.node(id);
-		if (validator.hasGlobalChanges()){
-			Global g = new Global(validator.isManualValidation(), validator.isBuildValidation(), validator.getVersion(),
-				validator.getDelegatingId());
-			vp.put(PrefConstants.global, g.serialize());
-			Friend.setMigrated(validator, false);
-		}
-		
-		if (validator.getChangeCountMessages() > 0){
-			Collection<MessageSeveritySetting> msgs = validator.getMessageSettings().values();
-			if (msgs.size() > 0){
-				vp.put(PrefConstants.msgs, Msgs.serialize(msgs));
-			}
-		}
-		
-		if (v2.getChangeCountGroups() > 0){
-			FilterGroup[] groups = v2.getGroups();
-			if (groups.length > 0){
-				Serializer ser = new Serializer(500);
-				for (FilterGroup group : groups)group.save(ser);
-				vp.put(PrefConstants.groups, ser.toString());
-			}
-		}
-	}
-	/**
-	 * Save the validator into the preference store.
-	 * 
-	 * @param validator
-	 *            The validator being saved.
-	 * 
-	 * @param root
-	 *            The top of the preference tree for validators, i.e.
-	 *            /instance/validator-framework-id/vals for workspace validators
-	 *            and /vals for project validators.
-	 *            
-	 * @param baseValidators
-	 *            A map of the validators that are one level higher in the
-	 *            storage hierarchy. So if we are updating the preference page
-	 *            validators, then this map would be the extension point
-	 *            validators. If we are updating a project's validators, then
-	 *            this map would be the preference page validators.
-	 */
-	static void save(ValidatorMutable validator, PreferencesWrapper root, Map<String, Validator> baseValidators) throws BackingStoreException {
-		if (!validator.isV2Validator())return;
-		
-		PreferencesWrapper vp = root.node(validator.getId());
-		if (validator.sameConfig(baseValidators.get(validator.getId()))){
-			vp.removeNode();
-			return;
-		}
-		if (!validator.isChanged())return;
-		if (validator.hasGlobalChanges()){
-			Global g = new Global(validator.isManualValidation(), validator.isBuildValidation(), validator.getVersion(),
-				validator.getDelegatingId());
-			vp.put(PrefConstants.global, g.serialize());
-//			Friend.setMigrated(validator, false);
-		}
-				
-		if (validator.getChangeCountGroups() > 0){
-			FilterGroup[] groups = validator.getGroups();
-			if (groups.length > 0){
-				Serializer ser = new Serializer(500);
-				for (FilterGroup group : groups)group.save(ser);
-				vp.put(PrefConstants.groups, ser.toString());
-			}
-		}
-		if (validator.getChangeCountMessages() > 0){
-			Collection<MessageSeveritySetting> msgs = validator.getMessageSettings().values();
-			if (msgs.size() > 0){
-				vp.put(PrefConstants.msgs, Msgs.serialize(msgs));
-			}
-		}
-		
-	}
-	
-	public void saveAsPrefs(Validator[] val) {
-		try {
-			PreferencesWrapper pref = PreferencesWrapper.getPreferences(null, null);
-			PreferencesWrapper vals = pref.node(PrefConstants.vals);
-			Map<String, Validator> base = ExtensionValidators.instance().getMapV2();
-			for (Validator v : val)save(v, vals, base);
-			pref.flush();
-			_validators.set(null);
-			updateListeners(true);
-		}
-		catch (BackingStoreException e){
-			throw new RuntimeException(e);
-		}
-	}
-
-	
-	/**
-	 * Save the global preferences and the validators.
-	 */
-	public synchronized void savePreferences(GlobalPreferences gp, Validator[] validators){
-		try {
-			PreferencesWrapper prefs = PreferencesWrapper.getPreferences(null, null);
-			savePreferences(prefs, gp);
-			PreferencesWrapper vals = prefs.node(PrefConstants.vals);
-
-			Map<String, Validator> base = ExtensionValidators.instance().getMapV2();
-			for (Validator v : validators)save(v, vals, base);
-			prefs.flush();
-			_validators.set(null);
-			updateListeners(true);
-		}
-		catch (BackingStoreException e){
-			ValidationPlugin.getPlugin().handleException(e);
-		}
-	}
-	
-	/**
-	 * Save the global preferences and the validators.
-	 */
-	public synchronized void savePreferences(GlobalPreferences gp, ValidatorMutable[] validators, Boolean persist){
-		try {
-			PreferencesWrapper prefs = PreferencesWrapper.getPreferences(null, persist);
-			savePreferences(prefs, gp);
-			PreferencesWrapper vals = prefs.node(PrefConstants.vals);
-			Map<String, Validator> base = ExtensionValidators.instance().getMapV2();
-			for (ValidatorMutable v : validators)save(v, vals, base);
-
-			prefs.flush();
-			_validators.set(null);
-			updateListeners(true);
-		}
-		catch (BackingStoreException e){
-			ValidationPlugin.getPlugin().handleException(e);
-		}
-	}
-		
-	/**
-	 * Save the V1 preferences, so that the old validators continue to work.
-	 */
-	public static void saveV1Preferences(ValidatorMutable[] validators, Boolean persistent){
-		try {
-			GlobalConfiguration gc = ConfigurationManager.getManager().getGlobalConfiguration();
-			gc.setEnabledManualValidators(getEnabledManualValidators(validators));				
-			gc.setEnabledBuildValidators(getEnabledBuildValidators(validators));
-
-			gc.passivate();
-			gc.store(persistent);
-		}
-		catch (InvocationTargetException e){
-			ValidationPlugin.getPlugin().handleException(e);
-		}			
-	}
-
-	/**
-	 * Answer all the V1 validators that are manually enabled.
-	 * @return
-	 */
-	private static ValidatorMetaData[] getEnabledManualValidators(ValidatorMutable[] validators) {
-		List<ValidatorMetaData> list = new LinkedList<ValidatorMetaData>();
-		for (ValidatorMutable v : validators){
-			if (v.isManualValidation() && v.isV1Validator())list.add(v.getVmd());
-		}
-		ValidatorMetaData[] result = new ValidatorMetaData[list.size()];
-		list.toArray(result);
-		return result;
-	}
-
-	/**
-	 * Answer all the V1 validators that are enabled for build.
-	 * @return
-	 */
-	private static ValidatorMetaData[] getEnabledBuildValidators(ValidatorMutable[] validators) {
-		List<ValidatorMetaData> list = new LinkedList<ValidatorMetaData>();
-		for (ValidatorMutable v : validators){
-			if (v.isBuildValidation() && v.isV1Validator())list.add(v.getVmd());
-		}
-		ValidatorMetaData[] result = new ValidatorMetaData[list.size()];
-		list.toArray(result);
-		return result;
-	}
-
-	
-	/**
-	 * Save the global preferences and the validators.
-	 */
-	public synchronized void savePreferences(){
-		try {
-			GlobalPreferences gp = ValManager.getDefault().getGlobalPreferences();
-			PreferencesWrapper prefs = PreferencesWrapper.getPreferences(null, null);
-			savePreferences(prefs, gp);
-			prefs.flush();
-			updateListeners(true);
-		}
-		catch (BackingStoreException e){
-			ValidationPlugin.getPlugin().handleException(e);
-		}
-	}
-	
-	/**
-	 * Save the global preferences and the validators.
-	 */
-	private void savePreferences(PreferencesWrapper prefs, GlobalPreferences gp){
-		prefs.putBoolean(PrefConstants.saveAuto, gp.getSaveAutomatically());
-		prefs.putBoolean(PrefConstants.suspend, gp.getDisableAllValidation());
-		prefs.putLong(PrefConstants.stateTS, gp.getStateTimeStamp());
-		prefs.putBoolean(PrefConstants.confirmDialog, gp.getConfirmDialog());
-		prefs.putBoolean(PrefConstants.override, gp.getOverride());
-		prefs.putInt(PrefConstants.frameworkVersion, ValPrefManagerGlobal.frameworkVersion);
-	}
-
-	/**
-	 * Update any message preferences in the map.
-	 * @param validator
-	 * @param settings
-	 */
-	public void loadMessages(Validator validator, Map<String, MessageSeveritySetting> settings) {
-		PreferencesWrapper pref = PreferencesWrapper.getPreferences(null, null);
-		try {
-			loadMessageSettings(validator, settings, pref);
-		}
-		catch (BackingStoreException e){
-			ValidationPlugin.getPlugin().handleException(e);
-		}
-	}
-		
-	/**
-	 * Load the message preferences for the validator into the map.
-	 * 
-	 * @param val
-	 * @param settings
-	 * @param root the root of the preference store
-	 */
-	static void loadMessageSettings(Validator val, Map<String, MessageSeveritySetting> settings, PreferencesWrapper root) 
-		throws BackingStoreException {
-		if (!root.nodeExists(PrefConstants.vals))return;
-		
-		PreferencesWrapper vals = root.node(PrefConstants.vals); 
-		if (!vals.nodeExists(val.getId()))return;
-		
-		PreferencesWrapper valPrefs = vals.node(val.getId());
-		String msgs = valPrefs.get(PrefConstants.msgs, ""); //$NON-NLS-1$
-		if (msgs.length() == 0)return;
-		
-		Map<String, MessageSeveritySetting.Severity> map = Msgs.deserialize(msgs);
-		
-		for (Map.Entry<String, MessageSeveritySetting.Severity> me : map.entrySet()){
-			MessageSeveritySetting ms = settings.get(me.getKey());
-			if (ms != null)ms.setCurrent(me.getValue());
-		}		
-	}
-
-	/**
-	 * Save whether the validator is enabled or not. 
-	 * @param validator
-	 * @param prefs up to the filter part of the preference tree
-	 */
-//	private void saveShallowPreference(Validator validator, Preferences prefs) {
-//		if (validator.asV2Validator() == null)return;
-//		Preferences val = prefs.node(validator.getId());
-//		val.putBoolean(PrefConstants.build, validator.isBuildValidation());
-//		val.putBoolean(PrefConstants.manual, validator.isManualValidation());
-//		val.putInt(PrefConstants.version, validator.getVersion());
-//	}
-	
-//	/**
-//	 * Load the customized message settings from the preference store.
-//	 * @param messageSettings
-//	 */
-//	public void loadMessageSettings(Validator val, MessageCategory[] messageSettings) {
-//		try {
-//			loadMessageSettings(val, messageSettings, ValidationFramework.getDefault().getPreferenceStore());
-//		}
-//		catch (Exception e){
-//			ValidationPlugin.getPlugin().handleException(e);
-//		}
-//	}
-	
-	private final static class Global {
-		private final boolean 	_manual;
-		private final boolean 	_build;
-		private final int		_version;
-		private final String	_delegating;
-		
-		public Global(String value){
-			Deserializer d = new Deserializer(value);
-			_manual = d.getBoolean();
-			_build = d.getBoolean();
-			_version = d.getInt();
-			_delegating = d.hasNext() ? d.getString() : null;
-		}
-		
-		public Global(boolean manual, boolean build, int version, String delegating){
-			_manual = manual;
-			_build = build;
-			_version = version;
-			_delegating = delegating;
-		}
-		
-		public String serialize(){
-			Serializer s = new Serializer(50);
-			s.put(_manual);
-			s.put(_build);
-			s.put(_version);
-			if (_delegating != null)s.put(_delegating);
-			return s.toString();
-		}
-
-		public boolean isManual() {
-			return _manual;
-		}
-
-		public boolean isBuild() {
-			return _build;
-		}
-
-		public String getDelegating() {
-			return _delegating;
-		}
-	}
-	
-	private final static class Msgs {
-		public static String serialize(Collection<MessageSeveritySetting> messages){
-			Serializer s = new Serializer(100);
-			for (MessageSeveritySetting ms : messages){
-				s.put(ms.getId());
-				s.put(ms.getCurrent().ordinal());
-			}
-			return s.toString();	
-		}
-		
-		/**
-		 * Answer a map for all the messages.
-		 * The key is the message id and the value is the current setting for that message
-		 * @param v
-		 * @return
-		 */
-		public static Map<String, MessageSeveritySetting.Severity> deserialize(String v){
-			Map<String, MessageSeveritySetting.Severity> map = new HashMap<String, MessageSeveritySetting.Severity>(10);
-			Deserializer d = new Deserializer(v);
-			while(d.hasNext()){
-				String id = d.getString();
-				int sev = d.getInt();
-				map.put(id, MessageSeveritySetting.Severity.values()[sev]);
-			}
-			return map;
-		}
-	}
-	
-	/**
-	 * Store the singleton for the ValPrefManagerGlobal. This approach is used to avoid having to synchronize the
-	 * ValPrefManagerGlobal.getDefault() method.
-	 * 
-	 * @author karasiuk
-	 *
-	 */
-	private final static class Singleton {
-		final static ValPrefManagerGlobal valPrefManagerGlobal = new ValPrefManagerGlobal();
-	}
-
-}
diff --git a/plugins/org.eclipse.wst.validation/vf2/org/eclipse/wst/validation/internal/ValPrefManagerProject.java b/plugins/org.eclipse.wst.validation/vf2/org/eclipse/wst/validation/internal/ValPrefManagerProject.java
deleted file mode 100644
index c28b031..0000000
--- a/plugins/org.eclipse.wst.validation/vf2/org/eclipse/wst/validation/internal/ValPrefManagerProject.java
+++ /dev/null
@@ -1,388 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.validation.internal;
-
-import java.lang.reflect.InvocationTargetException;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.wst.validation.Friend;
-import org.eclipse.wst.validation.IMutableValidator;
-import org.eclipse.wst.validation.MessageSeveritySetting;
-import org.eclipse.wst.validation.MutableProjectSettings;
-import org.eclipse.wst.validation.Validator;
-import org.eclipse.wst.validation.Validator.V2;
-import org.eclipse.wst.validation.internal.model.ProjectPreferences;
-import org.eclipse.wst.validation.internal.plugin.ValidationPlugin;
-import org.osgi.service.prefs.BackingStoreException;
-
-/**
- * A class that knows how to manage the project level persisted validation settings.
- * @author karasiuk
- *
- */
-public final class ValPrefManagerProject {
-	
-	private final IProject	_project;
-	private final static List<IValChangedListener> _listeners = new LinkedList<IValChangedListener>();
-	
-	/**
-	 * The validators that are in the project preference file, but have
-	 * only been configured to the global preference level. That is they have not had
-	 * any project level customizations applied yet.
-	 */
-	private List<Validator> _validators;
-	
-	public ValPrefManagerProject(IProject project){
-		assert project != null;
-		_project = project;
-	}
-	
-	public static void addListener(IValChangedListener listener){
-		if (_listeners.contains(listener))return;
-		_listeners.add(listener);
-	}
-	
-	public static void removeListener(IValChangedListener listener){
-		_listeners.remove(listener);
-	}
-	
-	private static void updateListeners(IProject project){
-		for (IValChangedListener cl : _listeners)cl.validatorsForProjectChanged(project, true); 
-	}
-
-	
-	/**
-	 * Answer whether or not this project has validation settings.
-	 *   
-	 * @return true if it has settings. This does not mean that the settings are enabled, only that it
-	 * has settings.
-	 * 
-	 * @deprecated
-	 */
-	public boolean hasProjectSpecificSettings(){
-		PreferencesWrapper pref = getPreferences(null);
-		
-		if (pref == null)return false;
-		return true;
-	}
-	
-	/**
-	 * Answer the v2 validators that have been overridden by the project
-	 * preferences. The validators will not have the preference store's
-	 * customizations applied yet. The purpose of this method, is to identify the subset of validators 
-	 * that may later be configured.
-	 * 
-	 * @param baseValidators
-	 *            V2 validators from the extension points, and customized by any
-	 *            global preferences.
-	 */
-	public List<Validator> getValidators(Map<String, Validator> baseValidators) throws BackingStoreException {
-		List<Validator> vals = _validators;
-		if (vals == null){
-			vals = loadValidators(baseValidators);
-			_validators = vals;
-		}
-		return vals;
-	}
-	
-	/**
-	 * Load the validators from the preference store. The validators will not have the preference store's
-	 * customizations applied yet. The purpose of this method, is to identify the subset of validators 
-	 * that may later be configured.
-	 * 
-	 * @param baseValidators
-	 *            V2 validators from the extension points, and customized by any
-	 *            global preferences.
-	 * @return the validators that are in the project preference file, but have
-	 *         only been configured to the global preference level. That is they have not had
-	 *         any project level customizations applied yet.
-	 */
-	private List<Validator> loadValidators(Map<String, Validator> baseValidators) throws BackingStoreException {
-		List<Validator> list = new LinkedList<Validator>();
-		PreferencesWrapper pref = getPreferences(null);
-		if (pref.nodeExists(PrefConstants.vals)){
-			PreferencesWrapper vals = pref.node(PrefConstants.vals);
-			for (String id : vals.childrenNames()){
-				Validator base = baseValidators.get(id);
-				Validator v = ValPrefManagerGlobal.loadValidator(id, vals, base);
-				if (v != null){
-					V2 v2 = v.asV2Validator();
-					if (v2 != null)v2.setLevel(Validator.Level.Project);					
-					list.add(v);
-				}
-			}
-		}
-		return list;
-	}
-		
-	/**
-	 * Answer the setting of the getOverride field.
-	 */
-	public boolean getOverride(){
-		PreferencesWrapper pref = getPreferences(null);
-		
-		if (!pref.nodeExists())return ProjectPreferences.DefaultOverride;
-		
-		int version = pref.getInt(PrefConstants.frameworkVersion, 0);
-		if (version == 0){
-			try {
-				ProjectConfiguration pc = ConfigurationManager.getManager().getProjectConfiguration(_project);
-				return pc.getDoesProjectOverride();
-			}
-			catch (InvocationTargetException e){
-				// eat it, if it fails we just go with the defaults
-			}
-		}
-		return pref.getBoolean(PrefConstants.override, ProjectPreferences.DefaultOverride);
-	}
-
-	private ProjectPreferences migrateFromBeforeWTP30(IProject project, Map<String, Validator> baseValidators) {
-		try {
-			ProjectConfiguration pc = ConfigurationManager.getManager().getProjectConfiguration(project);
-			
-			List<Validator> list = migrateFromBeforeWTP30(baseValidators, pc);
-			Validator[] vals = new Validator[list.size()];
-			list.toArray(vals);
-			return new ProjectPreferences(project, pc.getDoesProjectOverride(), pc.isDisableAllValidation(), vals);
-		}
-		catch (InvocationTargetException e){
-			// eat it, if it fails we just go with the defaults
-		}
-		return new ProjectPreferences(project);
-	}
-
-	private List<Validator> migrateFromBeforeWTP30(Map<String, Validator> baseValidators, ProjectConfiguration pc)
-			throws InvocationTargetException {
-				
-		Set<String> build = pc.getEnabledBuildlValidators();
-		Set<String> manual = pc.getEnabledManualValidators();
-		
-		List<Validator> list = new LinkedList<Validator>();
-		for (Validator v : baseValidators.values()){
-			V2 v2 = v.asV2Validator();
-			if (v2 != null){
-				boolean isBuild = build == null || build.contains(v2.getValidatorClassname());
-				boolean isManual = manual == null || manual.contains(v2.getValidatorClassname());
-				if ((v.isBuildValidation() != isBuild) || (v.isManualValidation() != isManual)){
-					V2 copy = v2.copy().asV2Validator();
-					copy.setBuildValidation(isBuild);
-					copy.setManualValidation(isManual);
-					copy.setLevel(Validator.Level.Project);
-					Friend.setMigrated(copy, true);
-					list.add(copy);
-				}
-			}
-		}
-		return list;
-	}
-	
-	
-	/**
-	 * Answer the project preferences from the preference store.
-	 * @return null if the project does not have any specific preferences.
-	 */
-	public ProjectPreferences loadProjectPreferences(IProject project, Map<String, Validator> baseValidators) 
-		throws BackingStoreException {
-		
-		PreferencesWrapper pref = getPreferences(null);
-
-		if (pref == null)return null;
-		int version = pref.getInt(PrefConstants.frameworkVersion, 0);
-		if (version == 0){
-			// This means that we have a project that is before WTP 3.0
-			return migrateFromBeforeWTP30(project, baseValidators);
-		}
-		
-		if (version != ValPrefManagerGlobal.frameworkVersion)ValPrefManagerGlobal.migrate(version, pref);
-
-		if (!pref.nodeExists(PrefConstants.vals)){
-			return new ProjectPreferences(project, pref.getBoolean(PrefConstants.override, ProjectPreferences.DefaultOverride),
-				pref.getBoolean(PrefConstants.suspend, ProjectPreferences.DefaultSuspend), new Validator[0]);
-		}
-		
-		PreferencesWrapper vp = pref.node(PrefConstants.vals);
-		List<Validator> list = new LinkedList<Validator>();
-		for (String id : vp.childrenNames()){
-			Validator base = baseValidators.get(id);
-			Validator v = ValPrefManagerGlobal.loadValidator(id, vp, base);
-			if (v != null){
-				V2 v2 = v.asV2Validator();
-				if (v2 != null)v2.setLevel(Validator.Level.Project);
-				list.add(v);
-			}
-		}
-		Validator[] vals = new Validator[list.size()];
-		list.toArray(vals);
-		return new ProjectPreferences(project, pref.getBoolean(PrefConstants.override, ProjectPreferences.DefaultOverride),
-			pref.getBoolean(PrefConstants.suspend, ProjectPreferences.DefaultSuspend), vals);
-	}
-
-	private PreferencesWrapper getPreferences(Boolean persist) {
-		return PreferencesWrapper.getPreferences(_project, persist);
-	}
-
-	public void savePreferences(ProjectPreferences projectPreferences) {
-		Validator[] validators = projectPreferences.getValidators();
-		PreferencesWrapper pref = getPreferences(null);
-		pref.putBoolean(PrefConstants.suspend, projectPreferences.getSuspend());
-		pref.putBoolean(PrefConstants.override, projectPreferences.getOverride());
-		pref.putInt(PrefConstants.frameworkVersion, ValPrefManagerGlobal.frameworkVersion);
-		PreferencesWrapper vals = pref.node(PrefConstants.vals);
-		try {
-			Validator[] workspaceVals = ValManager.getDefault().getValidators();
-			Map<String, Validator> base = new HashMap<String, Validator>(workspaceVals.length);
-			for (Validator v : workspaceVals)base.put(v.getId(), v);
-			for (Validator v : validators)ValPrefManagerGlobal.save(v, vals, base);
-			pref.flush();
-			ProjectConfiguration pc = ConfigurationManager.getManager()
-				.getProjectConfiguration(projectPreferences.getProject());
-			pc.setEnabledBuildValidators(getEnabledBuildValidators(validators));
-			pc.setEnabledManualValidators(getEnabledManualValidators(validators));
-			pc.passivate();
-			pc.store();
-			updateListeners(_project);
-		}
-		catch (Exception e){
-			ValidationPlugin.getPlugin().handleException(e);
-		}		
-	}
-
-	public void savePreferences(ProjectPreferences projectPreferences, ValidatorMutable[] validators) {
-		PreferencesWrapper pref = getPreferences(null);
-		pref.putBoolean(PrefConstants.suspend, projectPreferences.getSuspend());
-		pref.putBoolean(PrefConstants.override, projectPreferences.getOverride());
-		pref.putInt(PrefConstants.frameworkVersion, ValPrefManagerGlobal.frameworkVersion);
-		try {
-			savePreferences(validators, false, null);
-			pref.flush();
-			updateListeners(_project);
-		}
-		catch (Exception e){
-			ValidationPlugin.getPlugin().handleException(e);
-		}		
-	}
-	
-	public void savePreferences(MutableProjectSettings settings, Boolean persist){
-		IProject project = settings.getProject();
-		PreferencesWrapper pref = PreferencesWrapper.getPreferences(project, persist);
-		pref.putBoolean(PrefConstants.suspend, settings.getSuspend());
-		pref.putBoolean(PrefConstants.override, settings.getOverride());
-		pref.putInt(PrefConstants.frameworkVersion, ValPrefManagerGlobal.frameworkVersion);
-		
-		IMutableValidator[] vms = settings.getValidators();
-		ValidatorMutable[] validators = new ValidatorMutable[vms.length];
-		for (int i=0; i<vms.length;i++)validators[i] = (ValidatorMutable)vms[i];
-		
-		try {
-			savePreferences(validators, false, persist);
-			pref.flush();
-			updateListeners(project);
-		}
-		catch (Exception e){
-			if (project.isAccessible())ValidationPlugin.getPlugin().handleException(e);
-		}
-	}
-	
-	public void savePreferences(ValidatorMutable[] validators, boolean flush, Boolean persist){
-		PreferencesWrapper pref = getPreferences(persist);
-		pref.putInt(PrefConstants.frameworkVersion, ValPrefManagerGlobal.frameworkVersion);
-		PreferencesWrapper vals = pref.node(PrefConstants.vals);
-		try {
-			Validator[] workspaceVals = ValManager.getDefault().getValidators();
-			Map<String, Validator> base = new HashMap<String, Validator>(workspaceVals.length);
-			for (Validator v : workspaceVals)base.put(v.getId(), v);
-			for (ValidatorMutable v : validators)ValPrefManagerGlobal.save(v, vals, base);
-			ProjectConfiguration pc = ConfigurationManager.getManager().getProjectConfiguration(_project);
-			pc.setEnabledBuildValidators(getEnabledBuildValidators(validators));
-			pc.setEnabledManualValidators(getEnabledManualValidators(validators));
-			pc.passivate();
-			pc.store();
-			if (flush){
-				pref.flush();
-				updateListeners(_project);
-			}
-		}
-		catch (Exception e){
-			ValidationPlugin.getPlugin().handleException(e);
-		}		
-		
-	}
-	
-	/**
-	 * Answer all the V1 validators that are enabled for build.
-	 * @return
-	 */
-	private Set<ValidatorMetaData> getEnabledBuildValidators(Validator[] validators) {
-		Set<ValidatorMetaData> set = new HashSet<ValidatorMetaData>(50);
-		for (Validator v : validators){
-			if (v.isBuildValidation()){
-				Validator.V1 v1 = v.asV1Validator();
-				if (v1 != null)set.add(v1.getVmd());
-			}
-		}
-		return set;
-	}
-	
-	/**
-	 * Answer all the V1 validators that are enabled for build.
-	 * @return
-	 */
-	private Set<ValidatorMetaData> getEnabledBuildValidators(ValidatorMutable[] validators) {
-		Set<ValidatorMetaData> set = new HashSet<ValidatorMetaData>(50);
-		for (ValidatorMutable v : validators){
-			if (v.isBuildValidation() && v.isV1Validator())set.add(v.getVmd());
-		}
-		return set;
-	}
-	
-	/**
-	 * Answer all the V1 validators that are enabled for manual validation.
-	 * @return
-	 */
-	private Set<ValidatorMetaData> getEnabledManualValidators(Validator[] validators) {
-		Set<ValidatorMetaData> set = new HashSet<ValidatorMetaData>(50);
-		for (Validator v : validators){
-			if (v.isManualValidation()){
-				Validator.V1 v1 = v.asV1Validator();
-				if (v1 != null)set.add(v1.getVmd());
-			}
-		}
-		return set;
-	}
-	
-	/**
-	 * Answer all the V1 validators that are enabled for manual validation.
-	 * @return
-	 */
-	private Set<ValidatorMetaData> getEnabledManualValidators(ValidatorMutable[] validators) {
-		Set<ValidatorMetaData> set = new HashSet<ValidatorMetaData>(50);
-		for (ValidatorMutable v : validators){
-			if (v.isManualValidation() && v.isV1Validator())set.add(v.getVmd());
-		}
-		return set;
-	}
-	
-	public void loadMessages(Validator validator, Map<String, MessageSeveritySetting> settings) {
-		try {
-			ValPrefManagerGlobal.loadMessageSettings(validator, settings, getPreferences(null));
-		}
-		catch (BackingStoreException e){
-			ValidationPlugin.getPlugin().handleException(e);
-		}		
-	}
-
-}
diff --git a/plugins/org.eclipse.wst.validation/vf2/org/eclipse/wst/validation/internal/ValProperty.java b/plugins/org.eclipse.wst.validation/vf2/org/eclipse/wst/validation/internal/ValProperty.java
deleted file mode 100644
index fd001dc..0000000
--- a/plugins/org.eclipse.wst.validation/vf2/org/eclipse/wst/validation/internal/ValProperty.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.validation.internal;
-
-import java.util.BitSet;
-
-/**
- * A resource session property, that is used to improve the performance of the validation framework. This is placed
- * on each resource and it enables the framework to quickly determine if the resource needs to be processed.
- * @author karasiuk
- *
- */
-public class ValProperty {
-/*
- * I did some performance measurements on the IResource#setSessionProperty() and IResource#getSessionProperty()
- * methods, and they were very fast. I used a very large workspace (over 17,000) resources, and you could set (or get)
- * a property on all the resources in under 100ms. 
- */
-	
-	private int 	_configNumber;
-	private BitSet	_configSet = new BitSet(100);
-	
-	private int		_validationNumber;
-	private BitSet	_validationSet = new BitSet(100);
-	
-	public int getConfigNumber() {
-		return _configNumber;
-	}
-	public void setConfigNumber(int configNumber) {
-		_configNumber = configNumber;
-	}
-	public BitSet getConfigSet() {
-		return _configSet;
-	}
-	public int getValidationNumber() {
-		return _validationNumber;
-	}
-	public void setValidationNumber(int validationNumber) {
-		_validationNumber = validationNumber;
-	}
-	public BitSet getValidationSet() {
-		return _validationSet;
-	}
-	
-}
diff --git a/plugins/org.eclipse.wst.validation/vf2/org/eclipse/wst/validation/internal/ValType.java b/plugins/org.eclipse.wst.validation/vf2/org/eclipse/wst/validation/internal/ValType.java
deleted file mode 100644
index 8a97136..0000000
--- a/plugins/org.eclipse.wst.validation/vf2/org/eclipse/wst/validation/internal/ValType.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.validation.internal;
-
-/**
- * Type of validation. Build or Manual?
- * @author karasiuk
- *
- */
-public enum ValType {
-	/** The validation is triggered via a resource change and the build process. */
-	Build, 
-	
-	/** The user manually requested the validation. */
-	Manual,
-}
diff --git a/plugins/org.eclipse.wst.validation/vf2/org/eclipse/wst/validation/internal/ValidationResultSummary.java b/plugins/org.eclipse.wst.validation/vf2/org/eclipse/wst/validation/internal/ValidationResultSummary.java
deleted file mode 100644
index 9e91217..0000000
--- a/plugins/org.eclipse.wst.validation/vf2/org/eclipse/wst/validation/internal/ValidationResultSummary.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2009 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.validation.internal;
-
-/**
- * An immutable object that holds a summary of the validation.
- * @author karasiuk
- *
- */
-public final class ValidationResultSummary {
-	
-	private final int 	_error;
-	private final int 	_warning;
-	private final int	_info;
-	
-	public ValidationResultSummary(int error, int warning, int info){
-		_error = error;
-		_warning = warning;
-		_info = info;
-	}
-
-	public int getSeverityError() {
-		return _error;
-	}
-
-	public int getSeverityWarning() {
-		return _warning;
-	}
-
-	public int getSeverityInfo() {
-		return _info;
-	}
-
-}
diff --git a/plugins/org.eclipse.wst.validation/vf2/org/eclipse/wst/validation/internal/ValidationRunner.java b/plugins/org.eclipse.wst.validation/vf2/org/eclipse/wst/validation/internal/ValidationRunner.java
deleted file mode 100644
index 01bf297..0000000
--- a/plugins/org.eclipse.wst.validation/vf2/org/eclipse/wst/validation/internal/ValidationRunner.java
+++ /dev/null
@@ -1,151 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2009 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.validation.internal;
-
-import java.util.HashMap;
-import java.util.HashSet;
-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.IResource;
-import org.eclipse.core.resources.IResourceDelta;
-import org.eclipse.core.resources.IWorkspace;
-import org.eclipse.core.resources.IWorkspaceRunnable;
-import org.eclipse.core.resources.IncrementalProjectBuilder;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.wst.validation.Validator;
-import org.eclipse.wst.validation.internal.model.IValidatorVisitor;
-
-/**
- * Run the validators on a selected set of resources.
- * <p>
- * This is used to run manual validations (i.e. the user selects the Validate menu item), 
- * or it is invoked programmatically by a third party through the ValidationFramework API.
- * It is not used for the build based invocation.
- * </p> 
- * @author karasiuk
- *
- */
-public final class ValidationRunner implements IWorkspaceRunnable {
-	
-	private Map<IProject, Set<IResource>>		_projects;
-	private	ValType			_valType;
-	private ValOperation	_valOperation;
-	
-	/**
-	 * Validate the selected projects and/or resources.
-	 * 
-	 * @param projects
-	 *            The selected projects. The key is an IProject and the value is
-	 *            the Set of IResources that were selected. Often this will be
-	 *            every resource in the project.
-	 * 
-	 * @param valType
-	 *            The type of validation that has been requested.
-	 * 
-	 * @param monitor
-	 *            Progress monitor.
-	 * 
-	 * @param atomic
-	 *            Run as an atomic workspace operation?
-	 */
-	public static ValOperation validate(Map<IProject, Set<IResource>> projects, ValType valType, 
-		IProgressMonitor monitor, boolean atomic) throws CoreException{
-		ValidationRunner me = new ValidationRunner(projects, valType);
-		if (atomic)ResourcesPlugin.getWorkspace().run(me, null, IWorkspace.AVOID_UPDATE, monitor);
-		else me.execute(monitor);
-		return me._valOperation;
-	}
-	
-	/**
-	 * Validate the selected file. This is a convenience method, it simply calls the more flexible 
-	 * validate with Map method. 
-	 * 
-	 * @param file
-	 *            The file to be validated.
-	 * 
-	 * @param valType
-	 *            The type of validation that has been requested.
-	 * 
-	 * @param monitor
-	 *            Progress monitor.
-	 * 
-	 * @param atomic
-	 *            Run as an atomic workspace operation?
-	 */
-	public static ValOperation validate(IFile file, ValType valType, IProgressMonitor monitor, boolean atomic) throws CoreException{
-	    final Map<IProject, Set<IResource>> map = new HashMap<IProject, Set<IResource>>(1);
-	      
-	    Set<IResource> set = new HashSet<IResource>(1);
-	    set.add(file);
-	    map.put(file.getProject(), set);
-	    return validate(map, valType, monitor, atomic);		
-	}
-	
-	private ValidationRunner(Map<IProject, Set<IResource>> projects, ValType valType){
-		_projects = projects;
-		_valType = valType;
-		
-	}
-	
-	private ValOperation execute(IProgressMonitor monitor){
-		_valOperation = new ValOperation();
-		ValManager manager = ValManager.getDefault();
-		
-		IValidatorVisitor startingVisitor = new IValidatorVisitor(){
-			public void visit(Validator validator, IProject project, ValType valType,
-				ValOperation operation, IProgressMonitor monitor) {
-				validator.validationStarting(project, operation.getState(), monitor);
-			}			
-		};
-		
-		IValidatorVisitor finishedVisitor = new IValidatorVisitor(){
-
-			public void visit(Validator validator, IProject project, ValType valType,
-				ValOperation operation, IProgressMonitor monitor) {
-
-				validator.validationFinishing(project, operation.getState(), monitor);				
-			}			
-		};
-		
-		manager.accept(startingVisitor, null, _valType, _valOperation, monitor);
-				
-		for (Map.Entry<IProject, Set<IResource>> me : _projects.entrySet()){
-			if (monitor.isCanceled()){
-				_valOperation.setCanceled(true);
-				return _valOperation;
-			}
-			IProject project = me.getKey();
-			manager.accept(startingVisitor, project, _valType, _valOperation, monitor);
-			for (IResource resource : me.getValue()){
-				try {
-					manager.validate(project, resource, IResourceDelta.NO_CHANGE, _valType, 
-							IncrementalProjectBuilder.AUTO_BUILD, _valOperation, monitor);
-				}
-				catch (ResourceUnavailableError error){
-					// if the resource is no longer available, we can't validate it, so we should just move on. 
-				}
-			}
-			manager.accept(finishedVisitor, project, _valType, _valOperation, monitor);
-		}
-		manager.accept(finishedVisitor, null, _valType, _valOperation, monitor);
-		return _valOperation;
-	}
-
-	public void run(IProgressMonitor monitor) throws CoreException {
-		execute(monitor);		
-	}
-
-}
diff --git a/plugins/org.eclipse.wst.validation/vf2/org/eclipse/wst/validation/internal/ValidatorExtensionReader.java b/plugins/org.eclipse.wst.validation/vf2/org/eclipse/wst/validation/internal/ValidatorExtensionReader.java
deleted file mode 100644
index 0c78ad5..0000000
--- a/plugins/org.eclipse.wst.validation/vf2/org/eclipse/wst/validation/internal/ValidatorExtensionReader.java
+++ /dev/null
@@ -1,396 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2010 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.validation.internal;
-
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.LinkedList;
-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.IConfigurationElement;
-import org.eclipse.core.runtime.IContributor;
-import org.eclipse.core.runtime.IExtension;
-import org.eclipse.core.runtime.IExtensionPoint;
-import org.eclipse.core.runtime.IExtensionRegistry;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.wst.validation.MessageSeveritySetting;
-import org.eclipse.wst.validation.Validator;
-import org.eclipse.wst.validation.Validator.V2;
-import org.eclipse.wst.validation.internal.model.FilterGroup;
-import org.eclipse.wst.validation.internal.model.FilterRule;
-import org.eclipse.wst.validation.internal.plugin.ValidationPlugin;
-
-/**
- * Process the validator (version 2) extension point.
- * 
- * @author karasiuk
- *
- */
-public class ValidatorExtensionReader {
-	
-	private static ValidatorExtensionReader _me = new ValidatorExtensionReader();
-	
-	public  static ValidatorExtensionReader getDefault(){
-		return _me;
-	}
-	
-	private ValidatorExtensionReader(){}
-	
-	/**
-	 * Process the v2 extensions, returning all the v2 validators.
-	 */
-	Collection<Validator> process() {
-		Map<String,Validator> map = new HashMap<String, Validator>(100);
-		IExtensionPoint extensionPoint = getExtensionPoint();
-		if (extensionPoint == null)return map.values();
-				
-		for (IExtension ext : extensionPoint.getExtensions()){
-			for (IConfigurationElement validator : ext.getConfigurationElements()){
-				String id = ext.getUniqueIdentifier();
-				if (Tracing.isEnabled(id)){
-					Validator v = processValidator(validator, id, ext.getLabel(), null);
-					if (v != null)map.put(v.getId(),v);
-				}
-			}
-		}
-		
-		extensionPoint = getExtensionPointExclude();
-		if (extensionPoint != null){
-			for (IExtension ext : extensionPoint.getExtensions()){
-				for (IConfigurationElement validator : ext.getConfigurationElements()){
-					String id = validator.getAttribute(ExtensionConstants.Exclude.id);
-					Validator v = map.get(id);
-					V2 v2 = null;
-					if (v != null)v2 = v.asV2Validator();
-
-					if (v2 == null){
-						String msg = NLS.bind("Plug-in configuration error, extension {0} references validator id {1} but this id does not exist.",  //$NON-NLS-1$
-							extensionPoint.getUniqueIdentifier(), id);
-						CoreException ex = new CoreException(new Status(IStatus.ERROR, ValidationPlugin.PLUGIN_ID, msg));
-						ValidationPlugin.getPlugin().handleException(ex);
-					}
-					else {
-						for (IConfigurationElement exclude : validator.getChildren()){
-							FilterGroup fg = null;
-							try {
-								fg = createFilterGroup(exclude);
-							}
-							catch (Exception e){
-								ValidationPlugin.getPlugin().handleException(e);
-								IContributor contrib = validator.getContributor();
-								String message = NLS.bind(ValMessages.ErrConfig, contrib.getName());
-								ValidationPlugin.getPlugin().logMessage(IStatus.ERROR, message);								
-							}
-							if (fg != null && fg.isExclude()){
-								mergeExcludeGroup(v2, fg);
-							}
-						}
-					}					
-				}
-			}
-			
-		}
-		
-		for (String removedValidator : getRemovedValidators()){
-			if (removedValidator != null) {
-				map.remove(removedValidator);
-			}
-		}
-
-		return map.values();
-		
-	}
-	
-	/**
-	 * Merge the rules from the filter group into the current exclude group, creating a current exclude
-	 * group if need be.
-	 * @param v2
-	 * @param fg
-	 */
-	private void mergeExcludeGroup(V2 v2, FilterGroup fg){
-		FilterGroup existing = null;
-		for (FilterGroup group : v2.getGroups()){
-			if (group.isExclude()){
-				existing = group;
-				break;
-			}
-		}
-		if (existing == null)v2.add(fg);
-		else {
-			List<FilterRule> rules = new LinkedList<FilterRule>();
-			for (FilterRule rule : existing.getRules())rules.add(rule);
-			
-			for (FilterRule rule : fg.getRules())rules.add(rule);
-			
-			FilterRule[] filterRules = new FilterRule[rules.size()];
-			rules.toArray(filterRules);
-			FilterGroup merged = FilterGroup.create(existing.isExclude(), filterRules);
-			
-			v2.replaceFilterGroup(existing, merged);
-		}
-	}
-	
-	/**
-	 * Process the validator element in a validator extension.
-	 * 
-	 * @param validator
-	 *            The validator element.
-	 * 
-	 * @param deep
-	 *            If true load all the configuration elements for each
-	 *            validator, if false do a shallow load, where only the
-	 *            validator class, id and name's are loaded.
-	 * 
-	 * @param project
-	 *            The project that you are defined in. This can be null which
-	 *            means that you are a global validator.
-	 * 
-	 * @return a configured validator or null if there was an error.
-	 */
-	private Validator processValidator(IConfigurationElement validator, String id, String label, IProject project) {
-		Validator.V2 v = null;
-		try {
-			v = Validator.create(validator, project).asV2Validator();
-			v.setLevel(Validator.Level.Extension);
-			v.setId(id);
-			v.setName(label);
-			v.setBuildValidation(getAttribute(validator, ExtensionConstants.build, true));
-			v.setManualValidation(getAttribute(validator, ExtensionConstants.manual, true));
-			v.setMarkerId(validator.getAttribute(ExtensionConstants.markerId));
-			v.setVersion(getAttribute(validator, ExtensionConstants.version, 1));
-			v.setSourceId(validator.getAttribute(ExtensionConstants.sourceId));
-			IConfigurationElement[] children = validator.getChildren();
-			for (IConfigurationElement child : children)processIncludeAndExcludeElement(v, child);
-		}
-		catch (Exception e){
-			ValidationPlugin.getPlugin().handleException(e);
-			IContributor contrib = validator.getContributor();
-			String message = NLS.bind(ValMessages.ErrConfig, contrib.getName());
-			ValidationPlugin.getPlugin().logMessage(IStatus.ERROR, message);
-		}
-		return v;
-	}
-	
-	/**
-	 * Answer all the messages that this validator has defined.
-	 * @param v
-	 * @return an empty list if the validator did not define any messages.
-	 */
-	public List<MessageSeveritySetting> addMessages(Validator v){
-		List<MessageSeveritySetting> list = new LinkedList<MessageSeveritySetting>();
-		IExtensionPoint extensionPoint = getExtensionPoint();
-		if (extensionPoint == null)return list;
-		IExtension ext = extensionPoint.getExtension(v.getId());
-		if (ext == null)return list;
-		
-		for (IConfigurationElement elem : ext.getConfigurationElements()){
-			for (IConfigurationElement ce : elem.getChildren(ExtensionConstants.MessageCategory.name)){
-				list.add(processMessage(ce));
-			}
-		}
-
-		return list;
-	}
-
-	/**
-	 * Answer the extension point for the v2 validators.
-	 * 
-	 * @return null if there is a problem or no extensions.
-	 */
-	private IExtensionPoint getExtensionPoint() {
-		IExtensionRegistry registry = Platform.getExtensionRegistry();
-		return registry.getExtensionPoint(ValidationPlugin.PLUGIN_ID, ExtensionConstants.validator);
-	}
-
-	/**
-	 * Answer the extension point for adding exclusion filters. This is where another validator can
-	 * further restrict an existing validator.
-	 * 
-	 * @return null if there is a problem or no extensions.
-	 */
-	private IExtensionPoint getExtensionPointExclude() {
-		IExtensionRegistry registry = Platform.getExtensionRegistry();
-		return registry.getExtensionPoint(ValidationPlugin.PLUGIN_ID, ExtensionConstants.excludeExtension);
-	}
-	
-	/**
-	 * Answer the extension point for removing a validator. 
-	 * 
-	 * @return list of validator ID or null if no validator will be removed
-	 */
-	private List<String> getRemovedValidators(){
-		IExtensionRegistry registry = Platform.getExtensionRegistry();
-		IExtensionPoint extensionPoint = registry.getExtensionPoint(ValidationPlugin.PLUGIN_ID, ExtensionConstants.removedValidatorExtension);
-		List<String> val = new LinkedList<String>();
-		for (IExtension ext : extensionPoint.getExtensions()){
-			for (IConfigurationElement validator : ext.getConfigurationElements()){
-				val.add(validator.getAttribute(ExtensionConstants.RemovedValidator.validatorIDAttr));
-			}
-		}
-		return val;
-	}
-	/**
-	 * Process a message element for the validator, by creating a MessageCategory for it.
-	 * 
-	 * @param ce a MessageCategory element.
-	 */
-	private MessageSeveritySetting processMessage(IConfigurationElement ce) {
-		String s = ce.getAttribute(ExtensionConstants.MessageCategory.severity);
-		MessageSeveritySetting.Severity sev = null;
-		if (ExtensionConstants.MessageCategory.sevError.equals(s))sev = MessageSeveritySetting.Severity.Error;
-		else if (ExtensionConstants.MessageCategory.sevWarning.equals(s))sev = MessageSeveritySetting.Severity.Warning;
-		else if (ExtensionConstants.MessageCategory.sevIgnore.equals(s))sev = MessageSeveritySetting.Severity.Ignore;
-		
-		return new MessageSeveritySetting(ce.getAttribute(ExtensionConstants.MessageCategory.id), 
-			ce.getAttribute(ExtensionConstants.MessageCategory.label), sev);		
-	}
-
-	/** 
-	 * Process the include and exclude elements.
-	 * 
-	 *  @param v The validator that we are building up.
-	 *  @param group The children of the validator tag. This may included include and exclude elements.
-	 *  Other elements are ignored. 
-	 */
-	private void processIncludeAndExcludeElement(Validator.V2 v, IConfigurationElement group) {
-		FilterGroup fg = createFilterGroup(group);
-		if (fg != null)v.add(fg);
-	}
-	
-	/**
-	 * Process an include or exclude element, returning a filter group for it.
-	 * 
-	 * @param group
-	 *            An include, exclude or some other element. Only include and
-	 *            exclude elements are processed, other types are ignored.
-	 *            
-	 * @return a filter group that corresponds to the include or exclude
-	 *         element, or null if the element was not an include or exclude
-	 *         element.
-	 */
-	private FilterGroup createFilterGroup(IConfigurationElement group){
-		String name = group.getName();
-		if (!FilterGroup.isKnownName(name))return null; 
-		
-		
-		IConfigurationElement[] rules = group.getChildren(ExtensionConstants.rules);
-		// there should only be one
-		List<FilterRule> list = new LinkedList<FilterRule>();
-		for (int i=0; i<rules.length; i++){
-			IConfigurationElement[] r = rules[i].getChildren();
-			for(int j=0; j<r.length; j++){
-				list.add(processRule(r[j]));
-			}
-		}
-		FilterRule[] filterRules = new FilterRule[list.size()];
-		list.toArray(filterRules);
-		return FilterGroup.create(name, filterRules);
-	}
-
-	/**
-	 * Process a rule in one of the rule groups.
-	 * 
-	 * @param rule a rule in the group, like fileext.
-	 */
-	private FilterRule processRule(IConfigurationElement rule) {
-		FilterRule fr = FilterRule.create(rule);
-		if (fr == null){
-			String contributor = ""; //$NON-NLS-1$
-			String name = ""; //$NON-NLS-1$
-			try {
-				contributor = rule.getDeclaringExtension().getContributor().getName();
-				name = rule.getName();
-			}
-			catch (Exception e){
-				// eat it
-			}
-			throw new IllegalStateException(NLS.bind(ValMessages.ErrFilterRule, contributor, name));
-		}
-		return fr;
-	}
-	
-	/**
-	 * Determine if any of the validators need to be migrated, and if so answer a new
-	 * Validator array.
-	 * 
-	 * @param validators the existing validators (from the preferences).
-	 *  
-	 * @return null if no validators needed to be migrated.
-	 */
-	Validator[] migrate(Validator[] validators, IProject project) {
-		int count = 0;
-		Map<String, Validator> map = new HashMap<String, Validator>(validators.length);
-		for (Validator v : validators)map.put(v.getId(), v);
-		
-		IExtensionPoint extensionPoint = getExtensionPoint();
-		if (extensionPoint == null)return null;
-				
-		for (IExtension ext : extensionPoint.getExtensions()){
-			for (IConfigurationElement validator : ext.getConfigurationElements()){
-				Validator v = processValidator(validator, ext.getUniqueIdentifier(), ext.getLabel(), project);
-				if (v == null)continue;
-				Validator old = map.get(v.getId());
-				if (old == null || old.getVersion() < v.getVersion()){
-					//TODO we may be replacing user preferences, at some point we may want to do a real migration.
-					map.put(v.getId(), v);
-					count++;
-				}
-			}
-		}
-		
-		if (count > 0){
-			Validator[] vals = new Validator[map.size()];
-			map.values().toArray(vals);
-			return vals;
-		}
-		return null;
-	}
-	
-	private boolean getAttribute(IConfigurationElement element, String name, boolean dft){
-		String v = element.getAttribute(name);
-		if (v == null)return dft;
-		if ("true".equalsIgnoreCase(v))return true; //$NON-NLS-1$
-		if ("false".equalsIgnoreCase(v))return false; //$NON-NLS-1$
-		return dft;
-	}
-	
-	private int getAttribute(IConfigurationElement element, String name, int dft){
-		String v = element.getAttribute(name);
-		if (v == null)return dft;
-		try {
-			return Integer.parseInt(v);
-		}
-		catch (Exception e){
-			// eat it.
-		}
-		return dft;
-	}
-	
-//	/**
-//	 * This method is only used for debugging.
-//	 * @param elem
-//	 */
-//	private static void dump(IConfigurationElement elem){
-//		String name = elem.getName();
-//		String[] attribs = elem.getAttributeNames();
-//		String[] vals = new String[attribs.length];
-//		for (int i=0; i<vals.length; i++)vals[i] = elem.getAttribute(attribs[i]);
-//		String v = elem.getValue();
-//		IConfigurationElement[] children = elem.getChildren();
-//		for (int i=0; i<children.length; i++)dump(children[i]);
-//	}
-}
diff --git a/plugins/org.eclipse.wst.validation/vf2/org/eclipse/wst/validation/internal/ValidatorGroupExtensionReader.java b/plugins/org.eclipse.wst.validation/vf2/org/eclipse/wst/validation/internal/ValidatorGroupExtensionReader.java
deleted file mode 100644
index 62543f7..0000000
--- a/plugins/org.eclipse.wst.validation/vf2/org/eclipse/wst/validation/internal/ValidatorGroupExtensionReader.java
+++ /dev/null
@@ -1,140 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.validation.internal;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-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.IStatus;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.wst.validation.IValidatorGroupListener;
-import org.eclipse.wst.validation.internal.plugin.ValidationPlugin;
-
-/**
- * Process the validator group (for use with validator version 2 only) extension point.
- * 
- * @author nitin
- * 
- */
-public class ValidatorGroupExtensionReader {
-
-	private static final String DOT = "."; //$NON-NLS-1$
-	private static ValidatorGroupExtensionReader _instance;
-
-	public static ValidatorGroupExtensionReader getDefault() {
-		if (_instance == null)_instance = new ValidatorGroupExtensionReader();
-		return _instance;
-	}
-
-	/**
-	 * Map of group IDs to configuration elements
-	 */
-	private Map<String, List<IConfigurationElement>> _map;
-	
-	/**
-	 * Map of group ID's to resolved configuration elements.
-	 */
-	private Map<String, IValidatorGroupListener[]> _resolved;
-
-	private ValidatorGroupExtensionReader() {
-		init();
-	}
-
-	/**
-	 * Answer the listeners with this group id.
-	 * @param groupID
-	 * @return an empty array there are no listeners for this group id.
-	 */
-	IValidatorGroupListener[] createListeners(String groupID) throws CoreException {
-		IValidatorGroupListener[] result = _resolved.get(groupID);
-		if (result != null)return result;
-				
-		List<IConfigurationElement> elements = _map.get(groupID);
-		if (elements == null){
-			_resolved.put(groupID, new IValidatorGroupListener[0]);
-			String msg = NLS.bind("Configuration error, there is no validation listener group with id: {0}", groupID); //$NON-NLS-1$
-			Status status = new Status(IStatus.ERROR, ValidationPlugin.PLUGIN_ID, msg);
-			throw new CoreException(status);
-		}
-		
-		List<IValidatorGroupListener> listeners = new ArrayList<IValidatorGroupListener>(elements.size());
-		for (IConfigurationElement element : elements) {
-			IValidatorGroupListener listener;
-			try {
-				listener = (IValidatorGroupListener) element.createExecutableExtension(ExtensionConstants.Group.attClass);
-				listeners.add(listener);
-			}
-			catch (Exception e) {
-				ValidationPlugin.getPlugin().handleException(e);
-				listeners = new ArrayList<IValidatorGroupListener>();
-			}
-		}
-
-		result = listeners.toArray(new IValidatorGroupListener[listeners.size()]);
-		_resolved.put(groupID, result);
-		return result;
-	}
-
-	/**
-	 * Answer the extension point for the validatorGroups.
-	 * 
-	 * @return null if there is a problem or no extensions.
-	 */
-	private IExtensionPoint getExtensionPoint() {
-		IExtensionRegistry registry = Platform.getExtensionRegistry();
-		return registry.getExtensionPoint(ValidationPlugin.PLUGIN_ID, ExtensionConstants.group);
-	}
-
-	private void init() {
-		_map = new HashMap<String, List<IConfigurationElement>>(4);
-		_resolved = new HashMap<String, IValidatorGroupListener[]>(4);
-
-		IExtensionPoint extensionPoint = getExtensionPoint();
-		if (extensionPoint != null) {
-			for (IExtension ext : extensionPoint.getExtensions()) {
-				for (IConfigurationElement group : ext.getConfigurationElements()) {
-					processGroupElement(group);
-				}
-			}
-		}
-	}
-
-	private void processGroupElement(IConfigurationElement element) {
-		if (!ExtensionConstants.Group.elementGroup.equals(element.getName()))return;
-		
-		String id = element.getAttribute(ExtensionConstants.Group.attId);
-		if (id == null)throw new IllegalStateException("Configuration error, the " +  //$NON-NLS-1$
-			ExtensionConstants.Group.attId + " is required"); //$NON-NLS-1$
-		// force the use of a qualified ID
-		if (id.indexOf(DOT) < 0) {
-			id = element.getContributor().getName() + DOT + id;
-		}
-		IConfigurationElement[] newElements = element.getChildren(ExtensionConstants.Group.elementListener);
-		if (newElements.length > 0) {
-			List<IConfigurationElement> elements = _map.get(id);
-			if (elements == null) {
-				elements = new ArrayList<IConfigurationElement>();
-				_map.put(id, elements);
-			}
-			elements.addAll(Arrays.asList(newElements));
-		}
-	}
-}
diff --git a/plugins/org.eclipse.wst.validation/vf2/org/eclipse/wst/validation/internal/ValidatorMutable.java b/plugins/org.eclipse.wst.validation/vf2/org/eclipse/wst/validation/internal/ValidatorMutable.java
deleted file mode 100644
index 5ab29c5..0000000
--- a/plugins/org.eclipse.wst.validation/vf2/org/eclipse/wst/validation/internal/ValidatorMutable.java
+++ /dev/null
@@ -1,262 +0,0 @@
-package org.eclipse.wst.validation.internal;
-
-import java.util.HashMap;
-import java.util.Map;
-
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.wst.validation.IMutableValidator;
-import org.eclipse.wst.validation.MessageSeveritySetting;
-import org.eclipse.wst.validation.Validator;
-import org.eclipse.wst.validation.Validator.V1;
-import org.eclipse.wst.validation.Validator.V2;
-import org.eclipse.wst.validation.internal.model.FilterGroup;
-
-/**
- * The mutable fields that a user can change through the preference or property page.
- * @author karasiuk
- *
- */
-public final class ValidatorMutable implements IAdaptable, IMutableValidator {
-	
-	private boolean _build;
-	private boolean	_manual;
-	private String _delegatingId;
-	
-	private int _changeCountGroups;
-	private int _changeCountMessages;
-	
-	private final String	_name;
-	private final String 	_sourceId;
-	private final boolean _isV1;
-	private final boolean _isV2;
-	private final ValidatorMetaData _vmd;
-	private final String _id;
-	private final int	_version;
-
-	private FilterGroup[] _groups;
-	private final Map<String, MessageSeveritySetting> _messageSettings;
-	private final String _validatorClassname;
-	
-	private final boolean 	_origBuild;
-	private final boolean 	_origManual;
-	private final String	_origDelegating;
-
-	public ValidatorMutable(Validator validator) {
-		_name = validator.getName();
-		_sourceId = validator.getSourceId();
-		_manual = validator.isManualValidation();
-		_build = validator.isBuildValidation();
-		V2 v2 = validator.asV2Validator();
-		_isV2 = v2 != null;
-		_delegatingId = validator.getDelegatingId();
-		
-		V1 v1 = validator.asV1Validator();
-		_isV1 = v1 != null;
-		_vmd = _isV1 ? v1.getVmd() : null;
-		_id = validator.getId();
-		
-		_origBuild = _build;
-		_origDelegating = _delegatingId;
-		_origManual = _manual;
-		_version = validator.getVersion();
-		_validatorClassname = validator.getValidatorClassname();
-		_messageSettings = new HashMap<String, MessageSeveritySetting>(10); 
-		for (Map.Entry<String, MessageSeveritySetting> me : validator.getMessageSettings().entrySet()){
-			_messageSettings.put(me.getKey(), me.getValue().copy());
-		}
-		
-		if (v2 != null){
-			FilterGroup[] groups = v2.getGroups();
-			_groups = new FilterGroup[groups.length];
-			System.arraycopy(groups, 0, _groups, 0, groups.length);
-		}
-	}
-
-	public ValidatorMutable(ValidatorMutable val) {
-		_build = val._build;
-		_delegatingId = val._delegatingId;
-		FilterGroup[] groups = val.getGroups();
-		_groups = new FilterGroup[groups.length];
-		System.arraycopy(groups, 0, _groups, 0, groups.length);
-		
-		_id = val._id;
-		_isV1 = val._isV1;
-		_isV2 = val._isV2;
-		_manual = val._manual;
-		_messageSettings = new HashMap<String, MessageSeveritySetting>(10); 
-		for (Map.Entry<String, MessageSeveritySetting> me : val.getMessageSettings().entrySet()){
-			_messageSettings.put(me.getKey(), me.getValue().copy());
-		}
-
-		_name = val._name;
-		_origBuild = val._origBuild;
-		_origDelegating = val._origDelegating;
-		_origManual = val._origManual;
-		_sourceId = val._sourceId;
-		_validatorClassname = val._validatorClassname;
-		_version = val._version;
-		_vmd = val._vmd;
-	}
-
-	public void setBuildValidation(boolean build) {
-		_build = build;		
-	}
-
-	public void setManualValidation(boolean manual) {
-		_manual = manual;
-	}
-
-	public String getName() {
-		return _name;
-	}
-
-	public boolean isManualValidation() {
-		return _manual;
-	}
-
-	public boolean isBuildValidation() {
-		return _build;
-	}
-
-	public boolean isV2Validator() {
-		return _isV2;
-	}
-
-	public String getDelegatingId() {
-		return _delegatingId;
-	}
-
-	/**
-	 * The caller of this method must not change the ValidatorMetaData.
-	 */
-	public ValidatorMetaData getVmd() {
-		return _vmd;
-	}
-
-	public boolean isV1Validator() {
-		return _isV1;
-	}
-
-	public String getId() {
-		return _id;
-	}
-
-	/**
-	 * Answer true if any of your settings have changed.
-	 */
-	public boolean isChanged() {
-		if (hasGlobalChanges())return true;
-		if (_changeCountGroups > 0 || _changeCountMessages > 0)return true;
-		return false;
-	}
-
-	public boolean hasGlobalChanges() {
-		if (_origBuild != _build)return true;
-		if (_origManual != _manual)return true;
-		if (!Misc.same(_origDelegating, _delegatingId))return true;
-		return false;
-	}
-
-	public int getVersion() {
-		return _version;
-	}
-
-	public void replaceFilterGroup(FilterGroup existing, FilterGroup merged) {
-		int i = find(existing);
-		if (i == -1)add(merged);  // this should never happen
-		else {
-			_groups[i] = merged;
-			bumpChangeCountGroups();
-		}
-	}
-	
-	public void remove(FilterGroup group) {
-		int i = find(group);
-		if (i == -1)return;
-		
-		FilterGroup[] groups = new FilterGroup[_groups.length-1];
-		if (i > 0)System.arraycopy(_groups, 0, groups, 0, i);
-		if (i < groups.length)System.arraycopy(_groups, i+1, groups, i, groups.length-i);
-		_groups = groups;
-		bumpChangeCountGroups();
-	}
-	
-	private int find(FilterGroup group) {
-		for (int i=0; i<_groups.length; i++)if (group == _groups[i])return i;
-		return -1;
-	}
-
-	public void add(FilterGroup fg) {
-		assert fg != null;
-		FilterGroup[] groups = new FilterGroup[_groups.length+1];
-		System.arraycopy(_groups, 0, groups, 0, _groups.length);
-		groups[_groups.length] = fg;
-		_groups = groups;
-		bumpChangeCountGroups();
-	}
-	
-	private void bumpChangeCountGroups(){
-		_changeCountGroups++;
-	}
-
-	public int getChangeCountGroups() {
-		return _changeCountGroups;
-	}
-	
-	public FilterGroup[] getGroups(){
-		return _groups;
-	}
-
-	public void setDelegatingId(String id) {
-		_delegatingId = id;	
-	}
-
-	public Map<String, MessageSeveritySetting> getMessageSettings() {
-		return _messageSettings;
-	}
-
-	public int getChangeCountMessages(){
-		return _changeCountMessages;
-	}
-	
-	public void bumpChangeCountMessages(){
-		_changeCountMessages++;
-	}
-
-	public String getValidatorClassname() {
-		return _validatorClassname;
-	}
-
-	@SuppressWarnings("unchecked")
-	public Object getAdapter(Class adapter) {
-		return Platform.getAdapterManager().getAdapter(this, adapter);
-	}
-
-	public boolean sameConfig(Validator validator) {
-		if (validator == null)return false;
-		return hashCodeForConfig() == validator.hashCodeForConfig();
-	}
-
-	private int hashCodeForConfig() {
-		int h = 0;
-		if (_build)h += 101;
-		if (_delegatingId != null)h += _delegatingId.hashCode();
-		if (_manual)h += 201;
-		if (_messageSettings != null){
-			for (MessageSeveritySetting ms : _messageSettings.values())h += ms.hashCode();
-		}
-		if (_sourceId != null)h += _sourceId.hashCode();
-		h += _version;
-		if (_id != null)h += _id.hashCode();
-		for (FilterGroup fg : _groups)h += fg.hashCodeForConfig();
-		return h;
-	}
-
-	@Override
-	public String toString() {
-		return _name;
-	}
-
-
-}
diff --git a/plugins/org.eclipse.wst.validation/vf2/org/eclipse/wst/validation/internal/model/FilterGroup.java b/plugins/org.eclipse.wst.validation/vf2/org/eclipse/wst/validation/internal/model/FilterGroup.java
deleted file mode 100644
index 6d20dd5..0000000
--- a/plugins/org.eclipse.wst.validation/vf2/org/eclipse/wst/validation/internal/model/FilterGroup.java
+++ /dev/null
@@ -1,253 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.validation.internal.model;
-
-import java.util.LinkedList;
-import java.util.List;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.wst.validation.internal.ContentTypeWrapper;
-import org.eclipse.wst.validation.internal.Deserializer;
-import org.eclipse.wst.validation.internal.ExtensionConstants;
-import org.eclipse.wst.validation.internal.Serializer;
-import org.eclipse.wst.validation.internal.ValMessages;
-
-/**
- * An immutable group of filter rules.
- * @author karasiuk
- *
- */
-public abstract class FilterGroup implements IAdaptable {
-	
-	private final FilterRule[] _rules;
-	
-	/** The version number of the serialization (in case we ever need to change this) */
-	private static final int SerializationVersion = 1;
-
-	/**
-	 * Answer a filter group based on the type of the group.
-	 * 
-	 * @param name either "include" or "exclude"
-	 * 
-	 * @return null if the name parameter isn't correct.
-	 */
-	public static FilterGroup create(String name, FilterRule[] rules) {
-		if (ExtensionConstants.include.equals(name))return new FilterIncludeGroup(rules);
-		if (ExtensionConstants.exclude.equals(name))return new FilterExcludeGroup(rules);
-		return null;
-	}
-	
-	/**
-	 * Answer a filter group from a deserializer.
-	 * @param des
-	 * 
-	 * @see FilterGroup#save(Serializer)
-	 */
-	public static FilterGroup create(Deserializer des){
-		des.getInt(); // get the version
-		String type = des.getString();
-		
-		int numberRules = des.getInt();
-		List<FilterRule> list = new LinkedList<FilterRule>();
-		for (int i=0; i<numberRules; i++)list.add(FilterRule.create(des));
-		FilterRule[] rules = new FilterRule[list.size()];
-		list.toArray(rules);
-
-		return create(type, rules);
-	}
-
-	/**
-	 * Answer a new filter group.
-	 * 
-	 * @param exclude if true an exclusion group is returned, otherwise an inclusion group is returned.
-	 */
-	public static FilterGroup create(boolean exclude, FilterRule[] rules){
-		if (exclude) return new FilterExcludeGroup(rules);
-		return new FilterIncludeGroup(rules);
-	}
-
-	/**
-	 * Answer true if this is a supported type of group.
-	 * @param name Type of group that is being tested.
-	 * @return
-	 */
-	public static boolean isKnownName(String name) {
-		if (ExtensionConstants.include.equals(name))return true;
-		if (ExtensionConstants.exclude.equals(name))return true;
-		return false;
-	}
-
-	
-	private FilterGroup(FilterRule[] rules){
-		_rules = rules;
-	}
-		
-	/**
-	 * The rules in the group.
-	 */
-	public final FilterRule[] getRules(){
-		FilterRule[] rules = new FilterRule[_rules.length];
-		System.arraycopy(_rules, 0, rules, 0, _rules.length);
-		return rules;
-	}
-		
-	/**
-	 * Answer the internal type of group, e.g. "include" or "exclude".
-	 */
-	public abstract String getType();
-	
-	/** Answer the type as a type that can be displayed to a user, that is it has been localized. */
-	public abstract String getDisplayableType();
-	
-	@SuppressWarnings("unchecked")
-	public Object getAdapter(Class adapter) {
-		return Platform.getAdapterManager().getAdapter(this, adapter);
-	}
-	
-	public static final class FilterIncludeGroup extends FilterGroup {
-		
-		private FilterIncludeGroup(FilterRule[] rules){
-			super(rules);
-		}
-
-		public String getType() {
-			return ExtensionConstants.include;
-		}
-		
-		public String getDisplayableType() {
-			return ValMessages.GroupInclude;
-		}
-		
-		public boolean isInclude() {
-			return true;
-		}
-		
-	}
-	
-	
-	public static final class FilterExcludeGroup extends FilterGroup {
-		
-		private FilterExcludeGroup(FilterRule[] rules){
-			super(rules);
-		}
-		public String getType() {
-			return ExtensionConstants.exclude;
-		}
-		
-		public String getDisplayableType() {
-			return ValMessages.GroupExclude;
-		}
-		
-		public boolean isExclude() {
-			return true;
-		}		
-	}
-		
-	/**
-	 * Save your settings into the serializer.
-	 * @param ser
-	 */
-	public void save(Serializer ser){
-		ser.put(SerializationVersion);
-		ser.put(getType());
-		ser.put(_rules.length);
-		for (FilterRule rule : _rules)rule.save(ser);		
-	}
-
-	/**
-	 * Answer whether or not we should validate the resource based on the filters in this group.
-	 * 
-	 * @param project the project that is being validated.
-	 * @param resource the resource that is being validated. This can be null, in which case
-	 * only the project level checks are performed.
-	 */
-	public boolean shouldValidate(IProject project, IResource resource, ContentTypeWrapper contentTypeWrapper) {
-		boolean exclude = isExclude();
-		boolean include = isInclude();
-		int count = 0;
-		for (FilterRule rule : _rules){
-			if (resource != null){
-				Boolean match = rule.matchesResource(resource, contentTypeWrapper);
-				if (match != null)count++;
-				if (exclude && match != null && match)return false;
-				if (include && match != null && match)return true;
-			}
-			
-			Boolean match = rule.matchesProject(project);
-			if (match != null)count++;
-			if (exclude && match != null && match)return false;
-			if (include && match != null && match)return true;
-		}
-		if (exclude)return true;
-		if (count == 0)return true;
-		return false;
-	}
-
-	/** 
-	 * Answer true if this is an inclusion filter, that is at least one of the rules must
-	 * match in order to validate the resource.
-	 */
-	public boolean isInclude() {
-		return false;
-	}
-
-	/**
-	 * Answer true if this is an exclusion filter, that is if any of the rules match the 
-	 * resource is not validated.
-	 */
-	public boolean isExclude() {
-		return false;
-	}
-	
-	public int hashCodeForConfig() {
-		int h = 0;
-		if (isExclude())h += 13;
-		for (FilterRule fr : _rules)h += fr.hashCodeForConfig();
-		return h;
-	}
-
-	/**
-	 * Create a new group by adding a rule to an existing group.
-	 * @param baseGroup The group that holds the existing rules.
-	 * @param rule The new rule that is being added
-	 * @return
-	 */
-	public static FilterGroup addRule(FilterGroup baseGroup, FilterRule rule) {
-		List<FilterRule> list = new LinkedList<FilterRule>();
-		for (FilterRule r : baseGroup._rules)list.add(r);
-		list.add(rule);
-		
-		FilterRule[] rules = new FilterRule[list.size()];
-		list.toArray(rules);
-		return FilterGroup.create(baseGroup.isExclude(), rules);
-	}
-
-	/**
-	 * Create a new group by removing a rule from an existing group.
-	 * @param baseGroup The group that holds the existing rules.
-	 * @param rule The rule that is being removed
-	 * @return
-	 */
-	public static FilterGroup removeRule(FilterGroup baseGroup,	FilterRule rule) {
-		List<FilterRule> list = new LinkedList<FilterRule>();
-		for (FilterRule r : baseGroup._rules){
-			if (!r.equals(rule))list.add(r);
-		}
-		
-		FilterRule[] rules = new FilterRule[list.size()];
-		list.toArray(rules);
-		return FilterGroup.create(baseGroup.isExclude(), rules);
-	}	
-
-}
diff --git a/plugins/org.eclipse.wst.validation/vf2/org/eclipse/wst/validation/internal/model/FilterRule.java b/plugins/org.eclipse.wst.validation/vf2/org/eclipse/wst/validation/internal/model/FilterRule.java
deleted file mode 100644
index 12c8d0c..0000000
--- a/plugins/org.eclipse.wst.validation/vf2/org/eclipse/wst/validation/internal/model/FilterRule.java
+++ /dev/null
@@ -1,635 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2011 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.validation.internal.model;
-
-import java.util.regex.Pattern;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IProjectNatureDescriptor;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.content.IContentType;
-import org.eclipse.osgi.util.NLS;
-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.ProjectFacetsManager;
-import org.eclipse.wst.validation.internal.ContentTypeWrapper;
-import org.eclipse.wst.validation.internal.Deserializer;
-import org.eclipse.wst.validation.internal.ExtensionConstants;
-import org.eclipse.wst.validation.internal.Serializer;
-import org.eclipse.wst.validation.internal.Tracing;
-import org.eclipse.wst.validation.internal.ValMessages;
-import org.eclipse.wst.validation.internal.plugin.ValidationPlugin;
-
-/**
- * A rule that is used to filter out (or in) validation on a resource.
- * The concrete classes are all immutable.
- * @author karasiuk
- *
- */
-public abstract class FilterRule implements IAdaptable {
-	
-	protected final String _pattern;
-	
-	protected static final String PortableFileDelim = "/"; //$NON-NLS-1$
-	
-	/**
-	 * Create a rule based on a configuration element.
-	 * 
-	 * @param rule
-	 *            The configuration element, see the extension point for details.
-	 * @return null if there is a problem.
-	 */
-	public static FilterRule create(IConfigurationElement rule){
-		String name = rule.getName();
-		if (ExtensionConstants.Rule.fileext.equals(name))return new FileExt(rule);
-		if (ExtensionConstants.Rule.projectNature.equals(name))return new ProjectNature(rule);
-		if (ExtensionConstants.Rule.file.equals(name))return File.createFile(rule);
-		if (ExtensionConstants.Rule.contentType.equals(name))return ContentType.createContentType(rule);
-		if (ExtensionConstants.Rule.facet.equals(name))return new Facet(rule);
-		if (ExtensionConstants.Rule.pattern.equals(name))return FilePattern.createFilePattern(rule);
-		if (ExtensionConstants.Rule.targetRuntime.equals(name))return new TargetRuntime(rule);
-		return null;
-	}
-	
-	static FilterRule create(Deserializer des) {
-		String type = des.getString();
-		if (ExtensionConstants.Rule.fileext.equals(type)){
-			String pattern = des.getString();
-			boolean caseSensitive = des.getBoolean();
-			return new FileExt(pattern, caseSensitive);
-		}
-		
-		if (ExtensionConstants.Rule.projectNature.equals(type)){
-			String pattern = des.getString();
-			return new ProjectNature(pattern);
-		}
-		
-		if (ExtensionConstants.Rule.file.equals(type)){
-			String pattern = des.getString();
-			boolean caseSensitive = des.getBoolean();
-			int fileType = des.getInt();
-			return new File(pattern, caseSensitive, fileType);
-		}
-		
-		if (ExtensionConstants.Rule.contentType.equals(type)){
-			String pattern = des.getString();
-			boolean exactMatch = des.getBoolean();
-			return new ContentType(pattern, exactMatch);
-		}
-		
-		if (ExtensionConstants.Rule.facet.equals(type)){
-			String pattern = des.getString();
-			return new Facet(pattern, null);
-		}
-		
-		if (ExtensionConstants.Rule.targetRuntime.equals(type)){
-			String pattern = des.getString();
-			return new TargetRuntime(pattern);
-		}
-		
-		if (ExtensionConstants.Rule.pattern.equals(type)){
-			String pattern = des.getString();
-			boolean caseSensitive = des.getBoolean();
-			return new FilePattern(pattern, caseSensitive);
-		}
-		return null;
-	}
-
-	
-	public static FilterRule createFile(String pattern, boolean caseSensitive, int type){
-		return new File(pattern, caseSensitive, type);
-	}
-	
-	public static FilterRule createFileExt(String pattern, boolean caseSensitive){
-		FileExt ext = new FileExt(pattern, caseSensitive);
-		return ext;
-	}
-	
-	public static FilterRule createFacet(String facetId){
-		return new Facet(facetId, null);
-	}
-	
-	public static FilterRule createProject(String projectNature){
-		return new ProjectNature(projectNature);
-	}
-	
-	public static FilterRule createContentType(String contentType, boolean exactMatch){
-		return new ContentType(contentType, exactMatch);
-	}
-	
-	public static FilterRule createTargetRuntime(String targetRuntime){
-		return new TargetRuntime(targetRuntime);
-	}
-		
-	protected FilterRule(String pattern){
-		_pattern = pattern;
-	}
-
-	/** 
-	 * Answer true if the rule matches the resource, false if it doesn't, and
-	 * null if the rule does not apply to resources.
-	 * 
-	 * 	@param resource the resource that is being validated.
-	 */
-	public Boolean matchesResource(IResource resource, ContentTypeWrapper contentTypeWrapper){
-		return null;
-	}
-
-	/** 
-	 * Answer true if the rule matches the project, false if it doesn't, and null if the
-	 * rule does not apply.
-	 * 
-	 * 	@param project the project that is being validated.
-	 */
-	public Boolean matchesProject(IProject project){
-		return null;
-	}
-		
-	public String toString() {
-		return getDisplayableType() + ": " + _pattern; //$NON-NLS-1$
-	}
-	
-	/** Answer a name of the rule, that can be displayed to a user. */
-	public String getName(){
-		return toString();
-	}
-	
-	public String getPattern(){
-		return _pattern;
-	}
-	
-	/** Answer the type of rule. */
-	public abstract String getType();
-	
-	/** Answer a type that can be displayed to an end user. */
-	public abstract String getDisplayableType();
-	
-	public static boolean asBoolean(String value, boolean aDefault){
-		if (value == null)return aDefault;
-		if (value.equals(ExtensionConstants.True))return true;
-		if (value.equals(ExtensionConstants.False))return false;
-		return aDefault;
-	}
-	
-	@SuppressWarnings("unchecked")
-	public Object getAdapter(Class adapter) {
-		return Platform.getAdapterManager().getAdapter(this, adapter);
-	}
-	
-	public static abstract class FilterRuleCaseSensitive extends FilterRule {
-				
-		public FilterRuleCaseSensitive(String pattern, boolean caseSensitive) {
-			super(pattern);
-			_caseSensitive = caseSensitive;
-		}
-		
-		private final boolean _caseSensitive;
-				
-		@Override
-		public int hashCodeForConfig() {
-			int h =  super.hashCodeForConfig();
-			if (_caseSensitive)h += 401;
-			return h;
-		}
-				
-		@Override
-		public void save(Serializer ser) {
-			super.save(ser);
-			ser.put(_caseSensitive);
-		}
-						
-		public boolean isCaseSensitive() {
-			return _caseSensitive;
-		}
-				
-	}
-	
-	public static final class ProjectNature extends FilterRule {
-		
-		private String patternLabel = null;
-		
-		private ProjectNature(IConfigurationElement rule) {
-			super(rule.getAttribute(ExtensionConstants.RuleAttrib.id));
-			
-		}
-		
-		public ProjectNature(String projectNature) {
-			super(projectNature);
-			
-			IProjectNatureDescriptor nature = ResourcesPlugin.getWorkspace().getNatureDescriptor(projectNature);
-			
-			if(nature != null){
-				patternLabel = nature.getLabel();
-			}
-		}
-
-		public String getDisplayableType() {
-			return ValMessages.RuleProjectNature;
-		}
-		
-		public String getType() {
-			return ExtensionConstants.Rule.projectNature;
-		}
-		
-		public Boolean matchesProject(IProject project) {
-			try {
-				return project.hasNature(_pattern);
-			}
-			catch (CoreException e){
-			}
-			return Boolean.FALSE;
-		}
-		
-		public String toString()
-		{
-			if(patternLabel != null && patternLabel.length() > 0){
-				return getDisplayableType() + ": " + patternLabel.concat(" - ").concat(_pattern); //$NON-NLS-1$ //$NON-NLS-2$
-			}
-
-			return getDisplayableType() + ": " + _pattern; //$NON-NLS-1$
-		}		
-	}
-	
-	public static final class FileExt extends FilterRuleCaseSensitive {
-		
-		private FileExt(IConfigurationElement rule){
-			super(rule.getAttribute(ExtensionConstants.RuleAttrib.ext), 
-				asBoolean(rule.getAttribute(ExtensionConstants.RuleAttrib.caseSensitive), false));
-		}
-				
-		private FileExt(String pattern, boolean caseSensitive) {
-			super(pattern, caseSensitive);
-		}
-
-		public String getType() {
-			return ExtensionConstants.Rule.fileext;
-		}
-		
-		public String getDisplayableType() {
-			return ValMessages.RuleFileExt;
-		}
-		
-		public String getName() {
-			return toString();
-		}
-		
-		public String toString() {
-			if (isCaseSensitive())return NLS.bind(ValMessages.FileExtWithCase, getDisplayableType(), _pattern);
-			return NLS.bind(ValMessages.FileExtWithoutCase, getDisplayableType(), _pattern);
-		}
-
-		public Boolean matchesResource(IResource resource, ContentTypeWrapper contentTypeWrapper) {
-			String ext = resource.getFileExtension();
-			if (isCaseSensitive())return _pattern.equals(ext);
-			return _pattern.equalsIgnoreCase(ext);
-		}
-	}
-	
-	/**
-	 * A rule that is used to filter based on file or folder names.
-	 * @author karasiuk
-	 *
-	 */
-	public static final class File extends FilterRuleCaseSensitive {
-		
-		private final String	_patternAsLowercase;
-		
-		/** One of the FileTypeXX constants. */
-		private final int		_type;
-		
-		public static final int FileTypeFile = 1;
-		public static final int FileTypeFolder = 2;
-		public static final int FileTypeFull = 3;
-		
-		private static File createFile(IConfigurationElement rule){
-			String pattern = rule.getAttribute(ExtensionConstants.RuleAttrib.name);
-			if (pattern == null)throw new IllegalStateException(ValMessages.ErrPatternAttrib);
-			String type = rule.getAttribute(ExtensionConstants.RuleAttrib.fileType);
-			if (type == null)throw new IllegalStateException(ValMessages.ErrTypeReq);
-			
-			int myType = -1;
-			if (ExtensionConstants.FileType.file.equals(type))myType = FileTypeFile;
-			else if (ExtensionConstants.FileType.folder.equals(type)){
-				myType = FileTypeFolder;
-				if (!pattern.endsWith(PortableFileDelim))pattern += PortableFileDelim;
-			}
-			else if (ExtensionConstants.FileType.full.equals(type))myType = FileTypeFull;
-			else {
-				Object[] parms = {type, ExtensionConstants.FileType.file, ExtensionConstants.FileType.folder, 
-					ExtensionConstants.FileType.full};
-				throw new IllegalStateException(NLS.bind(ValMessages.ErrType, parms));
-			}
-			boolean caseSensitive = asBoolean(rule.getAttribute(ExtensionConstants.RuleAttrib.caseSensitive), false);
-			return new File(pattern, caseSensitive, myType);
-		}
-		
-		private  File(String pattern, boolean caseSensitive, int type){			
-			super(pattern, caseSensitive);
-			_type = type;
-			_patternAsLowercase = pattern == null ? null : pattern.toLowerCase();
-		}
-				
-		public String getType() {
-			return ExtensionConstants.Rule.file;
-		}
-		
-		public String getDisplayableType() {
-			if (_type == FileTypeFolder)return ValMessages.RuleFolder;
-			if (_type == FileTypeFull)return ValMessages.RuleFull;
-			return ValMessages.RuleFile;
-		}
-		
-		public void setData(IConfigurationElement rule) {
-		}
-		
-		public String toString() {
-			if (isCaseSensitive())return NLS.bind(ValMessages.FileExtWithCase, getDisplayableType(), _pattern);
-			return NLS.bind(ValMessages.FileExtWithoutCase, getDisplayableType(), _pattern);
-		}
-		
-		public Boolean matchesResource(IResource resource, ContentTypeWrapper contentTypeWrapper) {
-			String name = null;
-			switch (_type){
-			case FileTypeFile:
-				name = resource.getName();
-				break;
-				
-			case FileTypeFolder:
-				name = resource.getProjectRelativePath().removeLastSegments(1).toString() + PortableFileDelim;
-				break;
-				
-			case FileTypeFull:
-				name = resource.getProjectRelativePath().toPortableString();
-				break;
-			}
-			
-			if (name == null)return Boolean.FALSE;
-			if (isCaseSensitive())return name.startsWith(_pattern);
-			return name.toLowerCase().startsWith(_patternAsLowercase);
-		}
-								
-		@Override
-		public void save(Serializer ser) {
-			super.save(ser);
-			ser.put(_type);
-		}
-		
-	}
-	
-	public static final class Facet extends FilterRule {
-		
-		private final String _versionExpression;
-		private String _facetLabel = null;
-		
-		private Facet(IConfigurationElement rule){
-			super(rule.getAttribute(ExtensionConstants.RuleAttrib.id));
-			_versionExpression = rule.getAttribute(ExtensionConstants.RuleAttrib.version);
-			
-		}
-				
-		public Facet(String facetId, String versionExpression) {
-			super(facetId);
-			_versionExpression = versionExpression;
-			
-			try
-			{
-				IProjectFacet facet = ProjectFacetsManager.getProjectFacet(facetId);
-				if(facet != null){
-					_facetLabel = facet.getLabel();
-				}
-			} catch(IllegalArgumentException ex) {
-				//do nothing
-			}
-		}
-
-		public String getType() {
-			return ExtensionConstants.Rule.facet;
-		}
-		
-		public String getDisplayableType() {
-			return ValMessages.RuleFacet;
-		}
-		
-		@Override
-		public Boolean matchesProject(IProject project) {
-			try {
-				if (_versionExpression == null)return FacetedProjectFramework.hasProjectFacet(project, _pattern);
-				return FacetedProjectFramework.hasProjectFacet(project, _pattern, _versionExpression);
-			}
-			catch (CoreException e){
-				if (Tracing.isLogging())ValidationPlugin.getPlugin().handleException(e);
-			}
-			return Boolean.FALSE;
-		}
-		
-		@Override
-		public String toString() {
-			String facetLabel = _facetLabel;
-			StringBuffer b = new StringBuffer(200);
-			b.append(getDisplayableType());
-			b.append(": "); //$NON-NLS-1$
-			
-			//Dispay facet Labels when selecting Settings
-			if(_facetLabel == null){
-				try
-				{
-					IProjectFacet facet = ProjectFacetsManager.getProjectFacet(_pattern);
-					facetLabel = facet.getLabel();		
-				} catch(IllegalArgumentException ex) {
-					//do nothing
-				}				
-			}
-			
-			if(facetLabel != null && facetLabel.length() > 0){
-				b.append(facetLabel);
-				b.append(" - "); //$NON-NLS-1$
-			}
-			
-			b.append(_pattern);
-			
-			if (_versionExpression !=  null){
-				b.append(" ("); //$NON-NLS-1$
-				b.append(_versionExpression);
-				b.append(")"); //$NON-NLS-1$
-			}
-			return b.toString();
-		}
-	}
-	
-	public static final class ContentType extends FilterRule {
-		
-		private final IContentType 	_type;
-		private final boolean		_exactMatch;
-		
-		private ContentType(String pattern, boolean exactMatch){
-			super(pattern);
-			_type = Platform.getContentTypeManager().getContentType(pattern);
-			_exactMatch = exactMatch;
-		}
-		
-		private static ContentType createContentType(IConfigurationElement rule){
-			String pattern = rule.getAttribute(ExtensionConstants.RuleAttrib.id);
-			boolean exactMatch = true;
-			String exact = rule.getAttribute(ExtensionConstants.RuleAttrib.exactMatch);
-			if (ExtensionConstants.False.equals(exact)) exactMatch = false;
-			
-			return new ContentType(pattern, exactMatch);
-		}
-				
-		public String getType() {
-			return ExtensionConstants.Rule.contentType;
-		}
-		
-		@Override
-		public int hashCodeForConfig() {
-			int h =  super.hashCodeForConfig();
-			if (_exactMatch)h += 301;
-			return h;
-		}
-		
-		public String getDisplayableType() {
-			return ValMessages.RuleContentType;
-		}
-								
-		@Override
-		public void save(Serializer ser) {
-			super.save(ser);
-			ser.put(_exactMatch);
-		}
-
-		public void setData(IConfigurationElement rule) {
-		}
-				
-		public Boolean matchesResource(IResource resource, ContentTypeWrapper contentTypeWrapper) {
-			if (_type == null)return Boolean.FALSE;
-			if (resource instanceof IFile) {
-				IFile file = (IFile) resource;
-				IContentType ct = contentTypeWrapper.getContentType(file);
-				if (ct == null)return Boolean.FALSE;
-				boolean match = false;
-				if (_exactMatch)match = ct.getId().equals(_type.getId());
-				else match = ct.isKindOf(_type);
-				
-				if (match && Tracing.isTraceMatches())
-					Tracing.log("FilterRule-01: ", toString() + " has matched " + resource); //$NON-NLS-1$ //$NON-NLS-2$
-				return match;
-			}
-			return Boolean.FALSE;
-		}
-		
-		@Override
-		public String toString() {
-			try {
-				if (_exactMatch)return NLS.bind(ValMessages.ContentTypeExact, getDisplayableType(), _type.getName().concat(" - ").concat(_pattern)); //$NON-NLS-1$
-					return NLS.bind(ValMessages.ContentTypeNotExact, getDisplayableType(), _type.getName().concat(" - ").concat(_pattern)); //$NON-NLS-1$
-			}catch(NullPointerException npe) {
-				if (_exactMatch)return NLS.bind(ValMessages.ContentTypeExact, getDisplayableType(), _pattern);
-					return NLS.bind(ValMessages.ContentTypeNotExact, getDisplayableType(), _pattern);
-			}
-		}
-	}
-	
-	public static final class TargetRuntime extends FilterRule {
-		
-		private String patternLabel = null;
-		
-		private TargetRuntime(IConfigurationElement rule) {
-			super(rule.getAttribute(ExtensionConstants.RuleAttrib.id));
-		}
-	
-		public TargetRuntime(String targetRuntime) {
-			super(targetRuntime);
-			
-			String runtime = ValidatorHelper.getRuntimeName(targetRuntime);
-			
-			if(runtime != null){
-				patternLabel = runtime;
-			}
-		}
-		
-		public String getType() {
-			return ExtensionConstants.Rule.targetRuntime;
-		}
-		
-		public String getDisplayableType() {
-			return ValMessages.RuleTargetRuntime;
-		}
-		
-		@Override
-		public String toString() {
-			if(patternLabel == null){
-				patternLabel = ValidatorHelper.getRuntimeName(_pattern);
-			}
-
-			if(patternLabel != null && patternLabel.length() > 0){
-				return getDisplayableType() + ": " + patternLabel.concat(" - ").concat(_pattern); //$NON-NLS-1$ //$NON-NLS-2$
-			}
-
-			return getDisplayableType() + ": " + _pattern; //$NON-NLS-1$
-		}
-	}
-	
-	public static final class FilePattern extends FilterRuleCaseSensitive {
-		
-		private final Pattern _compiledPattern;
-		
-		private static FilePattern createFilePattern(IConfigurationElement rule){
-			String pattern = rule.getAttribute(ExtensionConstants.RuleAttrib.regex);
-			boolean caseSensitive = asBoolean(rule.getAttribute(ExtensionConstants.RuleAttrib.caseSensitive), false);
-			return new FilePattern(pattern, caseSensitive);
-		}
-		
-		private FilePattern(String pattern, boolean caseSensitive){
-			super(pattern, caseSensitive);
-			int flags = 0;
-			if (caseSensitive)flags = Pattern.CASE_INSENSITIVE;
-			Pattern compiledPattern = Pattern.compile(pattern, flags);				
-			_compiledPattern = compiledPattern;
-		}
-
-		@Override
-		public String getDisplayableType() {
-			return ValMessages.RulePattern;
-		}
-
-		@Override
-		public String getType() {
-			return ExtensionConstants.Rule.pattern;
-		}
-		
-		@Override
-		public Boolean matchesResource(IResource resource, ContentTypeWrapper wrapper) {
-			String name = PortableFileDelim + resource.getProjectRelativePath().toPortableString();
-			return _compiledPattern.matcher(name).matches();
-		}		
-	}
-
-	/**
-	 * Save your settings into the serializer.
-	 * @param ser
-	 */
-	public void save(Serializer ser) {
-		ser.put(getType());
-		ser.put(getPattern());		
-	}
-
-	public int hashCodeForConfig() {
-		int h = getType().hashCode();
-		if (_pattern != null)h += _pattern.hashCode();
-		return h;
-	}
-}
diff --git a/plugins/org.eclipse.wst.validation/vf2/org/eclipse/wst/validation/internal/model/GlobalPreferences.java b/plugins/org.eclipse.wst.validation/vf2/org/eclipse/wst/validation/internal/model/GlobalPreferences.java
deleted file mode 100644
index 2989c2c..0000000
--- a/plugins/org.eclipse.wst.validation/vf2/org/eclipse/wst/validation/internal/model/GlobalPreferences.java
+++ /dev/null
@@ -1,133 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2009 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.validation.internal.model;
-
-/**
- * This class represents the global Preferences as set on the Validation Preferences page. It doesn't
- * hold any of the individual validator settings, just the global check boxes. It is an immutable object.
- */
-public final class GlobalPreferences {
-	
-	/** false - Default setting for the should all the validation be suspended setting. */ 
-	public static final boolean DefaultSuspend = false;
-	
-	/** false - Default setting for the auto save setting. */ 
-	public static final boolean DefaultAutoSave = false;
-	
-	/** false - Default setting for the confirm dialog setting. */ 
-	public static final boolean DefaultConfirm = true;
-	
-	/** false - Default setting for letting projects override the global settings. */
-	public static final boolean DefaultOverride = true;
-	
-	/** 2 - The version of the framework meta data, if an explicit version isn't found. */
-	public static final int DefaultFrameworkVersion = 2;
-	
-	/** Bit masks for what has changed. */
-	public final static int ConfirmDialogMask = 1;
-	public final static int DisableAllValidationMask = 2;
-	public final static int OverrideMask = 4;
-	public final static int SaveAutomaticallyMask = 8;
-	public final static int StateTimeStampMask = 16;
-	public final static int VersionMask = 32;
-	
-	/**
-	 * The changes that could affect what gets validated.
-	 */
-	public final static int BuildChangeMask = DisableAllValidationMask | OverrideMask;
-	
-
-	private final boolean _confirmDialog;
-	private final boolean _disableAllValidation;
-	private final boolean _override;
-	private final boolean _saveAutomatically;
-	
-	/** The plug-in state time stamp. */
-	private final long	_stateTimeStamp;
-	
-	/** The incoming version of the framework. This is used to determine if a migration is needed.*/
-	private final int		_version;
-			
-	/**
-	 * The only valid way to get the global preferences is through the ValManager.
-	 * 
-	 * @see org.eclipse.wst.validation.internal.ValManager#getGlobalPreferences()
-	 */
-	public GlobalPreferences(GlobalPreferencesValues gp) {
-		_confirmDialog = gp.confirmDialog;
-		_disableAllValidation = gp.disableAllValidation;
-		_override = gp.override;
-		_saveAutomatically = gp.saveAutomatically;
-		_stateTimeStamp = gp.stateTimeStamp;
-		_version = gp.version;
-	}
-	
-	/**
-	 * Answer a copy of the values.
-	 * @return
-	 */
-	public GlobalPreferencesValues asValues(){
-		GlobalPreferencesValues gp = new GlobalPreferencesValues();
-		gp.confirmDialog = _confirmDialog;
-		gp.disableAllValidation = _disableAllValidation;
-		gp.override = _override;
-		gp.saveAutomatically = _saveAutomatically;
-		gp.stateTimeStamp = _stateTimeStamp;
-		gp.version = _version;
-		return gp;
-	}
-
-	public boolean getSaveAutomatically() {
-		return _saveAutomatically;
-	}
-
-
-	/**
-	 * Answer if all validation has been disabled.
-	 */
-	public boolean getDisableAllValidation() {
-		return _disableAllValidation;
-	}
-
-	public boolean getConfirmDialog() {
-		return _confirmDialog;
-	}
-
-	public long getStateTimeStamp() {
-		return _stateTimeStamp;
-	}
-
-	/** Answer whether or not projects are allowed to override the global preferences. */
-	public boolean getOverride() {
-		return _override;
-	}
-
-	public int getVersion() {
-		return _version;
-	}
-
-	/**
-	 * Compare yourself to the other global preferences and answer a bitmask with the differences.
-	 * @param gp
-	 * @return bit mask of the changes. See the xxxMask constants for the values of the bits. A zero means that they are the same.
-	 */
-	public int compare(GlobalPreferences gp) {
-		int changes = 0;
-		if (_confirmDialog != gp.getConfirmDialog())changes |= ConfirmDialogMask;
-		if (_disableAllValidation != gp.getDisableAllValidation())changes |= DisableAllValidationMask;
-		if (_override != gp.getOverride())changes |= OverrideMask;
-		if (_saveAutomatically != gp.getSaveAutomatically())changes |= SaveAutomaticallyMask;
-		if (_stateTimeStamp != gp.getStateTimeStamp())changes |= StateTimeStampMask;
-		if (_version != gp.getVersion())changes |= VersionMask;
-		return changes;
-	}
-
-}
diff --git a/plugins/org.eclipse.wst.validation/vf2/org/eclipse/wst/validation/internal/model/GlobalPreferencesValues.java b/plugins/org.eclipse.wst.validation/vf2/org/eclipse/wst/validation/internal/model/GlobalPreferencesValues.java
deleted file mode 100644
index cdf8345..0000000
--- a/plugins/org.eclipse.wst.validation/vf2/org/eclipse/wst/validation/internal/model/GlobalPreferencesValues.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.wst.validation.internal.model;
-
-/**
- * A mutable object that is used to initialize a GlobalPreference.
- * @author karasiuk
- *
- */
-public class GlobalPreferencesValues {
-	public boolean disableAllValidation = GlobalPreferences.DefaultSuspend;
-	public boolean saveAutomatically = GlobalPreferences.DefaultAutoSave;
-	public boolean confirmDialog = GlobalPreferences.DefaultConfirm;
-	public boolean override = GlobalPreferences.DefaultOverride;
-	
-	/** The plug-in state time stamp. */
-	public long	stateTimeStamp;
-	
-	/** The incoming version of the framework. This is used to determine if a migration is needed.*/
-	public int		version;
-	
-	public GlobalPreferencesValues(){
-		
-	}
-
-}
diff --git a/plugins/org.eclipse.wst.validation/vf2/org/eclipse/wst/validation/internal/model/IValidatorVisitor.java b/plugins/org.eclipse.wst.validation/vf2/org/eclipse/wst/validation/internal/model/IValidatorVisitor.java
deleted file mode 100644
index 8c74736..0000000
--- a/plugins/org.eclipse.wst.validation/vf2/org/eclipse/wst/validation/internal/model/IValidatorVisitor.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.validation.internal.model;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.wst.validation.Validator;
-import org.eclipse.wst.validation.internal.ValOperation;
-import org.eclipse.wst.validation.internal.ValType;
-
-/**
- * This interface is implemented by objects that visit enabled validators.
- * <p> 
- * Usage:
- * <pre>
- * class Visitor implements IValidatorVisitor {
- *    public void visit(Validator validator, IProgressMonitor monitor) {
- *       // your code here
- *    }
- * }
- * ValidatorManager vm = ValidatorManager.getDefault();
- * vm.accept(new Visitor(), ...);
- * </pre>
- * </p> 
- * <p>
- * Clients may implement this interface.
- * </p>
- */
-public interface IValidatorVisitor {
-	
-	/**
-	 * Visits the given validator.
-	 * @param validator
-	 */
-	void visit(Validator validator, IProject project, ValType valType, 
-		ValOperation operation, IProgressMonitor monitor);
-
-}
diff --git a/plugins/org.eclipse.wst.validation/vf2/org/eclipse/wst/validation/internal/model/ProjectPreferences.java b/plugins/org.eclipse.wst.validation/vf2/org/eclipse/wst/validation/internal/model/ProjectPreferences.java
deleted file mode 100644
index dd26add..0000000
--- a/plugins/org.eclipse.wst.validation/vf2/org/eclipse/wst/validation/internal/model/ProjectPreferences.java
+++ /dev/null
@@ -1,71 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2009 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.validation.internal.model;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.wst.validation.Validator;
-
-/**
- * Validation preferences for a particular project.
- * @author karasiuk
- *
- */
-public final class ProjectPreferences {
-	/*
-	 * Before this object can be considered immutable, the mutable validators need to be addressed.
-	 */
-	/** false - Default setting for the "should all the validation be suspended" setting. */ 
-	public static final boolean DefaultSuspend = false;
-	
-	/** false - Default setting for letting projects override the global settings. */
-	public static final boolean DefaultOverride = false;
-	
-	private final IProject	_project;
-
-	private final boolean 	_override;
-	private final boolean	_suspend;
-	
-	private final Validator[]	_validators;
-	
-	public ProjectPreferences(IProject project){
-		_project = project;
-		_override = DefaultOverride;
-		_suspend  = DefaultSuspend;
-		_validators = new Validator[0];
-	}
-	
-	public ProjectPreferences(IProject project, boolean override, boolean suspend, Validator[] validators){
-		_project = project;
-		_override = override;
-		_suspend = suspend;
-		_validators = validators;
-	}
-	
-	public boolean getOverride() {
-		return _override;
-	}
-	public boolean getSuspend() {
-		return _suspend;
-	}
-	
-	/**
-	 * Answer the validators that have been registered for this project.
-	 * @return an empty array if there are no validators.
-	 */
-	public Validator[] getValidators() {
-		return _validators;
-	}
-	
-	public IProject getProject() {
-		return _project;
-	}
-
-}
diff --git a/plugins/org.eclipse.wst.validation/vf2/org/eclipse/wst/validation/internal/model/ValidatorHelper.java b/plugins/org.eclipse.wst.validation/vf2/org/eclipse/wst/validation/internal/model/ValidatorHelper.java
deleted file mode 100644
index 06f03ad..0000000
--- a/plugins/org.eclipse.wst.validation/vf2/org/eclipse/wst/validation/internal/model/ValidatorHelper.java
+++ /dev/null
@@ -1,100 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.validation.internal.model;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.wst.common.project.facet.core.runtime.IRuntime;
-import org.eclipse.wst.common.project.facet.core.runtime.RuntimeManager;
-import org.eclipse.wst.validation.internal.ValidatorMutable;
-
-/**
- * Implement some common validator methods, that don't need to be part of the API.
- * 
- * @author karasiuk
- *
- */
-public final class ValidatorHelper {
-	
-	/**
-	 * Answer true if this validator already has an exclude filter.
-	 */
-	public static boolean hasExcludeGroup(ValidatorMutable v){
-		for (FilterGroup group : v.getGroups())if (group.isExclude())return true;
-		return false;		
-	}
-	
-	/**
-	 * Return all the Runtimes defined in the workspace.
-	 */
-	public static Object[] getRuntimes()
-	{
-		Iterator<IRuntime> runtimes = RuntimeManager.getRuntimes().iterator();
-		List <IRuntime> list = new ArrayList<IRuntime>();
-		
-		while (runtimes.hasNext()) {
-			IRuntime runtime1 = (IRuntime) runtimes.next();
-			String id = runtime1.getProperty("id"); //$NON-NLS-1$
-			
-			if(id != null){
-				list.add(runtime1);
-			}
-		}
-		
-		return list.toArray();
-	}
-	
-	
-	/**
-	 * Return the ID of the given target Runtime.
-	 * @param targetRuntime
-	 * @return
-	 */
-	public static String getRuntimeID(Object targetRuntime)
-	{
-		IRuntime runtime = (IRuntime) targetRuntime;
-		return runtime.getProperty("id"); //$NON-NLS-1$
-	}
-	
-	/**
-	 * Return the target runtime name of the given the ID
-	 * @param id
-	 * @return
-	 */
-	public static String getRuntimeName(String id)
-	{
-		try
-		{
-			IRuntime runtime = RuntimeManager.getRuntime(id);
-			if(runtime != null)
-				return runtime.getLocalizedName();
-			
-		} catch(IllegalArgumentException ex){
-			//do nothing
-		}
-		
-		return null;
-	}
-	
-	/**
-	 * Return the Name of the given target runtime.
-	 * @param targetRuntime
-	 * @return
-	 */
-	public static String getRuntimeName(Object targetRuntime)
-	{
-		IRuntime runtime = (IRuntime) targetRuntime;
-		
-		return runtime.getLocalizedName();
-	}
-}
diff --git a/plugins/org.eclipse.wst.validation/vf2/org/eclipse/wst/validation/internal/package.html b/plugins/org.eclipse.wst.validation/vf2/org/eclipse/wst/validation/internal/package.html
deleted file mode 100644
index 4b88f6b..0000000
--- a/plugins/org.eclipse.wst.validation/vf2/org/eclipse/wst/validation/internal/package.html
+++ /dev/null
@@ -1,10 +0,0 @@
-<html>
-<body>
-<h1>Validation Framework</h1>
-<h3>Build Based Validation</h3>
-The main class for build based validation is the 
-<a href="ValBuilderJob.html">ValBuilderJob</a>. This gets triggered as part of the
-build mechanism. It reacts to resource change events, and from that determines what needs to be 
-validated.
-</body>
-</html>
diff --git a/plugins/org.eclipse.wst.validation/vf2/org/eclipse/wst/validation/package.html b/plugins/org.eclipse.wst.validation/vf2/org/eclipse/wst/validation/package.html
deleted file mode 100644
index 8c3c426..0000000
--- a/plugins/org.eclipse.wst.validation/vf2/org/eclipse/wst/validation/package.html
+++ /dev/null
@@ -1,52 +0,0 @@
-<html>
-<head>
-<title>Validation Framework</title>
-</head>
-<body>
-<p>A framework for calling validators that are build based.</p>
-<p>Also see <a href="doc-files/faq.html">Frequently Asked Questions</a></p>
-<p>
-There are two main types of validation, <b>build based</b> and 
-<b>as you type</b>. This framework supports build based
-validation. If auto build is turned on then the validators are called
-when the user saves their file. If auto build is not turned on then
-the validators are called when the user starts a build.</p>
-<p>This framework was added to WTP in version 3.0.</p>
-<h3>Dependency Support</h3>
-<p>Sometimes resources depend on other resources, to determine whether they are 
-valid or not. An example would be that an XML resource could depend on a DTD. If at some 
-point in the future the DTD changes, then the dependent XML resource should be 
-revalidated to ensure that it still meets the requirements of the changed DTD 
-file. In order to do this efficiently, there needs to be an association between 
-the DTD and all the resources that depend on it.<p>To be as efficient as possible, the validation framework allows 
-this dependency information to be returned as part of a
-<a href="AbstractValidator.html#validate(org.eclipse.core.resources.IResource, int, ValidationState, org.eclipse.core.runtime.IProgressMonitor)">
-validate operation</a>. Since the validator needed to figure this out anyways, 
-why not pass this information back to the framework, so that it can be saved. 
-This saves the cost of having to parse the file at some later point in time 
-(when the file is probably sitting cold on disk). The fewer times that we need 
-to open, read and/or parse the same file, will improve the performance of the 
-product.
-<p>In particular when the validate method returns, a
-<a href="ValidationResult.html">ValidationResult</a> must be returned, inside of 
-this result, all your dependencies need to be specified with the
-<a href="ValidationResult.html#setDependsOn(org.eclipse.core.resources.IResource[])">
-setDependsOn</a> method.<p>In addition to keeping the dependency information 
-up-to-date through the normal course of validation, direct access is also 
-provided to the dependency support through the
-<a href="ValidationFramework.html#getDependencyIndex()">getDependencyIndex</a> 
-method. The <a href="IDependencyIndex.html">IDependencyIndex</a> allows you to 
-directly manipulate the dependency information for a validator.
-<h3>Entry Points into the Validation Framework</h3>
-<p>Here are some of the points where the platform calls into the framework:</p>
-<ul>
-<li><b>Builder</b> - ValidationBuilder</li>
-<li><b>IFacetedProjectListener</b> - ValManager</li>
-<li><b>IJobChangeListener</b> - ValidationOperation, ValidationOperation.ValidationLauncherJob</li>
-<li><b>IProjectChangeListener</b> - ValManager</li>
-<li><b>IPropertyChangeListener</b> - ValidationConfiguration, DisabledResourceManager</li>
-<li><b>IResourceChangeListener</b> - EventManger</li>
-<li><b>IValChangedListener</b> - ValManager, DisabledValidatorManager</li>
-</ul>
-</body>
-</html>
diff --git a/plugins/org.eclipse.wst.validation/xsds/exclude.exsd b/plugins/org.eclipse.wst.validation/xsds/exclude.exsd
deleted file mode 100644
index caf9729..0000000
--- a/plugins/org.eclipse.wst.validation/xsds/exclude.exsd
+++ /dev/null
@@ -1,303 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.wst.validation" xmlns="http://www.w3.org/2001/XMLSchema">
-<annotation>
-      <appInfo>
-         <meta.schema plugin="org.eclipse.wst.validation" id="exclude" name="Validator Exclusion"/>
-      </appInfo>
-      <documentation>
-         A way to add additional exclusion filters to a V2 validator.
-      </documentation>
-   </annotation>
-
-   <element name="extension">
-      <annotation>
-         <appInfo>
-            <meta.element />
-         </appInfo>
-      </annotation>
-      <complexType>
-         <sequence>
-            <element ref="validator" minOccurs="1" maxOccurs="unbounded"/>
-         </sequence>
-         <attribute name="point" type="string" use="required">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="id" type="string" use="required">
-            <annotation>
-               <documentation>
-                  A short id that is unique within the plug-in, so that this set of extra exclusion filters can be identified.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="name" type="string">
-            <annotation>
-               <documentation>
-                  The short user friendly name for the exclusion.
-               </documentation>
-               <appInfo>
-                  <meta.attribute translatable="true"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="validator">
-      <annotation>
-         <documentation>
-            Identifies the validator that is being extended.
-         </documentation>
-      </annotation>
-      <complexType>
-         <sequence>
-            <element ref="exclude"/>
-         </sequence>
-         <attribute name="id" type="string" use="required">
-            <annotation>
-               <documentation>
-                  The fully qualifed validator id that is being extended.
-               </documentation>
-               <appInfo>
-                  <meta.attribute kind="identifier"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="exclude">
-      <annotation>
-         <documentation>
-            This contains a set of exclusion rules, used in filtering which resources get validated. If any of these rules are matched, then the validator is not called on this resource.
-         </documentation>
-      </annotation>
-      <complexType>
-         <sequence>
-            <element ref="rules"/>
-         </sequence>
-      </complexType>
-   </element>
-
-   <element name="fileext">
-      <annotation>
-         <documentation>
-            A file extension, for example html.
-         </documentation>
-      </annotation>
-      <complexType>
-         <attribute name="ext" type="string" use="required">
-            <annotation>
-               <documentation>
-                  The file extension, for example html.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="caseSensitive" type="boolean">
-            <annotation>
-               <documentation>
-                  If the file extension is case sensitive, then this needs to be set to true.
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="projectNature">
-      <annotation>
-         <documentation>
-            Used to filter on project natures.
-         </documentation>
-      </annotation>
-      <complexType>
-         <attribute name="id" type="string" use="required">
-            <annotation>
-               <documentation>
-                  The fully qualified project nature id, for example &quot;org.eclipse.jdt.core.javanature&quot;.
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="targetRuntime">
-      <annotation>
-         <documentation>
-            Used to filter on project natures.
-         </documentation>
-      </annotation>
-      <complexType>
-         <attribute name="id" type="string" use="required">
-            <annotation>
-               <documentation>
-                  The target runtime id.
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="file">
-      <complexType>
-         <attribute name="name" type="string" use="required">
-            <annotation>
-               <documentation>
-                  The file or folder name. The file name can be fully qualified, that is it starts with a leading slash (&quot;/&quot;), or it can be a relative name. Folder names are separated with the forward slash (&quot;/&quot;) character.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="caseSensitive" type="boolean">
-            <annotation>
-               <documentation>
-                  If the file name is not case senstitive, then this needs to be set to false.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="type" use="required">
-            <annotation>
-               <documentation>
-                  Type of name, there are three choices. &lt;ul&gt;&lt;li&gt;folder - specifies a project relative folder name.&lt;/li&gt;&lt;li&gt;file - a simple file name (i.e. no path information).&lt;/li&gt;&lt;li&gt;full - a fully qualified (project relative) file name.&lt;/li&gt;&lt;/ul&gt;
-               </documentation>
-            </annotation>
-            <simpleType>
-               <restriction base="string">
-                  <enumeration value="folder">
-                  </enumeration>
-                  <enumeration value="file">
-                  </enumeration>
-                  <enumeration value="full">
-                  </enumeration>
-               </restriction>
-            </simpleType>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="rules">
-      <annotation>
-         <documentation>
-            A set of rules for determining if a resource is passed to this validator or not. The rules are OR&apos;ed together.
-         </documentation>
-      </annotation>
-      <complexType>
-         <sequence>
-            <element ref="fileext" minOccurs="0" maxOccurs="unbounded"/>
-            <element ref="file" minOccurs="0" maxOccurs="unbounded"/>
-            <element ref="projectNature" minOccurs="0" maxOccurs="unbounded"/>
-            <element ref="facet" minOccurs="0" maxOccurs="unbounded"/>
-            <element ref="contentType" minOccurs="0" maxOccurs="unbounded"/>
-            <element ref="targetRuntime" minOccurs="0" maxOccurs="unbounded"/>
-            <element ref="pattern" minOccurs="0" maxOccurs="unbounded"/>
-         </sequence>
-      </complexType>
-   </element>
-
-   <element name="facet">
-      <complexType>
-         <attribute name="id" type="string" use="required">
-            <annotation>
-               <documentation>
-                  The facet id.
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="contentType">
-      <annotation>
-         <documentation>
-            Used to filter based on content types.
-         </documentation>
-      </annotation>
-      <complexType>
-         <attribute name="id" type="string" use="required">
-            <annotation>
-               <documentation>
-                  The content type id.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="exactMatch" type="boolean">
-            <annotation>
-               <documentation>
-                  Set to true if the content type needs to match exactly. Set to false if sub types are considered matches as well.
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="pattern">
-      <annotation>
-         <documentation>
-            Holds a regualr expression, that matches the resource&apos;s project relative name.
-         </documentation>
-      </annotation>
-      <complexType>
-         <attribute name="regex" type="string" use="required">
-            <annotation>
-               <documentation>
-                  Holds a Java regular expression. See the class java.util.regex.Pattern for more details. This regular expression is matched against a resource&apos;s project relative path, after that path has been converted into a portable path.
-&lt;p&gt;The path will always start with a forward slash (/) so that folder names can be more easily matched.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="caseSensitive" type="boolean">
-            <annotation>
-               <documentation>
-                  If the file name is not case senstitive, then this needs to be set to false.
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="since"/>
-      </appInfo>
-      <documentation>
-         WebTools 3.0
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="examples"/>
-      </appInfo>
-      <documentation>
-         &lt;!-- A plug-in is turning off the T1A validator for projects that have the ModuleCoreNature --&gt;
- &lt;extension
-       id=&quot;exclude1&quot;
-       point=&quot;org.eclipse.wst.validation.exclude&quot;&gt;
-    &lt;validator
-          id=&quot;org.eclipse.wst.common.tests.validation.T1A&quot;&gt;
-       &lt;exclude&gt;
-          &lt;rules&gt;
-             &lt;projectNature
-                   id=&quot;org.eclipse.jst.j2ee.ModuleCoreNature&quot;&gt;
-             &lt;/projectNature&gt;
-          &lt;/rules&gt;
-       &lt;/exclude&gt;
-    &lt;/validator&gt;
- &lt;/extension&gt;
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="apiInfo"/>
-      </appInfo>
-      <documentation>
-         Provisional API.
-      </documentation>
-   </annotation>
-
-
-
-</schema>
diff --git a/plugins/org.eclipse.wst.validation/xsds/referencialFileExtSchema.exsd b/plugins/org.eclipse.wst.validation/xsds/referencialFileExtSchema.exsd
deleted file mode 100644
index fcfe873..0000000
--- a/plugins/org.eclipse.wst.validation/xsds/referencialFileExtSchema.exsd
+++ /dev/null
@@ -1,118 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.wst.validation">
-<annotation>
-      <appInfo>
-         <meta.schema plugin="org.eclipse.wst.validation" id="referencialFileValidator" name="Referencial File Validator"/>
-      </appInfo>
-      <documentation>
-         This extension point is used for referential file validation. This extension point should be extended if you have files that reference other files and would like the validation on referenced files to run when the validation on the referencing file is run. The Post Validator operation that is used by this extension point expects a flat list of files to run validation on referenced files.
-      </documentation>
-   </annotation>
-
-   <element name="extension">
-      <complexType>
-         <sequence>
-            <element ref="referencialFileValidator"/>
-         </sequence>
-         <attribute name="point" type="string" use="required">
-            <annotation>
-               <documentation>
-                  a fully qualified identifier of the target extension point
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="id" type="string">
-            <annotation>
-               <documentation>
-                  an optional identifier of the extension instance
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="name" type="string">
-            <annotation>
-               <documentation>
-                  an optional name of the extension instance
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="referencialFileValidator">
-      <complexType>
-         <sequence>
-            <element ref="run"/>
-         </sequence>
-         <attribute name="id" type="string" use="required">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="run">
-      <complexType>
-         <attribute name="class" type="string" use="required">
-            <annotation>
-               <documentation>
-                  This class must implement org.eclipse.wst.validation.internal.operations.ReferencialFileValidator. 
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="since"/>
-      </appInfo>
-      <documentation>
-         &lt;b&gt;This extension point is part of an interim API that is still under development and expected to change significantly before reaching stability. It is being made available at this early stage to solicit feedback from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken (repeatedly) as the API evolves.&lt;/b&gt;
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="examples"/>
-      </appInfo>
-      <documentation>
-         
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="apiInfo"/>
-      </appInfo>
-      <documentation>
-         
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="implementation"/>
-      </appInfo>
-      <documentation>
-         
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="copyright"/>
-      </appInfo>
-      <documentation>
-         Copyright (c) 2005 IBM Corporation and others.&lt;br&gt;
-All rights reserved. This program and the accompanying materials are made 
-available under the terms of the Eclipse Public License v1.0 which accompanies 
-this distribution, and is available at &lt;a
-href=&quot;http://www.eclipse.org/legal/epl-v10.html&quot;&gt;http://www.eclipse.org/legal/epl-v10.html&lt;/a&gt;
-      </documentation>
-   </annotation>
-
-</schema>
diff --git a/plugins/org.eclipse.wst.validation/xsds/removeV2Validator.exsd b/plugins/org.eclipse.wst.validation/xsds/removeV2Validator.exsd
deleted file mode 100644
index 271b82e..0000000
--- a/plugins/org.eclipse.wst.validation/xsds/removeV2Validator.exsd
+++ /dev/null
@@ -1,123 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.wst.validation" xmlns="http://www.w3.org/2001/XMLSchema">
-<annotation>
-      <appInfo>
-         <meta.schema plugin="org.eclipse.wst.validation" id="removeV2Validator" name="Remove V2 Validator"/>
-      </appInfo>
-      <documentation>
-         This is used to remove a V2 validator. By specifying the validator ID, the corresponding validator will be removed as if it hasn&apos;t been registered. The removed validator will not be shown in the Preferences page.
-      </documentation>
-   </annotation>
-
-   <element name="extension">
-      <annotation>
-         <appInfo>
-            <meta.element />
-         </appInfo>
-      </annotation>
-      <complexType>
-         <sequence>
-            <element ref="remove" 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="remove">
-      <annotation>
-         <documentation>
-            Define the validator that will be removed.
-         </documentation>
-      </annotation>
-      <complexType>
-         <attribute name="validatorId" type="string" use="required">
-            <annotation>
-               <documentation>
-                  The validator ID that will be removed.
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="since"/>
-      </appInfo>
-      <documentation>
-         WebTools 3.2
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="examples"/>
-      </appInfo>
-      <documentation>
-         An example to remove the XSL validator
-
-&lt;extension
-       point=&quot;org.eclipse.wst.validation.removeV2Validator&quot;&gt;
-    &lt;remove
-          validatorId=&quot;org.eclipse.wst.xml.core.xml&quot;&gt;
-    &lt;/remove&gt;
- &lt;/extension&gt;
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="apiinfo"/>
-      </appInfo>
-      <documentation>
-         Provisional API.
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="implementation"/>
-      </appInfo>
-      <documentation>
-         [Enter information about supplied implementation of this extension point.]
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="copyright"/>
-      </appInfo>
-      <documentation>
-         Copyright (c) 2010 IBM Corporation and others.&lt;br&gt;
-All rights reserved. This program and the accompanying materials are made 
-available under the terms of the Eclipse Public License v1.0 which accompanies 
-this distribution, and is available at &lt;a
-href=&quot;http://www.eclipse.org/legal/epl-v10.html&quot;&gt;http://www.eclipse.org/legal/epl-v10.html&lt;/a&gt;
-      </documentation>
-   </annotation>
-
-</schema>
diff --git a/plugins/org.eclipse.wst.validation/xsds/validationHelper.exsd b/plugins/org.eclipse.wst.validation/xsds/validationHelper.exsd
deleted file mode 100644
index fd854dc..0000000
--- a/plugins/org.eclipse.wst.validation/xsds/validationHelper.exsd
+++ /dev/null
@@ -1,113 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.wst.validation">
-<annotation>
-      <appInfo>
-         <meta.schema plugin="org.eclipse.wst.validation" id="validationHelper" name="Validation Helper"/>
-      </appInfo>
-      <documentation>
-         
-      </documentation>
-   </annotation>
-
-   <element name="extension">
-      <complexType>
-         <sequence>
-            <element ref="validationHelper"/>
-         </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="validationHelper">
-      <complexType>
-         <attribute name="helperClass" type="string" use="required">
-            <annotation>
-               <documentation>
-                  The class must implement org.eclipse.wst.validation.internal.IProjectValidationHelper.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="id" type="string" use="required">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="since"/>
-      </appInfo>
-      <documentation>
-         &lt;b&gt;This extension point is part of an interim API that is still under development and expected to change significantly before reaching stability. It is being made available at this early stage to solicit feedback from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken (repeatedly) as the API evolves.&lt;/b&gt;
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="examples"/>
-      </appInfo>
-      <documentation>
-         
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="apiInfo"/>
-      </appInfo>
-      <documentation>
-         
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="implementation"/>
-      </appInfo>
-      <documentation>
-         
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="copyright"/>
-      </appInfo>
-      <documentation>
-         Copyright (c) 2005 IBM Corporation and others.&lt;br&gt;
-All rights reserved. This program and the accompanying materials are made 
-available under the terms of the Eclipse Public License v1.0 which accompanies 
-this distribution, and is available at &lt;a
-href=&quot;http://www.eclipse.org/legal/epl-v10.html&quot;&gt;http://www.eclipse.org/legal/epl-v10.html&lt;/a&gt;
-      </documentation>
-   </annotation>
-
-</schema>
diff --git a/plugins/org.eclipse.wst.validation/xsds/validationSelectionHandler.exsd b/plugins/org.eclipse.wst.validation/xsds/validationSelectionHandler.exsd
deleted file mode 100644
index acffbfa..0000000
--- a/plugins/org.eclipse.wst.validation/xsds/validationSelectionHandler.exsd
+++ /dev/null
@@ -1,117 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.wst.validation">
-<annotation>
-      <appInfo>
-         <meta.schema plugin="org.eclipse.wst.validation" id="validationSelectionHandler" name="Validation Selection Handler"/>
-      </appInfo>
-      <documentation>
-         
-      </documentation>
-   </annotation>
-
-   <element name="extension">
-      <complexType>
-         <sequence>
-            <element ref="validationSelectionHandler" minOccurs="1" maxOccurs="unbounded"/>
-         </sequence>
-         <attribute name="point" type="string" use="required">
-            <annotation>
-               <documentation>
-                  a fully qualified identifier of the target extension point
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="id" type="string">
-            <annotation>
-               <documentation>
-                  an optional identifier of the extension instance
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="name" type="string">
-            <annotation>
-               <documentation>
-                  an optional name of the extension instance
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="validationSelectionHandler">
-      <complexType>
-         <attribute name="id" type="string" use="required">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="handlerClass" type="string" use="required">
-            <annotation>
-               <documentation>
-                  The class must implement the IValidationSelectionHandler interface.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="selectionType" type="string" use="required">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="since"/>
-      </appInfo>
-      <documentation>
-         &lt;b&gt;This extension point is part of an interim API that is still under development and expected to change significantly before reaching stability. It is being made available at this early stage to solicit feedback from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken (repeatedly) as the API evolves.&lt;/b&gt;
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="examples"/>
-      </appInfo>
-      <documentation>
-         
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="apiInfo"/>
-      </appInfo>
-      <documentation>
-         
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="implementation"/>
-      </appInfo>
-      <documentation>
-         
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="copyright"/>
-      </appInfo>
-      <documentation>
-         Copyright (c) 2005 IBM Corporation and others.&lt;br&gt;
-All rights reserved. This program and the accompanying materials are made 
-available under the terms of the Eclipse Public License v1.0 which accompanies 
-this distribution, and is available at &lt;a
-href=&quot;http://www.eclipse.org/legal/epl-v10.html&quot;&gt;http://www.eclipse.org/legal/epl-v10.html&lt;/a&gt;
-      </documentation>
-   </annotation>
-
-</schema>
diff --git a/plugins/org.eclipse.wst.validation/xsds/validator.exsd b/plugins/org.eclipse.wst.validation/xsds/validator.exsd
deleted file mode 100644
index b03167d..0000000
--- a/plugins/org.eclipse.wst.validation/xsds/validator.exsd
+++ /dev/null
@@ -1,438 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.wst.validation" xmlns="http://www.w3.org/2001/XMLSchema">
-<annotation>
-      <appInfo>
-         <meta.schema plugin="org.eclipse.wst.validation" id="validator-v2" name="Validator V2"/>
-      </appInfo>
-      <documentation>
-         This is used to register a validator to the validation framework (version 2). In addition to specifying the validator to invoke, it registers a set of default filter rules, to control which resources are passsed to the validator.
-      </documentation>
-   </annotation>
-
-   <element name="extension">
-      <annotation>
-         <appInfo>
-            <meta.element />
-         </appInfo>
-      </annotation>
-      <complexType>
-         <sequence>
-            <element ref="validator"/>
-         </sequence>
-         <attribute name="point" type="string" use="required">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="id" type="string" use="required">
-            <annotation>
-               <documentation>
-                  A short id that is unique within the plug-in, so that this validator can be identified.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="name" type="string" use="required">
-            <annotation>
-               <documentation>
-                  The short user friendly name of the validator.
-               </documentation>
-               <appInfo>
-                  <meta.attribute translatable="true"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="validator">
-      <annotation>
-         <documentation>
-            Defines a validator to the validation framework.
-         </documentation>
-      </annotation>
-      <complexType>
-         <sequence>
-            <element ref="include" minOccurs="0" maxOccurs="unbounded"/>
-            <element ref="exclude" minOccurs="0" maxOccurs="1"/>
-            <element ref="messageCategory" minOccurs="0" maxOccurs="unbounded"/>
-            <element ref="group" minOccurs="0" maxOccurs="unbounded"/>
-         </sequence>
-         <attribute name="class" type="string" use="required">
-            <annotation>
-               <documentation>
-                  The class that implements the validator.
-               </documentation>
-               <appInfo>
-                  <meta.attribute kind="java" basedOn="org.eclipse.wst.validation.AbstractValidator"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-         <attribute name="build" type="boolean">
-            <annotation>
-               <documentation>
-                  Is this validator enabled by default for build based validations? The default is true.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="manual" type="boolean">
-            <annotation>
-               <documentation>
-                  Is this validator enabled by default for manual based validations? The default is true.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="version" type="string">
-            <annotation>
-               <documentation>
-                  The version of the definition. It is a simple integer. If not specified the version is assumed to be 1.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="sourceid" type="string">
-            <annotation>
-               <documentation>
-                  If this validator also serves as an as-you-type validator (also know as an ISourceValidator) then it&apos;s source id is specified here, so that the two validators can be associated with one another.
-By source id, we mean the id that is used in the org.eclipse.wst.sse.ui.sourceValidation extension point
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="markerId" type="string">
-            <annotation>
-               <documentation>
-                  If your validator wishes to use it&apos;s own marker, it can do so by supplying that marker id here.
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="include">
-      <annotation>
-         <documentation>
-            This contains a set of inclusion rules, which are used in filtering which resources get validated. At least one of these rules must be satisfied in order for the validator to be called on the particular resource. Only &quot;Project Nature&quot; and &quot;Facet&quot; rules are being considered for activating the validator.
-         </documentation>
-      </annotation>
-      <complexType>
-         <sequence>
-            <element ref="rules"/>
-         </sequence>
-      </complexType>
-   </element>
-
-   <element name="exclude">
-      <annotation>
-         <documentation>
-            This contains a set of exclusion rules, used in filtering which resources get validated. If any of these rules are matched, then the validator is not called on this resource.  Only &quot;Project Nature&quot; and &quot;Facet&quot; rules are being considered to prevent activating the validator.
-         </documentation>
-      </annotation>
-      <complexType>
-         <sequence>
-            <element ref="rules"/>
-         </sequence>
-      </complexType>
-   </element>
-
-   <element name="fileext">
-      <annotation>
-         <documentation>
-            A file extension, for example html.
-         </documentation>
-      </annotation>
-      <complexType>
-         <attribute name="ext" type="string" use="required">
-            <annotation>
-               <documentation>
-                  The file extension, for example html.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="caseSensitive" type="boolean">
-            <annotation>
-               <documentation>
-                  If the file extension is case sensitive, then this needs to be set to true.
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="projectNature">
-      <annotation>
-         <documentation>
-            Used to filter on project natures.
-         </documentation>
-      </annotation>
-      <complexType>
-         <attribute name="id" type="string" use="required">
-            <annotation>
-               <documentation>
-                  The fully qualified project nature id, for example &quot;org.eclipse.jdt.core.javanature&quot;.
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="file">
-      <complexType>
-         <attribute name="name" type="string" use="required">
-            <annotation>
-               <documentation>
-                  The file or folder name. The file name can be fully qualified, that is it starts with a leading slash (&quot;/&quot;), or it can be a relative name. Folder names are separated with the forward slash (&quot;/&quot;) character.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="caseSensitive" type="boolean">
-            <annotation>
-               <documentation>
-                  If the file name is not case senstitive, then this needs to be set to false.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="type" use="required">
-            <annotation>
-               <documentation>
-                  Type of name, there are three choices. &lt;ul&gt;&lt;li&gt;folder - specifies a project relative folder name.&lt;/li&gt;&lt;li&gt;file - a simple file name (i.e. no path information).&lt;/li&gt;&lt;li&gt;full - a fully qualified (project relative) file name.&lt;/li&gt;&lt;/ul&gt;
-               </documentation>
-            </annotation>
-            <simpleType>
-               <restriction base="string">
-                  <enumeration value="folder">
-                  </enumeration>
-                  <enumeration value="file">
-                  </enumeration>
-                  <enumeration value="full">
-                  </enumeration>
-               </restriction>
-            </simpleType>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="rules">
-      <annotation>
-         <documentation>
-            A set of rules for determining if a resource is passed to this validator or not. The rules are OR&apos;ed together.
-         </documentation>
-      </annotation>
-      <complexType>
-         <sequence>
-            <element ref="fileext" minOccurs="0" maxOccurs="unbounded"/>
-            <element ref="file" minOccurs="0" maxOccurs="unbounded"/>
-            <element ref="projectNature" minOccurs="0" maxOccurs="unbounded"/>
-            <element ref="facet" minOccurs="0" maxOccurs="unbounded"/>
-            <element ref="contentType" minOccurs="0" maxOccurs="unbounded"/>
-            <element ref="targetRuntime" minOccurs="0" maxOccurs="unbounded"/>
-            <element ref="pattern" minOccurs="0" maxOccurs="unbounded"/>
-         </sequence>
-      </complexType>
-   </element>
-
-   <element name="facet">
-      <complexType>
-         <attribute name="id" type="string" use="required">
-            <annotation>
-               <documentation>
-                  The facet id.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="version" type="string">
-            <annotation>
-               <documentation>
-                  A version expression that can be used to futher qualify the match. If not specifed, then versions are not used as a criteria for selecting the facet. The syntax of this expression, is the same syntax that is used by the facet framework.
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="targetRuntime">
-      <annotation>
-         <documentation>
-            Used to filter on target runtimes.
-         </documentation>
-      </annotation>
-      <complexType>
-         <attribute name="id" type="string" use="required">
-            <annotation>
-               <documentation>
-                  The target runtime id.
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="group">
-      <annotation>
-         <documentation>
-            Declares that this validator belongs to this validation group.
-         </documentation>
-      </annotation>
-      <complexType>
-         <attribute name="id" type="string" use="required">
-            <annotation>
-               <documentation>
-                  The fully qualified ID of the validation group to which this validator belongs.
-               </documentation>
-               <appInfo>
-                  <meta.attribute kind="identifier"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="contentType">
-      <annotation>
-         <documentation>
-            Used to filter based on content types.
-         </documentation>
-      </annotation>
-      <complexType>
-         <attribute name="id" type="string" use="required">
-            <annotation>
-               <documentation>
-                  The content type id.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="exactMatch" type="boolean">
-            <annotation>
-               <documentation>
-                  Set to true if the content type needs to match exactly. Set to false if sub types are considered matches as well.
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="messageCategory">
-      <annotation>
-         <documentation>
-            Used to group together a set of messages, where the user can change the message severity of all the messages in the group. This is similar to the support in the JDT, where for example a user can specify whether used methods should be errors, warnings or ignored.
-         </documentation>
-      </annotation>
-      <complexType>
-         <attribute name="id" type="string" use="required">
-            <annotation>
-               <documentation>
-                  A simple id that is unique within the scope of this validator.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="label" type="string" use="required">
-            <annotation>
-               <documentation>
-                  A short, one line label that is displayed to the end user, that describes the message category.
-               </documentation>
-               <appInfo>
-                  <meta.attribute translatable="true"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-         <attribute name="severity">
-            <annotation>
-               <documentation>
-                  The default severity for this category.
-               </documentation>
-            </annotation>
-            <simpleType>
-               <restriction base="string">
-                  <enumeration value="error">
-                  </enumeration>
-                  <enumeration value="warning">
-                  </enumeration>
-                  <enumeration value="ignore">
-                  </enumeration>
-               </restriction>
-            </simpleType>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="pattern">
-      <annotation>
-         <documentation>
-            Holds a regualr expression, that matches the resource&apos;s project relative name.
-         </documentation>
-      </annotation>
-      <complexType>
-         <attribute name="regex" type="string" use="required">
-            <annotation>
-               <documentation>
-                  Holds a Java regular expression. See the class java.util.regex.Pattern for more details. This regular expression is matched against a resource&apos;s project relative path, after that path has been converted into a portable path.
-&lt;p&gt;The path will always start with a forward slash (/) so that folder names can be more easily matched.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="caseSensitive" type="boolean">
-            <annotation>
-               <documentation>
-                  If the file name is not case senstitive, then this needs to be set to false.
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="apiInfo"/>
-      </appInfo>
-      <documentation>
-         Provisional API.
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="since"/>
-      </appInfo>
-      <documentation>
-         WebTools 3.0.
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="examples"/>
-      </appInfo>
-      <documentation>
-         An example of a validator that will be called on resources that have html or htm file extensions.
-&lt;pre&gt;
-   &lt;extension
-         point=&quot;org.eclipse.wst.validation.validator&quot;
-         id=&quot;Test&quot; name=&quot;%Validator.Name&quot;&gt;
-      &lt;validator class=&quot;org.eclipse.wst.validation.test.TestValidator&quot;&gt;
-         &lt;include&gt;
-            &lt;rules&gt;
-               &lt;fileext ext=&quot;html&quot;/&gt;
-               &lt;fileext ext=&quot;htm&quot;/&gt;
-            &lt;/rules&gt;
-         &lt;/include&gt;
-      &lt;/validator&gt;
-   &lt;/extension&gt;
-&lt;/pre&gt;
-      </documentation>
-   </annotation>
-
-
-   <annotation>
-      <appInfo>
-         <meta.section type="copyright"/>
-      </appInfo>
-      <documentation>
-         Copyright (c) 2007,2008 IBM Corporation and others.&lt;br&gt;
-All rights reserved. This program and the accompanying materials are made 
-available under the terms of the Eclipse Public License v1.0 which accompanies 
-this distribution, and is available at &lt;a
-href=&quot;http://www.eclipse.org/legal/epl-v10.html&quot;&gt;http://www.eclipse.org/legal/epl-v10.html&lt;/a&gt;
-      </documentation>
-   </annotation>
-
-</schema>
diff --git a/plugins/org.eclipse.wst.validation/xsds/validatorDelegates.exsd b/plugins/org.eclipse.wst.validation/xsds/validatorDelegates.exsd
deleted file mode 100644
index 4a5f850..0000000
--- a/plugins/org.eclipse.wst.validation/xsds/validatorDelegates.exsd
+++ /dev/null
@@ -1,134 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.wst.validation">
-<annotation>
-      <appInfo>
-         <meta.schema plugin="org.eclipse.wst.validation" id="validatorDelegates" name="Validator Delegates"/>
-      </appInfo>
-      <documentation>
-         This extension point allows validator providers to contribute alternate implementations for a delegating validator.
-      </documentation>
-   </annotation>
-
-   <element name="extension">
-      <complexType>
-         <sequence>
-            <element ref="delegate"/>
-         </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="delegate">
-      <annotation>
-         <documentation>
-            Defines a validator delegate. Delegating validators can have one or more delegates registered, only one of which can be active (selected) at once.
-         </documentation>
-      </annotation>
-      <complexType>
-         <attribute name="class" type="string" use="required">
-            <annotation>
-               <documentation>
-                  Specifies the class name of the delegate validator. The class must implement IValidatorJob.
-               </documentation>
-               <appInfo>
-                  <meta.attribute kind="java" basedOn="org.eclipse.wst.validation.internal.provisional.core.IValidatorJob"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-         <attribute name="target" type="string" use="required">
-            <annotation>
-               <documentation>
-                  Specifies the id of the validator extension for which this delegate is being registered.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="name" type="string" use="required">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="since"/>
-      </appInfo>
-      <documentation>
-         &lt;b&gt;This extension point is part of an interim API that is still under development and expected to change significantly before reaching stability. It is being made available at this early stage to solicit feedback from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken (repeatedly) as the API evolves.&lt;/b&gt;
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="examples"/>
-      </appInfo>
-      <documentation>
-         &lt;extension point=&quot;org.eclipse.wst.validation.validatorDelegates&quot;&gt;
-    &lt;delegate
-          class=&quot;com.acme.fast.SuperFastValidator&quot;
-          name=&quot;Super fast validator&quot;
-          target=&quot;org.acme.core.ACMEDelegatingValidator&quot;/&gt;
- &lt;/extension&gt;
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="apiInfo"/>
-      </appInfo>
-      <documentation>
-         A delegate validator will have to implement the IValidatorJob interface.
-The target validator, the one who will delegate its implementation to a delegate validator will have to extend org.eclipse.wst.validation.delegates.BaseDelegatingValidator.
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="implementation"/>
-      </appInfo>
-      <documentation>
-         
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="copyright"/>
-      </appInfo>
-      <documentation>
-         Copyright (c) 2006 IBM Corporation and others.&lt;br&gt;
-All rights reserved. This program and the accompanying materials are made 
-available under the terms of the Eclipse Public License v1.0 which accompanies 
-this distribution, and is available at &lt;a
-href=&quot;http://www.eclipse.org/legal/epl-v10.html&quot;&gt;http://www.eclipse.org/legal/epl-v10.html&lt;/a&gt;
-      </documentation>
-   </annotation>
-
-</schema>
diff --git a/plugins/org.eclipse.wst.validation/xsds/validatorExtSchema.exsd b/plugins/org.eclipse.wst.validation/xsds/validatorExtSchema.exsd
deleted file mode 100644
index 0e9667e..0000000
--- a/plugins/org.eclipse.wst.validation/xsds/validatorExtSchema.exsd
+++ /dev/null
@@ -1,326 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>

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

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

-<annotation>

-      <appInfo>

-         <meta.schema plugin="org.eclipse.wst.validation" id="validator" name="Validator"/>

-      </appInfo>

-      <documentation>

-         This extension point give the ability to create a new validator that can validate resources in a Java Project. The validator needs to registered for a given nature of the project for it to run on that project. The user can specifiy file filters to filter out files that need to be validated. The new validator registered by the project nature on the project can be run manually or incrementally if  Auto Build is turned on, during incremental builds the changed delta of files are only validated if those files are part of the validation filters specified.

-      </documentation>

-   </annotation>

-

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

-

-   <element name="extension">

-      <annotation>

-         <appInfo>

-            <meta.element />

-         </appInfo>

-      </annotation>

-      <complexType>

-         <sequence>

-            <element ref="validator"/>

-         </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" use="required">

-            <annotation>

-               <documentation>

-                  An optional identifier of the extension instance

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  An optional name of the extension instance

-               </documentation>

-               <appInfo>

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

-               </appInfo>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <element name="validator">

-      <complexType>

-         <sequence>

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

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

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

-            <element ref="helper"/>

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

-            <element ref="run"/>

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

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

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

-            <element ref="runStrategy"/>

-         </sequence>

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

-            <annotation>

-               <documentation>

-                  Optional migration tag

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  Optional migration tag

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <element name="projectNature">

-      <complexType>

-         <sequence>

-         </sequence>

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

-            <annotation>

-               <documentation>

-                  

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <element name="contentTypeBinding">

-      <annotation>

-         <appInfo>

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

-         </appInfo>

-         <documentation>

-            Associates a particular content type with the current validator, and enables the validator to be run on resources of the specified content type.

-         </documentation>

-      </annotation>

-      <complexType>

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

-            <annotation>

-               <documentation>

-                  The content type identifier. This is an ID defined by the &apos;org.eclipse.core.runtime.contentTypes&apos; extension point.

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <element name="filter">

-      <complexType>

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

-            <annotation>

-               <documentation>

-                  

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <element name="helper">

-      <complexType>

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

-            <annotation>

-               <documentation>

-                  

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <element name="dependentValidator">

-      <complexType>

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

-            <annotation>

-               <documentation>

-                  

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <element name="run">

-      <complexType>

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

-            <annotation>

-               <documentation>

-                  

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <element name="markerId">

-      <annotation>

-         <documentation>

-            The markerId element is is used to get a custom problem marker for the custom validator implemented using this extension point

-

-This markerId element also needs a corresponding problemMarker extension to be defined bythis validator with the same Id as the makerIdValue for the validator to have its own marker type. Here is an example of the a problemMarker extension defined for a markerIdValue &quot;FooMarker&quot;

-

- &lt;extension

-         id=&quot;FooMarker&quot;

-         name=&quot;%EJB_VALIDATION_PROBLEMMARKER_NAME&quot;

-         point=&quot;org.eclipse.core.resources.markers&quot;&gt;

-      &lt;super

-            type=&quot;org.eclipse.wst.validation.problemmarker&quot;&gt;

-      &lt;/super&gt;

-      &lt;persistent

-            value=&quot;true&quot;&gt;

-      &lt;/persistent&gt;

-      &lt;attribute

-            name=&quot;owner&quot;&gt;

-      &lt;/attribute&gt;

-      &lt;attribute

-            name=&quot;validationSeverity&quot;&gt;

-      &lt;/attribute&gt;

-      &lt;attribute

-            name=&quot;targetObject&quot;&gt;

-      &lt;/attribute&gt;

-      &lt;attribute

-            name=&quot;groupName&quot;&gt;

-      &lt;/attribute&gt;

-      &lt;attribute

-            name=&quot;messageId&quot;&gt;

-      &lt;/attribute&gt;

-   &lt;/extension&gt;

-   

-   Without a problemMarker extension defined, the customer validator will use the base Validation Message problemMarker type.

-         </documentation>

-      </annotation>

-      <complexType>

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

-            <annotation>

-               <documentation>

-                  

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <element name="facet">

-      <annotation>

-         <appInfo>

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

-         </appInfo>

-         <documentation>

-            This element is deprecated and enablement is the new recommended approach to filter validators based on facets.

-         </documentation>

-      </annotation>

-      <complexType>

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

-            <annotation>

-               <documentation>

-                  

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <element name="runStrategy">

-      <complexType>

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

-            <annotation>

-               <documentation>

-                  If true then the validator is only called once per project. If false (or missing) then the validator could be called once per resource (based on the other filter rules).

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

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

-      </documentation>

-   </annotation>

-

-

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

-         Copyright (c) 2005, 2010 IBM Corporation and others.&lt;br&gt;

-All rights reserved. This program and the accompanying materials are made 

-available under the terms of the Eclipse Public License v1.0 which accompanies 

-this distribution, and is available at &lt;a

-href=&quot;http://www.eclipse.org/legal/epl-v10.html&quot;&gt;http://www.eclipse.org/legal/epl-v10.html&lt;/a&gt;

-      </documentation>

-   </annotation>

-

-</schema>

diff --git a/plugins/org.eclipse.wst.validation/xsds/validatorgroup.exsd b/plugins/org.eclipse.wst.validation/xsds/validatorgroup.exsd
deleted file mode 100644
index df05cb1..0000000
--- a/plugins/org.eclipse.wst.validation/xsds/validatorgroup.exsd
+++ /dev/null
@@ -1,161 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.wst.validation" xmlns="http://www.w3.org/2001/XMLSchema">
-<annotation>
-      <appinfo>
-         <meta.schema plugin="org.eclipse.wst.validation" id="validatorGroup" name="Validator Group"/>
-      </appinfo>
-      <documentation>
-         Defines a grouping for validators with listeners notified of group members&apos; activites.  Useful for pre-caching common information used by multiple validators and disposing of that information when they&apos;re all done.
-      </documentation>
-   </annotation>
-
-   <element name="extension">
-      <annotation>
-         <appinfo>
-            <meta.element />
-         </appinfo>
-      </annotation>
-      <complexType>
-         <sequence>
-            <element ref="group" minOccurs="1" maxOccurs="unbounded"/>
-         </sequence>
-         <attribute name="point" type="string" use="required">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="id" type="identifier">
-            <annotation>
-               <documentation>
-                  A unique identifier for this extension
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="name" type="string">
-            <annotation>
-               <documentation>
-                  A name for this extension
-               </documentation>
-               <appinfo>
-                  <meta.attribute translatable="true"/>
-               </appinfo>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="listener">
-      <annotation>
-         <documentation>
-            A listener for activities in this group.
-         </documentation>
-      </annotation>
-      <complexType>
-         <attribute name="class" type="string" use="required">
-            <annotation>
-               <documentation>
-                  The listener&apos;s class.
-               </documentation>
-               <appinfo>
-                  <meta.attribute kind="java" basedOn=":org.eclipse.wst.validation.IValidatorGroupListener"/>
-               </appinfo>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="group">
-      <annotation>
-         <documentation>
-            Declares a validator group.  A group may have multiple listeners.
-         </documentation>
-      </annotation>
-      <complexType>
-         <choice>
-            <element ref="listener" minOccurs="1" maxOccurs="unbounded"/>
-         </choice>
-         <attribute name="id" type="string" use="required">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-               <appinfo>
-                  <meta.attribute kind="identifier"/>
-               </appinfo>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <annotation>
-      <appinfo>
-         <meta.section type="since"/>
-      </appinfo>
-      <documentation>
-         WebTools 3.0
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appinfo>
-         <meta.section type="examples"/>
-      </appinfo>
-      <documentation>
-         Define a listener that simply prints that it has been called.
-&lt;pre&gt;
-&lt;extension point=&quot;org.eclipse.wst.validation.validatorGroup&quot;&gt;
-   &lt;group id=&quot;validatorGroup&quot;&gt;
-     &lt;listener class=&quot;org.eclipse.wst.validation.example.ValidatorGroupListener&quot;/&gt;
-   &lt;/group&gt;
-&lt;/extension&gt;
-
-public class org.eclipse.wst.validation.example.ValidatorGroupListener implements IValidatorGroupListener {
-
-  public ValidatorGroupListener() {
-  }
-
-  public void validationFinishing(IResource resource, IProgressMonitor monitor, ValType valType, ValOperation operation) {
-   System.out.println(&quot;Finishing:&quot; + resource.getFullPath());
-  }
-
-  public void validationStarting(IResource resource, IProgressMonitor monitor, ValType valType, ValOperation operation) {
-   System.out.println(&quot;Starting:&quot; + resource.getFullPath());
-  }
-}
- 
-&lt;extension id=&quot;id&quot; name=&quot;name&quot; point=&quot;org.eclipse.wst.validation.validatorV2&quot;&gt;
-  &lt;validator class=&quot;org.eclipse.wst.validation.example.Validator&quot;&gt;
-    &lt;group id=&quot;org.eclipse.wst.validation.example.validatorGroup&quot;/&gt;
-  &lt;/validator&gt;
-&lt;/extension&gt;
-&lt;/pre&gt;
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appinfo>
-         <meta.section type="apiinfo"/>
-      </appinfo>
-      <documentation>
-         Provisional API.
-      </documentation>
-   </annotation>
-
-
-   <annotation>
-      <appinfo>
-         <meta.section type="copyright"/>
-      </appinfo>
-      <documentation>
-         Copyright (c) 2008 IBM Corporation and others.&lt;br&gt;
-All rights reserved. This program and the accompanying materials are made 
-available under the terms of the Eclipse Public License v1.0 which accompanies 
-this distribution, and is available at &lt;a
-href=&quot;http://www.eclipse.org/legal/epl-v10.html&quot;&gt;http://www.eclipse.org/legal/epl-v10.html&lt;/a&gt;
-      </documentation>
-   </annotation>
-
-</schema>