This commit was manufactured by cvs2svn to create tag 'v200607262230'.
diff --git a/docs/org.eclipse.wst.validation.infopop/.cvsignore b/docs/org.eclipse.wst.validation.infopop/.cvsignore
deleted file mode 100644
index c14487c..0000000
--- a/docs/org.eclipse.wst.validation.infopop/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-build.xml
diff --git a/docs/org.eclipse.wst.validation.infopop/.project b/docs/org.eclipse.wst.validation.infopop/.project
deleted file mode 100644
index 28f5b4f..0000000
--- a/docs/org.eclipse.wst.validation.infopop/.project
+++ /dev/null
@@ -1,22 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.wst.validation.infopop</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-	</natures>
-</projectDescription>
diff --git a/docs/org.eclipse.wst.validation.infopop/META-INF/MANIFEST.MF b/docs/org.eclipse.wst.validation.infopop/META-INF/MANIFEST.MF
deleted file mode 100644
index 44e4e45..0000000
--- a/docs/org.eclipse.wst.validation.infopop/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,8 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %Plugin.name
-Bundle-SymbolicName: org.eclipse.wst.validation.infopop; singleton:=true
-Bundle-Version: 1.0.201.qualifier
-Bundle-Localization: plugin
-Bundle-Vendor: %Plugin.providerName
-Require-Bundle: org.eclipse.help;bundle-version="[3.2.0,3.3.0)"
diff --git a/docs/org.eclipse.wst.validation.infopop/ValidationPrefs_HelpContexts.xml b/docs/org.eclipse.wst.validation.infopop/ValidationPrefs_HelpContexts.xml
deleted file mode 100644
index 9a8ccfa..0000000
--- a/docs/org.eclipse.wst.validation.infopop/ValidationPrefs_HelpContexts.xml
+++ /dev/null
@@ -1,25 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?NLS type="org.eclipse.help.contexts"?>
-
-<contexts>
-	<!-- Eclipse Validation preferences -->
-<context id="jvgp0000">
-<description>The validation preferences page allows you to view or change the default validation settings for all workbench projects. A validator is a tool that checks that resources conform to a specification, DTD, or some other set of rules.
-
-Each validator can apply to certain types of files, certain project natures, and certain project facets. When a validator applies to a project facet or nature, the workbench uses that validator only on projects that have that facet or nature. Likewise, most validators apply only to certain types of files, so the workbench uses those validators only on those types of files.
-
-Select the <b>Allow projects to override these preference settings</b> check box if you want to allow individual projects to set their own validation preferences. To configure new validation settings for an individual project, select the project in the Navigator view, right-click and select <b>Properties</b>   &gt; <b>Validation</b> .
-
-Select the <b>Suspend all validators</b> check box to prevent validation at the global level. If you select this check box, you can still enable validation at the project level.
-
-Select the <b>Save all modified resources automatically prior to validating</b> check box if you want to save any resources you have modified before the validation begins.
-
-In the list of validators, select the check boxes next to each validator you want to use at the global level. Each validator has a check box to specify whether it is used on manual validation or on build validation. Choose an alternate implementation for a validator by clicking the button in the <b>Settings</b> column. Not all validators have alternate implementations.
-
-</description>
-<topic href="../org.eclipse.jst.j2ee.doc.user/topics/tjval.html" label="Validating code in enterprise applications"/>
-<topic href="../org.eclipse.jst.j2ee.doc.user/topics/tjvalglobalpref.html" label="Overriding global validation preferences"/>
-<topic href="../org.eclipse.jst.j2ee.doc.user/topics/rvalerr.html" label="Common validation errors and solutions"/>
-</context>
-
-</contexts>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.validation.infopop/ValidationProjPrefs_HelpContexts.xml b/docs/org.eclipse.wst.validation.infopop/ValidationProjPrefs_HelpContexts.xml
deleted file mode 100644
index 489af37..0000000
--- a/docs/org.eclipse.wst.validation.infopop/ValidationProjPrefs_HelpContexts.xml
+++ /dev/null
@@ -1,24 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?NLS type="org.eclipse.help.contexts"?>
-
-<contexts>
-	<!-- Validation settings for project -->
-
-<context id="jvpp0000">
-<description>The project validation page allows you to view or change the validation settings for a project. A validator is a tool that checks that resources conform to a specification, DTD, or some other set of rules.
-
-Each validator can apply to certain types of files, certain project natures, and certain project facets. When a validator applies to a project facet or nature, the workbench uses that validator only on projects that have that facet or nature. Likewise, most validators apply only to certain types of files, so the workbench uses those validators only on those types of files.
-
-Select the <b>Override validation preferences</b> check box if you want to override the default validation preferences set in the workbench Preferences page. If the <b>Override validation preferences</b> check box is not enabled, go to <b>Window</b>   &gt; <b>Preferences</b>   &gt; <b>Validation</b> and select the <b>Allow projects to override these preference settings</b> check box.
-
-Select the <b>Suspend all validators</b> check box to prevent validation for this project.
-
-In the list of validators, select the check boxes next to each validator you want to use for this project. Each validator has a check box to specify whether it is used on manual validation or on build validation. Choose an alternate implementation for a validator by clicking the button in the <b>Settings</b> column. Not all validators have alternate implementations.
-
-</description>
-<topic href="../org.eclipse.jst.j2ee.doc.user/topics/tjval.html" label="Validating code in enterprise applications"/>
-<topic href="../org.eclipse.jst.j2ee.doc.user/topics/tjvalglobalpref.html" label="Overriding global validation preferences"/>
-<topic href="../org.eclipse.jst.j2ee.doc.user/topics/rvalerr.html" label="Common validation errors and solutions"/>
-</context>
-
-</contexts>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.validation.infopop/about.html b/docs/org.eclipse.wst.validation.infopop/about.html
deleted file mode 100644
index 4ec5989..0000000
--- a/docs/org.eclipse.wst.validation.infopop/about.html
+++ /dev/null
@@ -1,34 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<HTML>
-
-<head>
-<title>About</title>
-<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
-</head>
-
-<BODY lang="EN-US">
-
-<H3>About This Content</H3>
-
-<P>May 2, 2006</P>
-
-<H3>License</H3>
-
-<P>The Eclipse Foundation makes available all content in this plug-in 
-("Content"). Unless otherwise indicated below, the Content is provided to you 
-under the terms and conditions of the Eclipse Public License Version 1.0 
-("EPL"). A copy of the EPL is available at
-<A href="http://www.eclipse.org/org/documents/epl-v10.php">http://www.eclipse.org/org/documents/epl-v10.php</A>. 
-For purposes of the EPL, "Program" will mean the Content.</P>
-
-<P>If you did not receive this Content directly from the Eclipse Foundation, the 
-Content is being redistributed by another party ("Redistributor") and different 
-terms and conditions may apply to your use of any object code in the Content. 
-Check the Redistributor’s license that was provided with the Content. If no such 
-license exists, contact the Redistributor. Unless otherwise indicated below, the 
-terms and conditions of the EPL still apply to any source code in the Content 
-and such source code may be obtained at
-<A href="http://www.eclipse.org/">http://www.eclipse.org/</A>.</P>
-
-</BODY>
-</HTML>
diff --git a/docs/org.eclipse.wst.validation.infopop/build.properties b/docs/org.eclipse.wst.validation.infopop/build.properties
deleted file mode 100644
index ac322ed..0000000
--- a/docs/org.eclipse.wst.validation.infopop/build.properties
+++ /dev/null
@@ -1,7 +0,0 @@
-bin.includes = META-INF/,\
-               plugin.xml,\
-               ValidationPrefs_HelpContexts.xml,\
-               ValidationProjPrefs_HelpContexts.xml,\
-               plugin.properties,\
-               about.html
-src.includes = build.properties
diff --git a/docs/org.eclipse.wst.validation.infopop/plugin.properties b/docs/org.eclipse.wst.validation.infopop/plugin.properties
deleted file mode 100644
index b0c0709..0000000
--- a/docs/org.eclipse.wst.validation.infopop/plugin.properties
+++ /dev/null
@@ -1,6 +0,0 @@
-# NLS_MESSAGEFORMAT_VAR
-# ==============================================================================
-# Translation Instruction: section to be translated
-# ==============================================================================
-Plugin.name = WST validation infopop plug-in
-Plugin.providerName = Eclipse.org
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.validation.infopop/plugin.xml b/docs/org.eclipse.wst.validation.infopop/plugin.xml
deleted file mode 100644
index aaf27bf..0000000
--- a/docs/org.eclipse.wst.validation.infopop/plugin.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin>
-   <extension
-         point="org.eclipse.help.contexts">
-    <contexts file="ValidationProjPrefs_HelpContexts.xml" plugin="org.eclipse.wst.validation.ui" />
-	<contexts file="ValidationPrefs_HelpContexts.xml" plugin="org.eclipse.wst.validation.ui" />
-   </extension>
-
-</plugin>
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 7f47694..0000000
--- a/features/org.eclipse.wst.common_core.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_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 73beb52..0000000
--- a/features/org.eclipse.wst.common_core.feature/feature.properties
+++ /dev/null
@@ -1,144 +0,0 @@
-###############################################################################
-# Copyright (c) 2006 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-# feature.properties
-# contains externalized strings for feature.xml
-# "%foo" in feature.xml corresponds to the key "foo" in this file
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# This file should be translated.
-
-# "featureName" property - name of the feature
-featureName=WST Common Core
-
-# "providerName" property - name of the company that provides the feature
-providerName=Eclipse.org
-
-# "updateSiteName" property - label for the update site
-updateSiteName=The Eclipse Web Tools Platform (WTP) Project update site
-
-# "description" property - description of the feature
-description=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\
-March 17, 2005\n\
-\n\
-Usage Of Content\n\
-\n\
-THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR\n\
-OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\
-USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\
-AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\
-NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\
-AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\
-AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\
-OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\
-TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\
-OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\
-BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\
-\n\
-Applicable Licenses\n\
-\n\
-Unless otherwise indicated, all Content made available by the Eclipse Foundation\n\
-is provided to you under the terms and conditions of the Eclipse Public\n\
-License Version 1.0 ("EPL"). A copy of the EPL is provided with this\n\
-Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\
-For purposes of the EPL, "Program" will mean the Content.\n\
-\n\
-Content includes, but is not limited to, source code, object code,\n\
-documentation and other files maintained in the Eclipse.org CVS\n\
-repository ("Repository") in CVS modules ("Modules") and made available\n\
-as downloadable archives ("Downloads").\n\
-\n\
-   - Content may be structured and packaged into modules to facilitate delivering,\n\
-     extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\
-     plug-in fragments ("Fragments"), and features ("Features").\n\
-   - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java? ARchive)\n\
-     in a directory named "plugins".\n\
-   - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\
-     Each Feature may be packaged as a sub-directory in a directory named "features".\n\
-     Within a Feature, files named "feature.xml" may contain a list of the names and version\n\
-     numbers of the Plug-ins and/or Fragments associated with that Feature.\n\
-   - Features may also include other Features ("Included Features"). Within a Feature, files\n\
-     named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\
-\n\
-Features may also include other Features ("Included Features"). Files named\n\
-"feature.xml" may contain a list of the names and version numbers of\n\
-Included Features.\n\
-\n\
-The terms and conditions governing Plug-ins and Fragments should be\n\
-contained in files named "about.html" ("Abouts"). The terms and\n\
-conditions governing Features and Included Features should be contained\n\
-in files named "license.html" ("Feature Licenses"). Abouts and Feature\n\
-Licenses may be located in any directory of a Download or Module\n\
-including, but not limited to the following locations:\n\
-\n\
-   - The top-level (root) directory\n\
-   - Plug-in and Fragment directories\n\
-   - Inside Plug-ins and Fragments packaged as JARs\n\
-   - Sub-directories of the directory named "src" of certain Plug-ins\n\
-   - Feature directories\n\
-\n\
-Note: if a Feature made available by the Eclipse Foundation is installed using the\n\
-Eclipse Update Manager, you must agree to a license ("Feature Update\n\
-License") during the installation process. If the Feature contains\n\
-Included Features, the Feature Update License should either provide you\n\
-with the terms and conditions governing the Included Features or inform\n\
-you where you can locate them. Feature Update Licenses may be found in\n\
-the "license" property of files named "feature.properties". Such Abouts,\n\
-Feature Licenses and Feature Update Licenses contain the terms and\n\
-conditions (or references to such terms and conditions) that govern your\n\
-use of the associated Content in that directory.\n\
-\n\
-THE ABOUTS, FEATURE LICENSES AND FEATURE UPDATE LICENSES MAY REFER\n\
-TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\
-SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\
-\n\
-    - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\
-    - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\
-    - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\
-    - IBM Public License 1.0 (available at http://oss.software.ibm.com/developerworks/opensource/license10.html)\n\
-    - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\
-    - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\
-\n\
-IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\
-TO USE OF THE CONTENT. If no About, Feature License or Feature Update License\n\
-is provided, please contact the Eclipse Foundation to determine what terms and conditions\n\
-govern that particular Content.\n\
-\n\
-Cryptography\n\
-\n\
-Content may contain encryption software. The country in which you are\n\
-currently may have restrictions on the import, possession, and use,\n\
-and/or re-export to another country, of encryption software. BEFORE\n\
-using any encryption software, please check the country's laws,\n\
-regulations and policies concerning the import, possession, or use,\n\
-and re-export of encryption software, to see if this is permitted.\n\
-\n\
-Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.\n
-########### end of license property ##########################################
diff --git a/features/org.eclipse.wst.common_core.feature/feature.xml b/features/org.eclipse.wst.common_core.feature/feature.xml
deleted file mode 100644
index 29c2946..0000000
--- a/features/org.eclipse.wst.common_core.feature/feature.xml
+++ /dev/null
@@ -1,105 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature
-      id="org.eclipse.wst.common_core.feature"
-      label="%featureName"
-      version="1.5.0.qualifier"
-      provider-name="%providerName">
-
-   <description>
-      %description
-   </description>
-
-   <copyright>
-      %copyright
-   </copyright>
-
-   <license url="license.html">
-      %license
-   </license>
-
-   <url>
-      <update label="%updateSiteName" url="http://download.eclipse.org/webtools/updates/"/>
-   </url>
-
-   <requires>
-      <import feature="org.eclipse.jem" version="1.2" match="equivalent"/>
-      <import feature="org.eclipse.emf" version="2.2" match="equivalent"/>
-   </requires>
-
-   <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.command.env"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"/>
-
-   <plugin
-         id="org.eclipse.wst.command.env.core"
-         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.project.facet.core"
-         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"/>
-
-</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 2347060..0000000
--- a/features/org.eclipse.wst.common_core.feature/license.html
+++ /dev/null
@@ -1,93 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3c.org/TR/1999/REC-html401-19991224/loose.dtd">
-<!-- saved from url=(0044)http://www.eclipse.org/legal/epl/notice.html -->
-<HTML><HEAD><TITLE>Eclipse.org Software User Agreement</TITLE>
-<META http-equiv=Content-Type content="text/html; charset=iso-8859-1">
-<META content="MSHTML 6.00.2800.1479" name=GENERATOR></HEAD>
-<BODY lang=EN-US vLink=purple link=blue>
-<H2>Eclipse Foundation Software User Agreement</H2>
-<P>January 28, 2005</P>
-<H3>Usage Of Content</H3>
-<P>THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION 
-AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT"). USE OF 
-THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS AGREEMENT AND/OR THE 
-TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED 
-BELOW. BY USING THE CONTENT, YOU AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED 
-BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE 
-AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE 
-TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS OF ANY 
-APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU 
-MAY NOT USE THE CONTENT.</P>
-<H3>Applicable Licenses</H3>
-<P>Unless otherwise indicated, all Content made available by the Eclipse 
-Foundation is provided to you under the terms and conditions of the Eclipse 
-Public License Version 1.0 ("EPL"). A copy of the EPL is provided with this 
-Content and is also available at <A 
-href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</A>. 
-For purposes of the EPL, "Program" will mean the Content.</P>
-<P>Content includes, but is not limited to, source code, object code, 
-documentation and other files maintained in the Eclipse.org CVS repository 
-("Repository") in CVS modules ("Modules") and made available as downloadable 
-archives ("Downloads").</P>
-<P>Content may be apportioned into plug-ins ("Plug-ins"), plug-in fragments 
-("Fragments"), and features ("Features"). A Feature is a bundle of one or more 
-Plug-ins and/or Fragments and associated material. Files named "feature.xml" may 
-contain a list of the names and version numbers of the Plug-ins and/or Fragments 
-associated with a Feature. Plug-ins and Fragments are located in directories 
-named "plugins" and Features are located in directories named "features".</P>
-<P>Features may also include other Features ("Included Features"). Files named 
-"feature.xml" may contain a list of the names and version numbers of Included 
-Features.</P>
-<P>The terms and conditions governing Plug-ins and Fragments should be contained 
-in files named "about.html" ("Abouts"). The terms and conditions governing 
-Features and Included Features should be contained in files named "license.html" 
-("Feature Licenses"). Abouts and Feature Licenses may be located in any 
-directory of a Download or Module including, but not limited to the following 
-locations:</P>
-<UL>
-  <LI>The top-level (root) directory 
-  <LI>Plug-in and Fragment directories 
-  <LI>Subdirectories of the directory named "src" of certain Plug-ins 
-  <LI>Feature directories </LI></UL>
-<P>Note: if a Feature made available by the Eclipse Foundation is installed 
-using the Eclipse Update Manager, you must agree to a license ("Feature Update 
-License") during the installation process. If the Feature contains Included 
-Features, the Feature Update License should either provide you with the terms 
-and conditions governing the Included Features or inform you where you can 
-locate them. Feature Update Licenses may be found in the "license" property of 
-files named "feature.properties". Such Abouts, Feature Licenses and Feature 
-Update Licenses contain the terms and conditions (or references to such terms 
-and conditions) that govern your use of the associated Content in that 
-directory.</P>
-<P>THE ABOUTS, FEATURE LICENSES AND FEATURE UPDATE LICENSES MAY REFER TO THE EPL 
-OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS. SOME OF THESE 
-OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):</P>
-<UL>
-  <LI>Common Public License Version 1.0 (available at <A 
-  href="http://www.eclipse.org/legal/cpl-v10.html">http://www.eclipse.org/legal/cpl-v10.html</A>) 
-
-  <LI>Apache Software License 1.1 (available at <A 
-  href="http://www.apache.org/licenses/LICENSE">http://www.apache.org/licenses/LICENSE</A>) 
-
-  <LI>Apache Software License 2.0 (available at <A 
-  href="http://www.apache.org/licenses/LICENSE-2.0">http://www.apache.org/licenses/LICENSE-2.0</A>) 
-
-  <LI>IBM Public License 1.0 (available at <A 
-  href="http://oss.software.ibm.com/developerworks/opensource/license10.html">http://oss.software.ibm.com/developerworks/opensource/license10.html</A>) 
-
-  <LI>Metro Link Public License 1.00 (available at <A 
-  href="http://www.opengroup.org/openmotif/supporters/metrolink/license.html">http://www.opengroup.org/openmotif/supporters/metrolink/license.html</A>) 
-
-  <LI>Mozilla Public License Version 1.1 (available at <A 
-  href="http://www.mozilla.org/MPL/MPL-1.1.html">http://www.mozilla.org/MPL/MPL-1.1.html</A>) 
-  </LI></UL>
-<P>IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR 
-TO USE OF THE CONTENT. If no About, Feature License or Feature Update License is 
-provided, please contact the Eclipse Foundation to determine what terms and 
-conditions govern that particular Content.</P>
-<H3>Cryptography</H3>
-<P>Content may contain encryption software. The country in which you are 
-currently may have restrictions on the import, possession, and use, and/or 
-re-export to another country, of encryption software. BEFORE using any 
-encryption software, please check the country's laws, regulations and policies 
-concerning the import, possession, or use, and re-export of encryption software, 
-to see if this is permitted.</P></BODY></HTML>
diff --git a/features/org.eclipse.wst.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 4bb9440..0000000
--- a/features/org.eclipse.wst.common_core.feature/sourceTemplateFeature/feature.properties
+++ /dev/null
@@ -1,130 +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
-
-# "providerName" property - name of the company that provides the feature
-providerName=Eclipse.org
-
-# "updateSiteName" property - label for the update site
-updateSiteName=Eclipse.org update site
-
-# "description" property - description of the feature
-description=Source Code Feature
-# "licenseURL" property - URL of the "Feature License"
-# do not translate value - just change to point to a locale-specific HTML page
-licenseURL=license.html
-
-# "license" property - text of the "Feature Update License"
-# should be plain text version of license agreement pointed to be "licenseURL"
-license=\
-ECLIPSE FOUNDATION SOFTWARE USER AGREEMENT\n\
-March 17, 2005\n\
-\n\
-Usage Of Content\n\
-\n\
-THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR\n\
-OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\
-USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\
-AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\
-NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\
-AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\
-AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\
-OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\
-TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\
-OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\
-BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\
-\n\
-Applicable Licenses\n\
-\n\
-Unless otherwise indicated, all Content made available by the Eclipse Foundation\n\
-is provided to you under the terms and conditions of the Eclipse Public\n\
-License Version 1.0 ("EPL"). A copy of the EPL is provided with this\n\
-Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\
-For purposes of the EPL, "Program" will mean the Content.\n\
-\n\
-Content includes, but is not limited to, source code, object code,\n\
-documentation and other files maintained in the Eclipse.org CVS\n\
-repository ("Repository") in CVS modules ("Modules") and made available\n\
-as downloadable archives ("Downloads").\n\
-\n\
-   - Content may be structured and packaged into modules to facilitate delivering,\n\
-     extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\
-     plug-in fragments ("Fragments"), and features ("Features").\n\
-   - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java? ARchive)\n\
-     in a directory named "plugins".\n\
-   - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\
-     Each Feature may be packaged as a sub-directory in a directory named "features".\n\
-     Within a Feature, files named "feature.xml" may contain a list of the names and version\n\
-     numbers of the Plug-ins and/or Fragments associated with that Feature.\n\
-   - Features may also include other Features ("Included Features"). Within a Feature, files\n\
-     named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\
-\n\
-Features may also include other Features ("Included Features"). Files named\n\
-"feature.xml" may contain a list of the names and version numbers of\n\
-Included Features.\n\
-\n\
-The terms and conditions governing Plug-ins and Fragments should be\n\
-contained in files named "about.html" ("Abouts"). The terms and\n\
-conditions governing Features and Included Features should be contained\n\
-in files named "license.html" ("Feature Licenses"). Abouts and Feature\n\
-Licenses may be located in any directory of a Download or Module\n\
-including, but not limited to the following locations:\n\
-\n\
-   - The top-level (root) directory\n\
-   - Plug-in and Fragment directories\n\
-   - Inside Plug-ins and Fragments packaged as JARs\n\
-   - Sub-directories of the directory named "src" of certain Plug-ins\n\
-   - Feature directories\n\
-\n\
-Note: if a Feature made available by the Eclipse Foundation is installed using the\n\
-Eclipse Update Manager, you must agree to a license ("Feature Update\n\
-License") during the installation process. If the Feature contains\n\
-Included Features, the Feature Update License should either provide you\n\
-with the terms and conditions governing the Included Features or inform\n\
-you where you can locate them. Feature Update Licenses may be found in\n\
-the "license" property of files named "feature.properties". Such Abouts,\n\
-Feature Licenses and Feature Update Licenses contain the terms and\n\
-conditions (or references to such terms and conditions) that govern your\n\
-use of the associated Content in that directory.\n\
-\n\
-THE ABOUTS, FEATURE LICENSES AND FEATURE UPDATE LICENSES MAY REFER\n\
-TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\
-SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\
-\n\
-    - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\
-    - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\
-    - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\
-    - IBM Public License 1.0 (available at http://oss.software.ibm.com/developerworks/opensource/license10.html)\n\
-    - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\
-    - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\
-\n\
-IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\
-TO USE OF THE CONTENT. If no About, Feature License or Feature Update License\n\
-is provided, please contact the Eclipse Foundation to determine what terms and conditions\n\
-govern that particular Content.\n\
-\n\
-Cryptography\n\
-\n\
-Content may contain encryption software. The country in which you are\n\
-currently may have restrictions on the import, possession, and use,\n\
-and/or re-export to another country, of encryption software. BEFORE\n\
-using any encryption software, please check the country's laws,\n\
-regulations and policies concerning the import, possession, or use,\n\
-and re-export of encryption software, to see if this is permitted.\n\
-\n\
-Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.\n
-########### end of license property ##########################################
diff --git a/features/org.eclipse.wst.common_core.feature/sourceTemplateFeature/feature.xml b/features/org.eclipse.wst.common_core.feature/sourceTemplateFeature/feature.xml
deleted file mode 100644
index 6208ed0..0000000
--- a/features/org.eclipse.wst.common_core.feature/sourceTemplateFeature/feature.xml
+++ /dev/null
@@ -1,32 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature
-      id="org.eclipse.wst.common_core.feature.source"
-      label="%featureName"
-      version="1.5.0.qualifier"
-      provider-name="%providerName">
-
-   <description>
-      %description
-   </description>
-
-   <copyright>
-      %copyright
-   </copyright>
-
-   <license url="license.html">
-      %license
-   </license>
-
-   <url>
-      <update label="Web Tools Platform (WTP) Updates" url="http://download.eclipse.org/webtools/updates/"/>
-   </url>
-
-
-
-   <plugin
-         id="org.eclipse.wst.common_core.feature.source"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"/>
-
-</feature>
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 c6af966..0000000
--- a/features/org.eclipse.wst.common_core.feature/sourceTemplateFeature/license.html
+++ /dev/null
@@ -1,79 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<html>
-<head>
-<meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
-<title>Eclipse.org Software User Agreement</title>
-</head>
-
-<body lang="EN-US" link=blue vlink=purple>
-<h2>Eclipse Foundation Software User Agreement</h2>
-<p>March 17, 2005</p>
-
-<h3>Usage Of Content</h3>
-
-<p>THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS
-   (COLLECTIVELY &quot;CONTENT&quot;).  USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS AGREEMENT AND/OR THE TERMS AND
-   CONDITIONS OF LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU AGREE THAT YOUR USE
-   OF THE CONTENT IS GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR
-   NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND
-   CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT USE THE CONTENT.</p>
-   
-<h3>Applicable Licenses</h3>   
-   
-<p>Unless otherwise indicated, all Content made available by the Eclipse Foundation is provided to you under the terms and conditions of the Eclipse Public License Version 1.0
-   (&quot;EPL&quot;).  A copy of the EPL is provided with this Content and is also available at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-   For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>Content includes, but is not limited to, source code, object code, documentation and other files maintained in the Eclipse.org CVS repository (&quot;Repository&quot;) in CVS
-   modules (&quot;Modules&quot;) and made available as downloadable archives (&quot;Downloads&quot;).</p>
-   
-<ul>
-	<li>Content may be structured and packaged into modules to facilitate delivering, extending, and upgrading the Content.  Typical modules may include plug-ins (&quot;Plug-ins&quot;), plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;).</li>
-	<li>Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java&trade; ARchive) in a directory named &quot;plugins&quot;.</li>
-	<li>A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.  Each Feature may be packaged as a sub-directory in a directory named &quot;features&quot;.  Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version numbers of the Plug-ins
-      and/or Fragments associated with that Feature.</li>
-	<li>Features may also include other Features (&quot;Included Features&quot;). Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.</li>
-</ul>   
- 
-<p>The terms and conditions governing Plug-ins and Fragments should be contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and conditions governing Features and
-Included Features should be contained in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;).  Abouts and Feature Licenses may be located in any directory of a Download or Module
-including, but not limited to the following locations:</p>
-
-<ul>
-	<li>The top-level (root) directory</li>
-	<li>Plug-in and Fragment directories</li>
-	<li>Inside Plug-ins and Fragments packaged as JARs</li>
-	<li>Sub-directories of the directory named &quot;src&quot; of certain Plug-ins</li>
-	<li>Feature directories</li>
-</ul>
-		
-<p>Note: if a Feature made available by the Eclipse Foundation is installed using the Eclipse Update Manager, you must agree to a license (&quot;Feature Update License&quot;) during the
-installation process.  If the Feature contains Included Features, the Feature Update License should either provide you with the terms and conditions governing the Included Features or
-inform you where you can locate them.  Feature Update Licenses may be found in the &quot;license&quot; property of files named &quot;feature.properties&quot; found within a Feature.
-Such Abouts, Feature Licenses, and Feature Update Licenses contain the terms and conditions (or references to such terms and conditions) that govern your use of the associated Content in
-that directory.</p>
-
-<p>THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.  SOME OF THESE
-OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):</p>
-
-<ul>
-	<li>Common Public License Version 1.0 (available at <a href="http://www.eclipse.org/legal/cpl-v10.html">http://www.eclipse.org/legal/cpl-v10.html</a>)</li>
-	<li>Apache Software License 1.1 (available at <a href="http://www.apache.org/licenses/LICENSE">http://www.apache.org/licenses/LICENSE</a>)</li>
-	<li>Apache Software License 2.0 (available at <a href="http://www.apache.org/licenses/LICENSE-2.0">http://www.apache.org/licenses/LICENSE-2.0</a>)</li>
-	<li>IBM Public License 1.0 (available at <a href="http://oss.software.ibm.com/developerworks/opensource/license10.html">http://oss.software.ibm.com/developerworks/opensource/license10.html</a>)</li>	
-	<li>Metro Link Public License 1.00 (available at <a href="http://www.opengroup.org/openmotif/supporters/metrolink/license.html">http://www.opengroup.org/openmotif/supporters/metrolink/license.html</a>)</li>
-	<li>Mozilla Public License Version 1.1 (available at <a href="http://www.mozilla.org/MPL/MPL-1.1.html">http://www.mozilla.org/MPL/MPL-1.1.html</a>)</li>
-</ul>
-
-<p>IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR TO USE OF THE CONTENT.  If no About, Feature License, or Feature Update License is provided, please
-contact the Eclipse Foundation to determine what terms and conditions govern that particular Content.</p>
-
-<h3>Cryptography</h3>
-
-<p>Content may contain encryption software. The country in which you are currently may have restrictions on the import, possession, and use, and/or re-export to
-   another country, of encryption software. BEFORE using any encryption software, please check the country's laws, regulations and policies concerning the import,
-   possession, or use, and re-export of encryption software, to see if this is permitted.</p>
-   
-<small>Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.</small>   
-</body>
-</html>
diff --git a/features/org.eclipse.wst.common_core.feature/sourceTemplatePlugin/about.html b/features/org.eclipse.wst.common_core.feature/sourceTemplatePlugin/about.html
deleted file mode 100644
index 0a8aea0..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>February 24, 2005</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 2dee36a..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=eclipse32.gif
-
-# Property "aboutImage" contains path to product image (500x330 or 115x164)
-# needed for primary features only
-
-# Property "appName" contains name of the application (not translated)
-# needed for primary features only
-
-# Property "welcomePage" contains path to welcome page (special XML-based format)
-# optional
-
-# Property "welcomePerspective" contains the id of the perspective in which the
-# welcome page is to be opened.
-# optional
-
-
-
-
diff --git a/features/org.eclipse.wst.common_core.feature/sourceTemplatePlugin/about.mappings b/features/org.eclipse.wst.common_core.feature/sourceTemplatePlugin/about.mappings
deleted file mode 100644
index 0dfb735..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 f95b457..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, eclipse32.gif, plugin.properties, plugin.xml, src/**, META-INF/
-sourcePlugin = true
diff --git a/features/org.eclipse.wst.common_core.feature/sourceTemplatePlugin/eclipse32.gif b/features/org.eclipse.wst.common_core.feature/sourceTemplatePlugin/eclipse32.gif
deleted file mode 100644
index e6ad7cc..0000000
--- a/features/org.eclipse.wst.common_core.feature/sourceTemplatePlugin/eclipse32.gif
+++ /dev/null
Binary files differ
diff --git a/features/org.eclipse.wst.common_core.feature/sourceTemplatePlugin/eclipse32.png b/features/org.eclipse.wst.common_core.feature/sourceTemplatePlugin/eclipse32.png
deleted file mode 100644
index 50ae49d..0000000
--- a/features/org.eclipse.wst.common_core.feature/sourceTemplatePlugin/eclipse32.png
+++ /dev/null
Binary files differ
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_sdk.feature/.cvsignore b/features/org.eclipse.wst.common_sdk.feature/.cvsignore
deleted file mode 100644
index 413925b..0000000
--- a/features/org.eclipse.wst.common_sdk.feature/.cvsignore
+++ /dev/null
@@ -1,4 +0,0 @@
-org.eclipse.wst.common_sdk.feature_1.0.0.bin.dist.zip
-build.xml
-features
-plugins
diff --git a/features/org.eclipse.wst.common_sdk.feature/.project b/features/org.eclipse.wst.common_sdk.feature/.project
deleted file mode 100644
index fb86250..0000000
--- a/features/org.eclipse.wst.common_sdk.feature/.project
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.wst.common_sdk.feature</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.pde.FeatureBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.FeatureNature</nature>
-	</natures>
-</projectDescription>
diff --git a/features/org.eclipse.wst.common_sdk.feature/build.properties b/features/org.eclipse.wst.common_sdk.feature/build.properties
deleted file mode 100644
index 5391fbd..0000000
--- a/features/org.eclipse.wst.common_sdk.feature/build.properties
+++ /dev/null
@@ -1,6 +0,0 @@
-generate.feature@org.eclipse.wst.common_ui.feature.source=org.eclipse.wst.common_ui.feature
-bin.includes = feature.xml,\
-               epl-v10.html,\
-               license.html,\
-               eclipse_update_120.jpg,\
-               feature.properties
diff --git a/features/org.eclipse.wst.common_sdk.feature/eclipse_update_120.jpg b/features/org.eclipse.wst.common_sdk.feature/eclipse_update_120.jpg
deleted file mode 100644
index bfdf708..0000000
--- a/features/org.eclipse.wst.common_sdk.feature/eclipse_update_120.jpg
+++ /dev/null
Binary files differ
diff --git a/features/org.eclipse.wst.common_sdk.feature/epl-v10.html b/features/org.eclipse.wst.common_sdk.feature/epl-v10.html
deleted file mode 100644
index ed4b196..0000000
--- a/features/org.eclipse.wst.common_sdk.feature/epl-v10.html
+++ /dev/null
@@ -1,328 +0,0 @@
-<html xmlns:o="urn:schemas-microsoft-com:office:office"
-xmlns:w="urn:schemas-microsoft-com:office:word"
-xmlns="http://www.w3.org/TR/REC-html40">
-
-<head>
-<meta http-equiv=Content-Type content="text/html; charset=windows-1252">
-<meta name=ProgId content=Word.Document>
-<meta name=Generator content="Microsoft Word 9">
-<meta name=Originator content="Microsoft Word 9">
-<link rel=File-List
-href="./Eclipse%20EPL%202003_11_10%20Final_files/filelist.xml">
-<title>Eclipse Public License - Version 1.0</title>
-<!--[if gte mso 9]><xml>
- <o:DocumentProperties>
-  <o:Revision>2</o:Revision>
-  <o:TotalTime>3</o:TotalTime>
-  <o:Created>2004-03-05T23:03:00Z</o:Created>
-  <o:LastSaved>2004-03-05T23:03:00Z</o:LastSaved>
-  <o:Pages>4</o:Pages>
-  <o:Words>1626</o:Words>
-  <o:Characters>9270</o:Characters>
-   <o:Lines>77</o:Lines>
-  <o:Paragraphs>18</o:Paragraphs>
-  <o:CharactersWithSpaces>11384</o:CharactersWithSpaces>
-  <o:Version>9.4402</o:Version>
- </o:DocumentProperties>
-</xml><![endif]--><!--[if gte mso 9]><xml>
- <w:WordDocument>
-  <w:TrackRevisions/>
- </w:WordDocument>
-</xml><![endif]-->
-<style>
-<!--
- /* Font Definitions */
-@font-face
-	{font-family:Tahoma;
-	panose-1:2 11 6 4 3 5 4 4 2 4;
-	mso-font-charset:0;
-	mso-generic-font-family:swiss;
-	mso-font-pitch:variable;
-	mso-font-signature:553679495 -2147483648 8 0 66047 0;}
- /* Style Definitions */
-p.MsoNormal, li.MsoNormal, div.MsoNormal
-	{mso-style-parent:"";
-	margin:0in;
-	margin-bottom:.0001pt;
-	mso-pagination:widow-orphan;
-	font-size:12.0pt;
-	font-family:"Times New Roman";
-	mso-fareast-font-family:"Times New Roman";}
-p
-	{margin-right:0in;
-	mso-margin-top-alt:auto;
-	mso-margin-bottom-alt:auto;
-	margin-left:0in;
-	mso-pagination:widow-orphan;
-	font-size:12.0pt;
-	font-family:"Times New Roman";
-	mso-fareast-font-family:"Times New Roman";}
-p.BalloonText, li.BalloonText, div.BalloonText
-	{mso-style-name:"Balloon Text";
-	margin:0in;
-	margin-bottom:.0001pt;
-	mso-pagination:widow-orphan;
-	font-size:8.0pt;
-	font-family:Tahoma;
-	mso-fareast-font-family:"Times New Roman";}
-@page Section1
-	{size:8.5in 11.0in;
-	margin:1.0in 1.25in 1.0in 1.25in;
-	mso-header-margin:.5in;
-	mso-footer-margin:.5in;
-	mso-paper-source:0;}
-div.Section1
-	{page:Section1;}
--->
-</style>
-</head>
-
-<body lang=EN-US style='tab-interval:.5in'>
-
-<div class=Section1>
-
-<p align=center style='text-align:center'><b>Eclipse Public License - v 1.0</b>
-</p>
-
-<p><span style='font-size:10.0pt'>THE ACCOMPANYING PROGRAM IS PROVIDED UNDER
-THE TERMS OF THIS ECLIPSE PUBLIC LICENSE (&quot;AGREEMENT&quot;). ANY USE,
-REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE
-OF THIS AGREEMENT.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>1. DEFINITIONS</span></b> </p>
-
-<p><span style='font-size:10.0pt'>&quot;Contribution&quot; means:</span> </p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-in the case of the initial Contributor, the initial code and documentation
-distributed under this Agreement, and<br clear=left>
-b) in the case of each subsequent Contributor:</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>i)
-changes to the Program, and</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>ii)
-additions to the Program;</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>where
-such changes and/or additions to the Program originate from and are distributed
-by that particular Contributor. A Contribution 'originates' from a Contributor
-if it was added to the Program by such Contributor itself or anyone acting on
-such Contributor's behalf. Contributions do not include additions to the
-Program which: (i) are separate modules of software distributed in conjunction
-with the Program under their own license agreement, and (ii) are not derivative
-works of the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>&quot;Contributor&quot; means any person or
-entity that distributes the Program.</span> </p>
-
-<p><span style='font-size:10.0pt'>&quot;Licensed Patents &quot; mean patent
-claims licensable by a Contributor which are necessarily infringed by the use
-or sale of its Contribution alone or when combined with the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>&quot;Program&quot; means the Contributions
-distributed in accordance with this Agreement.</span> </p>
-
-<p><span style='font-size:10.0pt'>&quot;Recipient&quot; means anyone who
-receives the Program under this Agreement, including all Contributors.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>2. GRANT OF RIGHTS</span></b> </p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-Subject to the terms of this Agreement, each Contributor hereby grants Recipient
-a non-exclusive, worldwide, royalty-free copyright license to<span
-style='color:red'> </span>reproduce, prepare derivative works of, publicly
-display, publicly perform, distribute and sublicense the Contribution of such
-Contributor, if any, and such derivative works, in source code and object code
-form.</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b)
-Subject to the terms of this Agreement, each Contributor hereby grants
-Recipient a non-exclusive, worldwide,<span style='color:green'> </span>royalty-free
-patent license under Licensed Patents to make, use, sell, offer to sell, import
-and otherwise transfer the Contribution of such Contributor, if any, in source
-code and object code form. This patent license shall apply to the combination
-of the Contribution and the Program if, at the time the Contribution is added
-by the Contributor, such addition of the Contribution causes such combination
-to be covered by the Licensed Patents. The patent license shall not apply to
-any other combinations which include the Contribution. No hardware per se is
-licensed hereunder. </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>c)
-Recipient understands that although each Contributor grants the licenses to its
-Contributions set forth herein, no assurances are provided by any Contributor
-that the Program does not infringe the patent or other intellectual property
-rights of any other entity. Each Contributor disclaims any liability to Recipient
-for claims brought by any other entity based on infringement of intellectual
-property rights or otherwise. As a condition to exercising the rights and
-licenses granted hereunder, each Recipient hereby assumes sole responsibility
-to secure any other intellectual property rights needed, if any. For example,
-if a third party patent license is required to allow Recipient to distribute
-the Program, it is Recipient's responsibility to acquire that license before
-distributing the Program.</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>d)
-Each Contributor represents that to its knowledge it has sufficient copyright
-rights in its Contribution, if any, to grant the copyright license set forth in
-this Agreement. </span></p>
-
-<p><b><span style='font-size:10.0pt'>3. REQUIREMENTS</span></b> </p>
-
-<p><span style='font-size:10.0pt'>A Contributor may choose to distribute the
-Program in object code form under its own license agreement, provided that:</span>
-</p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-it complies with the terms and conditions of this Agreement; and</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b)
-its license agreement:</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>i)
-effectively disclaims on behalf of all Contributors all warranties and
-conditions, express and implied, including warranties or conditions of title
-and non-infringement, and implied warranties or conditions of merchantability
-and fitness for a particular purpose; </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>ii)
-effectively excludes on behalf of all Contributors all liability for damages,
-including direct, indirect, special, incidental and consequential damages, such
-as lost profits; </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>iii)
-states that any provisions which differ from this Agreement are offered by that
-Contributor alone and not by any other party; and</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>iv)
-states that source code for the Program is available from such Contributor, and
-informs licensees how to obtain it in a reasonable manner on or through a
-medium customarily used for software exchange.<span style='color:blue'> </span></span></p>
-
-<p><span style='font-size:10.0pt'>When the Program is made available in source
-code form:</span> </p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-it must be made available under this Agreement; and </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b) a
-copy of this Agreement must be included with each copy of the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>Contributors may not remove or alter any
-copyright notices contained within the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>Each Contributor must identify itself as the
-originator of its Contribution, if any, in a manner that reasonably allows
-subsequent Recipients to identify the originator of the Contribution. </span></p>
-
-<p><b><span style='font-size:10.0pt'>4. COMMERCIAL DISTRIBUTION</span></b> </p>
-
-<p><span style='font-size:10.0pt'>Commercial distributors of software may
-accept certain responsibilities with respect to end users, business partners
-and the like. While this license is intended to facilitate the commercial use
-of the Program, the Contributor who includes the Program in a commercial
-product offering should do so in a manner which does not create potential
-liability for other Contributors. Therefore, if a Contributor includes the
-Program in a commercial product offering, such Contributor (&quot;Commercial
-Contributor&quot;) hereby agrees to defend and indemnify every other
-Contributor (&quot;Indemnified Contributor&quot;) against any losses, damages and
-costs (collectively &quot;Losses&quot;) arising from claims, lawsuits and other
-legal actions brought by a third party against the Indemnified Contributor to
-the extent caused by the acts or omissions of such Commercial Contributor in
-connection with its distribution of the Program in a commercial product
-offering. The obligations in this section do not apply to any claims or Losses
-relating to any actual or alleged intellectual property infringement. In order
-to qualify, an Indemnified Contributor must: a) promptly notify the Commercial
-Contributor in writing of such claim, and b) allow the Commercial Contributor
-to control, and cooperate with the Commercial Contributor in, the defense and
-any related settlement negotiations. The Indemnified Contributor may participate
-in any such claim at its own expense.</span> </p>
-
-<p><span style='font-size:10.0pt'>For example, a Contributor might include the
-Program in a commercial product offering, Product X. That Contributor is then a
-Commercial Contributor. If that Commercial Contributor then makes performance
-claims, or offers warranties related to Product X, those performance claims and
-warranties are such Commercial Contributor's responsibility alone. Under this
-section, the Commercial Contributor would have to defend claims against the
-other Contributors related to those performance claims and warranties, and if a
-court requires any other Contributor to pay any damages as a result, the
-Commercial Contributor must pay those damages.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>5. NO WARRANTY</span></b> </p>
-
-<p><span style='font-size:10.0pt'>EXCEPT AS EXPRESSLY SET FORTH IN THIS
-AGREEMENT, THE PROGRAM IS PROVIDED ON AN &quot;AS IS&quot; BASIS, WITHOUT
-WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING,
-WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT,
-MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely
-responsible for determining the appropriateness of using and distributing the
-Program and assumes all risks associated with its exercise of rights under this
-Agreement , including but not limited to the risks and costs of program errors,
-compliance with applicable laws, damage to or loss of data, programs or
-equipment, and unavailability or interruption of operations. </span></p>
-
-<p><b><span style='font-size:10.0pt'>6. DISCLAIMER OF LIABILITY</span></b> </p>
-
-<p><span style='font-size:10.0pt'>EXCEPT AS EXPRESSLY SET FORTH IN THIS
-AGREEMENT, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR
-ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-(INCLUDING WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY
-OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF
-THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF
-THE POSSIBILITY OF SUCH DAMAGES.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>7. GENERAL</span></b> </p>
-
-<p><span style='font-size:10.0pt'>If any provision of this Agreement is invalid
-or unenforceable under applicable law, it shall not affect the validity or
-enforceability of the remainder of the terms of this Agreement, and without
-further action by the parties hereto, such provision shall be reformed to the
-minimum extent necessary to make such provision valid and enforceable.</span> </p>
-
-<p><span style='font-size:10.0pt'>If Recipient institutes patent litigation
-against any entity (including a cross-claim or counterclaim in a lawsuit)
-alleging that the Program itself (excluding combinations of the Program with
-other software or hardware) infringes such Recipient's patent(s), then such
-Recipient's rights granted under Section 2(b) shall terminate as of the date
-such litigation is filed. </span></p>
-
-<p><span style='font-size:10.0pt'>All Recipient's rights under this Agreement
-shall terminate if it fails to comply with any of the material terms or
-conditions of this Agreement and does not cure such failure in a reasonable
-period of time after becoming aware of such noncompliance. If all Recipient's
-rights under this Agreement terminate, Recipient agrees to cease use and
-distribution of the Program as soon as reasonably practicable. However,
-Recipient's obligations under this Agreement and any licenses granted by
-Recipient relating to the Program shall continue and survive. </span></p>
-
-<p><span style='font-size:10.0pt'>Everyone is permitted to copy and distribute
-copies of this Agreement, but in order to avoid inconsistency the Agreement is
-copyrighted and may only be modified in the following manner. The Agreement
-Steward reserves the right to publish new versions (including revisions) of
-this Agreement from time to time. No one other than the Agreement Steward has
-the right to modify this Agreement. The Eclipse Foundation is the initial
-Agreement Steward. The Eclipse Foundation may assign the responsibility to
-serve as the Agreement Steward to a suitable separate entity. Each new version
-of the Agreement will be given a distinguishing version number. The Program
-(including Contributions) may always be distributed subject to the version of
-the Agreement under which it was received. In addition, after a new version of
-the Agreement is published, Contributor may elect to distribute the Program
-(including its Contributions) under the new version. Except as expressly stated
-in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to
-the intellectual property of any Contributor under this Agreement, whether
-expressly, by implication, estoppel or otherwise. All rights in the Program not
-expressly granted under this Agreement are reserved.</span> </p>
-
-<p><span style='font-size:10.0pt'>This Agreement is governed by the laws of the
-State of New York and the intellectual property laws of the United States of
-America. No party to this Agreement will bring a legal action under this
-Agreement more than one year after the cause of action arose. Each party waives
-its rights to a jury trial in any resulting litigation.</span> </p>
-
-<p class=MsoNormal><![if !supportEmptyParas]>&nbsp;<![endif]><o:p></o:p></p>
-
-</div>
-
-</body>
-
-</html>
\ No newline at end of file
diff --git a/features/org.eclipse.wst.common_sdk.feature/feature.properties b/features/org.eclipse.wst.common_sdk.feature/feature.properties
deleted file mode 100644
index d7bdfa2..0000000
--- a/features/org.eclipse.wst.common_sdk.feature/feature.properties
+++ /dev/null
@@ -1,144 +0,0 @@
-###############################################################################
-# Copyright (c) 2006 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-# feature.properties
-# contains externalized strings for feature.xml
-# "%foo" in feature.xml corresponds to the key "foo" in this file
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# This file should be translated.
-
-# "featureName" property - name of the feature
-featureName=WST Common Plug-in Developer Resources
-
-# "providerName" property - name of the company that provides the feature
-providerName=Eclipse.org
-
-# "updateSiteName" property - label for the update site
-updateSiteName=The Eclipse Web Tools Platform (WTP) Project update site
-
-# "description" property - description of the feature
-description=Source code zips for WST common tools
-
-# "copyright" property - text of the "Feature Update Copyright"
-copyright=\
-Copyright (c) 2006 IBM Corporation and others.\n\
-All rights reserved. This program and the accompanying materials\n\
-are made available under the terms of the Eclipse Public License v1.0\n\
-which accompanies this distribution, and is available at\n\
-http://www.eclipse.org/legal/epl-v10.html\n\
-\n\
-Contributors:\n\
-    IBM Corporation - initial API and implementation\n
-################ end of copyright property ####################################
-
-# "licenseURL" property - URL of the "Feature License"
-# do not translate value - just change to point to a locale-specific HTML page
-licenseURL=license.html
-
-# "license" property - text of the "Feature Update License"
-# should be plain text version of license agreement pointed to be "licenseURL"
-license=\
-ECLIPSE FOUNDATION SOFTWARE USER AGREEMENT\n\
-March 17, 2005\n\
-\n\
-Usage Of Content\n\
-\n\
-THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR\n\
-OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\
-USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\
-AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\
-NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\
-AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\
-AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\
-OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\
-TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\
-OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\
-BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\
-\n\
-Applicable Licenses\n\
-\n\
-Unless otherwise indicated, all Content made available by the Eclipse Foundation\n\
-is provided to you under the terms and conditions of the Eclipse Public\n\
-License Version 1.0 ("EPL"). A copy of the EPL is provided with this\n\
-Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\
-For purposes of the EPL, "Program" will mean the Content.\n\
-\n\
-Content includes, but is not limited to, source code, object code,\n\
-documentation and other files maintained in the Eclipse.org CVS\n\
-repository ("Repository") in CVS modules ("Modules") and made available\n\
-as downloadable archives ("Downloads").\n\
-\n\
-   - Content may be structured and packaged into modules to facilitate delivering,\n\
-     extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\
-     plug-in fragments ("Fragments"), and features ("Features").\n\
-   - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java? ARchive)\n\
-     in a directory named "plugins".\n\
-   - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\
-     Each Feature may be packaged as a sub-directory in a directory named "features".\n\
-     Within a Feature, files named "feature.xml" may contain a list of the names and version\n\
-     numbers of the Plug-ins and/or Fragments associated with that Feature.\n\
-   - Features may also include other Features ("Included Features"). Within a Feature, files\n\
-     named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\
-\n\
-Features may also include other Features ("Included Features"). Files named\n\
-"feature.xml" may contain a list of the names and version numbers of\n\
-Included Features.\n\
-\n\
-The terms and conditions governing Plug-ins and Fragments should be\n\
-contained in files named "about.html" ("Abouts"). The terms and\n\
-conditions governing Features and Included Features should be contained\n\
-in files named "license.html" ("Feature Licenses"). Abouts and Feature\n\
-Licenses may be located in any directory of a Download or Module\n\
-including, but not limited to the following locations:\n\
-\n\
-   - The top-level (root) directory\n\
-   - Plug-in and Fragment directories\n\
-   - Inside Plug-ins and Fragments packaged as JARs\n\
-   - Sub-directories of the directory named "src" of certain Plug-ins\n\
-   - Feature directories\n\
-\n\
-Note: if a Feature made available by the Eclipse Foundation is installed using the\n\
-Eclipse Update Manager, you must agree to a license ("Feature Update\n\
-License") during the installation process. If the Feature contains\n\
-Included Features, the Feature Update License should either provide you\n\
-with the terms and conditions governing the Included Features or inform\n\
-you where you can locate them. Feature Update Licenses may be found in\n\
-the "license" property of files named "feature.properties". Such Abouts,\n\
-Feature Licenses and Feature Update Licenses contain the terms and\n\
-conditions (or references to such terms and conditions) that govern your\n\
-use of the associated Content in that directory.\n\
-\n\
-THE ABOUTS, FEATURE LICENSES AND FEATURE UPDATE LICENSES MAY REFER\n\
-TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\
-SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\
-\n\
-    - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\
-    - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\
-    - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\
-    - IBM Public License 1.0 (available at http://oss.software.ibm.com/developerworks/opensource/license10.html)\n\
-    - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\
-    - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\
-\n\
-IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\
-TO USE OF THE CONTENT. If no About, Feature License or Feature Update License\n\
-is provided, please contact the Eclipse Foundation to determine what terms and conditions\n\
-govern that particular Content.\n\
-\n\
-Cryptography\n\
-\n\
-Content may contain encryption software. The country in which you are\n\
-currently may have restrictions on the import, possession, and use,\n\
-and/or re-export to another country, of encryption software. BEFORE\n\
-using any encryption software, please check the country's laws,\n\
-regulations and policies concerning the import, possession, or use,\n\
-and re-export of encryption software, to see if this is permitted.\n\
-\n\
-Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.\n
-########### end of license property ##########################################
diff --git a/features/org.eclipse.wst.common_sdk.feature/feature.xml b/features/org.eclipse.wst.common_sdk.feature/feature.xml
deleted file mode 100644
index 7b09133..0000000
--- a/features/org.eclipse.wst.common_sdk.feature/feature.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature
-      id="org.eclipse.wst.common_sdk.feature"
-      label="%featureName"
-      version="1.5.0.qualifier"
-      provider-name="%providerName">
-
-   <description>
-      %description
-   </description>
-
-   <copyright>
-      %copyright
-   </copyright>
-
-   <license url="license.html">
-      %license
-   </license>
-
-   <url>
-      <update label="%updateSiteName" url="http://download.eclipse.org/webtools/updates/"/>
-   </url>
-
-   <includes
-         id="org.eclipse.wst.common_ui.feature.source"
-         version="0.0.0"/>
-
-</feature>
diff --git a/features/org.eclipse.wst.common_sdk.feature/license.html b/features/org.eclipse.wst.common_sdk.feature/license.html
deleted file mode 100644
index 2347060..0000000
--- a/features/org.eclipse.wst.common_sdk.feature/license.html
+++ /dev/null
@@ -1,93 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3c.org/TR/1999/REC-html401-19991224/loose.dtd">
-<!-- saved from url=(0044)http://www.eclipse.org/legal/epl/notice.html -->
-<HTML><HEAD><TITLE>Eclipse.org Software User Agreement</TITLE>
-<META http-equiv=Content-Type content="text/html; charset=iso-8859-1">
-<META content="MSHTML 6.00.2800.1479" name=GENERATOR></HEAD>
-<BODY lang=EN-US vLink=purple link=blue>
-<H2>Eclipse Foundation Software User Agreement</H2>
-<P>January 28, 2005</P>
-<H3>Usage Of Content</H3>
-<P>THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION 
-AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT"). USE OF 
-THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS AGREEMENT AND/OR THE 
-TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED 
-BELOW. BY USING THE CONTENT, YOU AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED 
-BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE 
-AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE 
-TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS OF ANY 
-APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU 
-MAY NOT USE THE CONTENT.</P>
-<H3>Applicable Licenses</H3>
-<P>Unless otherwise indicated, all Content made available by the Eclipse 
-Foundation is provided to you under the terms and conditions of the Eclipse 
-Public License Version 1.0 ("EPL"). A copy of the EPL is provided with this 
-Content and is also available at <A 
-href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</A>. 
-For purposes of the EPL, "Program" will mean the Content.</P>
-<P>Content includes, but is not limited to, source code, object code, 
-documentation and other files maintained in the Eclipse.org CVS repository 
-("Repository") in CVS modules ("Modules") and made available as downloadable 
-archives ("Downloads").</P>
-<P>Content may be apportioned into plug-ins ("Plug-ins"), plug-in fragments 
-("Fragments"), and features ("Features"). A Feature is a bundle of one or more 
-Plug-ins and/or Fragments and associated material. Files named "feature.xml" may 
-contain a list of the names and version numbers of the Plug-ins and/or Fragments 
-associated with a Feature. Plug-ins and Fragments are located in directories 
-named "plugins" and Features are located in directories named "features".</P>
-<P>Features may also include other Features ("Included Features"). Files named 
-"feature.xml" may contain a list of the names and version numbers of Included 
-Features.</P>
-<P>The terms and conditions governing Plug-ins and Fragments should be contained 
-in files named "about.html" ("Abouts"). The terms and conditions governing 
-Features and Included Features should be contained in files named "license.html" 
-("Feature Licenses"). Abouts and Feature Licenses may be located in any 
-directory of a Download or Module including, but not limited to the following 
-locations:</P>
-<UL>
-  <LI>The top-level (root) directory 
-  <LI>Plug-in and Fragment directories 
-  <LI>Subdirectories of the directory named "src" of certain Plug-ins 
-  <LI>Feature directories </LI></UL>
-<P>Note: if a Feature made available by the Eclipse Foundation is installed 
-using the Eclipse Update Manager, you must agree to a license ("Feature Update 
-License") during the installation process. If the Feature contains Included 
-Features, the Feature Update License should either provide you with the terms 
-and conditions governing the Included Features or inform you where you can 
-locate them. Feature Update Licenses may be found in the "license" property of 
-files named "feature.properties". Such Abouts, Feature Licenses and Feature 
-Update Licenses contain the terms and conditions (or references to such terms 
-and conditions) that govern your use of the associated Content in that 
-directory.</P>
-<P>THE ABOUTS, FEATURE LICENSES AND FEATURE UPDATE LICENSES MAY REFER TO THE EPL 
-OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS. SOME OF THESE 
-OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):</P>
-<UL>
-  <LI>Common Public License Version 1.0 (available at <A 
-  href="http://www.eclipse.org/legal/cpl-v10.html">http://www.eclipse.org/legal/cpl-v10.html</A>) 
-
-  <LI>Apache Software License 1.1 (available at <A 
-  href="http://www.apache.org/licenses/LICENSE">http://www.apache.org/licenses/LICENSE</A>) 
-
-  <LI>Apache Software License 2.0 (available at <A 
-  href="http://www.apache.org/licenses/LICENSE-2.0">http://www.apache.org/licenses/LICENSE-2.0</A>) 
-
-  <LI>IBM Public License 1.0 (available at <A 
-  href="http://oss.software.ibm.com/developerworks/opensource/license10.html">http://oss.software.ibm.com/developerworks/opensource/license10.html</A>) 
-
-  <LI>Metro Link Public License 1.00 (available at <A 
-  href="http://www.opengroup.org/openmotif/supporters/metrolink/license.html">http://www.opengroup.org/openmotif/supporters/metrolink/license.html</A>) 
-
-  <LI>Mozilla Public License Version 1.1 (available at <A 
-  href="http://www.mozilla.org/MPL/MPL-1.1.html">http://www.mozilla.org/MPL/MPL-1.1.html</A>) 
-  </LI></UL>
-<P>IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR 
-TO USE OF THE CONTENT. If no About, Feature License or Feature Update License is 
-provided, please contact the Eclipse Foundation to determine what terms and 
-conditions govern that particular Content.</P>
-<H3>Cryptography</H3>
-<P>Content may contain encryption software. The country in which you are 
-currently may have restrictions on the import, possession, and use, and/or 
-re-export to another country, of encryption software. BEFORE using any 
-encryption software, please check the country's laws, regulations and policies 
-concerning the import, possession, or use, and re-export of encryption software, 
-to see if this is permitted.</P></BODY></HTML>
diff --git a/features/org.eclipse.wst.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 6b589f4..0000000
--- a/features/org.eclipse.wst.common_ui.feature/feature.properties
+++ /dev/null
@@ -1,144 +0,0 @@
-###############################################################################
-# Copyright (c) 2006 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-# feature.properties
-# contains externalized strings for feature.xml
-# "%foo" in feature.xml corresponds to the key "foo" in this file
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# This file should be translated.
-
-# "featureName" property - name of the feature
-featureName=WST Common UI
-
-# "providerName" property - name of the company that provides the feature
-providerName=Eclipse.org
-
-# "updateSiteName" property - label for the update site
-updateSiteName=The Eclipse Web Tools Platform (WTP) Project update site
-
-# "description" property - description of the feature
-description=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\
-March 17, 2005\n\
-\n\
-Usage Of Content\n\
-\n\
-THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR\n\
-OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\
-USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\
-AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\
-NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\
-AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\
-AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\
-OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\
-TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\
-OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\
-BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\
-\n\
-Applicable Licenses\n\
-\n\
-Unless otherwise indicated, all Content made available by the Eclipse Foundation\n\
-is provided to you under the terms and conditions of the Eclipse Public\n\
-License Version 1.0 ("EPL"). A copy of the EPL is provided with this\n\
-Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\
-For purposes of the EPL, "Program" will mean the Content.\n\
-\n\
-Content includes, but is not limited to, source code, object code,\n\
-documentation and other files maintained in the Eclipse.org CVS\n\
-repository ("Repository") in CVS modules ("Modules") and made available\n\
-as downloadable archives ("Downloads").\n\
-\n\
-   - Content may be structured and packaged into modules to facilitate delivering,\n\
-     extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\
-     plug-in fragments ("Fragments"), and features ("Features").\n\
-   - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java? ARchive)\n\
-     in a directory named "plugins".\n\
-   - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\
-     Each Feature may be packaged as a sub-directory in a directory named "features".\n\
-     Within a Feature, files named "feature.xml" may contain a list of the names and version\n\
-     numbers of the Plug-ins and/or Fragments associated with that Feature.\n\
-   - Features may also include other Features ("Included Features"). Within a Feature, files\n\
-     named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\
-\n\
-Features may also include other Features ("Included Features"). Files named\n\
-"feature.xml" may contain a list of the names and version numbers of\n\
-Included Features.\n\
-\n\
-The terms and conditions governing Plug-ins and Fragments should be\n\
-contained in files named "about.html" ("Abouts"). The terms and\n\
-conditions governing Features and Included Features should be contained\n\
-in files named "license.html" ("Feature Licenses"). Abouts and Feature\n\
-Licenses may be located in any directory of a Download or Module\n\
-including, but not limited to the following locations:\n\
-\n\
-   - The top-level (root) directory\n\
-   - Plug-in and Fragment directories\n\
-   - Inside Plug-ins and Fragments packaged as JARs\n\
-   - Sub-directories of the directory named "src" of certain Plug-ins\n\
-   - Feature directories\n\
-\n\
-Note: if a Feature made available by the Eclipse Foundation is installed using the\n\
-Eclipse Update Manager, you must agree to a license ("Feature Update\n\
-License") during the installation process. If the Feature contains\n\
-Included Features, the Feature Update License should either provide you\n\
-with the terms and conditions governing the Included Features or inform\n\
-you where you can locate them. Feature Update Licenses may be found in\n\
-the "license" property of files named "feature.properties". Such Abouts,\n\
-Feature Licenses and Feature Update Licenses contain the terms and\n\
-conditions (or references to such terms and conditions) that govern your\n\
-use of the associated Content in that directory.\n\
-\n\
-THE ABOUTS, FEATURE LICENSES AND FEATURE UPDATE LICENSES MAY REFER\n\
-TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\
-SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\
-\n\
-    - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\
-    - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\
-    - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\
-    - IBM Public License 1.0 (available at http://oss.software.ibm.com/developerworks/opensource/license10.html)\n\
-    - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\
-    - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\
-\n\
-IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\
-TO USE OF THE CONTENT. If no About, Feature License or Feature Update License\n\
-is provided, please contact the Eclipse Foundation to determine what terms and conditions\n\
-govern that particular Content.\n\
-\n\
-Cryptography\n\
-\n\
-Content may contain encryption software. The country in which you are\n\
-currently may have restrictions on the import, possession, and use,\n\
-and/or re-export to another country, of encryption software. BEFORE\n\
-using any encryption software, please check the country's laws,\n\
-regulations and policies concerning the import, possession, or use,\n\
-and re-export of encryption software, to see if this is permitted.\n\
-\n\
-Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.\n
-########### end of license property ##########################################
diff --git a/features/org.eclipse.wst.common_ui.feature/feature.xml b/features/org.eclipse.wst.common_ui.feature/feature.xml
deleted file mode 100644
index fc1b2d3..0000000
--- a/features/org.eclipse.wst.common_ui.feature/feature.xml
+++ /dev/null
@@ -1,127 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature
-      id="org.eclipse.wst.common_ui.feature"
-      label="%featureName"
-      version="1.5.0.qualifier"
-      provider-name="%providerName">
-
-   <description>
-      %description
-   </description>
-
-   <copyright>
-      %copyright
-   </copyright>
-
-   <license url="license.html">
-      %license
-   </license>
-
-   <url>
-      <update label="%updateSiteName" url="http://download.eclipse.org/webtools/updates/"/>
-   </url>
-
-   <includes
-         id="org.eclipse.wst.common_userdoc.feature"
-         version="0.0.0"/>
-
-   <includes
-         id="org.eclipse.wst.common_core.feature"
-         version="0.0.0"/>
-
-   <requires>
-      <import feature="org.eclipse.gef" version="3.2" match="equivalent"/>
-   </requires>
-
-   <plugin
-         id="org.eclipse.wst.command.env.ui"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <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.project.facet.ui"
-         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.ui.properties"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.wst.internet.proxy"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.wst.internet.proxy.infopop"
-         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.command.env.infopop"
-         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 2347060..0000000
--- a/features/org.eclipse.wst.common_ui.feature/license.html
+++ /dev/null
@@ -1,93 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3c.org/TR/1999/REC-html401-19991224/loose.dtd">
-<!-- saved from url=(0044)http://www.eclipse.org/legal/epl/notice.html -->
-<HTML><HEAD><TITLE>Eclipse.org Software User Agreement</TITLE>
-<META http-equiv=Content-Type content="text/html; charset=iso-8859-1">
-<META content="MSHTML 6.00.2800.1479" name=GENERATOR></HEAD>
-<BODY lang=EN-US vLink=purple link=blue>
-<H2>Eclipse Foundation Software User Agreement</H2>
-<P>January 28, 2005</P>
-<H3>Usage Of Content</H3>
-<P>THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION 
-AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT"). USE OF 
-THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS AGREEMENT AND/OR THE 
-TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED 
-BELOW. BY USING THE CONTENT, YOU AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED 
-BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE 
-AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE 
-TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS OF ANY 
-APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU 
-MAY NOT USE THE CONTENT.</P>
-<H3>Applicable Licenses</H3>
-<P>Unless otherwise indicated, all Content made available by the Eclipse 
-Foundation is provided to you under the terms and conditions of the Eclipse 
-Public License Version 1.0 ("EPL"). A copy of the EPL is provided with this 
-Content and is also available at <A 
-href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</A>. 
-For purposes of the EPL, "Program" will mean the Content.</P>
-<P>Content includes, but is not limited to, source code, object code, 
-documentation and other files maintained in the Eclipse.org CVS repository 
-("Repository") in CVS modules ("Modules") and made available as downloadable 
-archives ("Downloads").</P>
-<P>Content may be apportioned into plug-ins ("Plug-ins"), plug-in fragments 
-("Fragments"), and features ("Features"). A Feature is a bundle of one or more 
-Plug-ins and/or Fragments and associated material. Files named "feature.xml" may 
-contain a list of the names and version numbers of the Plug-ins and/or Fragments 
-associated with a Feature. Plug-ins and Fragments are located in directories 
-named "plugins" and Features are located in directories named "features".</P>
-<P>Features may also include other Features ("Included Features"). Files named 
-"feature.xml" may contain a list of the names and version numbers of Included 
-Features.</P>
-<P>The terms and conditions governing Plug-ins and Fragments should be contained 
-in files named "about.html" ("Abouts"). The terms and conditions governing 
-Features and Included Features should be contained in files named "license.html" 
-("Feature Licenses"). Abouts and Feature Licenses may be located in any 
-directory of a Download or Module including, but not limited to the following 
-locations:</P>
-<UL>
-  <LI>The top-level (root) directory 
-  <LI>Plug-in and Fragment directories 
-  <LI>Subdirectories of the directory named "src" of certain Plug-ins 
-  <LI>Feature directories </LI></UL>
-<P>Note: if a Feature made available by the Eclipse Foundation is installed 
-using the Eclipse Update Manager, you must agree to a license ("Feature Update 
-License") during the installation process. If the Feature contains Included 
-Features, the Feature Update License should either provide you with the terms 
-and conditions governing the Included Features or inform you where you can 
-locate them. Feature Update Licenses may be found in the "license" property of 
-files named "feature.properties". Such Abouts, Feature Licenses and Feature 
-Update Licenses contain the terms and conditions (or references to such terms 
-and conditions) that govern your use of the associated Content in that 
-directory.</P>
-<P>THE ABOUTS, FEATURE LICENSES AND FEATURE UPDATE LICENSES MAY REFER TO THE EPL 
-OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS. SOME OF THESE 
-OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):</P>
-<UL>
-  <LI>Common Public License Version 1.0 (available at <A 
-  href="http://www.eclipse.org/legal/cpl-v10.html">http://www.eclipse.org/legal/cpl-v10.html</A>) 
-
-  <LI>Apache Software License 1.1 (available at <A 
-  href="http://www.apache.org/licenses/LICENSE">http://www.apache.org/licenses/LICENSE</A>) 
-
-  <LI>Apache Software License 2.0 (available at <A 
-  href="http://www.apache.org/licenses/LICENSE-2.0">http://www.apache.org/licenses/LICENSE-2.0</A>) 
-
-  <LI>IBM Public License 1.0 (available at <A 
-  href="http://oss.software.ibm.com/developerworks/opensource/license10.html">http://oss.software.ibm.com/developerworks/opensource/license10.html</A>) 
-
-  <LI>Metro Link Public License 1.00 (available at <A 
-  href="http://www.opengroup.org/openmotif/supporters/metrolink/license.html">http://www.opengroup.org/openmotif/supporters/metrolink/license.html</A>) 
-
-  <LI>Mozilla Public License Version 1.1 (available at <A 
-  href="http://www.mozilla.org/MPL/MPL-1.1.html">http://www.mozilla.org/MPL/MPL-1.1.html</A>) 
-  </LI></UL>
-<P>IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR 
-TO USE OF THE CONTENT. If no About, Feature License or Feature Update License is 
-provided, please contact the Eclipse Foundation to determine what terms and 
-conditions govern that particular Content.</P>
-<H3>Cryptography</H3>
-<P>Content may contain encryption software. The country in which you are 
-currently may have restrictions on the import, possession, and use, and/or 
-re-export to another country, of encryption software. BEFORE using any 
-encryption software, please check the country's laws, regulations and policies 
-concerning the import, possession, or use, and re-export of encryption software, 
-to see if this is permitted.</P></BODY></HTML>
diff --git a/features/org.eclipse.wst.common_ui.feature/sourceTemplateFeature/build.properties b/features/org.eclipse.wst.common_ui.feature/sourceTemplateFeature/build.properties
deleted file mode 100644
index e878555..0000000
--- a/features/org.eclipse.wst.common_ui.feature/sourceTemplateFeature/build.properties
+++ /dev/null
@@ -1,19 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2005 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-bin.includes =\
-epl-v10.html,\
-eclipse_update_120.jpg,\
-feature.xml,\
-feature.properties,\
-license.html
-
-generate.feature@org.eclipse.wst.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 01950e3..0000000
--- a/features/org.eclipse.wst.common_ui.feature/sourceTemplateFeature/feature.properties
+++ /dev/null
@@ -1,132 +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=Eclipse JDT Plug-in Developer Resources
-
-# "providerName" property - name of the company that provides the feature
-providerName=Eclipse.org
-
-# "updateSiteName" property - label for the update site
-updateSiteName=Eclipse.org update site
-
-# "description" property - description of the feature
-description=API documentation and source code zips for Eclipse Java development tools.
-
-# "licenseURL" property - URL of the "Feature License"
-# do not translate value - just change to point to a locale-specific HTML page
-licenseURL=license.html
-
-# "license" property - text of the "Feature Update License"
-# should be plain text version of license agreement pointed to be "licenseURL"
-license=\
-ECLIPSE FOUNDATION SOFTWARE USER AGREEMENT\n\
-March 17, 2005\n\
-\n\
-Usage Of Content\n\
-\n\
-THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR\n\
-OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\
-USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\
-AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\
-NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\
-AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\
-AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\
-OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\
-TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\
-OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\
-BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\
-\n\
-Applicable Licenses\n\
-\n\
-Unless otherwise indicated, all Content made available by the Eclipse Foundation\n\
-is provided to you under the terms and conditions of the Eclipse Public\n\
-License Version 1.0 ("EPL"). A copy of the EPL is provided with this\n\
-Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\
-For purposes of the EPL, "Program" will mean the Content.\n\
-\n\
-Content includes, but is not limited to, source code, object code,\n\
-documentation and other files maintained in the Eclipse.org CVS\n\
-repository ("Repository") in CVS modules ("Modules") and made available\n\
-as downloadable archives ("Downloads").\n\
-\n\
-   - Content may be structured and packaged into modules to facilitate delivering,\n\
-     extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\
-     plug-in fragments ("Fragments"), and features ("Features").\n\
-   - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java? ARchive)\n\
-     in a directory named "plugins".\n\
-   - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\
-     Each Feature may be packaged as a sub-directory in a directory named "features".\n\
-     Within a Feature, files named "feature.xml" may contain a list of the names and version\n\
-     numbers of the Plug-ins and/or Fragments associated with that Feature.\n\
-   - Features may also include other Features ("Included Features"). Within a Feature, files\n\
-     named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\
-\n\
-Features may also include other Features ("Included Features"). Files named\n\
-"feature.xml" may contain a list of the names and version numbers of\n\
-Included Features.\n\
-\n\
-The terms and conditions governing Plug-ins and Fragments should be\n\
-contained in files named "about.html" ("Abouts"). The terms and\n\
-conditions governing Features and Included Features should be contained\n\
-in files named "license.html" ("Feature Licenses"). Abouts and Feature\n\
-Licenses may be located in any directory of a Download or Module\n\
-including, but not limited to the following locations:\n\
-\n\
-   - The top-level (root) directory\n\
-   - Plug-in and Fragment directories\n\
-   - Inside Plug-ins and Fragments packaged as JARs\n\
-   - Sub-directories of the directory named "src" of certain Plug-ins\n\
-   - Feature directories\n\
-\n\
-Note: if a Feature made available by the Eclipse Foundation is installed using the\n\
-Eclipse Update Manager, you must agree to a license ("Feature Update\n\
-License") during the installation process. If the Feature contains\n\
-Included Features, the Feature Update License should either provide you\n\
-with the terms and conditions governing the Included Features or inform\n\
-you where you can locate them. Feature Update Licenses may be found in\n\
-the "license" property of files named "feature.properties". Such Abouts,\n\
-Feature Licenses and Feature Update Licenses contain the terms and\n\
-conditions (or references to such terms and conditions) that govern your\n\
-use of the associated Content in that directory.\n\
-\n\
-THE ABOUTS, FEATURE LICENSES AND FEATURE UPDATE LICENSES MAY REFER\n\
-TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\
-SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\
-\n\
-    - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\
-    - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\
-    - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\
-    - IBM Public License 1.0 (available at http://oss.software.ibm.com/developerworks/opensource/license10.html)\n\
-    - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\
-    - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\
-\n\
-IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\
-TO USE OF THE CONTENT. If no About, Feature License or Feature Update License\n\
-is provided, please contact the Eclipse Foundation to determine what terms and conditions\n\
-govern that particular Content.\n\
-\n\
-Cryptography\n\
-\n\
-Content may contain encryption software. The country in which you are\n\
-currently may have restrictions on the import, possession, and use,\n\
-and/or re-export to another country, of encryption software. BEFORE\n\
-using any encryption software, please check the country's laws,\n\
-regulations and policies concerning the import, possession, or use,\n\
-and re-export of encryption software, to see if this is permitted.\n\
-\n\
-Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.\n
-########### end of license property ##########################################
diff --git a/features/org.eclipse.wst.common_ui.feature/sourceTemplateFeature/feature.xml b/features/org.eclipse.wst.common_ui.feature/sourceTemplateFeature/feature.xml
deleted file mode 100644
index 2e2eeca..0000000
--- a/features/org.eclipse.wst.common_ui.feature/sourceTemplateFeature/feature.xml
+++ /dev/null
@@ -1,41 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature
-      id="org.eclipse.wst.common_ui.feature.source"
-      label="WST Common UI Feature Source"
-      version="1.5.0.qualifier"
-      provider-name="Eclipse.org">
-
-   <description>
-      %description
-   </description>
-
-   <copyright>
-      %copyright
-   </copyright>
-
-   <license url="license.html">
-      %license
-   </license>
-   
-   <url>
-      <update label="Web Tools Platform (WTP) Updates" url="http://download.eclipse.org/webtools/updates/"/>
-   </url>
-
-
-   <includes
-         id="org.eclipse.wst.common_core.feature"
-         version="0.0.0"/>
-
-   <includes
-         id="org.eclipse.wst.common_core.feature.source"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"/>
-
-   <plugin
-         id="org.eclipse.wst.common_ui.feature.source"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"/>
-
-</feature>
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 c6af966..0000000
--- a/features/org.eclipse.wst.common_ui.feature/sourceTemplateFeature/license.html
+++ /dev/null
@@ -1,79 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<html>
-<head>
-<meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
-<title>Eclipse.org Software User Agreement</title>
-</head>
-
-<body lang="EN-US" link=blue vlink=purple>
-<h2>Eclipse Foundation Software User Agreement</h2>
-<p>March 17, 2005</p>
-
-<h3>Usage Of Content</h3>
-
-<p>THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS
-   (COLLECTIVELY &quot;CONTENT&quot;).  USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS AGREEMENT AND/OR THE TERMS AND
-   CONDITIONS OF LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU AGREE THAT YOUR USE
-   OF THE CONTENT IS GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR
-   NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND
-   CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT USE THE CONTENT.</p>
-   
-<h3>Applicable Licenses</h3>   
-   
-<p>Unless otherwise indicated, all Content made available by the Eclipse Foundation is provided to you under the terms and conditions of the Eclipse Public License Version 1.0
-   (&quot;EPL&quot;).  A copy of the EPL is provided with this Content and is also available at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-   For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>Content includes, but is not limited to, source code, object code, documentation and other files maintained in the Eclipse.org CVS repository (&quot;Repository&quot;) in CVS
-   modules (&quot;Modules&quot;) and made available as downloadable archives (&quot;Downloads&quot;).</p>
-   
-<ul>
-	<li>Content may be structured and packaged into modules to facilitate delivering, extending, and upgrading the Content.  Typical modules may include plug-ins (&quot;Plug-ins&quot;), plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;).</li>
-	<li>Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java&trade; ARchive) in a directory named &quot;plugins&quot;.</li>
-	<li>A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.  Each Feature may be packaged as a sub-directory in a directory named &quot;features&quot;.  Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version numbers of the Plug-ins
-      and/or Fragments associated with that Feature.</li>
-	<li>Features may also include other Features (&quot;Included Features&quot;). Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.</li>
-</ul>   
- 
-<p>The terms and conditions governing Plug-ins and Fragments should be contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and conditions governing Features and
-Included Features should be contained in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;).  Abouts and Feature Licenses may be located in any directory of a Download or Module
-including, but not limited to the following locations:</p>
-
-<ul>
-	<li>The top-level (root) directory</li>
-	<li>Plug-in and Fragment directories</li>
-	<li>Inside Plug-ins and Fragments packaged as JARs</li>
-	<li>Sub-directories of the directory named &quot;src&quot; of certain Plug-ins</li>
-	<li>Feature directories</li>
-</ul>
-		
-<p>Note: if a Feature made available by the Eclipse Foundation is installed using the Eclipse Update Manager, you must agree to a license (&quot;Feature Update License&quot;) during the
-installation process.  If the Feature contains Included Features, the Feature Update License should either provide you with the terms and conditions governing the Included Features or
-inform you where you can locate them.  Feature Update Licenses may be found in the &quot;license&quot; property of files named &quot;feature.properties&quot; found within a Feature.
-Such Abouts, Feature Licenses, and Feature Update Licenses contain the terms and conditions (or references to such terms and conditions) that govern your use of the associated Content in
-that directory.</p>
-
-<p>THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.  SOME OF THESE
-OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):</p>
-
-<ul>
-	<li>Common Public License Version 1.0 (available at <a href="http://www.eclipse.org/legal/cpl-v10.html">http://www.eclipse.org/legal/cpl-v10.html</a>)</li>
-	<li>Apache Software License 1.1 (available at <a href="http://www.apache.org/licenses/LICENSE">http://www.apache.org/licenses/LICENSE</a>)</li>
-	<li>Apache Software License 2.0 (available at <a href="http://www.apache.org/licenses/LICENSE-2.0">http://www.apache.org/licenses/LICENSE-2.0</a>)</li>
-	<li>IBM Public License 1.0 (available at <a href="http://oss.software.ibm.com/developerworks/opensource/license10.html">http://oss.software.ibm.com/developerworks/opensource/license10.html</a>)</li>	
-	<li>Metro Link Public License 1.00 (available at <a href="http://www.opengroup.org/openmotif/supporters/metrolink/license.html">http://www.opengroup.org/openmotif/supporters/metrolink/license.html</a>)</li>
-	<li>Mozilla Public License Version 1.1 (available at <a href="http://www.mozilla.org/MPL/MPL-1.1.html">http://www.mozilla.org/MPL/MPL-1.1.html</a>)</li>
-</ul>
-
-<p>IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR TO USE OF THE CONTENT.  If no About, Feature License, or Feature Update License is provided, please
-contact the Eclipse Foundation to determine what terms and conditions govern that particular Content.</p>
-
-<h3>Cryptography</h3>
-
-<p>Content may contain encryption software. The country in which you are currently may have restrictions on the import, possession, and use, and/or re-export to
-   another country, of encryption software. BEFORE using any encryption software, please check the country's laws, regulations and policies concerning the import,
-   possession, or use, and re-export of encryption software, to see if this is permitted.</p>
-   
-<small>Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.</small>   
-</body>
-</html>
diff --git a/features/org.eclipse.wst.common_ui.feature/sourceTemplatePlugin/about.html b/features/org.eclipse.wst.common_ui.feature/sourceTemplatePlugin/about.html
deleted file mode 100644
index 0a8aea0..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>February 24, 2005</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 2dee36a..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=eclipse32.gif
-
-# Property "aboutImage" contains path to product image (500x330 or 115x164)
-# needed for primary features only
-
-# Property "appName" contains name of the application (not translated)
-# needed for primary features only
-
-# Property "welcomePage" contains path to welcome page (special XML-based format)
-# optional
-
-# Property "welcomePerspective" contains the id of the perspective in which the
-# welcome page is to be opened.
-# optional
-
-
-
-
diff --git a/features/org.eclipse.wst.common_ui.feature/sourceTemplatePlugin/about.mappings b/features/org.eclipse.wst.common_ui.feature/sourceTemplatePlugin/about.mappings
deleted file mode 100644
index 0dfb735..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 5895597..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, eclipse32.gif, plugin.properties, plugin.xml, src/**, META-INF/
-sourcePlugin = true
diff --git a/features/org.eclipse.wst.common_ui.feature/sourceTemplatePlugin/eclipse32.gif b/features/org.eclipse.wst.common_ui.feature/sourceTemplatePlugin/eclipse32.gif
deleted file mode 100644
index e6ad7cc..0000000
--- a/features/org.eclipse.wst.common_ui.feature/sourceTemplatePlugin/eclipse32.gif
+++ /dev/null
Binary files differ
diff --git a/features/org.eclipse.wst.common_ui.feature/sourceTemplatePlugin/eclipse32.png b/features/org.eclipse.wst.common_ui.feature/sourceTemplatePlugin/eclipse32.png
deleted file mode 100644
index 50ae49d..0000000
--- a/features/org.eclipse.wst.common_ui.feature/sourceTemplatePlugin/eclipse32.png
+++ /dev/null
Binary files differ
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/plugins/org.eclipse.jem.util/.classpath b/plugins/org.eclipse.jem.util/.classpath
deleted file mode 100644
index d4d58af..0000000
--- a/plugins/org.eclipse.jem.util/.classpath
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="jemutil"/>
-	<classpathentry kind="src" path="property_files"/>
-	<classpathentry kind="src" path="jemutil-nonworkbnech"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
-	<classpathentry sourcepath="org.eclipse.perfmsr.core.stub/perfmsr.jar" kind="lib" path="org.eclipse.perfmsr.core.stub/perfmsr.jar"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/plugins/org.eclipse.jem.util/.cvsignore b/plugins/org.eclipse.jem.util/.cvsignore
deleted file mode 100644
index ba077a4..0000000
--- a/plugins/org.eclipse.jem.util/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-bin
diff --git a/plugins/org.eclipse.jem.util/.options b/plugins/org.eclipse.jem.util/.options
deleted file mode 100644
index 0565417..0000000
--- a/plugins/org.eclipse.jem.util/.options
+++ /dev/null
@@ -1,3 +0,0 @@
-org.eclipse.jem.util/debug/logtrace=false
-org.eclipse.jem.util/debug/logtracefile=false
-org.eclipse.jem.util/debug/loglevel=WARNING
\ No newline at end of file
diff --git a/plugins/org.eclipse.jem.util/.project b/plugins/org.eclipse.jem.util/.project
deleted file mode 100644
index e0e4120..0000000
--- a/plugins/org.eclipse.jem.util/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.jem.util</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.jem.util/.settings/org.eclipse.jdt.core.prefs b/plugins/org.eclipse.jem.util/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index d78073f..0000000
--- a/plugins/org.eclipse.jem.util/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,289 +0,0 @@
-#Tue Feb 21 10:09:19 EST 2006
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
-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.emptyStatement=ignore
-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.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=error
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=ignore
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
-org.eclipse.jdt.core.compiler.problem.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.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.unusedLocal=error
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_assignment=0
-org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
-org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
-org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
-org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
-org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
-org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_after_package=1
-org.eclipse.jdt.core.formatter.blank_lines_before_field=1
-org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=1
-org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
-org.eclipse.jdt.core.formatter.blank_lines_before_method=1
-org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
-org.eclipse.jdt.core.formatter.blank_lines_before_package=0
-org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
-org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines=false
-org.eclipse.jdt.core.formatter.comment.format_comments=true
-org.eclipse.jdt.core.formatter.comment.format_header=false
-org.eclipse.jdt.core.formatter.comment.format_html=true
-org.eclipse.jdt.core.formatter.comment.format_source_code=true
-org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
-org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
-org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
-org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=insert
-org.eclipse.jdt.core.formatter.comment.line_length=150
-org.eclipse.jdt.core.formatter.compact_else_if=true
-org.eclipse.jdt.core.formatter.continuation_indentation=2
-org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
-org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
-org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_empty_lines=false
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=true
-org.eclipse.jdt.core.formatter.indentation.size=4
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
-org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.lineSplit=150
-org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
-org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
-org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
-org.eclipse.jdt.core.formatter.tabulation.char=tab
-org.eclipse.jdt.core.formatter.tabulation.size=4
-org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
diff --git a/plugins/org.eclipse.jem.util/.settings/org.eclipse.jdt.ui.prefs b/plugins/org.eclipse.jem.util/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index 6c8e1bc..0000000
--- a/plugins/org.eclipse.jem.util/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,8 +0,0 @@
-#Tue Feb 21 10:09:19 EST 2006
-eclipse.preferences.version=1
-formatter_profile=_jve
-formatter_settings_version=10
-org.eclipse.jdt.ui.ignorelowercasenames=true
-org.eclipse.jdt.ui.importorder=java;javax;org;org.eclipse.wtp;org.eclipse.jem;org.eclipse.ve.internal.cdm;org.eclipse.ve.internal.cde;org.eclipse.ve.internal.jcm;org.eclipse.ve.internal.java;org.eclipse.ve;com;
-org.eclipse.jdt.ui.ondemandthreshold=3
-org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8"?><templates/>
diff --git a/plugins/org.eclipse.jem.util/.settings/org.eclipse.pde.prefs b/plugins/org.eclipse.jem.util/.settings/org.eclipse.pde.prefs
deleted file mode 100644
index fb46b28..0000000
--- a/plugins/org.eclipse.jem.util/.settings/org.eclipse.pde.prefs
+++ /dev/null
@@ -1,12 +0,0 @@
-#Fri May 13 10:10:04 EDT 2005
-compilers.p.deprecated=1
-compilers.p.no-required-att=0
-compilers.p.not-externalized-att=2
-compilers.p.unknown-attribute=0
-compilers.p.unknown-class=2
-compilers.p.unknown-element=1
-compilers.p.unknown-resource=2
-compilers.p.unresolved-ex-points=0
-compilers.p.unresolved-import=2
-compilers.use-project=true
-eclipse.preferences.version=1
diff --git a/plugins/org.eclipse.jem.util/META-INF/MANIFEST.MF b/plugins/org.eclipse.jem.util/META-INF/MANIFEST.MF
deleted file mode 100644
index aaa7e87..0000000
--- a/plugins/org.eclipse.jem.util/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,25 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %pluginName
-Bundle-SymbolicName: org.eclipse.jem.util; singleton:=true
-Bundle-Version: 1.2.0.qualifier
-Bundle-Activator: org.eclipse.jem.util.plugin.JEMUtilPlugin
-Bundle-Vendor: %providerName
-Bundle-Localization: plugin
-Export-Package: org.eclipse.jem.internal.util.emf.workbench;x-friends:="org.eclipse.jem.beaninfo",
- org.eclipse.jem.internal.util.emf.workbench.nature;x-internal:=true,
- org.eclipse.jem.internal.util.emf.workbench.nls;x-internal:=true,
- org.eclipse.jem.util,
- org.eclipse.jem.util.emf.workbench,
- org.eclipse.jem.util.emf.workbench.nature,
- org.eclipse.jem.util.logger,
- org.eclipse.jem.util.logger.proxy,
- org.eclipse.jem.util.logger.proxyrender,
- org.eclipse.jem.util.plugin
-Require-Bundle: org.eclipse.core.runtime,
- org.eclipse.core.resources,
- org.eclipse.emf.ecore,
- org.eclipse.emf.ecore.xmi,
- org.eclipse.perfmsr.core;resolution:=optional,
- com.ibm.icu
-Eclipse-LazyStart: true
diff --git a/plugins/org.eclipse.jem.util/PERFMSR_README.txt b/plugins/org.eclipse.jem.util/PERFMSR_README.txt
deleted file mode 100644
index ea51258..0000000
--- a/plugins/org.eclipse.jem.util/PERFMSR_README.txt
+++ /dev/null
@@ -1,12 +0,0 @@
-org.eclipse.perfmsr.core code can be found in the perfmsr.jar loaded as binary in this
-project. Since this is optional, we needed to be able to compile without the true
-plugin being available. So we created the stub jar containing just what we needed.
-
-If there is a need to change anything in the stub jar, you will need to checkout
-the folder org.eclipse.jem.util/org.eclipse.perfmsr.core.stub. This will then
-be a separate project. You can then make the changes there, and then following the
-README in that project to create and commit the changes. 
-
-The jar is in this project's classpath, but it is not exported and is not in
-the plugin.xml or build.properties. This means it will be available for compilation
-but it won't show up in the runtime workbench.
\ No newline at end of file
diff --git "a/plugins/org.eclipse.jem.util/READ_ME_BEFORE_CHANGING_MANIFEST\041\041\041" "b/plugins/org.eclipse.jem.util/READ_ME_BEFORE_CHANGING_MANIFEST\041\041\041"
deleted file mode 100644
index 718e94a..0000000
--- "a/plugins/org.eclipse.jem.util/READ_ME_BEFORE_CHANGING_MANIFEST\041\041\041"
+++ /dev/null
@@ -1,8 +0,0 @@
-Do not include a new dependency plugin to the MANIFEST for this plugind!!!
-
-The reason for this is that this plugin is also executed outside of Eclipse framework, such IBM Websphere Application Server (c) IBM. We cannot add
-new dependencies to the plugin because the current set is considered to be API. Adding a new set without consulting those users would break
-them.
-
-The external API is anything in the jemutil-nonworkbench folder. If it is only for a class in the other source folder(s) it may be OK since they would not be 
-using that code. But it would be best to consult with them first.
\ No newline at end of file
diff --git a/plugins/org.eclipse.jem.util/about.html b/plugins/org.eclipse.jem.util/about.html
deleted file mode 100644
index afceed0..0000000
--- a/plugins/org.eclipse.jem.util/about.html
+++ /dev/null
@@ -1,25 +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>May 2, 2006</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
-and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p>
-
-</body></html>
\ No newline at end of file
diff --git a/plugins/org.eclipse.jem.util/build.properties b/plugins/org.eclipse.jem.util/build.properties
deleted file mode 100644
index b40afd0..0000000
--- a/plugins/org.eclipse.jem.util/build.properties
+++ /dev/null
@@ -1,23 +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,\
-               about.html,\
-               plugin.properties,\
-               META-INF/,\
-               .
-src.includes = schema/,\
-               about.html
-output.. = bin/
-source.. = jemutil/,\
-           property_files/,\
-           jemutil-nonworkbnech/
-jars.compile.order = .
diff --git a/plugins/org.eclipse.jem.util/jemutil-nonworkbnech/org/eclipse/jem/util/logger/LogEntry.java b/plugins/org.eclipse.jem.util/jemutil-nonworkbnech/org/eclipse/jem/util/logger/LogEntry.java
deleted file mode 100644
index d44372b..0000000
--- a/plugins/org.eclipse.jem.util/jemutil-nonworkbnech/org/eclipse/jem/util/logger/LogEntry.java
+++ /dev/null
@@ -1,329 +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
- *******************************************************************************/
-/*
- *  $RCSfile: LogEntry.java,v $
- *  $Revision: 1.5 $  $Date: 2006/05/17 20:13:45 $ 
- */
-package org.eclipse.jem.util.logger;
-
-import java.io.ByteArrayOutputStream;
-import java.io.PrintWriter;
-
-/**
- * This class should be used when logging information which should be grouped together. Instead of creating a new instance of this class every time it
- * is needed, for performance reasons, create an instance and reuse it.
- * <p>
- * Currently the only fields that are logged are the {@link #getText()} and {@link #getTargetException()}.
- * 
- * @since 1.0.0
- */
-public class LogEntry {
-
-	private int _executionMap = 0;
-
-	private Throwable _caughtException = null;
-
-	private String _propertiesFileName = null;
-
-	private String localeOfOrigin = null;
-
-	private String sourceIdentifier;
-
-	private String elapsedTime;
-
-	private String text;
-
-	private String messageTypeIdentifier;
-
-	/**
-	 * The file name parameter must be a name which can be used by ResourceBundle to load the string from the .properties file. The parameter must not
-	 * be null or the empty string.
-	 * 
-	 * @param propertiesFileName
-	 * 
-	 * @since 1.0.0
-	 */
-	public LogEntry(String propertiesFileName) {
-		setPropertiesFileName(propertiesFileName);
-	}
-
-	/**
-	 * Default Constructor
-	 */
-	public LogEntry() {
-	}
-
-	/**
-	 * Get execution map
-	 * 
-	 * @return execution map
-	 * 
-	 * @since 1.0.0
-	 */
-	public int getExecutionMap() {
-		return _executionMap;
-	}
-
-	/**
-	 * Get the properties file name
-	 * 
-	 * @return properties file name or <code>null</code> if not set.
-	 * 
-	 * @since 1.0.0
-	 */
-	public String getPropertiesFileName() {
-		return _propertiesFileName;
-	}
-
-	/**
-	 * Get target exception
-	 * 
-	 * @return target exception or <code>null</code> if not set.
-	 * 
-	 * @since 1.0.0
-	 */
-	public Throwable getTargetException() {
-		return _caughtException;
-	}
-
-	/**
-	 * Get locale of origin
-	 * 
-	 * @return locale of origin or <code>null</code> if not set.
-	 * 
-	 * @since 1.0.0
-	 */
-	public String getLocaleOfOrigin() {
-		return localeOfOrigin;
-	}
-
-	/**
-	 * Get source identifier.
-	 * 
-	 * @return source identifier or <code>null</code> if not set.
-	 * 
-	 * @since 1.0.0
-	 */
-	public String getSourceidentifier() {
-		return sourceIdentifier;
-	}
-
-	/**
-	 * Get elapsed time
-	 * 
-	 * @return elapsed time
-	 * 
-	 * @since 1.0.0
-	 */
-	public String getElapsedTime() {
-		return elapsedTime;
-	}
-
-	/**
-	 * Get the message type identifier
-	 * 
-	 * @return message type identifier or <code>null</code> if not set.
-	 * 
-	 * @since 1.0.0
-	 */
-	public String getMessageTypeIdentifier() {
-		return messageTypeIdentifier;
-	}
-
-	/**
-	 * Set execution map
-	 * 
-	 * @param map
-	 * 
-	 * @since 1.0.0
-	 */
-	public void setExecutionMap(int map) {
-		_executionMap = map;
-	}
-
-	/**
-	 * Set properties file name
-	 * 
-	 * @param fName
-	 * 
-	 * @since 1.0.0
-	 */
-	public void setPropertiesFileName(String fName) {
-		_propertiesFileName = fName;
-	}
-
-	/**
-	 * Set target exception
-	 * 
-	 * @param exc
-	 * 
-	 * @since 1.0.0
-	 */
-	public void setTargetException(Throwable exc) {
-		_caughtException = exc;
-	}
-
-	/**
-	 * Append stacktrace of current stack (at the time of call to this method) to the text buffer.
-	 * 
-	 * 
-	 * @since 1.0.0
-	 */
-	public void appendStackTrace() {
-		// Grab the stack trace from the Thread ...
-		ByteArrayOutputStream byteOutput = new ByteArrayOutputStream();
-		PrintWriter printWriter = new PrintWriter(byteOutput);
-		// Can't call Thread.dumpStack() because it doesn't take a writer as input.
-		// Copy its mechanism instead.
-		new Exception("Stack trace").printStackTrace(printWriter); //$NON-NLS-1$
-		printWriter.flush();
-
-		// and update the text to the LogEntry's text.
-		StringBuffer buffer = new StringBuffer();
-		buffer.append(getText());
-		buffer.append("\n"); //$NON-NLS-1$
-		buffer.append(byteOutput.toString());
-		setText(buffer.toString());
-	}
-
-	/**
-	 * Get the text.
-	 * 
-	 * @return text or or <code>null</code> if not set.
-	 * 
-	 * @since 1.0.0
-	 */
-	public String getText() {
-		return text;
-	}
-
-	/**
-	 * Set the text
-	 * 
-	 * @param string
-	 * 
-	 * @since 1.0.0
-	 */
-	public void setText(String string) {
-		text = string;
-	}
-
-	/**
-	 * Set every entry to the default value except the properties file name.
-	 * 
-	 * 
-	 * @since 1.0.0
-	 */
-	public void reset() {
-		setExecutionMap(0);
-		setTargetException(null);
-		localeOfOrigin = null;
-		sourceIdentifier = null;
-		elapsedTime = null;
-		setText(null);
-	}
-
-	/**
-	 * Set locale of origin.
-	 * 
-	 * @param origin
-	 * 
-	 * @since 1.0.0
-	 */
-	public void setLocaleOfOrigin(String origin) {
-		localeOfOrigin = origin;
-	}
-
-	/**
-	 * Set source id.
-	 * 
-	 * @param id
-	 * 
-	 * @since 1.0.0
-	 */
-	public void setSourceID(String id) {
-		sourceIdentifier = id;
-	}
-
-	/**
-	 * Set elapsed time.
-	 * 
-	 * @param time
-	 * 
-	 * @since 1.0.0
-	 */
-	public void setElapsedTime(long time) {
-		elapsedTime = String.valueOf(time);
-	}
-
-	/**
-	 * Set source identifier.
-	 * 
-	 * @param string
-	 * 
-	 * @since 1.0.0
-	 */
-	public void setSourceIdentifier(String string) {
-		setSourceID(string);
-	}
-
-	/**
-	 * Set message type identifier.
-	 * 
-	 * @param string
-	 * 
-	 * @since 1.0.0
-	 * @deprecated Use {@link #setText(String)} instead and calling it with the result of {@link java.text.MessageFormat#format(java.lang.String, java.lang.Object[])}
-	 */
-	public void setMessageTypeIdentifier(String string) {
-		messageTypeIdentifier = string;
-	}
-
-	/**
-	 * Set message type id. Same as <code>setMessageTypeIdentifier.</code>
-	 * @param string
-	 * 
-	 * @since 1.0.0
-	 * @deprecated Use {@link #setText(String)} instead and calling it with the result of {@link java.text.MessageFormat#format(java.lang.String, java.lang.Object[])}
-	 */
-	public void setMessageTypeID(String string) {
-		setMessageTypeIdentifier(string);
-	}
-
-	/**
-	 * Set tokens. (Currently this is ignored).
-	 * 
-	 * @param strings
-	 * 
-	 * @since 1.0.0
-	 * @deprecated Use {@link #setText(String)} instead and calling it with the result of {@link java.text.MessageFormat#format(java.lang.String, java.lang.Object[])}
-	 */
-	public void setTokens(String[] strings) {
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see java.lang.Object#toString()
-	 */
-	public String toString() {
-		ByteArrayOutputStream byteOutput = new ByteArrayOutputStream();
-		PrintWriter printWriter = new PrintWriter(byteOutput);
-		if (text != null)
-			printWriter.println(text);
-		if (_caughtException != null) {
-			_caughtException.printStackTrace(printWriter);
-		}
-		printWriter.flush();
-		return byteOutput.toString();
-	}
-
-}
diff --git a/plugins/org.eclipse.jem.util/jemutil-nonworkbnech/org/eclipse/jem/util/logger/proxy/ILogRenderer.java b/plugins/org.eclipse.jem.util/jemutil-nonworkbnech/org/eclipse/jem/util/logger/proxy/ILogRenderer.java
deleted file mode 100644
index 3ba7c4d..0000000
--- a/plugins/org.eclipse.jem.util/jemutil-nonworkbnech/org/eclipse/jem/util/logger/proxy/ILogRenderer.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-/*
- *  $RCSfile: ILogRenderer.java,v $
- *  $Revision: 1.2 $  $Date: 2005/02/15 23:05:54 $ 
- */
-package org.eclipse.jem.util.logger.proxy;
-
-/**
- * Basic log renderer interface. It is replaced by the extension <code>ILogRenderer2.</code>
- * 
- * @since 1.0.0
- */
-public interface ILogRenderer {
-
-	/**
-	 * Logged to console.
-	 */
-	final public static String CONSOLE_DESCRIPTION = "console"; //$NON-NLS-1$
-
-	/**
-	 * Logged to workbench.
-	 */
-	final public static String WORKBENCH_DESCRIPTION = "workbench log"; //$NON-NLS-1$
-
-	/**
-	 * Not logged.
-	 */
-	final public static String NOLOG_DESCRIPTION = ""; //$NON-NLS-1$
-
-	/**
-	 * Log levels. These are deprecated, use <code>java.util.logging.Level</code> codes instead.
-	 */
-	final public static int LOG_ERROR = 0;
-
-	final public static int LOG_TRACE = 1;
-
-	final public static int LOG_WARNING = 2;
-
-	final public static int LOG_INFO = 3;
-
-	final public static String DefaultPluginID = "org.eclipse.jem.util"; //$NON-NLS-1$
-
-	/**
-	 * Log the string at the specified type.
-	 * 
-	 * @param msg
-	 * @param type
-	 * @return how it was logged. See <code>CONSOLE_DESCRIPTION.</code>
-	 * 
-	 * @since 1.0.0
-	 */
-	public String log(String msg, int type);
-
-	/**
-	 * Start or stop the tracing.
-	 * 
-	 * @param Flag
-	 *            <code>true</code> to start the tracing.
-	 * 
-	 * @since 1.0.0
-	 */
-	public void setTraceMode(boolean Flag);
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jem.util/jemutil-nonworkbnech/org/eclipse/jem/util/logger/proxy/ILogRenderer2.java b/plugins/org.eclipse.jem.util/jemutil-nonworkbnech/org/eclipse/jem/util/logger/proxy/ILogRenderer2.java
deleted file mode 100644
index 69ee144..0000000
--- a/plugins/org.eclipse.jem.util/jemutil-nonworkbnech/org/eclipse/jem/util/logger/proxy/ILogRenderer2.java
+++ /dev/null
@@ -1,151 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-/*
- *  $RCSfile: ILogRenderer2.java,v $
- *  $Revision: 1.4 $  $Date: 2005/08/24 21:10:34 $ 
- */
-package org.eclipse.jem.util.logger.proxy;
-
-import java.util.logging.Level;
- 
-/**
- * Log renderer that provides more function. Basically it can handle
- * the logging of specific types in a different manner than the default
- * conversion to string supplied by Logger.
- * 
- * It also uses the Level classes from java.util.logging as the logging levels.
- * 
- * @since 1.0.0
- */
-public interface ILogRenderer2 extends ILogRenderer {
-	
-	/**
-	 * When Logger.setLevel(DEFAULT): restore to what the default level was.
-	 * When log(...,DEFAULT): Log at the default level for the type of object.
-	 */
-	static final Level DEFAULT = new Logger.LocalLevel("DEFAULT", Integer.MAX_VALUE-1); //$NON-NLS-1$
-	
-	/**
-	 * When log(...,TRACE) : Log only when in trace mode.
-	 * Don't use in Logger.setLevel(). Has no meaning in that case.
-	 */
-	static final Level TRACE = new Logger.LocalLevel("TRACE", Integer.MAX_VALUE-2);	 //$NON-NLS-1$
-
-	/**
-	 * Log the throwable at the given level (if DEFAULT, use default level for a throwable).
-	 * 
-	 * @param t
-	 * @param level
-	 * @return
-	 * 
-	 * @since 1.0.0
-	 */
-	String log(Throwable t, Level level);
-	
-	/**
-	 * Log the object at the given level (if DEFAULT, use default level for an object).
-	 * 
-	 * @param o
-	 * @param level
-	 * @return
-	 * 
-	 * @since 1.0.0
-	 */
-	String log(Object o, Level level);
-	
-	/**
-	 * Log the boolean at the given level (if DEFAULT, use default level for a boolean).
-	 * 
-	 * @param b
-	 * @param level
-	 * @return
-	 * 
-	 * @since 1.0.0
-	 */
-	String log(boolean b, Level level);	
-
-	/**
-	 * Log the char at the given level (if DEFAULT, use default level for a char).
-	 * 
-	 * @param c
-	 * @param level
-	 * @return
-	 * 
-	 * @since 1.0.0
-	 */
-	String log(char c, Level level);	
-	
-	/**
-	 * Log the byte at the given level (if DEFAULT, use default level for a byte).
-	 * 
-	 * @param b
-	 * @param level
-	 * @return
-	 * 
-	 * @since 1.0.0
-	 */
-	String log(byte b, Level level);
-	
-	/**
-	 * Log the short at the given level (if DEFAULT, use default level for a short).
-	 * 
-	 * @param s
-	 * @param level
-	 * @return
-	 * 
-	 * @since 1.0.0
-	 */
-	String log(short s, Level level);
-	
-	/**
-	 * Log the int at the given level (if DEFAULT, use default level for an int).
-	 * 
-	 * @param i
-	 * @param level
-	 * @return
-	 * 
-	 * @since 1.0.0
-	 */
-	String log(int i, Level level);
-
-	/**
-	 * Log the long at the given level (if DEFAULT, use default level for a long).
-	 * 
-	 * @param l
-	 * @param level
-	 * @return
-	 * 
-	 * @since 1.0.0
-	 */
-	String log(long l, Level level);
-
-	/**
-	 * Log the float at the given level (if DEFAULT, use default level for a float).
-	 * 
-	 * @param f
-	 * @param level
-	 * @return
-	 * 
-	 * @since 1.0.0
-	 */
-	String log(float f, Level level);
-
-	/**
-	 * Log the double at the given level (if DEFAULT, use default level for a double).
-	 * 
-	 * @param d
-	 * @param level
-	 * @return
-	 * 
-	 * @since 1.0.0
-	 */
-	String log(double d, Level level);
-}
diff --git a/plugins/org.eclipse.jem.util/jemutil-nonworkbnech/org/eclipse/jem/util/logger/proxy/JDKConsoleRenderer.java b/plugins/org.eclipse.jem.util/jemutil-nonworkbnech/org/eclipse/jem/util/logger/proxy/JDKConsoleRenderer.java
deleted file mode 100644
index 6f0f828..0000000
--- a/plugins/org.eclipse.jem.util/jemutil-nonworkbnech/org/eclipse/jem/util/logger/proxy/JDKConsoleRenderer.java
+++ /dev/null
@@ -1,247 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-/*
- *  $RCSfile: JDKConsoleRenderer.java,v $
- *  $Revision: 1.3 $  $Date: 2005/08/24 21:10:34 $ 
- */
-package org.eclipse.jem.util.logger.proxy;
-
-import java.util.logging.Level;
-
-/**
- * Default log renderer to use when not running under Eclipse. It logs to sysout and syserr.
- * 
- * @since 1.1.0
- */
-
-public class JDKConsoleRenderer implements ILogRenderer2 {
-
-	private boolean fTraceMode = false; // will we actually punch trace messaged or not
-
-	private boolean fSettingTrace = false;
-
-	private Logger fMyLogger = null;
-
-	/**
-	 * Constructer taking a logger.
-	 * 
-	 * @param logger
-	 * 
-	 * @since 1.1.0
-	 */
-	public JDKConsoleRenderer(Logger logger) {
-		super();
-		fMyLogger = logger;
-		fTraceMode = fMyLogger.getTraceMode();
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jem.util.logger.proxy.ILogRenderer#log(java.lang.String, int)
-	 */
-	public String log(String msg, int type) {
-
-		if (type == ILogRenderer.LOG_TRACE && !fTraceMode)
-			return null;
-
-		if (type == ILogRenderer.LOG_ERROR)
-			System.err.println(msg);
-		else
-			System.out.println(msg);
-		return ILogRenderer.CONSOLE_DESCRIPTION;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jem.util.logger.proxy.ILogRenderer#setTraceMode(boolean)
-	 */
-	public void setTraceMode(boolean flag) {
-
-		if (fSettingTrace)
-			return;
-		fSettingTrace = true;
-		fTraceMode = flag;
-		fMyLogger.setTraceMode(flag);
-		fSettingTrace = false;
-	}
-
-	/**
-	 * Log the string at the given level.
-	 * 
-	 * @param msg
-	 * @param level
-	 * @return <code>CONSOLE_DESCRIPTION</code>
-	 * 
-	 * @since 1.1.0
-	 */
-	protected String log(String msg, Level level) {
-		if (level == Level.SEVERE)
-			System.err.println(msg);
-		else
-			System.out.println(msg);
-		return ILogRenderer.CONSOLE_DESCRIPTION;
-	}
-
-	/**
-	 * Answer if logging at the given level
-	 * 
-	 * @param logLevel
-	 * @return <code>true</code> if logging at the given level.
-	 * 
-	 * @since 1.1.0
-	 */
-	protected boolean isLogging(Level logLevel) {
-		return fTraceMode || fMyLogger.isLoggingLevel(logLevel);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jem.util.logger.proxy.ILogRenderer2#log(boolean, java.util.logging.Level)
-	 */
-	public String log(boolean b, Level level) {
-		if (level == DEFAULT)
-			level = Level.FINEST;
-		if (isLogging(level))
-			return log(fMyLogger.getGenericMsg(String.valueOf(b), level), level);
-		else
-			return NOLOG_DESCRIPTION;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jem.util.logger.proxy.ILogRenderer2#log(byte, java.util.logging.Level)
-	 */
-	public String log(byte b, Level level) {
-		if (level == DEFAULT)
-			level = Level.FINEST;
-		if (isLogging(level))
-			return log(fMyLogger.getGenericMsg(String.valueOf(b), level), level);
-		else
-			return NOLOG_DESCRIPTION;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jem.util.logger.proxy.ILogRenderer2#log(char, java.util.logging.Level)
-	 */
-	public String log(char c, Level level) {
-		if (level == DEFAULT)
-			level = Level.FINEST;
-		if (isLogging(level))
-			return log(fMyLogger.getGenericMsg(String.valueOf(c), level), level);
-		else
-			return NOLOG_DESCRIPTION;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jem.util.logger.proxy.ILogRenderer2#log(double, java.util.logging.Level)
-	 */
-	public String log(double d, Level level) {
-		if (level == DEFAULT)
-			level = Level.FINEST;
-		if (isLogging(level))
-			return log(fMyLogger.getGenericMsg(String.valueOf(d), level), level);
-		else
-			return NOLOG_DESCRIPTION;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jem.util.logger.proxy.ILogRenderer2#log(float, java.util.logging.Level)
-	 */
-	public String log(float f, Level level) {
-		if (level == DEFAULT)
-			level = Level.FINEST;
-		if (isLogging(level))
-			return log(fMyLogger.getGenericMsg(String.valueOf(f), level), level);
-		else
-			return NOLOG_DESCRIPTION;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jem.util.logger.proxy.ILogRenderer2#log(int, java.util.logging.Level)
-	 */
-	public String log(int i, Level level) {
-		if (level == DEFAULT)
-			level = Level.FINEST;
-		if (isLogging(level))
-			return log(fMyLogger.getGenericMsg(String.valueOf(i), level), level);
-		else
-			return NOLOG_DESCRIPTION;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jem.util.logger.proxy.ILogRenderer2#log(long, java.util.logging.Level)
-	 */
-	public String log(long l, Level level) {
-		if (level == DEFAULT)
-			level = Level.FINEST;
-		if (isLogging(level))
-			return log(fMyLogger.getGenericMsg(String.valueOf(l), level), level);
-		else
-			return NOLOG_DESCRIPTION;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jem.util.logger.proxy.ILogRenderer2#log(java.lang.Object, java.util.logging.Level)
-	 */
-	public String log(Object o, Level level) {
-		if (level == DEFAULT)
-			level = Level.FINEST;
-		if (isLogging(level))
-			return log(fMyLogger.getGenericMsg(String.valueOf(o), level), level);
-		else
-			return NOLOG_DESCRIPTION;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jem.util.logger.proxy.ILogRenderer2#log(short, java.util.logging.Level)
-	 */
-	public String log(short s, Level level) {
-		if (level == DEFAULT)
-			level = Level.FINEST;
-		if (isLogging(level))
-			return log(fMyLogger.getGenericMsg(String.valueOf(s), level), level);
-		else
-			return NOLOG_DESCRIPTION;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jem.util.logger.proxy.ILogRenderer2#log(java.lang.Throwable, java.util.logging.Level)
-	 */
-	public String log(Throwable t, Level level) {
-		if (level == DEFAULT)
-			level = Level.SEVERE;
-		if (isLogging(level))
-			return log(fMyLogger.getGenericMsg(fMyLogger.exceptionToString(t), level), level);
-		else
-			return NOLOG_DESCRIPTION;
-	}
-
-}
diff --git a/plugins/org.eclipse.jem.util/jemutil-nonworkbnech/org/eclipse/jem/util/logger/proxy/Logger.java b/plugins/org.eclipse.jem.util/jemutil-nonworkbnech/org/eclipse/jem/util/logger/proxy/Logger.java
deleted file mode 100644
index 24e891a..0000000
--- a/plugins/org.eclipse.jem.util/jemutil-nonworkbnech/org/eclipse/jem/util/logger/proxy/Logger.java
+++ /dev/null
@@ -1,843 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-/*
- *  $RCSfile: Logger.java,v $
- *  $Revision: 1.8 $  $Date: 2006/05/17 20:13:45 $ 
- */
-package org.eclipse.jem.util.logger.proxy;
-
-import java.io.PrintWriter;
-import java.io.StringWriter;
-import java.util.*;
-import java.util.logging.Level;
-
-/**
- * This is a base, UI independent logger.   It will
- * construct a consistent msg. body, and call an enfironment specific ILogRenderer.
- * By default, this logger will use a console based ILogRenderer,
- * and a J2EE Plugin identification.
- * 
- * <p>
- * When running outside of Eclipse, the trace and logging level come from the system properties
- * <ul>
- * 		<li>"debug" (="true") - The default is <code>false</code>. 
- * 		<li>"logLevel" (="level" where "level" is a level string, e.g. SEVERE, WARNING, etc. from the <code>java.util.logging.Level</code> class).
- * 			The default is "WARNING".
- * </ul>
- * 
- * 
- * @since 1.0.0
- */
-public class Logger {
-	
-	// This is used by ILogRenderer2 to define the default level.
-	static class LocalLevel extends Level {
-		/**
-		 * Comment for <code>serialVersionUID</code>
-		 * 
-		 * @since 1.1.0
-		 */
-		private static final long serialVersionUID = -6273357074767854883L;
-
-		public LocalLevel(String name, int level) {
-			super(name, level);
-		}
-	}	
-	
-	private boolean fTraceMode = false; // will we actually punch trace messaged or not              
-	private String fPluginID;
-	private ILogRenderer fRenderer = null;
-	private ILogRenderer2 renderer2 = null;
-	public String fLineSeperator;
-	private Level level;
-	private Level defaultLevel = Level.SEVERE;	// By default only severe or greater are logged.
-	private String logFileName;
-	private final static String DefaultLoggerPlugin = ILogRenderer.DefaultPluginID;
-	static private Hashtable Loggers = new Hashtable(); // Keep track of all the Loggers
-	final protected static String[] LogMark = { "*** ERROR *** ", //$NON-NLS-1$
-		"[Trace] ", //$NON-NLS-1$
-		"+++ Warning +++ ", //$NON-NLS-1$
-		"Info " }; //$NON-NLS-1$
-
-	final protected static String Filler = "    "; // Use this to indent msg. body //$NON-NLS-1$
-	
-	protected Logger() {
-		this(ILogRenderer.DefaultPluginID);
-	}
-	
-	protected Logger(String pluginID) {
-		fPluginID = pluginID;
-		setRenderer(new JDKConsoleRenderer(this));	// Set up default to this. Someone can change it later.
-	}
-
-	/**
-	 * Return the stacktrace as a print formatted string.
-	 * @param e
-	 * @return the stacktrace as a string.
-	 * 
-	 * @since 1.0.0
-	 */
-	public String exceptionToString(Throwable e) {
-		StringWriter stringWriter = new StringWriter();
-		e.printStackTrace(new PrintWriter(stringWriter));
-		return stringWriter.toString();
-	}
-	
-	/**
-	 * Get the system default logger. This is used for clients that don't know if they
-	 * are running in Eclipse or outside of it. This way they have a common logger format
-	 * which switch correctly.
-	 * @return default logger.
-	 * 
-	 * @since 1.0.0
-	 */
-	static public Logger getLogger() {
-		Logger defaultLogger = (Logger) Loggers.get(DefaultLoggerPlugin);
-		if (defaultLogger == null) {
-			defaultLogger = new Logger();
-			defaultLogger.init();
-			Loggers.put(DefaultLoggerPlugin, defaultLogger);
-		}
-		return defaultLogger;
-	}
-	
-	/**
-	 * Get the logger for a specific plugin.
-	 * @param pluginId
-	 * @return logger for a specific pluggin.
-	 * 
-	 * @since 1.0.0
-	 */
-	static public Logger getLogger(String pluginId) {
-		if (pluginId == null)
-			return Logger.getLogger();
-		Logger Logger = (Logger) Loggers.get(pluginId);
-		if (Logger == null) {
-			Logger = new Logger(pluginId);
-			Logger.init();
-			Loggers.put(pluginId, Logger);
-		}
-		return Logger;
-	}
-	
-	/**
-	 * Used by subclass to get a logger if it exists, but not create one.
-	 * @param pluginId
-	 * @return logger.
-	 * 
-	 * @since 1.0.0
-	 */
-	static protected Logger getLoggerIfExists(String pluginId) {
-		if (pluginId == null)
-			return Logger.getLogger();
-		else
-			return (Logger) Loggers.get(pluginId);
-	}
-
-	/**
-	 * Get the plugin id for this logger.
-	 * @return pluginid
-	 * 
-	 * @since 1.0.0
-	 */
-	public String getPluginID() {
-		return fPluginID;
-	}
-	
-	/**
-	 * Get the trace mode for this logger
-	 * @return <code>true</code> if tracing is going on.
-	 * 
-	 * @since 1.0.0
-	 */
-	public boolean getTraceMode() {
-		return fTraceMode;
-	}
-	
-	/*
-	 * Indent the Msg. Body to make it easier to read the log
-	 */
-	private void indentMsg(String msg, StringBuffer logMsg) {
-		// Line seperator is different on different platform, unix = \n, windows \r\n and mac \r
-		String sep = fLineSeperator;
-		if (msg.indexOf("\r\n") != -1) //$NON-NLS-1$
-			sep = "\r\n"; //$NON-NLS-1$
-		else if (msg.indexOf("\n") != -1) //$NON-NLS-1$
-			sep = "\n"; //$NON-NLS-1$
-		else if (msg.indexOf("\r") != -1) //$NON-NLS-1$
-			sep = "\r"; //$NON-NLS-1$
-		StringTokenizer tokenizer = new StringTokenizer(msg, sep);
-		boolean first = true;
-		while (tokenizer.hasMoreTokens()) {
-			if (first) {
-				first = false;
-				logMsg.append(Filler + tokenizer.nextToken());
-			} else
-				logMsg.append(fLineSeperator + Filler + tokenizer.nextToken());
-		}
-	}
-	/*
-	 * If Eclipse is started with the -XDebug or -debug turn traces on for this Logger
-	 * Creation date: (8/23/2001 7:37:04 PM)
-	 */
-	private void init() {
-		if (System.getProperty("debug") != null) //$NON-NLS-1$
-			fTraceMode = true;
-		level = defaultLevel = Level.parse(System.getProperty("logLevel", Level.WARNING.getName())); //$NON-NLS-1$
-		
-		try {
-			fLineSeperator = System.getProperty("line.separator"); // Diff on Win/Unix/Mac //$NON-NLS-1$
-		} catch (Throwable e) {
-			fLineSeperator = "\n"; //$NON-NLS-1$
-		}
-	}
-	/*
-	 * Generic log.
-	 * Creation date: (8/24/2001 1:55:34 PM)
-	 * @return java.lang.String
-	 * @param msg java.lang.String
-	 * @param type int
-	 */
-	private String logAny(String msg, int type) {
-		StringBuffer logMsg = new StringBuffer();
-		logMsg.append(fLineSeperator);
-		logMsg.append(LogMark[type]);
-		return punchLog(logRest(msg, logMsg), type);
-	}
-	
-	/**
-	 * This is to be used by renderers that want to put a msg out
-	 * in a generic format. This just returns the string that
-	 * should be logged. It puts things like headers on it.
-	 * 
-	 * @param msg
-	 * @param aLevel
-	 * @return The generic message for the string and level.
-	 * 
-	 * @since 1.0.0
-	 */
-	public String getGenericMsg(String msg, Level aLevel) {
-		StringBuffer genMsg = new StringBuffer(msg.length()+16);
-		genMsg.append(fLineSeperator);
-		genMsg.append(getLevelHeader(aLevel));
-		genMsg.append(": "); //$NON-NLS-1$
-		genMsg.append(new Date());
-		indentMsg(msg, genMsg);
-		return genMsg.toString();
-	}
-	
-	private static final Level[] LEVEL_SEARCH = new Level[] {
-		Level.SEVERE,
-		Level.WARNING,
-		Level.INFO,
-		ILogRenderer2.TRACE
-	};
-	
-	private static final String[] LEVEL_MARK = new String[] {
-		"*** ERROR ***", //$NON-NLS-1$
-		"+++ Warning +++", //$NON-NLS-1$
-		"Info", //$NON-NLS-1$
-		"[Trace]" //$NON-NLS-1$
-	};
-	
-	private String getLevelHeader(Level aLevel) {
-		for (int i=0; i<LEVEL_SEARCH.length; i++)
-			if (LEVEL_SEARCH[i] == aLevel)
-				return LEVEL_MARK[i];
-		return aLevel.getName();	// Not found, just use level string.
-	}
-	
-	// The write's are here for history. Will implement using log(obj, Level) for all of the types.
-
-
-	/**
-	 * deprecated use log(Level, Exception)
-	 * @param aLevel
-	 * @param ex
-	 * @return
-	 * 
-	 * @since 1.0.0
-	 * 
-	 */
-	public String write(Level aLevel, Exception ex) {
-		return log(aLevel, ex);
-	}
-	
-	/**
-	 * deprecated use log(Throwable)
-	 * @param ex
-	 * @return
-	 * 
-	 * @since 1.0.0
-	 * 
-	 */
-	public String write(Throwable ex) {
-		return log(ex);
-	}
-	
-	/**
-	 * deprecated use log(Object, Level)
-	 * @param aLevel
-	 * @param logEntry
-	 * @return
-	 * 
-	 * @since 1.0.0
-	 */
-	public String write(Level aLevel, Object logEntry) {
-		return log(logEntry, aLevel);
-	}
-	
-	/**
-	 * deprecated use log(String, Level)
-	 * @param aLevel
-	 * @param string
-	 * @return
-	 * 
-	 * @since 1.0.0
-	 */
-	public String write(Level aLevel, String string) {
-		return log(string, aLevel);
-	}
-	/**
-	 * deprecated use log(Throwable, Level)
-	 * @param aLevel
-	 * @param ex
-	 * @return
-	 * 
-	 * @since 1.0.0
-	 */
-	public String write(Level aLevel, Throwable ex) {
-		return log(ex, aLevel);
-	}
-	/**
-	 * deprecated use log(Throwable, Level)
-	 * @param aLevel
-	 * @param ex
-	 * @return
-	 * 
-	 * @since 1.0.0
-	 */
-	public String log(Level aLevel, Exception ex) {
-		return log(ex, aLevel);
-	}
-	/**
-	 * deprecated use log(Throwable, Level)
-	 * @param aLevel
-	 * @param ex
-	 * @return
-	 * 
-	 * @since 1.0.0
-	 */
-	public String log(Level aLevel, Throwable ex) {
-		return log(ex, aLevel);
-	}
-	
-	/**
-	 * Get the logging level
-	 * @return logging level
-	 * 
-	 * @since 1.0.0
-	 */
-	public Level getLevel() {
-		return level;
-	}
-	
-	/**
-	 * Check if the requested level is being logged. (e.g. if current level is SEVERE, then FINE will not be logged).
-	 * @param requestlevel
-	 * @return <code>true</code> if the level will be logged.
-	 * 
-	 * @since 1.0.0
-	 */
-	public boolean isLoggingLevel(Level requestlevel) {
-		if (requestlevel == ILogRenderer2.TRACE && !getTraceMode())
-			return false;	// We aren't tracing but requested trace.
-		
-		return !(requestlevel.intValue() < getLevel().intValue() || getLevel() == Level.OFF);
-	}
-
-	/**
-	 * Log an error string.
-	 * @param msg
-	 * @return how it was logged. See <code>CONSOLE_DESCRIPTION.</code>
-	 * 
-	 * @since 1.0.0
-	 */
-	public String logError(String msg) {
-		return log(msg, Level.SEVERE);
-	}
-
-	/**
-	 * Log an error throwable
-	 * @param e
-	 * @return how it was logged. See <code>CONSOLE_DESCRIPTION.</code>
-	 * 
-	 * @since 1.0.0
-	 */
-	public String logError(Throwable e) {
-		return log(e, Level.SEVERE);
-	}
-
-	/**
-	 * Log an info message.
-	 * @param msg
-	 * @return how it was logged. See <code>CONSOLE_DESCRIPTION.</code>
-	 * 
-	 * @since 1.0.0
-	 */
-	public String logInfo(String msg) {
-		return log(msg, Level.INFO);
-	}
-	
-/**
- * Log a throwable as a warning.
- * @param e
- * @return how it was logged. See <code>CONSOLE_DESCRIPTION.</code>
- * 
- * @since 1.0.0
- */
-	public String logInfo(Throwable e) {
-		return log(e, Level.INFO);
-	}
-
-	/**
-	 * Append the string to logMsg buffer passed in. Append the date and format the
-	 * string with nice indentation.
-	 * 
-	 * @param msg
-	 * @param logMsg
-	 * @return the string from the logMsg after logging the rest.
-	 * 
-	 * @since 1.0.0
-	 */
-	protected String logRest(String msg, StringBuffer logMsg) {
-		logMsg.append(new Date());
-		indentMsg(msg, logMsg);
-		return logMsg.toString();
-	}
-
-	/**
-	 * Log the msg as trace only.
-	 * @param msg
-	 * @return how it was logged. See <code>CONSOLE_DESCRIPTION.</code>
-	 * 
-	 * @since 1.0.0
-	 */
-	public String logTrace(String msg) {
-		if (fTraceMode)
-			return log(msg, ILogRenderer2.TRACE);
-		else
-			return ILogRenderer.NOLOG_DESCRIPTION;
-	}
-
-	/**
-	 * Log the throwable as trace only.
-	 * @param e
-	 * @return how it was logged. See <code>CONSOLE_DESCRIPTION.</code>
-	 * 
-	 * @since 1.0.0
-	 */
-	public String logTrace(Throwable e) {
-		return log(e, ILogRenderer2.TRACE);
-	}
-
-	/**
-	 * Log the message as warning.
-	 * @param msg
-	 * @return how it was logged. See <code>CONSOLE_DESCRIPTION.</code>
-	 * 
-	 * @since 1.0.0
-	 */
-	public String logWarning(String msg) {
-		return log(msg, Level.WARNING);
-	}
-	/**
-	 * Log the throwable as a warning.
-	 * @param e
-	 * @return how it was logged. See <code>CONSOLE_DESCRIPTION.</code>
-	 * 
-	 * @since 1.0.0
-	 */
-	public String logWarning(Throwable e) {
-		return log(e, Level.WARNING);
-	}
-	
-	/**
-	 * Ask the Renderer to punch the msg. in the log.. one
-	 * caller at the time
-	 * Creation date: (8/24/2001 9:19:17 AM)
-	 * @return java.lang.String
-	 * @param msg java.lang.String
-	 * @param type int
-	 */
-	protected synchronized String punchLog(String msg, int type) {
-		return fRenderer.log(msg, type);
-	}
-	
-	/**
-	 * Set the renderer to use.
-	 * @param renderer
-	 * 
-	 * @since 1.0.0
-	 */
-	public void setRenderer(ILogRenderer renderer) {
-		fRenderer = renderer;
-		renderer2 = (renderer instanceof ILogRenderer2) ? (ILogRenderer2) renderer : null;
-		renderer.setTraceMode(getTraceMode());
-	}
-	
-	/**
-	 * Set the trace mode.
-	 * @param flag <code>true</code> to turn on tracing.
-	 * 
-	 * @since 1.0.0
-	 */
-	public void setTraceMode(boolean flag) {
-		fTraceMode = flag;
-		if (fRenderer != null)
-			fRenderer.setTraceMode(flag);
-	}
-	
-	/**
-	 * Set the level cutoff for logging. Anything below this level will not log.
-	 * Do not set level to <code>ILogRenderer2.TRACE</code>. It doesn't make sense.
-	 * 
-	 * @param level (Use <code>ILogRenderer2.DEFAULT</code> to restore to default for this logger.
-	 * 
-	 * @since 1.0.0
-	 */
-	public void setLevel(Level level) {
-		this.level = level != ILogRenderer2.DEFAULT ? level : defaultLevel;
-	}
-	
-	/**
-	 * Set the default level for this logger. It won't touch the current level.
-	 * 
-	 * @param level
-	 * 
-	 * @since 1.0.0
-	 */
-	public void setDefaultLevel(Level level) {
-		this.defaultLevel = level;
-	}
-	
-	/**
-	 * Get the log file name.
-	 * @return Returns the logFileName.
-	 */
-	public String getLogFileName() {
-		return logFileName;
-	}
-
-	/**
-	 * Set the log file name.
-	 * @param logFileName The logFileName to set.
-	 */
-	public void setLogFileName(String logFileName) {
-		this.logFileName = logFileName;
-	}
-	
-	// Now all of the log() types that use a Level.
-
-	/**
-	 * Log the throwable at the default level for a throwable. 
-	 * @param e
-	 * @return how it was logged. See <code>CONSOLE_DESCRIPTION.</code>
-	 * 
-	 * @since 1.0.0
-	 */
-	public String log(Throwable e) {
-		return log(e, ILogRenderer2.DEFAULT);
-	}
-	
-	/**
-	 * Log the throwable at the given level.
-	 * @param e
-	 * @param logLevel
-	 * @return how it was logged. See <code>CONSOLE_DESCRIPTION.</code>
-	 * 
-	 * @since 1.0.0
-	 */
-	public String log(Throwable e, Level logLevel) {
-		if (renderer2 != null) {
-			return renderer2.log(e, logLevel);
-		} else {
-			// Do it the old way.
-			String stackTrace = exceptionToString(e);
-			return logAny(stackTrace, getOldType(logLevel != ILogRenderer2.DEFAULT ? level : Level.SEVERE));
-		}
-	}
-	
-	public String log(Object o) {
-		return log(o, ILogRenderer2.DEFAULT);
-	}
-	
-	/**
-	 * Log the object at the given level.
-	 * @param o
-	 * @param logLevel
-	 * @return how it was logged. See <code>CONSOLE_DESCRIPTION.</code>
-	 * 
-	 * @since 1.0.0
-	 */
-	public String log(Object o, Level logLevel) {
-		if (renderer2 != null) {
-			return renderer2.log(o, logLevel);
-		} else {
-			// Do it the old way.
-			return logAny(String.valueOf(o), getOldType(logLevel != ILogRenderer2.DEFAULT ? level : Level.FINEST));
-		}
-	}	
-	
-	// The following are added to match up with Hyades so that primitives can be logged too.
-	
-	/**
-	 * Log a boolean at the default level. 
-	 * @param b
-	 * @return how it was logged. See <code>CONSOLE_DESCRIPTION.</code>
-	 * 
-	 * @since 1.0.0
-	 */
-	public String log(boolean b) {
-		return log(b, ILogRenderer2.DEFAULT);
-	}
-	
-	/**
-	 * Log a boolean at the given level.
-	 * @param b
-	 * @param logLevel
-	 * @return how it was logged. See <code>CONSOLE_DESCRIPTION.</code>
-	 * 
-	 * @since 1.0.0
-	 */
-	public String log(boolean b, Level logLevel) {
-		if (renderer2 != null) {
-			return renderer2.log(b, logLevel);
-		} else {
-			// Do it the old way.
-			return logAny(String.valueOf(b), getOldType(logLevel != ILogRenderer2.DEFAULT ? level : Level.FINEST));
-		}
-	}	
-	
-	/**
-	 * Log the character at the default level.
-	 * @param c
-	 * @return how it was logged. See <code>CONSOLE_DESCRIPTION.</code>
-	 * 
-	 * @since 1.0.0
-	 */
-	public String log(char c) {
-		return log(c, ILogRenderer2.DEFAULT);
-	}
-	
-	/**
-	 * Log the character at the given level.
-	 * @param c
-	 * @param logLevel
-	 * @return how it was logged. See <code>CONSOLE_DESCRIPTION.</code>
-	 * 
-	 * @since 1.0.0
-	 */
-	public String log(char c, Level logLevel) {
-		if (renderer2 != null) {
-			return renderer2.log(c, logLevel);
-		} else {
-			// Do it the old way.
-			return logAny(String.valueOf(c), getOldType(logLevel != ILogRenderer2.DEFAULT ? level : Level.FINEST));
-		}
-	}
-	
-	/**
-	 * Log the byte at the default level.
-	 * @param b
-	 * @return how it was logged. See <code>CONSOLE_DESCRIPTION.</code>
-	 * 
-	 * @since 1.0.0
-	 */
-	public String log(byte b) {
-		return log(b, ILogRenderer2.DEFAULT);
-	}
-	
-	/**
-	 * Log the byte at the given level.
-	 * @param b
-	 * @param logLevel
-	 * @return how it was logged. See <code>CONSOLE_DESCRIPTION.</code>
-	 * 
-	 * @since 1.0.0
-	 */
-	public String log(byte b, Level logLevel) {
-		if (renderer2 != null) {
-			return renderer2.log(b, logLevel);
-		} else {
-			// Do it the old way.
-			return logAny(String.valueOf(b), getOldType(logLevel != ILogRenderer2.DEFAULT ? level : Level.FINEST));
-		}
-	}	
-	
-	/**
-	 * Log the short at the default level.
-	 * @param s
-	 * @return how it was logged. See <code>CONSOLE_DESCRIPTION.</code>
-	 * 
-	 * @since 1.0.0
-	 */
-	public String log(short s) {
-		return log(s, ILogRenderer2.DEFAULT);
-	}
-	
-	/**
-	 * Log the short at the given level.
-	 * @param s
-	 * @param logLevel
-	 * @return how it was logged. See <code>CONSOLE_DESCRIPTION.</code>
-	 * 
-	 * @since 1.0.0
-	 */
-	public String log(short s, Level logLevel) {
-		if (renderer2 != null) {
-			return renderer2.log(s, logLevel);
-		} else {
-			// Do it the old way.
-			return logAny(String.valueOf(s), getOldType(logLevel != ILogRenderer2.DEFAULT ? level : Level.FINEST));
-		}
-	}
-	
-	/**
-	 * Log the int at the default level.
-	 * @param i
-	 * @return how it was logged. See <code>CONSOLE_DESCRIPTION.</code>
-	 * 
-	 * @since 1.0.0
-	 */
-	public String log(int i) {
-		return log(i, ILogRenderer2.DEFAULT);
-	}
-	
-	/**
-	 * Log the int at the default level.
-	 * @param i
-	 * @param logLevel
-	 * @return how it was logged. See <code>CONSOLE_DESCRIPTION.</code>
-	 * 
-	 * @since 1.0.0
-	 */
-	public String log(int i, Level logLevel) {
-		if (renderer2 != null) {
-			return renderer2.log(i, logLevel);
-		} else {
-			// Do it the old way.
-			return logAny(String.valueOf(i), getOldType(logLevel != ILogRenderer2.DEFAULT ? level : Level.FINEST));
-		}
-	}
-	
-	/**
-	 * Log the long at the default level.
-	 * @param l
-	 * @return how it was logged. See <code>CONSOLE_DESCRIPTION.</code>
-	 * 
-	 * @since 1.0.0
-	 */
-	public String log(long l) {
-		return log(l, ILogRenderer2.DEFAULT);
-	}
-	
-	/**
-	 * Log the long at the given level.
-	 * @param l
-	 * @param logLevel
-	 * @return how it was logged. See <code>CONSOLE_DESCRIPTION.</code>
-	 * 
-	 * @since 1.0.0
-	 */
-	public String log(long l, Level logLevel) {
-		if (renderer2 != null) {
-			return renderer2.log(l, logLevel);
-		} else {
-			// Do it the old way.
-			return logAny(String.valueOf(l), getOldType(logLevel != ILogRenderer2.DEFAULT ? level : Level.FINEST));
-		}
-	}	
-	
-	/**
-	 * Log the float at the default level.
-	 * @param f
-	 * @return how it was logged. See <code>CONSOLE_DESCRIPTION.</code>
-	 * 
-	 * @since 1.0.0
-	 */
-	public String log(float f) {
-		return log(f, ILogRenderer2.DEFAULT);
-	}
-	
-	/**
-	 * Log the float at the given level.
-	 * @param f
-	 * @param logLevel
-	 * @return how it was logged. See <code>CONSOLE_DESCRIPTION.</code>
-	 * 
-	 * @since 1.0.0
-	 */
-	public String log(float f, Level logLevel) {
-		if (renderer2 != null) {
-			return renderer2.log(f, logLevel);
-		} else {
-			// Do it the old way.
-			return logAny(String.valueOf(f), getOldType(logLevel != ILogRenderer2.DEFAULT ? level : Level.FINEST));
-		}
-	}
-	
-	/**
-	 * Log the double at the default level
-	 * @param d
-	 * @return how it was logged. See <code>CONSOLE_DESCRIPTION.</code>
-	 * 
-	 * @since 1.0.0
-	 */
-	public String log(double d) {
-		return log(d, ILogRenderer2.DEFAULT);
-	}
-	
-	/**
-	 * Log the double at the given level
-	 * 
-	 * @param d
-	 * @param logLevel
-	 * @return how it was logged. See <code>CONSOLE_DESCRIPTION.</code>
-	 * 
-	 * @since 1.0.0
-	 */
-	public String log(double d, Level logLevel) {
-		if (renderer2 != null) {
-			return renderer2.log(d, logLevel);
-		} else {
-			// Do it the old way.
-			return logAny(String.valueOf(d), getOldType(logLevel != ILogRenderer2.DEFAULT ? level : Level.FINEST));
-		}
-	}	
-	
-	/*
-	 * Turn new type into old type. The defaultLevel is the
-	 * level to use if the incoming level is marked as default.
-	 */
-	private int getOldType(Level aLevel) {
-		if (aLevel == Level.SEVERE)
-			return ILogRenderer.LOG_ERROR;
-		else if (aLevel == Level.WARNING)
-			return ILogRenderer.LOG_WARNING;
-		else if (aLevel == Level.INFO)
-			return ILogRenderer.LOG_INFO;
-		else if (aLevel == ILogRenderer2.TRACE)
-			return ILogRenderer.LOG_TRACE;
-		else
-			return ILogRenderer.LOG_INFO;		
-	}
-}
diff --git a/plugins/org.eclipse.jem.util/jemutil/org/eclipse/jem/internal/util/emf/workbench/EMFWorkbenchContextFactory.java b/plugins/org.eclipse.jem.util/jemutil/org/eclipse/jem/internal/util/emf/workbench/EMFWorkbenchContextFactory.java
deleted file mode 100644
index 698a435..0000000
--- a/plugins/org.eclipse.jem.util/jemutil/org/eclipse/jem/internal/util/emf/workbench/EMFWorkbenchContextFactory.java
+++ /dev/null
@@ -1,172 +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
- *******************************************************************************/
-/*
- *  $$RCSfile: EMFWorkbenchContextFactory.java,v $$
- *  $$Revision: 1.4 $$  $$Date: 2005/06/16 20:14:27 $$ 
- */
-package org.eclipse.jem.internal.util.emf.workbench;
-
-import java.util.*;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IProjectNature;
-import org.eclipse.core.runtime.*;
-import org.eclipse.emf.ecore.resource.ResourceSet;
-
-import org.eclipse.jem.internal.util.emf.workbench.nls.EMFWorkbenchResourceHandler;
-import org.eclipse.jem.util.RegistryReader;
-import org.eclipse.jem.util.emf.workbench.*;
-import org.eclipse.jem.util.emf.workbench.nature.EMFNature;
-import org.eclipse.jem.util.logger.proxy.Logger;
-import org.eclipse.jem.util.plugin.JEMUtilPlugin;
-
-
-
-public class EMFWorkbenchContextFactory  {
-	public static final EMFWorkbenchContextFactory INSTANCE;
-	
-	static {
-		INSTANCE = createFactoryInstance();
-	}
-	private final Class CONTRIBUTOR_CLASS = IEMFContextContributor.class;
-	protected Map emfContextCache = new WeakHashMap();
-
-	
-	private static EMFWorkbenchContextFactory createFactoryInstance() {
-		EMFWorkbenchContextFactory factory = createFactoryInstanceFromExtension();
-		if (factory == null)
-			factory = new EMFWorkbenchContextFactory();
-		return factory;
-	}
-	
-	private static EMFWorkbenchContextFactory createFactoryInstanceFromExtension() {
-		final EMFWorkbenchContextFactory[] factoryHolder = new EMFWorkbenchContextFactory[1];
-		RegistryReader reader = new RegistryReader(JEMUtilPlugin.ID, "internalWorkbenchContextFactory") { //$NON-NLS-1$
-			public boolean readElement(IConfigurationElement element) {
-				if (element.getName().equals("factoryClass")) //$NON-NLS-1$
-					try {
-						factoryHolder[0] = (EMFWorkbenchContextFactory)element.createExecutableExtension("name"); //$NON-NLS-1$
-						return true;
-					} catch (CoreException e) {
-						Logger.getLogger().logError(e);
-					}				
-				return false;
-			}
-		};
-		reader.readRegistry();
-		return factoryHolder[0];
-	}
-
-	/**
-	 * Constructor for EMFNatureFactory.
-	 */
-	protected EMFWorkbenchContextFactory() {
-		super();
-
-	}
-
-
-	protected void cacheEMFContext(IProject aProject, EMFWorkbenchContextBase emfContext) {
-		if (aProject != null && emfContext != null)
-			emfContextCache.put(aProject, emfContext);
-	}
-
-	protected EMFWorkbenchContextBase getCachedEMFContext(IProject aProject) {
-		if (aProject != null)
-			return (EMFWorkbenchContextBase) emfContextCache.get(aProject);
-		return null;
-	}
-
-	/**
-	 * <code>aProject</code> is either being closed or deleted so we need to cleanup our cache.
-	 */
-	public void removeCachedProject(IProject aProject) {
-		if (aProject != null) 
-			emfContextCache.remove(aProject); 
-		
-	}
-	/**
-	 * Return a new or existing EMFNature on <code>aProject</code>. Allow the <code>contributor</code>
-	 * to contribute to the new or existing nature prior to returning.
-	 */
-	public EMFWorkbenchContextBase createEMFContext(IProject aProject, IEMFContextContributor contributor) {
-		if (aProject == null)
-			throw new IllegalStateException("[EMFWorkbenchContextBase]" + EMFWorkbenchResourceHandler.getString("EMFWorkbenchContextFactory_UI_0")); //$NON-NLS-1$ //$NON-NLS-2$
-		if (!aProject.isAccessible())
-			throw new IllegalStateException("[EMFWorkbenchContextBase]" + EMFWorkbenchResourceHandler.getString("EMFWorkbenchContextFactory_UI_1", new Object[]{aProject.getName()})); //$NON-NLS-1$ //$NON-NLS-2$
-		EMFWorkbenchContextBase context = getCachedEMFContext(aProject);
-		boolean contributorFound = false;
-		if (context == null) {
-			context = primCreateEMFContext(aProject);
-			cacheEMFContext(aProject, context);
-			contributorFound = initializeEMFContextFromContributors(aProject, context, contributor);
-		}
-		if (contributor != null && context != null && !contributorFound)
-			contributor.primaryContributeToContext(context);
-		return context;
-	}
-	
-	protected boolean initializeEMFContextFromContributors(IProject aProject, EMFWorkbenchContextBase emfContext, IEMFContextContributor contributor) {
-		boolean contributorFound = false;
-		if (aProject == null || emfContext == null)
-			return contributorFound;
-		List runtimes = EMFNature.getRegisteredRuntimes(aProject);
-		for (int i = 0; i < runtimes.size(); i++) {
-			IProjectNature nature = (IProjectNature) runtimes.get(i);
-			if (nature != null && CONTRIBUTOR_CLASS.isInstance(nature)) {
-				if (nature == contributor)
-					contributorFound = true;
-				((IEMFContextContributor) nature).primaryContributeToContext(emfContext);
-			}
-		}
-		return contributorFound;
-	}
-
-	protected boolean isNatureEnabled(IProject aProject, String natureId) {
-		try {
-			return aProject.isNatureEnabled(natureId);
-		} catch (CoreException e) {
-			return false;
-		}
-	}
-
-	protected String[] getNatureIds(IProject aProject) {
-		try {
-			if (aProject.isAccessible())
-				return aProject.getDescription().getNatureIds();
-		} catch (CoreException e) {
-		}
-		return null;
-	}
-
-	protected IProjectNature getNature(IProject aProject, String natureId) {
-		try {
-			return aProject.getNature(natureId);
-		} catch (CoreException e) {
-			return null;
-		}
-	}
-
-	protected EMFWorkbenchContextBase primCreateEMFContext(IProject aProject) {
-		return new EMFWorkbenchContextBase(aProject);
-	}
-	/**
-	 * Return an existing EMFNature on <code>aProject</code>.
-	 */
-	public EMFWorkbenchContextBase getEMFContext(IProject aProject) {
-		return getCachedEMFContext(aProject);
-	}
-
-	public ResourceSetWorkbenchSynchronizer createSynchronizer(ResourceSet aResourceSet, IProject aProject) {
-		return new ResourceSetWorkbenchSynchronizer(aResourceSet, aProject);
-	}
-
-}
diff --git a/plugins/org.eclipse.jem.util/jemutil/org/eclipse/jem/internal/util/emf/workbench/ProjectResourceSetImpl.java b/plugins/org.eclipse.jem.util/jemutil/org/eclipse/jem/internal/util/emf/workbench/ProjectResourceSetImpl.java
deleted file mode 100644
index 36c8f4d..0000000
--- a/plugins/org.eclipse.jem.util/jemutil/org/eclipse/jem/internal/util/emf/workbench/ProjectResourceSetImpl.java
+++ /dev/null
@@ -1,274 +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
- *******************************************************************************/
-/*
- *  $$RCSfile: ProjectResourceSetImpl.java,v $$
- *  $$Revision: 1.8 $$  $$Date: 2005/03/18 18:52:06 $$ 
- */
-package org.eclipse.jem.internal.util.emf.workbench;
-
-import java.io.IOException;
-import java.util.*;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.impl.NotificationImpl;
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.resource.Resource;
-import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
-import org.eclipse.emf.ecore.resource.impl.URIConverterImpl;
-import org.eclipse.emf.ecore.xmi.XMLResource;
-
-import org.eclipse.jem.util.emf.workbench.*;
-import org.eclipse.jem.util.emf.workbench.nature.EMFNature;
-import org.eclipse.jem.util.logger.proxy.Logger;
-import org.eclipse.jem.util.plugin.JEMUtilPlugin;
-
-public class ProjectResourceSetImpl extends ResourceSetImpl implements ProjectResourceSet {
-	private boolean isReleasing = false;
-	private IProject project;
-	protected List resourceHandlers = new ArrayList();
-	protected ResourceSetWorkbenchSynchronizer synchronizer;
-	protected ProjectResourceSetImpl() {
-		setURIResourceMap(new HashMap(10));	// Tell it to cache uri->resource access.
-		getLoadOptions().put(XMLResource.OPTION_USE_PARSER_POOL, EMFNature.SHARED_PARSER_POOL);
-	}
-	public ProjectResourceSetImpl(IProject aProject) {
-		this();
-		setProject(aProject);
-		initializeSharedCacheListener();
-	}
-	protected void initializeSharedCacheListener() {
-		JEMUtilPlugin.getSharedCache().beginListening(this);
-	}
-	protected boolean isReleasing() {
-		return isReleasing;
-	}
-	/**
-	 * @see org.eclipse.emf.ecore.resource.impl.ResourceSetImpl#delegatedGetResource(URI, boolean)
-	 */
-	protected Resource delegatedGetResource(URI uri, boolean loadOnDemand) {
-		Resource res = super.delegatedGetResource(uri, loadOnDemand);
-		if (res == null)
-			res = getResourceFromHandlers(uri);
-		return res;
-	}
-	public Resource createResource(URI uri) {
-		if (isReleasing) return null;
-		//Check the map first when creating the resource and do not
-		//normalize if a value is found.
-		boolean isMapped = !(((URIConverterImpl.URIMap)getURIConverter().getURIMap()).getURI(uri).equals(uri));
-		URI converted = uri;
-		if (!isMapped)
-			converted = getURIConverter().normalize(uri);
-		Resource result = createResourceFromHandlers(converted);
-		if (result == null)
-			result = super.createResource(converted);
-		
-		return result;
-	}
-	/**
-	 * @see org.eclipse.emf.ecore.resource.impl.ResourceSetImpl#demandLoad(Resource)
-	 */
-	protected void demandLoad(Resource resource) throws IOException {
-		if (!isReleasing)
-			super.demandLoad(resource);
-	}
-	
-	/**
-	 * See if any resource handlers from the WorkbenchContext
-	 * decide to create the Resource in another manner.
-	 */
-	protected Resource createResourceFromHandlers(URI uri) {
-		Resource resource = null;
-		ResourceHandler handler = null;
-		for (int i = 0; i < resourceHandlers.size(); i++) {
-			handler = (ResourceHandler) resourceHandlers.get(i);
-			resource = handler.createResource(this, uri);
-			if (resource != null)
-				return resource;
-		}
-		return null;
-	}
-	/**
-	 * See if any resource handlers from the WorkbenchContext
-	 * can return a Resource from a <code>uri</code>.
-	 */
-	protected Resource getResourceFromHandlers(URI uri) {
-		if (isReleasing) return null;
-		for (int i = 0; i < resourceHandlers.size(); i++) {
-			Resource resource = ((ResourceHandler) resourceHandlers.get(i)).getResource(this, uri);
-			if (resource != null)
-				return resource;
-		}
-		return null;
-	}
-	
-	public void release() {
-		// Send out notification of release.
-		if (eNotificationRequired()) {
-			eNotify(new NotificationImpl(SPECIAL_NOTIFICATION_TYPE, null, null, Notification.NO_INDEX, false) {
-				/* (non-Javadoc)
-				 * @see org.eclipse.emf.common.notify.impl.NotificationImpl#getFeatureID(java.lang.Class)
-				 */
-				public int getFeatureID(Class expectedClass) {
-					return PROJECTRESOURCESET_ABOUT_TO_RELEASE_ID;
-				}
-				
-				/* (non-Javadoc)
-				 * @see org.eclipse.emf.common.notify.impl.NotificationImpl#getNotifier()
-				 */
-				public Object getNotifier() {
-					return ProjectResourceSetImpl.this;
-				}
-			});
-		}
-		setIsReleasing(true);
-		if (synchronizer != null)
-			synchronizer.dispose();
-		synchronizer = null;
-		removeAndUnloadAllResources();
-		resourceHandlers = null;
-		eAdapters().clear();
-		setProject(null);
-		JEMUtilPlugin.getSharedCache().stopListening(this);
-	}
-	protected void removeAndUnloadAllResources() {
-		boolean caughtException = false;
-		if (getResources().isEmpty()) return;
-		List list = new ArrayList(getResources());
-		getResources().clear();
-		Resource res;
-		int size = list.size();
-		for (int i = 0; i < size; i++) {
-			res = (Resource) list.get(i);
-			try {
-				res.unload();
-			} catch (RuntimeException ex) {
-				Logger.getLogger().logError(ex);
-				caughtException = true;
-			}
-		}
-		if (caughtException)
-			throw new RuntimeException("Exception(s) unloading resources - check log files"); //$NON-NLS-1$
-	}
-	protected void setIsReleasing(boolean aBoolean) {
-		isReleasing = aBoolean;
-	}
-	/**
-	 * Gets the project.
-	 * @return Returns a IProject
-	 */
-	public IProject getProject() {
-		return project;
-	}
-	/**
-	 * Sets the project.
-	 * @param project The project to set
-	 */
-	protected void setProject(IProject project) {
-		this.project = project;
-	}
-	/*
-	 * Javadoc copied from interface.
-	 */
-	public EObject getEObject(URI uri, boolean loadOnDemand) {
-		if (isReleasing) return null;
-		Resource resource = getResource(uri.trimFragment(), loadOnDemand);
-		EObject result = null;
-		if (resource != null && resource.isLoaded())
-			result = resource.getEObject(uri.fragment());
-		if (result == null)
-			result = getEObjectFromHandlers(uri, loadOnDemand);
-		return result;
-	}
-	/**
-	 * See if any resource handlers from the WorkbenchContext
-	 * can return a EObject from a <code>uri</code> after
-	 * failing to find it using the normal mechanisms.
-	 */
-	protected EObject getEObjectFromHandlers(URI uri, boolean loadOnDemand) {
-		EObject obj = null;
-		ResourceHandler handler = null;
-		for (int i = 0; i < resourceHandlers.size(); i++) {
-			handler = (ResourceHandler) resourceHandlers.get(i);
-			obj = handler.getEObjectFailed(this, uri, loadOnDemand);
-			if (obj != null)
-				return obj;
-		}
-		return null;
-	}
-	
-	public boolean add(ResourceHandler resourceHandler) {
-		return resourceHandlers.add(resourceHandler);
-	}
-	public void addFirst(ResourceHandler resourceHandler) {
-		resourceHandlers.add(0, resourceHandler);
-	}
-	public boolean remove(ResourceHandler resourceHandler) {
-		return resourceHandlers.remove(resourceHandler);
-	}
-	/**
-	 * Returns the synchronizer.
-	 * @return ResourceSetWorkbenchSynchronizer
-	 */
-	public ResourceSetWorkbenchSynchronizer getSynchronizer() {
-		return synchronizer;
-	}
-	/**
-	 * Sets the synchronizer.
-	 * @param synchronizer The synchronizer to set
-	 */
-	public void setSynchronizer(ResourceSetWorkbenchSynchronizer synchronizer) {
-		this.synchronizer = synchronizer;
-	}
-	/**
-	 * @see org.eclipse.emf.ecore.resource.ResourceSet#setResourceFactoryRegistry(Resource.Factory.Registry)
-	 */
-	public void setResourceFactoryRegistry(Resource.Factory.Registry factoryReg) {
-		if (resourceFactoryRegistry != null && factoryReg != null) {
-			preserveEntries(factoryReg.getExtensionToFactoryMap(), resourceFactoryRegistry.getExtensionToFactoryMap());
-			preserveEntries(factoryReg.getProtocolToFactoryMap(), resourceFactoryRegistry.getProtocolToFactoryMap());
-		}
-		super.setResourceFactoryRegistry(factoryReg);
-	}
-	/*
-	 * Preserve the entries from map2 in map1 if no collision.
-	 */
-	protected void preserveEntries(Map map1, Map map2) {
-		if (map2.isEmpty())
-			return;
-		Iterator it = map2.entrySet().iterator();
-		Map.Entry entry;
-		while (it.hasNext()) {
-			entry = (Map.Entry) it.next();
-			if (!map1.containsKey(entry.getKey()))
-				map1.put(entry.getKey(), entry.getValue());
-		}
-	}
-	/*
-	 * Javadoc copied from interface.
-	 */
-	public Resource getResource(URI uri, boolean loadOnDemand) {
-		if (isReleasing) return null;
-		return super.getResource(uri, loadOnDemand);
-	}
-
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jem.util.emf.workbench.ProjectResourceSet#resetNormalizedURICache()
-	 */
-	public void resetNormalizedURICache() {
-		if (getURIResourceMap() != null)
-			getURIResourceMap().clear();
-	}
-
-}
diff --git a/plugins/org.eclipse.jem.util/jemutil/org/eclipse/jem/internal/util/emf/workbench/WorkspaceResourceHandler.java b/plugins/org.eclipse.jem.util/jemutil/org/eclipse/jem/internal/util/emf/workbench/WorkspaceResourceHandler.java
deleted file mode 100644
index 9234123..0000000
--- a/plugins/org.eclipse.jem.util/jemutil/org/eclipse/jem/internal/util/emf/workbench/WorkspaceResourceHandler.java
+++ /dev/null
@@ -1,147 +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
- *******************************************************************************/
-/*
- *  $$RCSfile: WorkspaceResourceHandler.java,v $$
- *  $$Revision: 1.2 $$  $$Date: 2005/02/15 23:04:14 $$ 
- */
-package org.eclipse.jem.internal.util.emf.workbench;
-
-import org.eclipse.core.resources.*;
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.resource.Resource;
-import org.eclipse.emf.ecore.resource.ResourceSet;
-import org.eclipse.emf.ecore.resource.impl.URIConverterImpl;
-
-import org.eclipse.jem.util.emf.workbench.ResourceHandler;
-import org.eclipse.jem.util.emf.workbench.WorkbenchResourceHelperBase;
-import org.eclipse.jem.util.plugin.JEMUtilPlugin;
-
-/**
- * The main purpose of this class is to redirect, if necessary, to another 
- * ResourceSet.  This class should be used in conjunction with the WorkbenchURIConverter
- * so that the URIs passed will use the platform protocol.  Anything else will be considered
- * to be ambiguous and we will not be able to redirect.
- */
-public class WorkspaceResourceHandler implements ResourceHandler {
-	/**
-	 * Constructor for WorkspaceResourceHandler.
-	 */
-	public WorkspaceResourceHandler() {
-		super();
-	}
-	/*
-	* @see IResourceHandler#getResource(ResourceSet, URI)
-	*/
-	public Resource getResource(ResourceSet originatingResourceSet, URI uri) {
-		if (WorkbenchResourceHelperBase.isPlatformResourceURI(uri))
-			return getResourceForPlatformProtocol(originatingResourceSet, uri);
-		URI mappedURI = ((URIConverterImpl.URIMap)originatingResourceSet.getURIConverter().getURIMap()).getURI(uri);
-		if (isGlobalPluginLoad(mappedURI))
-			return getResourceForPlatformPluginProtocol(originatingResourceSet, uri);
-		return null;
-	}
-	/**
-	 * Redirect to the correct project based on the project name in the <code>uri</code>.
-	 * The <code>uri</code> will be in the following format:   platform:/resource/[project name].
-	 */
-	protected Resource createResourceForPlatformProtocol(ResourceSet originatingResourceSet, URI uri) {
-		String projectName = uri.segment(1);
-		IProject project = getProject(projectName);
-		if (project != null && project.isAccessible()) {
-			ResourceSet set = WorkbenchResourceHelperBase.getResourceSet(project);
-			if (originatingResourceSet != set)
-				return createResource(uri, set);
-		}
-		return null;
-	}
-	/**
-		 * Redirect to the correct project based on the project name in the <code>uri</code>.
-		 * The <code>uri</code> will be in the following format:   platform:/resource/[project name].
-		 */
-	protected Resource createResourceForPlatformPluginProtocol(ResourceSet originatingResourceSet, URI uri) {
-			
-		ResourceSet set = JEMUtilPlugin.getPluginResourceSet();
-		return createResource(uri, set);
-		}
-	protected Resource createResource(URI uri, ResourceSet redirectedResourceSet) {
-		return redirectedResourceSet.createResource(uri);
-	}
-	/**
-	 * Redirect to the correct project based on the first segment in the file name.
-	 * This is for compatability purposes for people using the platform:/resource protocol.
-	 */
-	protected Resource getResourceForPlatformProtocol(ResourceSet originatingResourceSet, URI uri) {
-		String projectName = uri.segment(1);
-		IProject project = getProject(projectName);
-		if (project != null && project.isAccessible()) {
-			ResourceSet set = WorkbenchResourceHelperBase.getResourceSet(project);
-			if (originatingResourceSet != set)
-				return getResource(uri, set);
-		}
-		return null;
-	}
-	/**
-		 * Redirect to the correct project based on the first segment in the file name.
-		 * This is for compatability purposes for people using the platform:/resource protocol.
-		 */
-	protected Resource getResourceForPlatformPluginProtocol(ResourceSet originatingResourceSet, URI uri) {
-			
-		ResourceSet set = JEMUtilPlugin.getPluginResourceSet();
-		return getResource(uri, set);
-			
-	}
-	protected Resource getResource(URI uri, ResourceSet redirectedResourceSet) {
-		return redirectedResourceSet.getResource(uri, false);
-	}
-	
-	protected IWorkspace getWorkspace() {
-		return ResourcesPlugin.getWorkspace();
-	}
-	protected IProject getProject(String projectName) {
-		IWorkspace ws = getWorkspace();
-		if (ws == null)
-			return null;
-		return ws.getRoot().getProject(projectName);
-	}
-	protected IProject getProject(ResourceSet resourceSet) {
-		return WorkbenchResourceHelperBase.getProject(resourceSet);
-	}
-	/**
-	 * @see org.eclipse.jem.util.ResourceHandler#createResource(ResourceSet, URI)
-	 */
-	public Resource createResource(ResourceSet originatingResourceSet, URI uri) {
-		if (WorkbenchResourceHelperBase.isPlatformResourceURI(uri))
-			return createResourceForPlatformProtocol(originatingResourceSet, uri);
-		URI mappedURI = ((URIConverterImpl.URIMap)originatingResourceSet.getURIConverter().getURIMap()).getURI(uri);
-		if (isGlobalPluginLoad(mappedURI))
-			return createResourceForPlatformPluginProtocol(originatingResourceSet, uri);
-		return null;
-	}
-	/**
-	 * @see org.eclipse.jem.util.ResourceHandler#getEObjectFailed(ResourceSet, URI, boolean)
-	 * Subclasses may override.
-	 */
-	public EObject getEObjectFailed(ResourceSet originatingResourceSet, URI uri, boolean loadOnDemand) {
-		return null;
-	}
-	
-	protected boolean isGlobalPluginLoad(URI aURI) {
-		if (WorkbenchResourceHelperBase.isPlatformPluginResourceURI(aURI)) {
-			String[] globalPlugins = JEMUtilPlugin.getGlobalLoadingPluginNames();
-			for (int i=0;i<globalPlugins.length;i++) {
-				if (aURI.segment(1).startsWith(globalPlugins[i]))
-					return true;
-			}
-		}
-		return false;
-	}
-}
diff --git a/plugins/org.eclipse.jem.util/jemutil/org/eclipse/jem/internal/util/emf/workbench/WorkspaceResourceNotifier.java b/plugins/org.eclipse.jem.util/jemutil/org/eclipse/jem/internal/util/emf/workbench/WorkspaceResourceNotifier.java
deleted file mode 100644
index 6c10afe..0000000
--- a/plugins/org.eclipse.jem.util/jemutil/org/eclipse/jem/internal/util/emf/workbench/WorkspaceResourceNotifier.java
+++ /dev/null
@@ -1,73 +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
- *******************************************************************************/
-/*
- *  $$RCSfile: WorkspaceResourceNotifier.java,v $$
- *  $$Revision: 1.2 $$  $$Date: 2005/02/15 23:04:14 $$ 
- */
-package org.eclipse.jem.internal.util.emf.workbench;
-
-
-import org.eclipse.emf.common.notify.Adapter;
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.impl.AdapterImpl;
-import org.eclipse.emf.common.notify.impl.NotifierImpl;
-
-import org.eclipse.jem.util.emf.workbench.ProjectResourceSet;
-
-/**
- * This class is used to capture all ADD and REMOVE notifications from each ProjectResourceSet
- * and forward it on to any interrested listeners.  This is to allow you to listen to one object
- * to gain all ADD and REMOVE notifications for each ResourceSet within the system.
- */
-public class WorkspaceResourceNotifier extends NotifierImpl {
-	protected Adapter projectAdapter = new WorkspaceResourceCacheAdapter();
-
-	class WorkspaceResourceCacheAdapter extends AdapterImpl {
-		/**
-		 * Forward ADD and REMOVE notification.
-		 */
-		public void notifyChanged(Notification msg) {
-			switch (msg.getEventType()) {
-				case Notification.ADD :
-				case Notification.ADD_MANY :
-				case Notification.REMOVE :
-				case Notification.REMOVE_MANY :
-					eNotify(msg);
-					break;
-			}
-		}
-	}
-
-	/**
-	 * Constructor for WorkspaceResourceCache.
-	 */
-	public WorkspaceResourceNotifier() {
-		super();
-	}
-
-	/**
-	 * Begin listening to a ProjectResourceSet.
-	 */
-	public void beginListening(ProjectResourceSet aResourceSet) {
-		if (aResourceSet != null) { 
-			if (aResourceSet.eAdapters() == null ||  
-			!aResourceSet.eAdapters().contains(projectAdapter))
-			aResourceSet.eAdapters().add(projectAdapter);
-		}
-	}
-	/**
-	 * Stop listening to a ProjectResourceSet.
-	 */
-	public void stopListening(ProjectResourceSet aResourceSet) {
-		if (aResourceSet != null)
-			aResourceSet.eAdapters().remove(projectAdapter);
-	}
-}
diff --git a/plugins/org.eclipse.jem.util/jemutil/org/eclipse/jem/internal/util/emf/workbench/nature/EMFNatureRegistry.java b/plugins/org.eclipse.jem.util/jemutil/org/eclipse/jem/internal/util/emf/workbench/nature/EMFNatureRegistry.java
deleted file mode 100644
index f85f7b0..0000000
--- a/plugins/org.eclipse.jem.util/jemutil/org/eclipse/jem/internal/util/emf/workbench/nature/EMFNatureRegistry.java
+++ /dev/null
@@ -1,74 +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
- *******************************************************************************/
-/*
- *  $$RCSfile: EMFNatureRegistry.java,v $$
- *  $$Revision: 1.2 $$  $$Date: 2005/02/15 23:04:14 $$ 
- */
-package org.eclipse.jem.internal.util.emf.workbench.nature;
-
-import java.util.HashSet;
-import java.util.Set;
-
-
-import org.eclipse.core.runtime.*;
-
-import org.eclipse.jem.internal.util.emf.workbench.nls.EMFWorkbenchResourceHandler;
-import org.eclipse.jem.util.logger.proxy.Logger;
-
-public class EMFNatureRegistry {
-
-	private static final String NATURE_REGISTRATION_POINT = "org.eclipse.jem.util.nature_registration"; //$NON-NLS-1$
-	private static final String NATURE  = "nature"; //$NON-NLS-1$
-	private static final String STATIC_ID = "id"; //$NON-NLS-1$
-
-	/**
-	 * Constructor
-	 */
-	private EMFNatureRegistry() {
-		super();
-		readRegistry();
-	}
-	
-	private static EMFNatureRegistry singleton;
-	
-	public final Set REGISTERED_NATURE_IDS = new HashSet();
-	
-	public static EMFNatureRegistry singleton() {
-		if (singleton == null)
-			singleton = new EMFNatureRegistry();
-		return singleton;
-	}
-	
-	protected void readRegistry() {
-	// register Nature IDs for the J2EENatures
-		IExtensionRegistry r = Platform.getExtensionRegistry();
-		IConfigurationElement[] ce = r.getConfigurationElementsFor(NATURE_REGISTRATION_POINT);
-		String natureId;
-		for (int i=0; i<ce.length; i++) {
-			if (ce[i].getName().equals(NATURE)) {
-				natureId = ce[i].getAttribute(STATIC_ID);
-				if (natureId != null)
-					registerNatureID(natureId);
-			}
-		}
-	}
-
-	/**
-	 * @param natureId
-	 */
-	private void registerNatureID(String natureId) {
-		if (!REGISTERED_NATURE_IDS.contains(natureId))
-			REGISTERED_NATURE_IDS.add(natureId);
-		else
-			Logger.getLogger().logError(EMFWorkbenchResourceHandler.getString("EMFNatureRegistry_ERROR_0", new Object[] {natureId})); //$NON-NLS-1$
-	}
-
-}
diff --git a/plugins/org.eclipse.jem.util/jemutil/org/eclipse/jem/internal/util/emf/workbench/nls/EMFWorkbenchResourceHandler.java b/plugins/org.eclipse.jem.util/jemutil/org/eclipse/jem/internal/util/emf/workbench/nls/EMFWorkbenchResourceHandler.java
deleted file mode 100644
index 31a8e45..0000000
--- a/plugins/org.eclipse.jem.util/jemutil/org/eclipse/jem/internal/util/emf/workbench/nls/EMFWorkbenchResourceHandler.java
+++ /dev/null
@@ -1,63 +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
- *******************************************************************************/
-/*
- *  $$RCSfile: EMFWorkbenchResourceHandler.java,v $$
- *  $$Revision: 1.2 $$  $$Date: 2005/02/15 23:04:14 $$ 
- */
-package org.eclipse.jem.internal.util.emf.workbench.nls;
-
-import java.text.MessageFormat;
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-public class EMFWorkbenchResourceHandler {
-
-	private static ResourceBundle fgResourceBundle;
-
-	/**
-	 * Returns the resource bundle used by all classes in this Project
-	 */
-	public static ResourceBundle getResourceBundle() {
-		try {
-			return ResourceBundle.getBundle("emfworkbench");//$NON-NLS-1$
-		} catch (MissingResourceException e) {
-			// does nothing - this method will return null and
-			// getString(String, 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$
-			}
-		} else {
-			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);
-	}
-}
diff --git a/plugins/org.eclipse.jem.util/jemutil/org/eclipse/jem/util/CharacterUtil.java b/plugins/org.eclipse.jem.util/jemutil/org/eclipse/jem/util/CharacterUtil.java
deleted file mode 100644
index afe7279..0000000
--- a/plugins/org.eclipse.jem.util/jemutil/org/eclipse/jem/util/CharacterUtil.java
+++ /dev/null
@@ -1,279 +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
- *******************************************************************************/
-/*
- *  $RCSfile: CharacterUtil.java,v $
- *  $Revision: 1.1 $  $Date: 2006/02/24 17:32:14 $ 
- */
-package org.eclipse.jem.util;
-
-import java.lang.reflect.InvocationTargetException;
-import java.lang.reflect.Method;
-
-import com.ibm.icu.text.UTF16;
- 
-
-/**
- * Static helper to handle characters in the new UTF multi-char format.
- * It is needed because ICU4J currently doesn't handle some correctly yet that we
- * need to have working. As ICU4J gets them working, the methods here will become
- * deprecated.
- * 
- * @since 1.2.0
- */
-public class CharacterUtil {
-
-	private CharacterUtil() {
-		
-	}
-	
-	
-	/**
-	 * TODO So until ICU4J does work correctly this util will be needed. It will
-	 * stay around because it is API, but at that time it will be marked deprecated. It should
-	 * also then reroute to ICU4J instead of doing the method reflections.
-	 */
-	private static Method METHOD_JAVA_IDENTIFIER_START, METHOD_JAVA_IDENTIFIER_PART;
-	
-	static {
-		// Try to get the Character.isJavaIdentifier(int) method. If there, then we are in 1.5 or above. Else use the char form.
-		try {
-			METHOD_JAVA_IDENTIFIER_START = Character.class.getMethod("isJavaIdentifierStart", new Class[] {Integer.TYPE});
-		} catch (SecurityException e) {
-			// Default to use (char) type instead.
-			METHOD_JAVA_IDENTIFIER_START = null;
-		} catch (NoSuchMethodException e) {
-			// Default to use (char) type instead.
-			METHOD_JAVA_IDENTIFIER_START = null;
-		}
-		try {
-			METHOD_JAVA_IDENTIFIER_PART = Character.class.getMethod("isJavaIdentifierPart", new Class[] {Integer.TYPE});
-		} catch (SecurityException e) {
-			// Default to use (char) type instead.
-			METHOD_JAVA_IDENTIFIER_PART = null;
-		} catch (NoSuchMethodException e) {
-			// Default to use (char) type instead.
-			METHOD_JAVA_IDENTIFIER_PART = null;
-		}		
-	}
-
-	/**
-	 * Is start of java identifier
-	 * @param intChar int character (UTF multi-char is valid)
-	 * @return <code>true</code> if start of java identifier.
-	 * 
-	 * @see Character#isJavaIdentifierStart(char)
-	 * @since 1.2.0
-	 */
-	public static boolean isJavaIdentifierStart(int intChar) {
-		if (METHOD_JAVA_IDENTIFIER_START != null) {
-			try {
-				return ((Boolean) METHOD_JAVA_IDENTIFIER_START.invoke(null, new Object[] {new Integer(intChar)})).booleanValue();
-			} catch (IllegalArgumentException e) {
-			} catch (IllegalAccessException e) {
-			} catch (InvocationTargetException e) {
-			}
-		}
-		return Character.isJavaIdentifierStart((char) intChar);
-	}
-	
-	/**
-	 * Is start of java identifier
-	 * @param intChar int character (UTF multi-char is valid)
-	 * @return <code>true</code> if start of java identifier.
-	 * 
-	 * @see Character#isJavaIdentifierStart(char)
-	 * @since 1.2.0
-	 */
-	public static boolean isJavaIdentifierPart(int intChar) {
-		if (METHOD_JAVA_IDENTIFIER_PART != null) {
-			try {
-				return ((Boolean) METHOD_JAVA_IDENTIFIER_PART.invoke(null, new Object[] {new Integer(intChar)})).booleanValue();
-			} catch (IllegalArgumentException e) {
-			} catch (IllegalAccessException e) {
-			} catch (InvocationTargetException e) {
-			}
-		}
-		return Character.isJavaIdentifierPart((char) intChar);
-	}
-	
-	public static abstract class AbstractCharIterator {
-
-		
-		protected final CharSequence charSeq;
-		private int pos = 0;
-		private int lastCharIndex = 0;
-
-		/**
-		 * Create with a string.
-		 * @param charSeq
-		 * 
-		 * @since 1.2.0
-		 */
-		public AbstractCharIterator(CharSequence charSeq) {
-			this.charSeq = charSeq;
-		}
-		
-		/**
-		 * Set the next char index.
-		 * @param index
-		 * 
-		 * @since 1.2.0
-		 */
-		public void setIndex(int index) {
-			pos = index;
-		}
-
-		/**
-		 * Has another char.
-		 * @return <code>true</code> if there is another char to return.
-		 * 
-		 * @since 1.2.0
-		 */
-		public boolean hasNext() {
-			return pos < charSeq.length();
-		}
-		
-		/**
-		 * Has another char before the current position. Doing previous
-		 * will return the char that was just returned.
-		 * @return
-		 * 
-		 * @since 1.2.0
-		 */
-		public boolean hasPrevious() {
-			return pos > 0;
-		}
-		
-		/**
-		 * Return next char from the one that was just returned.
-		 * @return next char.
-		 * 
-		 * @since 1.2.0
-		 */
-		public int next() {
-			if (!hasNext())
-				throw new IllegalStateException();
-			
-			int next = utfCharAt(pos);
-			lastCharIndex = pos;
-			pos += UTF16.getCharCount(next);
-			return next;
-		}
-		
-		/**
-		 * Return the UTF-32 char at the given position.
-		 * @param pos
-		 * @return
-		 * 
-		 * @since 1.2.0
-		 */
-		protected abstract int utfCharAt(int pos);
-		
-		/**
-		 * Return the previous character from the one that was just returned.
-		 * @return
-		 * 
-		 * @since 1.2.0
-		 */
-		public int previous() {
-			if (!hasPrevious())
-				throw new IllegalStateException();
-
-			int next;
-			if (UTF16.isTrailSurrogate(charSeq.charAt(--pos))) {
-				if (pos > 0)
-					next = utfCharAt(--pos);
-				else
-					next = charSeq.charAt(pos);
-			} else {
-				next = charSeq.charAt(pos);
-			}
-			lastCharIndex = pos;
-			return next;
-		}
-		
-		/**
-		 * Return the UTF16 character position of the char that was just returned from either
-		 * previous or next.
-		 * This is the (char) position not the
-		 * position of logical int chars returned. For example a standard string of
-		 * <code>"abc"</code> the position of the char 'b' is 1. But take the string
-		 * <code>"ab1b2c"</code> where "b1b2" is one UTF-32 char, then the position
-		 * of 'c' is 3. It would not be 2, which is what the logical char position
-		 * would be if taking UFT32 into account.
-		 * @return
-		 * 
-		 * @since 1.2.0
-		 */
-		public int getPosition() {
-			return lastCharIndex;
-		}
-	
-	}
-	
-	/**
-	 * Special char iterator that returns ints instead of chars for
-	 * walking strings that can contain UTF multi-chars. This is
-	 * a limited version of {@link java.text.CharacterIterator}.
-	 * 
-	 * @since 1.2.0
-	 */
-	public static class StringIterator extends AbstractCharIterator {
-		
-
-		/**
-		 * Create with a string.
-		 * @param str
-		 * 
-		 * @since 1.2.0
-		 */
-		public StringIterator(String str) {
-			super(str);
-		}
-		
-		/* (non-Javadoc)
-		 * @see org.eclipse.jem.util.CharacterUtil.AbstractCharIterator#utfCharAt(int)
-		 */
-		protected int utfCharAt(int pos) {
-			return UTF16.charAt((String) charSeq, pos);
-		}
-		
-	}
-	
-	/**
-	 * Special char iterator that returns ints instead of chars for
-	 * walking strings that can contain UTF multi-chars. This is
-	 * a limited version of {@link java.text.CharacterIterator}.
-	 * 
-	 * @since 1.2.0
-	 */
-	public static class StringBufferIterator extends AbstractCharIterator {
-		
-
-		/**
-		 * Create with a string.
-		 * @param strBuffer
-		 * 
-		 * @since 1.2.0
-		 */
-		public StringBufferIterator(StringBuffer strBuffer) {
-			super(strBuffer);
-		}
-		
-		/* (non-Javadoc)
-		 * @see org.eclipse.jem.util.CharacterUtil.AbstractCharIterator#utfCharAt(int)
-		 */
-		protected int utfCharAt(int pos) {
-			return UTF16.charAt((StringBuffer) charSeq, pos);
-		}
-		
-	}	
-}
diff --git a/plugins/org.eclipse.jem.util/jemutil/org/eclipse/jem/util/NotPresentPerformanceMonitor.java b/plugins/org.eclipse.jem.util/jemutil/org/eclipse/jem/util/NotPresentPerformanceMonitor.java
deleted file mode 100644
index 54af2bd..0000000
--- a/plugins/org.eclipse.jem.util/jemutil/org/eclipse/jem/util/NotPresentPerformanceMonitor.java
+++ /dev/null
@@ -1,55 +0,0 @@
-package org.eclipse.jem.util;
-/*******************************************************************************
- * 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
- *******************************************************************************/
-/*
- *  $$RCSfile: NotPresentPerformanceMonitor.java,v $$
- *  $$Revision: 1.3 $$  $$Date: 2005/02/15 23:04:14 $$ 
- */
-/**
- * This is the instantiation to use if the performance monitor plugin is not installed. It basically does nothing.
- * 
- * <p>
- * This class is not intended to be instantiated by clients.
- * </p>
- * 
- * @since 1.0.0
- */
-public class NotPresentPerformanceMonitor extends PerformanceMonitorUtil {
-
-	/*
-	 * Only instantiated from this package.
-	 */
-	NotPresentPerformanceMonitor() {
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jem.util.PerformanceMonitorUtil#setVar(java.lang.String)
-	 */
-	public void setVar(String var) {
-	}
-
-	/*
-	 *  (non-Javadoc)
-	 * @see org.eclipse.jem.util.PerformanceMonitorUtil#doSnapshot(int, int)
-	 */
-	protected void doSnapshot(int step, int types) {
-	}
-
-
-	/*
-	 *  (non-Javadoc)
-	 * @see org.eclipse.jem.util.PerformanceMonitorUtil#doSnapshot(int)
-	 */
-	protected void doSnapshot(int step) {
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jem.util/jemutil/org/eclipse/jem/util/PerformanceMonitorUtil.java b/plugins/org.eclipse.jem.util/jemutil/org/eclipse/jem/util/PerformanceMonitorUtil.java
deleted file mode 100644
index a76fdd0..0000000
--- a/plugins/org.eclipse.jem.util/jemutil/org/eclipse/jem/util/PerformanceMonitorUtil.java
+++ /dev/null
@@ -1,280 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-/*
- *  $RCSfile: PerformanceMonitorUtil.java,v $
- *  $Revision: 1.7 $  $Date: 2005/08/24 21:10:34 $ 
- */
-package org.eclipse.jem.util;
-import java.util.EventObject;
-
-import org.eclipse.perfmsr.core.IPerformanceMonitor;
-
-/**
- * This is a simplified wrapper to the IPerformanceMonitor that hides it so that the actual plugin can be optional and not required.
- * 
- * <p>
- * This class is not meant to be subclassed by clients.
- * </p>
- * 
- * @since 1.0.0
- */
-public abstract class PerformanceMonitorUtil {
-	/**
-	 * Event for PerformanceListener notification.
-	 * 
-	 * @since 1.1.0
-	 */
-	public static class PerformanceEvent extends EventObject {
-		
-		/**
-		 * Comment for <code>serialVersionUID</code>
-		 * 
-		 * @since 1.1.0
-		 */
-		private static final long serialVersionUID = -4680071462750180339L;
-
-		PerformanceEvent(Object source, int step) {
-			super(source);
-			snapshowWithTypes = false;
-			this.step = step;
-			this.types = 0;	// Not set.
-		}
-		
-		PerformanceEvent(Object source, int step, int types) {
-			super(source);
-			snapshowWithTypes = true;
-			this.step = step;
-			this.types = types;
-		}
-
-		
-		/**
-		 * Snapshot with types if <code>true</code>.
-		 * @since 1.1.0
-		 */
-		public final boolean snapshowWithTypes;
-
-		/**
-		 * Step of snapshot
-		 * @since 1.1.0
-		 */
-		public final int step;
-		
-		/**
-		 * types of snapshot.
-		 * @since 1.1.0
-		 */
-		public final int types;
-	}
-	
-	/**
-	 * Performance Listener interface
-	 * 
-	 * @since 1.1.0
-	 */
-	public interface PerformanceListener {
-		/**
-		 * Snapshot was called.
-		 * @param event
-		 * 
-		 * @since 1.1.0
-		 */
-		public void snapshot(PerformanceEvent event);
-	}
-	
-	private PerformanceListener[] listeners;
-
-	public interface Types {
-
-		/**
-		 * 1 - Write out the performance counters from the operating system. These include working set, peak working set, elapsed time, user time, and
-		 * kernel time.
-		 */
-		int OperatingSystemCounters = IPerformanceMonitor.Types.OperatingSystemCounters;
-
-		/**
-		 * 2 - Write out the global performance info. This includes things like the total committed memory for the entire system.
-		 * 
-		 * This function depends on the GetPerformanceInfo() function being available in the Windows psapi.dll. This is available in XP but is usually
-		 * not available in Win/2000. If it is not available then this function throws an UnsupportedOperationException.
-		 */
-		int GlobalSystemCounters = IPerformanceMonitor.Types.GlobalSystemCounters;
-
-		/**
-		 * 4 - Write out the size of the Java Heap.
-		 */
-		int JavaHeapSize = IPerformanceMonitor.Types.JavaHeapSize;
-
-		/**
-		 * 8 - Write out how much of the Java heap is being used. This calls the garbage collector so it may skew timing results.
-		 */
-		int JavaHeapUsed = IPerformanceMonitor.Types.JavaHeapUsed;
-
-		/**
-		 * 16 - The plugin startup and size information.
-		 */
-		int PluginInfo = IPerformanceMonitor.Types.PluginInfo;
-
-		/** 0xffff - Everything. */
-		int All = IPerformanceMonitor.Types.All;
-	}
-
-	private static PerformanceMonitorUtil sharedMonitor;
-
-	public static PerformanceMonitorUtil getMonitor() {
-		if (sharedMonitor == null) {
-			try {
-				Class.forName("org.eclipse.perfmsr.core.PerfMsrCorePlugin"); // This just tests if the performance plugin is available. Throws //$NON-NLS-1$
-																			 // exception otherwise.
-				Class presentClass = Class.forName("org.eclipse.jem.util.PresentPerformanceMonitor"); // Get the class we use wrapper it. //$NON-NLS-1$
-				sharedMonitor = (PerformanceMonitorUtil) presentClass.newInstance();
-				if (!sharedMonitor.isValid())
-					sharedMonitor = null;
-			} catch (RuntimeException e) {
-				// If any runtime exception, just use the not present one.
-			} catch (ClassNotFoundException e) {
-				// If class not found, then plugin not available, so just use the not present one.
-			} catch (InstantiationException e) {
-				// Problem instantiating, so just use the not present one.
-			} catch (IllegalAccessException e) {
-				// Some illegal access, so just use the not present one.
-			}
-			if (sharedMonitor == null) {
-				// Couldn't get the performance one for some reason. Use not present one instead.
-				sharedMonitor = new NotPresentPerformanceMonitor();
-			}
-		}
-		return sharedMonitor;
-	}
-	
-	protected boolean isValid() {
-		return true;
-	}
-
-	/**
-	 * Set the variations that are in effect.
-	 * 
-	 * @param var
-	 *            a comma delimited string of variation numbers
-	 */
-	public abstract void setVar(String var);
-
-	/**
-	 * Take a snapshot of some default performance measurements.
-	 * 
-	 * @param step
-	 *            this identifies the step that the snapshot is for
-	 */
-	public final void snapshot(int step) {
-		doSnapshot(step);
-		if (listeners != null)
-			notifySnapshot(new PerformanceEvent(this, step));
-	}
-	
-	private void notifySnapshot(PerformanceEvent event) {
-		PerformanceListener[] list = listeners;
-		for (int i = 0; i < list.length; i++) {
-			list[i].snapshot(event);
-		}
-	}
-	
-	/**
-	 * Do the actual snapshot
-	 * @param step
-	 * 
-	 * @see #snapshot(int)
-	 * @since 1.1.0
-	 */
-	protected abstract void doSnapshot(int step);
-
-	/**
-	 * Take a snapshot of the selected performance measurements.
-	 * 
-	 * @param step
-	 *            this identifies the step that the snapshot is for
-	 * 
-	 * @param types
-	 *            This controls which measurements are selected. It is an or'd together list of the IPerformanceMonitor.Types constants.
-	 * 
-	 * @see IPerformanceMonitor.Types
-	 */
-	public void snapshot(int step, int types) {
-		doSnapshot(step, types);
-		if (listeners != null)
-			notifySnapshot(new PerformanceEvent(this, step, types));		
-	}
-	
-	/**
-	 * Do the actual snapshot
-	 * @param step
-	 * 
-	 * @see #snapshot(int, int)
-	 * @since 1.1.0
-	 */
-	protected abstract void doSnapshot(int step, int types);	
-	
-	/**
-	 * Add listener to list.
-	 * @param listener
-	 * 
-	 * @since 1.1.0
-	 */
-	public void addPerformanceListener(PerformanceListener listener) {
-		if (findListener(listener) != -1)
-			return;
-		PerformanceListener[] newList = new PerformanceListener[listeners != null ? listeners.length+1 : 1];
-		if (listeners != null)
-			System.arraycopy(listeners, 0, newList, 0, listeners.length);
-		newList[newList.length-1] = listener;
-		listeners = newList;
-	}
-	
-	private int findListener(PerformanceListener listener) {
-		if (listeners != null) {
-			for (int i = 0; i < listeners.length; i++) {
-				if (listeners[i] == listener)
-					return i;
-			}
-		}
-		return -1;
-	}
-	
-	/**
-	 * Remove the listener from the list.
-	 * @param listener
-	 * 
-	 * @since 1.1.0
-	 */
-	public void removePerformanceListener(PerformanceListener listener) {
-		int index = findListener(listener);
-		if (index != -1) {
-			if (listeners.length == 1) {
-				listeners = null;
-				return;
-			}
-			PerformanceListener[] newList = new PerformanceListener[listeners.length-1];
-			System.arraycopy(listeners, 0, newList, 0, index);
-			System.arraycopy(listeners, index+1, newList, index, newList.length-index);
-			listeners = newList;
-		}
-	}
-	/**
-	 * Upload the results to the server. This causes the file to be
-	 * closed, and the monitor to be placed into the finished state.
-	 * 
-	 * This method can only be called if the uploadhost, uploadport and uploaduserid
-	 * have been configured before hand.
-	 * 
-	 * @param description an optional description (it can be null)
-	 * 
-	 */
-	public boolean upload(String description){return false;}
-}
diff --git a/plugins/org.eclipse.jem.util/jemutil/org/eclipse/jem/util/PresentPerformanceMonitor.java b/plugins/org.eclipse.jem.util/jemutil/org/eclipse/jem/util/PresentPerformanceMonitor.java
deleted file mode 100644
index 3ee5b05..0000000
--- a/plugins/org.eclipse.jem.util/jemutil/org/eclipse/jem/util/PresentPerformanceMonitor.java
+++ /dev/null
@@ -1,79 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-/*
- *  $RCSfile: PresentPerformanceMonitor.java,v $
- *  $Revision: 1.5 $  $Date: 2005/08/24 21:10:34 $ 
- */
-package org.eclipse.jem.util;
-import org.eclipse.perfmsr.core.IPerformanceMonitor;
-import org.eclipse.perfmsr.core.PerfMsrCorePlugin;
-
-/**
- * This is the version used when the performance plugin is available.
- * 
- * <p>
- * This class is not meant to be instantiated by clients.
- * </p>
- * 
- * @since 1.0.0
- */
-public class PresentPerformanceMonitor extends PerformanceMonitorUtil {
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jem.util.PerformanceMonitorUtil#upload(java.lang.String)
-	 */
-	public boolean upload(String description) {
-		return monitor.upload(description).success;
-	}
-	
-	private IPerformanceMonitor monitor;
-
-	/*
-	 * So that only instantiated by this package.
-	 */
-	PresentPerformanceMonitor() {
-		monitor = PerfMsrCorePlugin.getPerformanceMonitor(true);
-	}
-	
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jem.util.PerformanceMonitorUtil#isValid()
-	 */
-	protected boolean isValid() {
-		return monitor != null;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jem.util.PerformanceMonitorUtil#setVar(java.lang.String)
-	 */
-	public void setVar(String var) {
-		monitor.setVar(var);
-	}
-
-	/*
-	 *  (non-Javadoc)
-	 * @see org.eclipse.jem.util.PerformanceMonitorUtil#doSnapshot(int)
-	 */
-	protected void doSnapshot(int step) {
-		monitor.snapshot(step);
-	}
-
-	/*
-	 *  (non-Javadoc)
-	 * @see org.eclipse.jem.util.PerformanceMonitorUtil#doSnapshot(int, int)
-	 */
-	protected void doSnapshot(int step, int types) {
-		monitor.snapshot(step, types);
-	}
-
-}
diff --git a/plugins/org.eclipse.jem.util/jemutil/org/eclipse/jem/util/RegistryReader.java b/plugins/org.eclipse.jem.util/jemutil/org/eclipse/jem/util/RegistryReader.java
deleted file mode 100644
index 37e8277..0000000
--- a/plugins/org.eclipse.jem.util/jemutil/org/eclipse/jem/util/RegistryReader.java
+++ /dev/null
@@ -1,156 +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
- *******************************************************************************/
-/*
- *  $$RCSfile: RegistryReader.java,v $$
- *  $$Revision: 1.5 $$  $$Date: 2006/05/17 20:13:45 $$ 
- */
-package org.eclipse.jem.util;
-import org.eclipse.core.runtime.*;
-import org.osgi.framework.Bundle;
-
-import org.eclipse.jem.util.logger.proxy.Logger;
-
-
-/**
- * Class to read a registry. It is meant to be subclassed to provide specific function.
- * 
- * @since 1.0.0
- */
-public abstract class RegistryReader {
-
-	String pluginId;
-
-	String extensionPointId;
-
-	private static Bundle systemBundle;
-
-	/**
-	 * Utility method to get the plugin id of a configuation element
-	 * 
-	 * @param configurationElement
-	 * @return plugin id of configuration element
-	 * @since 1.0.0
-	 */
-	public static String getPluginId(IConfigurationElement configurationElement) {
-		String pluginId = null;
-
-		if (configurationElement != null) {
-			IExtension extension = configurationElement.getDeclaringExtension();
-
-			if (extension != null)
-				pluginId = extension.getContributor().getName();
-		}
-
-		return pluginId;
-	}
-
-	/**
-	 * Constructor for RegistryReader taking a registry, plugin id, and extension point id.
-	 * 
-	 * @param registry
-	 * @param pluginID
-	 * @param extensionPoint
-	 * 
-	 * @deprecated Use RegistryReader(plugin, extensionPoint) instead. The registry passed in is ignored.
-	 * @since 1.0.0
-	 */
-	public RegistryReader(IPluginRegistry registry, String pluginID, String extensionPoint) {
-		this(pluginID, extensionPoint);
-	}
-
-	/**
-	 * Constructor for RegistryReader taking the plugin id and extension point id.
-	 * 
-	 * @param pluginID
-	 * @param extensionPoint
-	 * 
-	 * @since 1.0.0
-	 */
-	public RegistryReader(String pluginID, String extensionPoint) {
-		super();
-		this.pluginId = pluginID;
-		extensionPointId = extensionPoint;
-	}
-
-	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$
-		Logger.getLogger().logError(buf.toString());
-	}
-
-	/*
-	 * Logs a very common registry error when a required attribute is missing.
-	 */
-	protected void logMissingAttribute(IConfigurationElement element, String attributeName) {
-		logError(element, "Required attribute '" + attributeName + "' not defined"); //$NON-NLS-1$ //$NON-NLS-2$
-	}
-
-	/*
-	 * Implement this method to read element attributes. If this element has subelements, the reader will recursively cycle through them and call this
-	 * method so don't do it here.
-	 */
-	public abstract boolean readElement(IConfigurationElement element);
-
-	/**
-	 * Read the extension point and parse it.
-	 * 
-	 * @since 1.0.0
-	 */
-	public void readRegistry() {
-		IExtensionPoint point = Platform.getExtensionRegistry().getExtensionPoint(pluginId, extensionPointId);
-		if (point == null)
-			return;
-		IConfigurationElement[] elements = point.getConfigurationElements();
-		for (int i = 0; i < elements.length; i++) {
-			internalReadElement(elements[i]);
-		}
-	}
-
-	/**
-	 * Tests to see if it is valid at this point in time to create an executable extension. A valid reason not to would be that the workspace is
-	 * shutting donw.
-	 * 
-	 * @param element
-	 * @return <code>true</code> if it is valid point to create an executable extension.
-	 * 
-	 * @since 1.0.0
-	 */
-	public static boolean canCreateExecutableExtension(IConfigurationElement element) {
-		if (Platform.isRunning() && getSystemBundle().getState() != Bundle.STOPPING)
-			return true;
-		return false;
-	}
-
-	/**
-	 * Get the system bundle
-	 * 
-	 * @return system bundle.
-	 * 
-	 * @since 1.0.0
-	 */
-	protected static Bundle getSystemBundle() {
-		if (systemBundle == null)
-			systemBundle = Platform.getBundle("org.eclipse.osgi"); //$NON-NLS-1$
-		return systemBundle;
-	}
-}
diff --git a/plugins/org.eclipse.jem.util/jemutil/org/eclipse/jem/util/TimerTests.java b/plugins/org.eclipse.jem.util/jemutil/org/eclipse/jem/util/TimerTests.java
deleted file mode 100644
index 57f5b4e..0000000
--- a/plugins/org.eclipse.jem.util/jemutil/org/eclipse/jem/util/TimerTests.java
+++ /dev/null
@@ -1,352 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-/*
- *  $RCSfile: TimerTests.java,v $
- *  $Revision: 1.8 $  $Date: 2006/05/17 20:13:45 $ 
- */
-package org.eclipse.jem.util;
-
-import java.text.NumberFormat;
-import java.util.*;
-
-/**
- * 
- * @since 1.0.2
- */
-public class TimerTests {
-
-	/**
-	 * Default TimerTests class to use when not using your own. It's a global.
-	 */
-	public static TimerTests basicTest = new TimerTests();
-
-	public static final String CURRENT_PARENT_ID = "current parent"; //$NON-NLS-1$
-	protected String currentParentId = null;
-
-
-	protected static class TimerStep {
-		static final int START = 0;
-		static final int STOP = 1;
-		static final int START_CUMULATIVE = 2;
-		static final int STOP_CUMULATIVE = 3;
-		static final int START_ACCUMULATING = 4;
-		static final int STOP_ACCUMULATING = 5;
-		protected String id;
-		protected int type;
-		protected long currentTime;
-		protected int threadId;
-}
-
-	protected boolean testOn = false;
-	protected List steps;
-
-	public synchronized boolean startStep(String id) {
-		if (!testOn)
-			return true;
-
-		TimerStep step = createTimerStep(id, TimerStep.START);
-		return step != null;
-	}
-
-	protected TimerStep createTimerStep(String id, int stepType) {
-		TimerStep newStep = new TimerStep();
-		newStep.threadId = Thread.currentThread().hashCode();
-		newStep.id = id;
-		newStep.type = stepType;
-		newStep.currentTime = System.currentTimeMillis();
-		steps.add(newStep);
-
-		return newStep;
-	}
-
-	public synchronized boolean stopStep(String id) {
-		if (!testOn)
-			return true;
-		TimerStep step = createTimerStep(id, TimerStep.STOP);
-		return step != null;
-	}
-
-	public synchronized boolean startAccumulating(String id) {
-		if (!testOn)
-			return true;
-
-		return createTimerStep(id, TimerStep.START_ACCUMULATING) != null;
-	}
-
-	public synchronized boolean stopAccumulating(String id) {
-		if (!testOn)
-			return true;
-
-		return createTimerStep(id, TimerStep.STOP_ACCUMULATING) != null;
-	}
-	public synchronized boolean startCumulativeStep(String id) {
-		if (!testOn)
-			return true;
-
-		return createTimerStep(id, TimerStep.START_CUMULATIVE) != null;
-	}
-
-	public synchronized boolean stopCumulativeStep(String id) {
-		if (!testOn)
-			return true;
-		return createTimerStep(id, TimerStep.STOP_CUMULATIVE) != null;
-	}
-
-	/**
-	 * Clear the tests so that you can restart and do some more tests.
-	 * 
-	 * 
-	 * @since 1.0.2
-	 */
-	public synchronized void clearTests() {
-		if (!testOn)
-			return;
-		steps.clear();
-		currentParentId = null;
-	}
-
-	/**
-	 * Turn this test on. If not turned on then all calls will quickly return with no errors. This allows the code to stay in place even when not
-	 * debugging.
-	 * <p>
-	 * When turned off, it will clear the test.
-	 * 
-	 * @param on
-	 * 
-	 * @since 1.0.2
-	 */
-	public synchronized void testState(boolean on) {
-		if (on == testOn)
-			return;
-		if (on) {
-			testOn = true;
-			if (steps == null)
-				steps = new ArrayList();
-		} else {
-			testOn = false;
-			steps = null;
-		}
-		currentParentId = null;
-	}
-	private static class CumulativeInformation {
-		public TimerStep currentCumulativeStep;
-		public long cumTime;
-		public int cumCount;
-		public int cumCountNonZero;
-		public long maxTime;
-		public long minTime = Integer.MAX_VALUE;
-		public long minTimeNonZero = Integer.MAX_VALUE;
-	}
-	public synchronized void printIt() {
-		if (!testOn)
-			return;
-		if (steps == null)
-			return;
-		Map stepInfoByThreadId = new HashMap();
-		Map indentsByThreadId = new HashMap();
-		Map cumSteps;
-		TimerStep prevStep = null;
-		TimerStep startStep;
-		NumberFormat percentFormatter = NumberFormat.getPercentInstance();
-		double totalTime = 0;
-		StringBuffer strb = new StringBuffer(150);
-		if (steps.size() > 2){
-			totalTime = ((TimerStep)steps.get(steps.size()-1)).currentTime - ((TimerStep)steps.get(0)).currentTime;
-		}
-		for (int i = 0; i < steps.size(); i++) {
-			TimerStep step = (TimerStep) steps.get(i);
-			Integer threadId = new Integer(step.threadId);
-			switch (step.type) {
-				case TimerStep.START:
-				case TimerStep.STOP:
-					Integer threadIndent = (Integer) indentsByThreadId.get(threadId);
-					int indent = 0;
-					if (step.type == TimerStep.START) {
-						if (threadIndent != null)
-							indent = threadIndent.intValue() + 1;
-						indentsByThreadId.put(threadId, new Integer(indent));
-					} else {
-						if (threadIndent != null)
-							indent = threadIndent.intValue();
-						if (indent > 0)
-							indentsByThreadId.put(threadId, new Integer(indent - 1));
-						else {
-							indentsByThreadId.remove(threadId);
-							indent = 0;
-						}
-					}
-					strb.setLength(0);
-					strb.append(step.currentTime);
-					strb.append("\t"); //$NON-NLS-1$
-					for (int j = 0; j < indent; j++) {
-						strb.append("     "); //$NON-NLS-1$
-					}
-					switch (step.type) {
-						case TimerStep.START:
-							strb.append("Start"); //$NON-NLS-1$
-							break;
-
-						case TimerStep.STOP:
-							strb.append("Stop "); //$NON-NLS-1$
-							break;
-						default:
-							break;
-					}
-					;
-					strb.append(" \""); //$NON-NLS-1$
-					strb.append(step.id);
-					strb.append("\"   id("); //$NON-NLS-1$
-					strb.append(step.threadId);
-					strb.append(")"); //$NON-NLS-1$
-					Map startSteps = (Map) stepInfoByThreadId.get(threadId);
-					if (startSteps == null)
-						stepInfoByThreadId.put(threadId, startSteps = new HashMap());
-					if (step.type == TimerStep.START) {
-						// Store the start step for later lookup when calulating the total time
-						startSteps.put(step.id, step);
-					} else {
-						// This is the stop time for a step. We need to find
-						// the corresponding start time and calculate the total time.
-						Object item = startSteps.remove(step.id);
-						if (item instanceof TimerStep) {
-							startStep = (TimerStep) item;
-							if (startStep != null) {
-								int addchars = 100 - strb.length();
-								for (int j = 0; j < addchars; j++) {
-									strb.append(" "); //$NON-NLS-1$
-								}
-								long delta = step.currentTime - startStep.currentTime;
-								strb.append("    Total = " + delta + " ms"); //$NON-NLS-1$ //$NON-NLS-2$
-								if (totalTime > 0)
-									strb.append("   " + percentFormatter.format(delta/totalTime)); //$NON-NLS-1$
-							}
-						} else
-							strb.append("    ---> Couldn't find Starting point for \"" + step.id + "\""); //$NON-NLS-1$ //$NON-NLS-2$
-					}
-					if (i > 0 && (step.currentTime - prevStep.currentTime) > 0)
-						System.out.println("-- " + (step.currentTime - prevStep.currentTime) + " ms --"); //$NON-NLS-1$ //$NON-NLS-2$
-					prevStep = step;
-					System.out.println(strb);
-					break;
-
-				case TimerStep.START_ACCUMULATING:
-					cumSteps = (Map) stepInfoByThreadId.get(threadId);
-					if (cumSteps == null)
-						stepInfoByThreadId.put(threadId, cumSteps = new HashMap());
-					cumSteps.put(step.id, new CumulativeInformation());
-					threadIndent = (Integer) indentsByThreadId.get(threadId);
-					indent = 0;
-					if (threadIndent != null)
-						indent = threadIndent.intValue();
-					strb.setLength(0);
-					strb.append(step.currentTime);
-					strb.append("\t"); //$NON-NLS-1$
-					for (int j = 0; j < indent; j++) {
-						strb.append("     "); //$NON-NLS-1$
-					}
-					strb.append("Start Accumulating"); //$NON-NLS-1$
-					strb.append(" \""); //$NON-NLS-1$
-					strb.append(step.id);
-					strb.append("\"   id("); //$NON-NLS-1$
-					strb.append(step.threadId);
-					strb.append(")"); //$NON-NLS-1$
-					if (i > 0 && (step.currentTime - prevStep.currentTime) > 0)
-						System.out.println("-- " + (step.currentTime - prevStep.currentTime) + " ms --"); //$NON-NLS-1$ //$NON-NLS-2$
-					prevStep = step;
-					System.out.println(strb);
-					break;
-
-				case TimerStep.START_CUMULATIVE:
-					cumSteps = (Map) stepInfoByThreadId.get(threadId);
-					if (cumSteps != null) {
-						Object info = cumSteps.get(step.id);
-						if (info instanceof CumulativeInformation)
-							((CumulativeInformation) info).currentCumulativeStep = step;
-					}
-					break;
-					
-				case TimerStep.STOP_CUMULATIVE:
-					cumSteps = (Map) stepInfoByThreadId.get(threadId);
-					if (cumSteps != null) {
-						Object info = cumSteps.get(step.id);
-						if (info instanceof CumulativeInformation) {
-							CumulativeInformation cumInfo = (CumulativeInformation) info;
-							if (cumInfo.currentCumulativeStep != null) {
-								cumInfo.cumCount++;
-								long delta = step.currentTime - cumInfo.currentCumulativeStep.currentTime;
-								cumInfo.cumTime += delta;
-								if (cumInfo.maxTime < delta)
-									cumInfo.maxTime = delta;
-								if (delta < cumInfo.minTime)
-									cumInfo.minTime = delta;
-								if (delta != 0) {
-									cumInfo.cumCountNonZero++;
-									if (delta < cumInfo.minTimeNonZero)
-										cumInfo.minTimeNonZero = delta;
-								}
-							}
-						}
-					}
-					break;
-					
-				case TimerStep.STOP_ACCUMULATING:
-					threadIndent = (Integer) indentsByThreadId.get(threadId);
-					indent = 0;
-					if (threadIndent != null)
-						indent = threadIndent.intValue();
-					strb.setLength(0);
-					strb.append(step.currentTime);
-					strb.append("\t"); //$NON-NLS-1$
-					for (int j = 0; j < indent; j++) {
-						strb.append("     "); //$NON-NLS-1$
-					}
-					strb.append("Stop  Accumulating"); //$NON-NLS-1$
-					strb.append(" \""); //$NON-NLS-1$
-					strb.append(step.id);
-					strb.append("\"   id("); //$NON-NLS-1$
-					strb.append(step.threadId);
-					strb.append(")"); //$NON-NLS-1$
-					cumSteps = (Map) stepInfoByThreadId.get(threadId);
-					if (cumSteps != null) {
-						Object info = cumSteps.get(step.id);
-						if (info instanceof CumulativeInformation) {
-							CumulativeInformation cumInfo = (CumulativeInformation) info;
-							if (cumInfo.currentCumulativeStep != null) {
-								strb.append("   cumulative time="); //$NON-NLS-1$
-								strb.append(cumInfo.cumTime);
-								strb.append("   cumulative count="); //$NON-NLS-1$
-								strb.append(cumInfo.cumCount);
-								strb.append("   max time="); //$NON-NLS-1$
-								strb.append(cumInfo.maxTime);
-								strb.append("   min time="); //$NON-NLS-1$
-								strb.append(cumInfo.minTime);
-								strb.append("   avg time="); //$NON-NLS-1$
-								strb.append(((double) cumInfo.cumTime)/cumInfo.cumCount);
-								strb.append("   NonZero times: cumulative ~0 count="); //$NON-NLS-1$
-								strb.append(cumInfo.cumCountNonZero);
-								if (cumInfo.cumCountNonZero != 0) {
-									strb.append("   min ~0 time="); //$NON-NLS-1$
-									strb.append(cumInfo.minTimeNonZero);
-									strb.append("   avg ~0 time="); //$NON-NLS-1$
-									strb.append(((double) cumInfo.cumTime) / cumInfo.cumCountNonZero);
-								}
-							}
-						}
-					}
-					if (i > 0 && (step.currentTime - prevStep.currentTime) > 0)
-						System.out.println("-- " + (step.currentTime - prevStep.currentTime) + " ms --"); //$NON-NLS-1$ //$NON-NLS-2$
-					prevStep = step;
-					System.out.println(strb);
-					break;
-			}
-		}
-	}
-}
diff --git a/plugins/org.eclipse.jem.util/jemutil/org/eclipse/jem/util/UIContextDetermination.java b/plugins/org.eclipse.jem.util/jemutil/org/eclipse/jem/util/UIContextDetermination.java
deleted file mode 100644
index 45e754b..0000000
--- a/plugins/org.eclipse.jem.util/jemutil/org/eclipse/jem/util/UIContextDetermination.java
+++ /dev/null
@@ -1,189 +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
- *******************************************************************************/
-/*
- *  $$RCSfile: UIContextDetermination.java,v $$
- *  $$Revision: 1.3 $$  $$Date: 2005/05/18 21:58:34 $$ 
- */
-package org.eclipse.jem.util;
-import java.util.HashMap;
-import java.util.Map;
-
-import org.eclipse.core.runtime.*;
-
-import org.eclipse.jem.util.logger.proxy.Logger;
-import org.eclipse.jem.util.plugin.JEMUtilPlugin;
-
-
-/**
- * Static utility class for UIContext determination.
- * 
- * @since 1.0.0
- */
-public class UIContextDetermination {
-
-	private static final int UNKNOWN = 100;
-
-	public static final String HEADLESS_CONTEXT_LITERAL = "Headless"; //$NON-NLS-1$
-
-	public static final String UI_CONTEXT_LITERAL = "UI"; //$NON-NLS-1$
-
-	public static final int HEADLESS_CONTEXT = 102;
-
-	public static final int UI_CONTEXT = 100;
-
-	private static Map cachedExtensions = null;
-
-	private static int currentContext = UNKNOWN;
-
-	private UIContextDetermination() {
-	}
-
-	/**
-	 * Returns an instance of a given class based on the UI or Headless context.
-	 * 
-	 * @param key
-	 * @return new class instance for the given key.
-	 * @throws IllegalArgumentException
-	 *             If the key is invalid (e.g. no extension is found for the key)
-	 */
-	public static Object createInstance(String key) {
-		Object result = null;
-		if (cachedExtensions == null)
-			initExtensions();
-		IConfigurationElement contextSensitiveClass = (IConfigurationElement) cachedExtensions.get(key);
-		try {
-			if (contextSensitiveClass != null)
-				result = contextSensitiveClass
-						.createExecutableExtension(UIContextDeterminationRegistryReader.UI_CONTEXT_SENSTIVE_CLASS_CLASSNAME_ATTR);
-		} catch (CoreException e) {
-			Logger.getLogger().logError("Problem loading extension not found for key \"" + key + "\"."); //$NON-NLS-1$ //$NON-NLS-2$
-			Logger.getLogger().logError(e);
-		}
-		if (result == null)
-			Logger.getLogger().logError("Extension not found for key \"" + key + "\"."); //$NON-NLS-1$ //$NON-NLS-2$
-		return result;
-	}
-
-	/**
-	 * Returns the current context -- determines the value if necessary.
-	 * 
-	 * @return current context
-	 * @see #HEADLESS_CONTEXT
-	 * @see #UI_CONTEXT
-	 */
-	public static int getCurrentContext() {
-		if (currentContext == UNKNOWN) {
-			currentContext = HEADLESS_CONTEXT;
-			new UITesterRegistryReader().readRegistry();
-		}
-		return currentContext;
-	}
-
-	/*
-	 * Invokes the UIContextDeterminationRegistryReader to cache all of the extensions, if necessary.
-	 *  
-	 */
-	private static void initExtensions() {
-		if (cachedExtensions == null) {
-			cachedExtensions = new HashMap();
-			new UIContextDeterminationRegistryReader().readRegistry();
-		}
-	}
-
-	/*
-	 * Converts the input to one of UI_CONTEXT or HEADLESS_CONTEXT. Defaults to HEADLESS on invalid input
-	 * 
-	 * @param literal @return
-	 */
-	private static int convertLiteral(String literal) {
-		return (UI_CONTEXT_LITERAL.equals(literal)) ? UI_CONTEXT : HEADLESS_CONTEXT;
-	}
-
-	/*
-	 * Reads the registration of UI Context-sensitive class extensions and initializes the cache of the UIContextDetermination object.
-	 * 
-	 * @author mdelder
-	 */
-	private static class UIContextDeterminationRegistryReader extends RegistryReader {
-
-		public static final String UI_CONTEXT_SENSTIVE_CLASS_ELEMENT = "uiContextSensitiveClass"; //$NON-NLS-1$
-
-		public static final String UI_CONTEXT_SENSTIVE_CLASS_KEY_ATTR = "key"; //$NON-NLS-1$
-
-		public static final String UI_CONTEXT_SENSTIVE_CLASS_CLASSNAME_ATTR = "className"; //$NON-NLS-1$
-
-		public static final String UI_CONTEXT_SENSTIVE_CLASS_CONTEXT_ATTR = "context"; //$NON-NLS-1$
-
-		public UIContextDeterminationRegistryReader() {
-			super(JEMUtilPlugin.PLUGIN_ID, JEMUtilPlugin.UI_CONTEXT_EXTENSION_POINT);
-		}
-
-		/*
-		 * (non-Javadoc)
-		 * 
-		 * @see org.eclipse.jem.util.RegistryReader#readElement(org.eclipse.core.runtime.IConfigurationElement)
-		 */
-		public boolean readElement(IConfigurationElement element) {
-			boolean result = false;
-			if (element.getName().equals(UI_CONTEXT_SENSTIVE_CLASS_ELEMENT)) {
-
-				String key = element.getAttribute(UI_CONTEXT_SENSTIVE_CLASS_KEY_ATTR);
-				String context = element.getAttribute(UI_CONTEXT_SENSTIVE_CLASS_CONTEXT_ATTR);
-
-				if (!cachedExtensions.containsKey(key) || getCurrentContext() == convertLiteral(context))
-					cachedExtensions.put(key, element);
-				result = true;
-			}
-			return result;
-		}
-	}
-
-	/*
-	 * Reads the uiTester extension and instantiate the any of the UITester classes it finds.
-	 * 
-	 * The implementation has the side effect that if multiple UITesters are registered, any of them can trip the currentContext into the UI_CONTEXT
-	 * state.
-	 * 
-	 * @author mdelder
-	 */
-	private static class UITesterRegistryReader extends RegistryReader {
-
-		public static final String UI_TESTER_ELEMENT = "uiTester"; //$NON-NLS-1$
-
-		public static final String UI_TESTER_CLASSNAME_ATTR = "className"; //$NON-NLS-1$
-
-		public UITesterRegistryReader() {
-			super(JEMUtilPlugin.PLUGIN_ID, JEMUtilPlugin.UI_TESTER_EXTENSION_POINT);
-		}
-
-		/*
-		 * (non-Javadoc)
-		 * 
-		 * @see com.ibm.etools.emf.workbench.RegistryReader#readElement(org.eclipse.core.runtime.IConfigurationElement)
-		 */
-		public boolean readElement(IConfigurationElement element) {
-			boolean result = false;
-			if (element.getName().equals(UI_TESTER_ELEMENT)) {
-				result = true;
-				try {
-					if (canCreateExecutableExtension(element)) {
-						UITester tester = (UITester) element.createExecutableExtension(UI_TESTER_CLASSNAME_ATTR);
-						if (tester.isCurrentContextUI())
-							currentContext = UI_CONTEXT;
-					}
-				} catch (Throwable t) {
-					Logger.getLogger().log("UIContextDetermination is proceeding in HEADLESS mode"); //$NON-NLS-1$
-				}
-			}
-			return result;
-		}
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jem.util/jemutil/org/eclipse/jem/util/UITester.java b/plugins/org.eclipse.jem.util/jemutil/org/eclipse/jem/util/UITester.java
deleted file mode 100644
index 54517e8..0000000
--- a/plugins/org.eclipse.jem.util/jemutil/org/eclipse/jem/util/UITester.java
+++ /dev/null
@@ -1,31 +0,0 @@
-package org.eclipse.jem.util;
-/*******************************************************************************
- * 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
- *******************************************************************************/
-/*
- *  $$RCSfile: UITester.java,v $$
- *  $$Revision: 1.2 $$  $$Date: 2005/02/15 23:04:14 $$ 
- */
-/**
- * Interface for a UITester. The "classname" attribute on the "uiTester" extension point should implement this class.
- * 
- * @since 1.0.0
- */
-public interface UITester {
-
-	/**
-	 * Answer if the current context is an UI context.
-	 * 
-	 * @return <code>true</code> if an UI context.
-	 * 
-	 * @since 1.0.0
-	 */
-	public boolean isCurrentContextUI();
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jem.util/jemutil/org/eclipse/jem/util/emf/workbench/EMFWorkbenchContextBase.java b/plugins/org.eclipse.jem.util/jemutil/org/eclipse/jem/util/emf/workbench/EMFWorkbenchContextBase.java
deleted file mode 100644
index bedff60..0000000
--- a/plugins/org.eclipse.jem.util/jemutil/org/eclipse/jem/util/emf/workbench/EMFWorkbenchContextBase.java
+++ /dev/null
@@ -1,193 +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
- *******************************************************************************/
-/*
- *  $$RCSfile: EMFWorkbenchContextBase.java,v $$
- *  $$Revision: 1.2 $$  $$Date: 2005/02/15 23:04:14 $$ 
- */
-package org.eclipse.jem.util.emf.workbench;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.emf.ecore.resource.Resource;
-
-import org.eclipse.jem.internal.util.emf.workbench.*;
-import org.eclipse.jem.internal.util.emf.workbench.nls.EMFWorkbenchResourceHandler;
-import org.eclipse.jem.util.plugin.JEMUtilPlugin;
-
-
-/**
- * ContextBase for EMFWorkbench.
- * 
- * <p>
- * This is meant to be subclassed as needed for additional or override function. It will be instantiated by default.
- * </p>
- * 
- * @since 1.0.0
- */
-public class EMFWorkbenchContextBase {
-
-	protected IProject project;
-
-	protected ProjectResourceSet resourceSet;
-
-	/**
-	 * Construct with a project.
-	 * 
-	 * @param aProject
-	 * 
-	 * @since 1.0.0
-	 */
-	public EMFWorkbenchContextBase(IProject aProject) {
-		if (aProject == null)
-			throw new IllegalArgumentException(EMFWorkbenchResourceHandler.getString("EMFWorkbenchContextBase_ERROR_1")); //$NON-NLS-1$
-		project = aProject;
-	}
-
-	/**
-	 * Dispose of the context base.
-	 * 
-	 * 
-	 * @since 1.0.0
-	 */
-	public void dispose() {
-		if (resourceSet != null)
-			resourceSet.release();
-		resourceSet = null;
-		project = null;
-	}
-
-	/**
-	 * Get the project this context is associated with.
-	 * 
-	 * @return project
-	 * 
-	 * @since 1.0.0
-	 */
-	public IProject getProject() {
-		return project;
-	}
-
-	/**
-	 * Return the resource set (creating if needed) for context.
-	 * 
-	 * @return resource set
-	 * 
-	 * @since 1.0.0
-	 */
-	public ProjectResourceSet getResourceSet() {
-		if (resourceSet == null) {
-			resourceSet = createResourceSet();
-			initializeResourceSet(resourceSet);
-		}
-		return resourceSet;
-	}
-
-	/**
-	 * Used for optimization; answer whether a resourceSet has been created
-	 * 
-	 * @return <code>true</code> if a resource set has been created.
-	 * 
-	 * @since 1.0.0
-	 */
-	public boolean hasResourceSet() {
-		return resourceSet != null;
-	}
-
-	/**
-	 * Initialize the resource set.
-	 * 
-	 * @param aResourceSet
-	 * 
-	 * @since 1.0.0
-	 */
-	protected void initializeResourceSet(ProjectResourceSet aResourceSet) {
-		createResourceSetSynchronizer(aResourceSet);
-		aResourceSet.setURIConverter(createURIConverter(aResourceSet));
-		aResourceSet.add(new WorkspaceResourceHandler());
-		JEMUtilPlugin.getDefault().addExtendedResourceHandlers(aResourceSet);
-
-	}
-
-	/**
-	 * Create the resource set. By default it is a ProjectResourceSetImpl.
-	 * 
-	 * @return project's new resource set.
-	 * 
-	 * @since 1.0.0
-	 */
-	protected ProjectResourceSet createResourceSet() {
-		if (project == null)
-			throw new IllegalStateException(EMFWorkbenchResourceHandler.getString("EMFWorkbenchContextBase_ERROR_2")); //$NON-NLS-1$
-		return new ProjectResourceSetImpl(project);
-	}
-
-	/**
-	 * Create a URIConverter for the resource set.
-	 * 
-	 * @param aResourceSet
-	 * @return a uri converter.
-	 * 
-	 * @since 1.0.0
-	 */
-	protected WorkbenchURIConverter createURIConverter(ProjectResourceSet aResourceSet) {
-		return new WorkbenchURIConverterImpl(getProject(), aResourceSet.getSynchronizer());
-	}
-
-	/**
-	 * Create a resource set workbench synchronizer.
-	 * 
-	 * @param aResourceSet
-	 * @return a resource set workbench synchronizer.
-	 * 
-	 * @since 1.0.0
-	 */
-	protected ResourceSetWorkbenchSynchronizer createResourceSetSynchronizer(ProjectResourceSet aResourceSet) {
-		return EMFWorkbenchContextFactory.INSTANCE.createSynchronizer(aResourceSet, getProject());
-	}
-
-	/**
-	 * Delete the resource from the workspace.
-	 * 
-	 * @param aResource
-	 * @throws CoreException
-	 * 
-	 * @since 1.0.0
-	 */
-	public void deleteResource(Resource aResource) throws CoreException {
-		if (aResource != null)
-			deleteFile(aResource);
-	}
-
-	/**
-	 * Delete the file associated with the resource.
-	 * 
-	 * @param resource
-	 * 
-	 * @since 1.0.0
-	 */
-	public void deleteFile(Resource resource) {
-		throw new UnsupportedOperationException(EMFWorkbenchResourceHandler.getString("EMFWorkbenchContextBase_ERROR_0")); //$NON-NLS-1$
-	}
-
-	/**
-	 * Get resource (with the given URI) from the project resource set. Load it if not already loaded.
-	 * 
-	 * @param uri
-	 * @return resource for the uri, or <code>null</code> if not found.
-	 * 
-	 * @since 1.0.0
-	 */
-	public Resource getResource(URI uri) {
-		return this.resourceSet.getResource(uri, true);
-	}
-
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jem.util/jemutil/org/eclipse/jem/util/emf/workbench/IEMFContextContributor.java b/plugins/org.eclipse.jem.util/jemutil/org/eclipse/jem/util/emf/workbench/IEMFContextContributor.java
deleted file mode 100644
index 465d7fa..0000000
--- a/plugins/org.eclipse.jem.util/jemutil/org/eclipse/jem/util/emf/workbench/IEMFContextContributor.java
+++ /dev/null
@@ -1,46 +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
- *******************************************************************************/
-/*
- *  $$RCSfile: IEMFContextContributor.java,v $$
- *  $$Revision: 1.2 $$  $$Date: 2005/02/15 23:04:14 $$ 
- */
-
-package org.eclipse.jem.util.emf.workbench;
-
-/**
- * EMF Context Contributor interface. Implimenters are called to contribute to the context.
- * 
- * @see org.eclipse.jem.util.emf.workbench.WorkbenchResourceHelperBase#createEMFContext(IProject, IEMFContextContributor)
- * @since 1.0.0
- */
-public interface IEMFContextContributor {
-
-	/**
-	 * This is your opportunity to add a primary EMFNature. Typically you would add to the WorkbenchContext held by <code>aNature</code> in order to
-	 * change the container for the WorkbenchURIConverter or add adapter factories to the ResourceSet or anything else that is needed.
-	 * 
-	 * @param aNature
-	 * 
-	 * @since 1.0.0
-	 */
-	void primaryContributeToContext(EMFWorkbenchContextBase aNature);
-
-	/**
-	 * This is your opportunity to add a secondary EMFNature. Typically you would add to the WorkbenchContext held by <code>aNature</code> in order
-	 * to change the container for the WorkbenchURIConverter or add adapter factories to the ResourceSet or anything else that is needed.
-	 * 
-	 * @param aNature
-	 * 
-	 * @since 1.0.0
-	 */
-	void secondaryContributeToContext(EMFWorkbenchContextBase aNature);
-
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jem.util/jemutil/org/eclipse/jem/util/emf/workbench/ISynchronizerExtender.java b/plugins/org.eclipse.jem.util/jemutil/org/eclipse/jem/util/emf/workbench/ISynchronizerExtender.java
deleted file mode 100644
index f70dd1e..0000000
--- a/plugins/org.eclipse.jem.util/jemutil/org/eclipse/jem/util/emf/workbench/ISynchronizerExtender.java
+++ /dev/null
@@ -1,44 +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
- *******************************************************************************/
-/*
- *  $$RCSfile: ISynchronizerExtender.java,v $$
- *  $$Revision: 1.2 $$  $$Date: 2005/02/15 23:04:14 $$ 
- */
-package org.eclipse.jem.util.emf.workbench;
-
-import org.eclipse.core.resources.IResourceDelta;
-
-/**
- * Implimenters allows clients, eg {@link org.eclipse.jem.util.emf.workbench.EMFNatureContributor}, to extend the behavior of the
- * ResourceSetWorkbenchSynchronizer.
- * 
- * @see org.eclipse.jem.util.emf.workbench.ResourceSetWorkbenchSynchronizer#addExtender(ISynchronizerExtender)
- * @since 1.0.0
- */
-public interface ISynchronizerExtender {
-
-	/**
-	 * Notification that project has changed.
-	 * 
-	 * @param delta
-	 * 
-	 * @since 1.0.0
-	 */
-	void projectChanged(IResourceDelta delta);
-
-	/**
-	 * Notification that project has been closed.
-	 * 
-	 * 
-	 * @since 1.0.0
-	 */
-	void projectClosed();
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jem.util/jemutil/org/eclipse/jem/util/emf/workbench/ProjectResourceSet.java b/plugins/org.eclipse.jem.util/jemutil/org/eclipse/jem/util/emf/workbench/ProjectResourceSet.java
deleted file mode 100644
index 68c9735..0000000
--- a/plugins/org.eclipse.jem.util/jemutil/org/eclipse/jem/util/emf/workbench/ProjectResourceSet.java
+++ /dev/null
@@ -1,117 +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
- *******************************************************************************/
-/*
- *  $$RCSfile: ProjectResourceSet.java,v $$
- *  $$Revision: 1.3 $$  $$Date: 2005/02/15 23:04:14 $$ 
- */
-package org.eclipse.jem.util.emf.workbench;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.ecore.resource.ResourceSet;
-
-/**
- * A ResourceSet for an entire project. It allows sharing of resources from multiple editors/viewers for a project.
- * <p>
- * An additional Notification type is sent out by ProjectResourceSet's of project resource set about to be released. A release is
- * called when projects are about to be closed. They release all of the resources and unload them. This notification can be used 
- * to know that this is about to happen and to do something before the resources become invalid. It will be sent out just before the
- * resource set will be released. 
- * 
- * @see ProjectResourceSet#SPECIAL_NOTIFICATION_TYPE
- * @see ProjectResourceSet#PROJECTRESOURCESET_ABOUT_TO_RELEASE_ID 
- * @since 1.0.0
- */
-
-public interface ProjectResourceSet extends ResourceSet {
-
-	IProject getProject();
-	
-	/**
-	 * Notification type in notifications from the ProjectResourceSet for
-	 * special notifications, and not the standard ones from ResourceSet.
-	 * 
-	 * @see org.eclipse.emf.common.notify.Notification#getEventType()
-	 * @since 1.1.0
-	 */
-	static int SPECIAL_NOTIFICATION_TYPE = Notification.EVENT_TYPE_COUNT+4;
-	
-	/**
-	 * Notification Feature ID for resource set about to be released.
-	 * Use {@link org.eclipse.emf.common.notify.Notification#getFeatureID(java.lang.Class)} to
-	 * get this id. The getFeature() on notification will return null.
-	 * 
-	 * @since 1.1.0
-	 */
-	static int PROJECTRESOURCESET_ABOUT_TO_RELEASE_ID = 1000;
-
-	/**
-	 * Call when the ResourceSet is no longer to be used.
-	 * 
-	 * 
-	 * @since 1.0.0
-	 */
-	void release();
-
-	/**
-	 * Add the <code>resourceHandler</code> to the end of the list of resourceHandlers.
-	 * 
-	 * @param resourceHandler
-	 *            IResourceHandler
-	 * @return boolean Return <code>true</code> if it was added.
-	 * @since 1.0.0
-	 */
-	boolean add(ResourceHandler resourceHandler);
-
-	/**
-	 * Add the <code>resourceHandler</code> to the front of the list of resourceHandlers.
-	 * 
-	 * @param resourceHandler
-	 *            IResourceHandler
-	 * @since 1.0.0
-	 */
-	void addFirst(ResourceHandler resourceHandler);
-
-	/**
-	 * Remove the <code>resourceHandler</code> from the list of resourceHandlers.
-	 * 
-	 * @param resourceHandler
-	 *            IResourceHandler
-	 * @return boolean Return true if it was removed.
-	 * @since 1.0.0
-	 */
-	boolean remove(ResourceHandler resourceHandler);
-
-	/**
-	 * Return the ResourceSet synchronizer that will synchronize the ResourceSet with changes from the Workbench.
-	 * 
-	 * @return ResourceSetWorkbenchSynchronizer
-	 * @since 1.0.0
-	 */
-	ResourceSetWorkbenchSynchronizer getSynchronizer();
-
-	/**
-	 * Set the ResourceSet synchronizer that will synchronize the ResourceSet with changes from the Workbench.
-	 * 
-	 * @param aSynchronizer
-	 * @return ResourceSetWorkbenchSynchronizer
-	 * @since 1.0.0
-	 */
-	void setSynchronizer(ResourceSetWorkbenchSynchronizer aSynchronizer);
-
-	/**
-	 * This should be called by clients whenever the structure of the project changes such that any cached URIs will be invalid. For example, if the
-	 * source folders within the URIConverter change.
-	 * 
-	 * @since 1.0.0
-	 */
-	void resetNormalizedURICache();
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jem.util/jemutil/org/eclipse/jem/util/emf/workbench/ProjectUtilities.java b/plugins/org.eclipse.jem.util/jemutil/org/eclipse/jem/util/emf/workbench/ProjectUtilities.java
deleted file mode 100644
index b339d88..0000000
--- a/plugins/org.eclipse.jem.util/jemutil/org/eclipse/jem/util/emf/workbench/ProjectUtilities.java
+++ /dev/null
@@ -1,754 +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
- *******************************************************************************/
-/*
- *  $$RCSfile: ProjectUtilities.java,v $$
- *  $$Revision: 1.4 $$  $$Date: 2005/05/11 19:01:24 $$ 
- */
-
-package org.eclipse.jem.util.emf.workbench;
-
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.*;
-import java.util.logging.Level;
-
-import org.eclipse.core.resources.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.resource.*;
-
-import org.eclipse.jem.util.logger.proxy.Logger;
-import org.eclipse.jem.util.plugin.JEMUtilPlugin;
-
-
-/**
- * EMF Workbench Project Utilities.
- * 
- * @since 1.0.0
- */
-
-public class ProjectUtilities {
-
-	/**
-	 * Project control file name in project.
-	 * 
-	 * @since 1.0.0
-	 */
-	public final static String DOT_PROJECT = ".project"; //$NON-NLS-1$
-
-	/**
-	 * Classpath control file name in project.
-	 * 
-	 * @since 1.0.0
-	 */
-	public final static String DOT_CLASSPATH = ".classpath"; //$NON-NLS-1$
-
-	public ProjectUtilities() {
-	}
-
-	/**
-	 * Add the nature id to the project ahead of all other nature ids.
-	 * 
-	 * @param proj
-	 * @param natureId
-	 * @throws CoreException
-	 * 
-	 * @since 1.0.0
-	 */
-	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);
-	}
-
-	/**
-	 * Add the nature id after all of the other nature ids for the project.
-	 * 
-	 * @param proj
-	 * @param natureId
-	 * @throws CoreException
-	 * 
-	 * @since 1.0.0
-	 */
-	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 the nature id from the project.
-	 * 
-	 * @param project
-	 * @param natureId
-	 * @throws CoreException
-	 * 
-	 * @since 1.0.0
-	 */
-	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;
-			} else
-				newNatures[newsize++] = prevNatures[i];
-		}
-		if (!matchfound)
-			throw new CoreException(new Status(IStatus.ERROR, JEMUtilPlugin.ID, 0,
-					"The nature id " + natureId + " does not exist on the project " + project.getName(), null)); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-		else {
-			String[] temp = newNatures;
-			newNatures = new String[newsize];
-			System.arraycopy(temp, 0, newNatures, 0, newsize);
-			description.setNatureIds(newNatures);
-			project.setDescription(description, null);
-		}
-	}
-
-	/**
-	 * Add the list of projects to end of the "referenced projects" list from the project's description.
-	 * 
-	 * @param project
-	 * @param toBeAddedProjectsList
-	 * @throws CoreException
-	 * 
-	 * @since 1.0.0
-	 */
-	public static void addReferenceProjects(IProject project, List toBeAddedProjectsList) throws CoreException {
-
-		IProjectDescription description = project.getDescription();
-		IProject[] projects = description.getReferencedProjects();
-
-		ArrayList projectsList = new ArrayList();
-
-		for (int i = 0; i < projects.length; i++) {
-			projectsList.add(projects[i]);
-		}
-
-		for (int i = 0; i < toBeAddedProjectsList.size(); i++) {
-			projectsList.add(toBeAddedProjectsList.get(i));
-		}
-
-		IProject[] refProjects = new IProject[projectsList.size()];
-
-		for (int i = 0; i < refProjects.length; i++) {
-			refProjects[i] = (IProject) (projectsList.get(i));
-		}
-
-		description.setReferencedProjects(refProjects);
-		project.setDescription(description, null);
-	}
-
-	/**
-	 * Add the single project to the end of the "referenced projects" list from the project's description.
-	 * 
-	 * @param project
-	 * @param projectToBeAdded
-	 * @throws CoreException
-	 * 
-	 * @since 1.0.0
-	 */
-	public static void addReferenceProjects(IProject project, IProject projectToBeAdded) throws CoreException {
-		IProjectDescription description = project.getDescription();
-		IProject[] projects = description.getReferencedProjects();
-
-		ArrayList projectsList = new ArrayList();
-
-		for (int i = 0; i < projects.length; i++) {
-			projectsList.add(projects[i]);
-		}
-
-		projectsList.add(projectToBeAdded);
-
-		IProject[] refProjects = new IProject[projectsList.size()];
-
-		for (int i = 0; i < refProjects.length; i++) {
-			refProjects[i] = (IProject) (projectsList.get(i));
-		}
-
-		description.setReferencedProjects(refProjects);
-		project.setDescription(description, null);
-	}
-
-	/**
-	 * Force a an immediate build of the project.
-	 * 
-	 * @param project
-	 * @param progressMonitor
-	 * 
-	 * @since 1.0.0
-	 */
-	public static void forceAutoBuild(IProject project, IProgressMonitor progressMonitor) {
-		try {
-			project.build(IncrementalProjectBuilder.FULL_BUILD, progressMonitor);
-		} catch (CoreException ce) {
-			//Revisit: Need to use a Logger
-			//Logger.getLogger().logError(ce);
-		}
-	}
-
-	/**
-	 * Return if auto build is turned on.
-	 * 
-	 * @return <code>true</code> if auto build is turned on.
-	 * 
-	 * @since 1.0.0
-	 */
-	public static boolean getCurrentAutoBuildSetting() {
-
-		IWorkspace workspace = ResourcesPlugin.getWorkspace();
-		IWorkspaceDescription wd = workspace.getDescription();
-		return wd.isAutoBuilding();
-	}
-
-	/**
-	 * Get the project associated with the given object.
-	 * 
-	 * @param object
-	 *            may be an <code>IProject, IResource, IAdaptable (to an IProject), EObject (gets IProject if object is in a ProjectResourceSet</code>.
-	 * @param natureId
-	 *            if <code>null</code> then returns project. If not <code>null</code> then returns project only if project has this nature id.
-	 * @return project associated with the object or <code>null</code> if not found.
-	 * 
-	 * @since 1.0.0
-	 */
-	public static IProject getProject(Object object, String natureId) {
-		IProject result = getProject(object);
-		if (natureId == null)
-			return result;
-		if (result != null && result.isAccessible() && natureId != null)
-			try {
-				if (result.hasNature(natureId))
-					return result;
-			} catch (CoreException e) {
-				Logger.getLogger().logError(e);
-			}
-		return null;
-	}
-
-	/**
-	 * Get the project associated with the given object.
-	 * 
-	 * @param object
-	 *            may be an <code>IProject, IResource, IAdaptable (to an IProject), EObject (gets IProject if object is in a ProjectResourceSet</code>.
-	 * @return project associated with the object or <code>null</code> if not found.
-	 * 
-	 * @since 1.0.0
-	 */
-	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);
-		else if (object instanceof EObject)
-			result = getProject((EObject) object);
-
-		return result;
-	}
-
-	/**
-	 * Get the project associated with the given EObject. (If in a ProjectResourceSet, then the project from that resource set).
-	 * 
-	 * @param aRefObject
-	 * @return project if associated or <code>null</code> if not found.
-	 * 
-	 * @since 1.0.0
-	 */
-	public static IProject getProject(EObject aRefObject) {
-		if (aRefObject != null) {
-			Resource resource = aRefObject.eResource();
-			return getProject(resource);
-		}
-		return null;
-	}
-
-	/**
-	 * Get the project associated with the given Resource. (If in a ProjectResourceSet, then the project from that resource set).
-	 * 
-	 * @param resource
-	 * @return project if associated or <code>null</code> if not found.
-	 * 
-	 * @since 1.0.0
-	 */
-	public static IProject getProject(Resource resource) {
-		ResourceSet set = resource == null ? null : resource.getResourceSet();
-		if (set instanceof ProjectResourceSet)
-			return ((ProjectResourceSet) set).getProject();
-		URIConverter converter = set == null ? null : set.getURIConverter();
-		if (converter != null && converter instanceof WorkbenchURIConverter && ((WorkbenchURIConverter) converter).getOutputContainer() != null)
-			return ((WorkbenchURIConverter) converter).getOutputContainer().getProject();
-		else
-			return null;
-	}
-
-	/**
-	 * Remove the list of projects from the list of "referenced projects" in the project's description.
-	 * 
-	 * @param project
-	 * @param toBeRemovedProjectList
-	 * @throws org.eclipse.core.runtime.CoreException
-	 * 
-	 * @since 1.0.0
-	 */
-	public static void removeReferenceProjects(IProject project, List toBeRemovedProjectList) throws org.eclipse.core.runtime.CoreException {
-		IProjectDescription description = project.getDescription();
-		IProject[] projects = description.getReferencedProjects();
-
-		ArrayList projectsList = new ArrayList();
-
-		for (int i = 0; i < projects.length; i++) {
-			projectsList.add(projects[i]);
-		}
-
-		for (int i = 0; i < toBeRemovedProjectList.size(); i++) {
-			projectsList.remove(toBeRemovedProjectList.get(i));
-		}
-
-		IProject[] refProjects = new IProject[projectsList.size()];
-
-		for (int i = 0; i < refProjects.length; i++) {
-			refProjects[i] = (IProject) (projectsList.get(i));
-		}
-
-		description.setReferencedProjects(refProjects);
-		project.setDescription(description, null);
-	}
-
-	/**
-	 * Remove the project from the list of "referenced projects" in the description for the given project.
-	 * 
-	 * @param project
-	 * @param toBeRemovedProject
-	 * @throws org.eclipse.core.runtime.CoreException
-	 * 
-	 * @since 1.0.0
-	 */
-	public static void removeReferenceProjects(IProject project, IProject toBeRemovedProject) throws org.eclipse.core.runtime.CoreException {
-		IProjectDescription description = project.getDescription();
-		IProject[] projects = description.getReferencedProjects();
-
-		ArrayList projectsList = new ArrayList();
-
-		for (int i = 0; i < projects.length; i++) {
-			projectsList.add((projects[i]));
-		}
-
-		projectsList.remove(toBeRemovedProject);
-
-		IProject[] refProjects = new IProject[projectsList.size()];
-
-		for (int i = 0; i < refProjects.length; i++) {
-			refProjects[i] = (IProject) (projectsList.get(i));
-		}
-
-		description.setReferencedProjects(refProjects);
-		project.setDescription(description, null);
-	}
-
-	/**
-	 * Turn auto-building off.
-	 * 
-	 * 
-	 * @since 1.0.0
-	 */
-	public static void turnAutoBuildOff() {
-		try {
-			IWorkspace workspace = ResourcesPlugin.getWorkspace();
-			IWorkspaceDescription wd = workspace.getDescription();
-			wd.setAutoBuilding(false);
-			workspace.setDescription(wd);
-		} catch (CoreException ce) {
-			//Logger.getLogger().logError(ce);
-		}
-	}
-
-	/**
-	 * Turn auto-building on.
-	 * 
-	 * 
-	 * @since 1.0.0
-	 */
-	public static void turnAutoBuildOn() {
-		try {
-			IWorkspace workspace = ResourcesPlugin.getWorkspace();
-			IWorkspaceDescription wd = workspace.getDescription();
-			wd.setAutoBuilding(true);
-			workspace.setDescription(wd);
-		} catch (CoreException ce) {
-			//Logger.getLogger().logError(ce);
-		}
-	}
-
-	/**
-	 * Set the auto-building state.
-	 * 
-	 * @param aBoolean
-	 *            <code>true</code> to turn auto-building on.
-	 * 
-	 * @since 1.0.0
-	 */
-	public static void turnAutoBuildOn(boolean aBoolean) {
-		try {
-			IWorkspace workspace = ResourcesPlugin.getWorkspace();
-			IWorkspaceDescription wd = workspace.getDescription();
-			wd.setAutoBuilding(aBoolean);
-			workspace.setDescription(wd);
-		} catch (CoreException ce) {
-			//Logger.getLogger().logError(ce);
-
-		}
-	}
-
-	/**
-	 * Adds a builder to the build spec for the given project.
-	 * 
-	 * @param builderID
-	 *            The id of the builder.
-	 * @param project
-	 *            Project to add to.
-	 * @return whether the builder id was actually added (it may have already existed)
-	 * @throws CoreException
-	 * @since 1.0.0
-	 */
-	public static boolean addToBuildSpec(String builderID, IProject project) throws CoreException {
-		return addToBuildSpecBefore(builderID, null, project);
-	}
-
-	/**
-	 * Adds a builder to the build spec for the given project, immediately before the specified successor builder.
-	 * 
-	 * @param builderID
-	 *            The id of the builder.
-	 * @param successorID
-	 *            The id to put the builder before.
-	 * @return whether the builder id was actually added (it may have already existed)
-	 * @throws CoreException
-	 * @since 1.0.0
-	 */
-	public static boolean addToBuildSpecBefore(String builderID, String successorID, IProject project) throws CoreException {
-		IProjectDescription description = project.getDescription();
-		ICommand[] commands = description.getBuildSpec();
-		boolean found = false;
-		for (int i = 0; i < commands.length; ++i) {
-			if (commands[i].getBuilderName().equals(builderID)) {
-				found = true;
-				break;
-			}
-		}
-		if (!found) {
-			boolean successorFound = false;
-			ICommand command = description.newCommand();
-			command.setBuilderName(builderID);
-			ICommand[] newCommands = new ICommand[commands.length + 1];
-			for (int j = 0, index = 0; j < commands.length; j++, index++) {
-				if (successorID != null && commands[j].getBuilderName().equals(successorID)) {
-					successorFound = true;
-					newCommands[index++] = command;
-				}
-				newCommands[index] = commands[j];
-			}
-			if (!successorFound)
-				newCommands[newCommands.length - 1] = command;
-			description.setBuildSpec(newCommands);
-			project.setDescription(description, null);
-		}
-		return !found;
-	}
-
-	/**
-	 * Remove the builder from the build spec.
-	 * 
-	 * @param builderID
-	 *            The id of the builder.
-	 * @param project
-	 *            Project to remove from.
-	 * @return boolean if the builder id was found and removed
-	 * @throws CoreException
-	 * @since 1.0.0
-	 */
-	public static boolean removeFromBuildSpec(String builderID, IProject project) throws CoreException {
-		IProjectDescription description = project.getDescription();
-		ICommand[] commands = description.getBuildSpec();
-		boolean found = false;
-		for (int i = 0; i < commands.length; ++i) {
-			if (commands[i].getBuilderName().equals(builderID)) {
-				found = true;
-				break;
-			}
-		}
-		if (found) {
-			ICommand[] newCommands = new ICommand[commands.length - 1];
-			int newCount = 0;
-			for (int i = 0; i < commands.length; ++i) {
-				if (!(commands[i].getBuilderName().equals(builderID))) {
-					//Add the existng to the new array
-					newCommands[newCount] = commands[i];
-					newCount++;
-				}
-			}
-
-			description.setBuildSpec(newCommands);
-			project.setDescription(description, null);
-
-		}
-		return found;
-
-	}
-
-	/**
-	 * Ensure the container is not read-only.
-	 * <p>
-	 * For Linux, a Resource cannot be created in a ReadOnly folder. This is only necessary for new files.
-	 * 
-	 * @param resource
-	 *            workspace resource to make read/write
-	 * @since 1.0.0
-	 */
-	public static void ensureContainerNotReadOnly(IResource resource) {
-		if (resource != null && !resource.exists()) { //it must be new
-			IContainer container = resource.getParent();
-			ResourceAttributes attr = container.getResourceAttributes();
-			while (attr != null && !attr.isReadOnly()) {
-				container = container.getParent();
-				if (container == null)
-					break;
-				attr = container.getResourceAttributes();
-			}
-			if (container != null && attr != null)
-				attr.setReadOnly(false);
-		}
-	}
-
-	/**
-	 * Get projects from primary nature.
-	 * 
-	 * @param natureID
-	 * @return All projects that have the given nature id as the first nature id.
-	 * 
-	 * @since 1.0.0
-	 */
-	public static IProject[] getProjectsForPrimaryNature(String natureID) {
-		IProject[] projectsWithNature = new IProject[] {};
-		List result = new ArrayList();
-		IProject[] projects = getAllProjects();
-		for (int i = 0; i < projects.length; i++) {
-			if (isProjectPrimaryNature(projects[i], natureID))
-				result.add(projects[i]);
-		}
-		return (IProject[]) result.toArray(projectsWithNature);
-	}
-
-	/**
-	 * Get all projects in the workspace
-	 * 
-	 * @return all workspace projects
-	 * 
-	 * @since 1.0.0
-	 */
-	public static IProject[] getAllProjects() {
-		return ResourcesPlugin.getWorkspace().getRoot().getProjects();
-	}
-
-	/**
-	 * Is this nature id the primary nature id for the project
-	 * 
-	 * @param project
-	 * @param natureID
-	 * @return <code>true</code> if first nature id for the project.
-	 * 
-	 * @since 1.0.0
-	 */
-	public static boolean isProjectPrimaryNature(IProject project, String natureID) {
-		String[] natures = null;
-		try {
-			natures = project.getDescription().getNatureIds();
-		} catch (Exception e1) {
-		}
-		return (natures != null && natures.length > 0 && natures[0].equals(natureID));
-	}
-
-	protected static IPath createPath(IProject p, String defaultSourceName) {
-		IPath path = new Path(p.getName());
-		path = path.append(defaultSourceName);
-		path = path.makeAbsolute();
-		return path;
-	}
-
-	/**
-	 * Returns a list of existing files which will be modified if the classpath changes for the given proeject.
-	 * 
-	 * @param p
-	 *            project
-	 * @return list of affected files.
-	 * 
-	 * @since 1.0.0
-	 */
-	public static List getFilesAffectedByClasspathChange(IProject p) {
-		List result = new ArrayList(2);
-		addFileIfExists(p, result, DOT_CLASSPATH);
-		addFileIfExists(p, result, DOT_PROJECT);
-		return result;
-	}
-
-	protected static void addFileIfExists(IProject p, List aList, String filename) {
-		IFile aFile = p.getFile(filename);
-		if (aFile != null && aFile.exists())
-			aList.add(aFile);
-	}
-
-	/**
-	 * Strip off a leading "/" from each project name in the array, if it has one.
-	 * 
-	 * @param projecNames
-	 * @return array of project names with all leading '/' removed.
-	 * 
-	 * @since 1.0.0
-	 */
-	public static String[] getProjectNamesWithoutForwardSlash(String[] projecNames) {
-		String[] projNames = new String[projecNames.length];
-		List temp = java.util.Arrays.asList(projecNames);
-		for (int i = 0; i < temp.size(); i++) {
-			String name = (String) (temp.get(i));
-			if (name.startsWith("/")) { //$NON-NLS-1$
-				projNames[i] = name.substring(1, name.length());
-			} else {
-				projNames[i] = name;
-			}
-		}
-		return projNames;
-	}
-
-	protected static URL createFileURL(IPath path) {
-		try {
-			return path.toFile().toURL();
-		} catch (MalformedURLException e) {
-			Logger.getLogger().log(e, Level.WARNING);
-			return null;
-		}
-	}
-
-	/**
-	 * Find first newObject that is not in the oldObjects array (using "==").
-	 * 
-	 * @param oldObjects
-	 * @param newObjects
-	 * @return first newObject not found in oldObjects, or <code>null</code> if all found.
-	 * 
-	 * @since 1.0.0
-	 */
-	public static Object getNewObject(Object[] oldObjects, Object[] newObjects) {
-		if (oldObjects != null && newObjects != null && oldObjects.length < newObjects.length) {
-			for (int i = 0; i < newObjects.length; i++) {
-				boolean found = false;
-				Object object = newObjects[i];
-				for (int j = 0; j < oldObjects.length; j++) {
-					if (oldObjects[j] == object) {
-						found = true;
-						break;
-					}
-				}
-				if (!found)
-					return object;
-			}
-		}
-		if (oldObjects == null && newObjects != null && newObjects.length == 1)
-			return newObjects[0];
-		return null;
-	}
-
-	/**
-	 * List of all files in the project.
-	 * <p>
-	 * Note: A more efficient way to do this is to use {@link IResource#accept(org.eclipse.core.resources.IResourceProxyVisitor, int)}
-	 * 
-	 * @param 1.0.0
-	 * @return list of files in the project
-	 * 
-	 * @see IResource#accept(org.eclipse.core.resources.IResourceProxyVisitor, int)
-	 * @since 1.0.0
-	 */
-	public static List getAllProjectFiles(IProject project) {
-		List result = new ArrayList();
-		if (project == null)
-			return result;
-		try {
-			result = collectFiles(project.members(), result);
-		} catch (CoreException e) {
-		}
-		return result;
-	}
-
-	private static List collectFiles(IResource[] members, List result) throws CoreException {
-		// recursively collect files for the given members
-		for (int i = 0; i < members.length; i++) {
-			IResource res = members[i];
-			if (res instanceof IFolder) {
-				collectFiles(((IFolder) res).members(), result);
-			} else if (res instanceof IFile) {
-				result.add(res);
-			}
-		}
-		return result;
-	}
-
-	/**
-	 * Get the project.
-	 * 
-	 * @param projectName
-	 * @return a IProject given the projectName
-	 * @since 1.0.0
-	 */
-	public static IProject getProject(String projectName) {
-		return ResourcesPlugin.getWorkspace().getRoot().getProject(projectName);
-	}
-
-	/**
-	 * Return whether the given builder name is attached to the project.
-	 * 
-	 * @param project
-	 * @param builderName
-	 * @return <code>true</code> if builder name is attached to the project.
-	 * 
-	 * @since 1.0.0
-	 */
-	public static boolean hasBuilder(IProject project, String builderName) {
-		try {
-			ICommand[] builders = project.getDescription().getBuildSpec();
-			for (int i = 0; i < builders.length; i++) {
-				ICommand builder = builders[i];
-				if (builder != null) {
-					if (builder.getBuilderName().equals(builderName))
-						return true;
-				}
-			}
-		} catch (Exception e) {
-		}
-		return false;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jem.util/jemutil/org/eclipse/jem/util/emf/workbench/ResourceHandler.java b/plugins/org.eclipse.jem.util/jemutil/org/eclipse/jem/util/emf/workbench/ResourceHandler.java
deleted file mode 100644
index 0170780..0000000
--- a/plugins/org.eclipse.jem.util/jemutil/org/eclipse/jem/util/emf/workbench/ResourceHandler.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-/*
- *  $$RCSfile: ResourceHandler.java,v $$
- *  $$Revision: 1.2 $$  $$Date: 2005/02/15 23:04:14 $$ 
- */
-package org.eclipse.jem.util.emf.workbench;
-
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.resource.Resource;
-import org.eclipse.emf.ecore.resource.ResourceSet;
-
-/**
- * Implementers of this interface are provide extension capabilities on resource set. Such as looking or creating in other resource sets for a
- * resource or an EObject.
- * 
- * @see org.eclipse.jem.util.emf.workbench.ProjectResourceSet#add(ResourceHandler)
- * @since 1.0.0
- */
-public interface ResourceHandler {
-
-	/**
-	 * Each ResourceHandler for a WorkbenchContext (which holds a ProjectResourceSet) will get an oportunity to get the Resource given the uriString
-	 * prior to the originatingResourceSet getting it in the normal manner.
-	 * 
-	 * If this handler loaded a Resource in its create(ResourceSet, uriString) then this method should be able to return it as well.
-	 * 
-	 * @param originatingResourceSet
-	 * @param uri
-	 * @return resource if found or <code>nulll/code> if this handler didn't find it.
-	 * 
-	 * @since 1.0.0
-	 */
-	Resource getResource(ResourceSet originatingResourceSet, URI uri);
-
-	/**
-	 * Get the EObject for the given URI, if it can. Load the resource if loadOnDemand is <code>true</code>.
-	 * 
-	 * @param originatingResourceSet
-	 * @param uri
-	 *            uri of EObject being requested
-	 * @param loadOnDemand
-	 *            <code>true</code> if resource should be loaded
-	 * @return eobject if found or <code>null</code> if not.
-	 */
-	EObject getEObjectFailed(ResourceSet originatingResourceSet, URI uri, boolean loadOnDemand);
-
-	/**
-	 * Create the resource pointed to be the URI if this handler will handle it.
-	 * 
-	 * @param originatingResourceSet
-	 * @param uri
-	 * @return resource if created, or <code>null</code> if handler doesn't handle this type.
-	 */
-	Resource createResource(ResourceSet originatingResourceSet, URI uri);
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jem.util/jemutil/org/eclipse/jem/util/emf/workbench/ResourceSetWorkbenchSynchronizer.java b/plugins/org.eclipse.jem.util/jemutil/org/eclipse/jem/util/emf/workbench/ResourceSetWorkbenchSynchronizer.java
deleted file mode 100644
index 1cec597..0000000
--- a/plugins/org.eclipse.jem.util/jemutil/org/eclipse/jem/util/emf/workbench/ResourceSetWorkbenchSynchronizer.java
+++ /dev/null
@@ -1,192 +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
- *******************************************************************************/
-/*
- *  $$RCSfile: ResourceSetWorkbenchSynchronizer.java,v $$
- *  $$Revision: 1.4 $$  $$Date: 2006/05/17 20:13:45 $$ 
- */
-
-package org.eclipse.jem.util.emf.workbench;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.resources.*;
-import org.eclipse.emf.ecore.resource.ResourceSet;
-
-import org.eclipse.jem.internal.util.emf.workbench.EMFWorkbenchContextFactory;
-import org.eclipse.jem.util.plugin.JEMUtilPlugin;
-
-
-/**
- * Synchronizer on the workbench. It listens for the project to see if it is closed or deleted. If it does it notifies this out.
- * 
- * @since 1.0.0
- */
-public class ResourceSetWorkbenchSynchronizer implements IResourceChangeListener {
-
-	protected IProject project;
-
-	protected ResourceSet resourceSet;
-
-	/** Extenders that will be notified after a pre build resource change */
-	protected List extenders;
-
-	/** The delta for this project that will be broadcast to the extenders */
-	protected IResourceDelta currentProjectDelta;
-
-	private int currentEventType = -1;
-
-	/**
-	 * Constructor taking a resource set and project.
-	 * 
-	 * @param aResourceSet
-	 * @param aProject
-	 * 
-	 * @since 1.0.0
-	 */
-	public ResourceSetWorkbenchSynchronizer(ResourceSet aResourceSet, IProject aProject) {
-		resourceSet = aResourceSet;
-		project = aProject;
-		if (aResourceSet != null && aResourceSet instanceof ProjectResourceSet)
-			((ProjectResourceSet) aResourceSet).setSynchronizer(this);
-		initialize();
-	}
-
-	/**
-	 * Get the project for this synchronizer
-	 * 
-	 * @return project
-	 * 
-	 * @since 1.0.0
-	 */
-	public IProject getProject() {
-		return project;
-	}
-
-	/*
-	 * @see IResourceChangeListener#resourceChanged(IResourceChangeEvent)
-	 */
-	public void resourceChanged(IResourceChangeEvent event) {
-		currentEventType = event.getType();
-		currentProjectDelta = null;
-		if ((currentEventType == IResourceChangeEvent.PRE_CLOSE || currentEventType == IResourceChangeEvent.PRE_DELETE)
-				&& event.getResource().equals(getProject())) {
-			notifyExtendersOfClose();
-			release();
-		}
-	}
-
-
-	protected void notifyExtendersIfNecessary() {
-		if (currentEventType != IResourceChangeEvent.POST_CHANGE || extenders == null || currentProjectDelta == null)
-			return;
-		for (int i = 0; i < extenders.size(); i++) {
-			ISynchronizerExtender extender = (ISynchronizerExtender) extenders.get(i);
-			extender.projectChanged(currentProjectDelta);
-		}
-	}
-
-	protected void notifyExtendersOfClose() {
-		if (extenders != null && !extenders.isEmpty()) {
-			for (int i = 0; i < extenders.size(); i++) {
-				ISynchronizerExtender extender = (ISynchronizerExtender) extenders.get(i);
-				extender.projectClosed();
-			}
-		}
-	}
-
-	protected IWorkspace getWorkspace() {
-		if (getProject() == null)
-			return ResourcesPlugin.getWorkspace();
-		return getProject().getWorkspace();
-	}
-
-	protected void initialize() {
-		getWorkspace().addResourceChangeListener(this,
-				IResourceChangeEvent.PRE_CLOSE | IResourceChangeEvent.PRE_DELETE | IResourceChangeEvent.POST_CHANGE | IResourceChangeEvent.PRE_BUILD);
-	}
-
-	/**
-	 * Dispose of the synchronizer. Called when no longer needed.
-	 * 
-	 * 
-	 * @since 1.0.0
-	 */
-	public void dispose() {
-		getWorkspace().removeResourceChangeListener(this);
-	}
-
-	/**
-	 * The project is going away so we need to cleanup ourself and the ResourceSet.
-	 */
-	protected void release() {
-		if (JEMUtilPlugin.isActivated()) {
-			try {
-				if (resourceSet instanceof ProjectResourceSet)
-					((ProjectResourceSet) resourceSet).release();
-			} finally {
-				EMFWorkbenchContextFactory.INSTANCE.removeCachedProject(getProject());
-				dispose();
-			}
-		}
-	}
-
-	/**
-	 * Add an extender to be notified of events.
-	 * 
-	 * @param extender
-	 * 
-	 * @since 1.0.0
-	 */
-	public void addExtender(ISynchronizerExtender extender) {
-		if (extenders == null)
-			extenders = new ArrayList(3);
-		extenders.add(extender);
-	}
-
-	/**
-	 * Remove extender from notification of events.
-	 * 
-	 * @param extender
-	 * 
-	 * @since 1.0.0
-	 */
-	public void removeExtender(ISynchronizerExtender extender) {
-		if (extenders == null)
-			return;
-		extenders.remove(extender);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see java.lang.Object#toString()
-	 */
-	public String toString() {
-		return getClass().getName() + '(' + ((getProject() != null) ? getProject().getName() : "null") + ')'; //$NON-NLS-1$
-	}
-
-	/**
-	 * Tell Synchronizer that a file is about to be saved. This method should be called prior to writing to an IFile from an EMF resource.
-	 * <p>
-	 * Default does nothing, but subclasses can do something.
-	 * </p>
-	 * 
-	 * @param aFile
-	 *            file about to be saved.
-	 * 
-	 * @since 1.0.0
-	 */
-	public void preSave(IFile aFile) {
-		//Default is do nothing
-	}
-
-}
diff --git a/plugins/org.eclipse.jem.util/jemutil/org/eclipse/jem/util/emf/workbench/WorkbenchByteArrayOutputStream.java b/plugins/org.eclipse.jem.util/jemutil/org/eclipse/jem/util/emf/workbench/WorkbenchByteArrayOutputStream.java
deleted file mode 100644
index 9d72f51..0000000
--- a/plugins/org.eclipse.jem.util/jemutil/org/eclipse/jem/util/emf/workbench/WorkbenchByteArrayOutputStream.java
+++ /dev/null
@@ -1,148 +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
- *******************************************************************************/
-/*
- *  $$RCSfile: WorkbenchByteArrayOutputStream.java,v $$
- *  $$Revision: 1.2 $$  $$Date: 2005/02/15 23:04:14 $$ 
- */
-package org.eclipse.jem.util.emf.workbench;
-
-import java.io.IOException;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.emf.ecore.resource.impl.URIConverterImpl;
-
-/**
- * ByteArray OutputStream for the Workbench. It works with the synchronizer {@link org.eclipse.jem.util.emf.workbench.ResourceSetWorkbenchSynchronizer}to
- * notify of a save. It also changes all of the line separators to the current system line separator, i.e. if there are some '\r' and we are on
- * Windows(R) then they will be converted to '\n\r'), if the setting for the stream is to do eol conversion.
- * 
- * @since 1.0.0
- */
-public class WorkbenchByteArrayOutputStream extends URIConverterImpl.PlatformResourceOutputStream {
-
-	private boolean fConvertEOL = false;
-
-	protected ResourceSetWorkbenchSynchronizer synchronizer;
-
-	/**
-	 * Construct with an IFile
-	 * 
-	 * @param aFile
-	 * 
-	 * @since 1.0.0
-	 */
-	public WorkbenchByteArrayOutputStream(IFile aFile) {
-		this(aFile, null);
-	}
-
-	/**
-	 * Construct with a IFile and a synchronizer. This way synchronizer will know when file is about to be saved.
-	 * 
-	 * @param aFile
-	 * @param aSynchronizer
-	 * 
-	 * @since 1.0.0
-	 */
-	public WorkbenchByteArrayOutputStream(IFile aFile, ResourceSetWorkbenchSynchronizer aSynchronizer) {
-		super(aFile, false, true, null);
-		synchronizer = aSynchronizer;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see java.io.OutputStream#close()
-	 */
-	public void close() throws IOException {
-		if (synchronizer != null)
-			synchronizer.preSave(file);
-		super.close();
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.emf.ecore.resource.impl.URIConverterImpl.PlatformResourceOutputStream#flush()
-	 */
-	public void flush() throws IOException {
-		if (synchronizer != null)
-			synchronizer.preSave(file);
-		super.flush();
-	}
-
-	/*
-	 * Convert the end of line characters.
-	 */
-	private int convertEOL(byte[] data) {
-		// Algorithm:
-		// Remove all '\r' chars
-		// Replace all '\n' chars with line seperator chars
-
-		String EOL = System.getProperties().getProperty("line.separator"); //$NON-NLS-1$
-		byte[] EOLBytes = EOL.getBytes();
-
-		int out = 0;
-
-		for (int in = 0; in < data.length; in++) {
-			if (data[in] == '\r') {
-				// don't output (ie, throw the char away)
-			} else if (data[in] == '\n') {
-				// The code does not currently handle expanding the array
-				if ((in - out + 1) < EOLBytes.length)
-					throw new UnsupportedOperationException("WorkbenchByteArrayOutputStream: Expanding EOL chars not implemented"); //$NON-NLS-1$
-
-				for (int i = 0; i < EOLBytes.length; i++) {
-					data[out++] = EOLBytes[i];
-				}
-			} else {
-				// Just copy the data
-				data[out++] = data[in];
-			}
-		}
-
-		return out;
-	}
-
-	/**
-	 * Is EOL conversion turned on.
-	 * 
-	 * @return <code>true</code> if EOL conversion is turned on.
-	 * 
-	 * @since 1.0.0
-	 */
-	public boolean isConvertEOLChars() {
-		return fConvertEOL;
-	}
-
-	/**
-	 * Set the EOL conversion flag.
-	 * 
-	 * @param set
-	 *            <code>true</code> if EOL should be converted to current line separator.
-	 * 
-	 * @since 1.0.0
-	 */
-	public void setConvertEOLChars(boolean set) {
-		fConvertEOL = set;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see java.io.ByteArrayOutputStream#toByteArray()
-	 */
-	public synchronized byte[] toByteArray() {
-		byte[] contents = super.toByteArray();
-		if (isConvertEOLChars())
-			convertEOL(contents);
-		return contents;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jem.util/jemutil/org/eclipse/jem/util/emf/workbench/WorkbenchResourceHelperBase.java b/plugins/org.eclipse.jem.util/jemutil/org/eclipse/jem/util/emf/workbench/WorkbenchResourceHelperBase.java
deleted file mode 100644
index 2601650..0000000
--- a/plugins/org.eclipse.jem.util/jemutil/org/eclipse/jem/util/emf/workbench/WorkbenchResourceHelperBase.java
+++ /dev/null
@@ -1,694 +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
- *******************************************************************************/
-/*
- *  $$RCSfile: WorkbenchResourceHelperBase.java,v $$
- *  $$Revision: 1.4 $$  $$Date: 2005/10/14 20:57:31 $$ 
- */
-package org.eclipse.jem.util.emf.workbench;
-
-import java.util.*;
-
-import org.eclipse.core.resources.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.emf.common.util.WrappedException;
-import org.eclipse.emf.ecore.*;
-import org.eclipse.emf.ecore.resource.*;
-import org.eclipse.emf.ecore.util.InternalEList;
-
-import org.eclipse.jem.internal.util.emf.workbench.EMFWorkbenchContextFactory;
-import org.eclipse.jem.internal.util.emf.workbench.WorkspaceResourceHandler;
-import org.eclipse.jem.util.plugin.JEMUtilPlugin;
-
-
-/**
- * Workbench resource helper
- * 
- * @since 1.0.0
- */
-public class WorkbenchResourceHelperBase {
-
-	/**
-	 * Everything is static, don't know why there is an instance here.
-	 */
-	public static final WorkbenchResourceHelperBase INSTANCE = new WorkbenchResourceHelperBase();
-
-	protected static WorkspaceResourceHandler workspaceURILoader = new WorkspaceResourceHandler();
-
-	protected static void resolveContainedProxies(EObject refObject) {
-		List contained = refObject.eContents();
-		EObject mofObject;
-		for (int i = 0; i < contained.size(); i++) {
-			mofObject = (EObject) contained.get(i);
-			resolveProxies(mofObject);
-		}
-	}
-
-	protected static void resolveNonContainedProxies(EObject refObject) {
-		List references = refObject.eClass().getEAllReferences();
-		EReference reference;
-		for (int i = 0; i < references.size(); i++) {
-			reference = (EReference) references.get(i);
-			if (!reference.isContainment()) {
-				if (reference.isMany()) {
-					List value = (List) refObject.eGet(reference);
-					for (int j = 0; j < value.size(); j++)
-						value.get(j);
-				} else {
-					refObject.eGet(reference);
-				}
-			}
-		}
-	}
-
-	/**
-	 * Force all of the proxies with <code>resource</code> to be resolved.
-	 * 
-	 * @param resource
-	 * 
-	 * @since 1.0.0
-	 */
-	public static void resolveProxies(Resource resource) {
-		if (resource != null) {
-			List topLevels = resource.getContents();
-			EObject mofObject;
-			for (int i = 0; i < topLevels.size(); i++) {
-				mofObject = (EObject) topLevels.get(i);
-				resolveProxies(mofObject);
-			}
-		}
-	}
-
-	/**
-	 * Return a List of proxies that are contained by the <code>resource</code>.
-	 * 
-	 * @param resource
-	 * @return list of proxies.
-	 * 
-	 * @since 1.0.0
-	 */
-	public static List gatherProxies(Resource resource) {
-		if (resource == null)
-			return Collections.EMPTY_LIST;
-		List list = new ArrayList();
-		List topLevels = resource.getContents();
-		int size = topLevels.size();
-		EObject mofObject;
-		for (int i = 0; i < size; i++) {
-			mofObject = (EObject) topLevels.get(i);
-			gatherProxies((InternalEObject) mofObject, list);
-		}
-		return list;
-	}
-
-	protected static void gatherProxies(InternalEObject refObject, List proxies) {
-		if (refObject == null)
-			return;
-		List contains = refObject.eClass().getEAllContainments();
-		if (contains != null) {
-			int size = contains.size();
-			EStructuralFeature sf = null;
-			for (int i = 0; i < size; i++) {
-				sf = (EStructuralFeature) contains.get(i);
-				gatherProxies(refObject, sf, proxies);
-			}
-		}
-	}
-
-	protected static void gatherProxies(InternalEObject refObject, EStructuralFeature sf, List proxies) {
-		Object value = null;
-		InternalEObject proxy = null;
-		if (sf.isMany() || refObject.eIsSet(sf)) {
-			value = refObject.eGet(sf, false);
-			if (value != null) {
-				if (sf.isMany()) {
-					Iterator j = ((InternalEList) value).basicIterator();
-					while (j.hasNext()) {
-						proxy = (InternalEObject) j.next();
-						if (proxy.eIsProxy())
-							proxies.add(proxy);
-					}
-				} else if (((InternalEObject) value).eIsProxy())
-					proxies.add(value);
-			}
-		}
-	}
-
-	protected static void resolveProxies(EObject refObject) {
-		if (refObject != null) {
-			resolveNonContainedProxies(refObject);
-			resolveContainedProxies(refObject);
-		}
-	}
-
-	/**
-	 * Return an existing context base on <code>aProject</code>.
-	 * 
-	 * @param aProject
-	 * @return the context base for the project or <code>null</code> if none.
-	 * 
-	 * @since 1.0.0
-	 */
-	public static EMFWorkbenchContextBase getEMFContext(IProject aProject) {
-		return EMFWorkbenchContextFactory.INSTANCE.getEMFContext(aProject);
-	}
-
-	/**
-	 * Create a resource from the URI. The URI must contain the project name, either as the first segment, or if in platform resource url protocol.
-	 * {@link #getResourceSet(URI)}
-	 * 
-	 * @param uri
-	 * @return a new resource for the uri or <code>null</code> if not a project uri
-	 * 
-	 * @since 1.0.0
-	 */
-	public static Resource createResource(URI uri) {
-		ResourceSet set = getResourceSet(uri);
-		if (set != null)
-			return set.createResource(uri);
-		return null;
-	}
-
-	/**
-	 * Check for a cached Resource for the given URI, if none is found, create a new Resource for with the URI against the proper ResourceSet.
-	 * 
-	 * @param uri The URI MUST be either a "<b>platform:/resource/</b>project-name/...." type URI or it
-	 * must be of type "project-name/...". This method will only return resources that are workbench project resources.
-	 * Any other type of URI will cause <code>null</code> to be returned.
-	 * @return resource or <code>null</code> if not a project uri.
-	 * 
-	 * @since 1.0.0
-	 */
-	public static Resource getExistingOrCreateResource(URI uri) {
-		return getExistingOrCreateResource(uri, getResourceSet(uri));
-	}
-	
-	/**
-	 * Get the IFile for the URI. The URI must be a workbench project style URI. 
-	 * @param uri The URI MUST be either a "<b>platform:/resource/</b>project-name/...." type URI or it
-	 * must be of type "project-name/...". This method will only return resources that are workbench project resources.
-	 * Any other type of URI will cause <code>null</code> to be returned.
-	 * @return the IFile if the URI is a project form, <code>null</code> if not a project form, OR the project doesn't exist. The IFile returned doesn't necessarily exist. Use {@link IFile#exists()} to test that.
-	 * 
-	 * @since 1.2.0
-	 */
-	public static IFile getIFile(URI uri) {
-		IProject project = getProject(uri);
-		if (project != null) {
-			IPath path;
-			if (isPlatformResourceURI(uri)) {
-				// Need to get the path and remove the first two segments (/resource/project name/).
-				path = new Path(URI.decode(uri.path())).removeFirstSegments(2);
-			} else {
-				// Need to get the path and remove the first segment (/project name/).
-				path = new Path(URI.decode(uri.path())).removeFirstSegments(1);
-			}
-			return project.getFile(path);
-		} else
-			return null;
-	}
-
-	/**
-	 * Check for a cached Resource for the given URI, if none is found, create a new Resource for with the URI against the given ResourceSet.
-	 * 
-	 * @param uri 
-	 * @param set
-	 * @return resource or <code>null</code> if set was <code>null</code>.
-	 * 
-	 * @since 1.0.0
-	 */
-	public static Resource getExistingOrCreateResource(URI uri, ResourceSet set) {
-		if (set != null) {
-			Resource res = set.getResource(uri, false);
-			if (res == null)
-				res = set.createResource(uri);
-			return res;
-		} else
-			return null;
-	}
-
-	/**
-	 * Return a new or existing context base on <code>aProject</code>. Allow the <code>contributor</code> to contribute to the new or existing
-	 * nature prior to returning.
-	 * 
-	 * @param aProject
-	 * @param contributor
-	 * @return the context base for the project.
-	 * 
-	 * @since 1.0.0
-	 */
-	public static EMFWorkbenchContextBase createEMFContext(IProject aProject, IEMFContextContributor contributor) {
-		return EMFWorkbenchContextFactory.INSTANCE.createEMFContext(aProject, contributor);
-	}
-
-	/**
-	 * Does the passed URI have the form platform:/resource/... ?
-	 * 
-	 * @param uri
-	 * @return <code>true</code> if it is a platform resource protocol.
-	 * 
-	 * @since 1.0.0
-	 */
-	public static boolean isPlatformResourceURI(URI uri) {
-		return JEMUtilPlugin.PLATFORM_PROTOCOL.equals(uri.scheme()) && JEMUtilPlugin.PLATFORM_RESOURCE.equals(uri.segment(0));
-	}
-
-	/**
-	 * This api may be used to cache a Resource if it has a URI that is Workspace relative. Return true if it is cached.
-	 * 
-	 * @param aResource
-	 * @return <code>true</code> if it was successful to cache.
-	 * 
-	 * @since 1.0.0
-	 */
-	public static boolean cacheResource(Resource aResource) {
-		if (aResource != null) {
-			ResourceSet set = getResourceSet(aResource.getURI());
-			if (set != null)
-				return set.getResources().add(aResource);
-		}
-		return false;
-	}
-
-	/**
-	 * This api is used if you create a new MOF resource and you want to add it to the correct ResourceSet. In order to do that, we need the IProject
-	 * that you want aResource to be cached within as well as the IPath which is the full path of the location of the new Resource.
-	 * 
-	 * @param aProject
-	 * @param aResource
-	 * @param fullPath
-	 * @return <code>true</code> if resource was cached.
-	 * 
-	 * @since 1.0.0
-	 */
-	public static boolean cacheResource(IProject aProject, Resource aResource, IPath fullPath) {
-		if (aProject == null || aResource == null || !aProject.isAccessible())
-			return false;
-		ResourceSet set = getResourceSet(aProject);
-		if (set != null) {
-			URI converted = set.getURIConverter().normalize(aResource.getURI());
-			if (converted != aResource.getURI())
-				aResource.setURI(converted);
-			return set.getResources().add(aResource);
-		}
-		return false;
-	}
-
-	/**
-	 * Get the path of the project resource relative to the workspace or relative to the list of containers in this project.
-	 * 
-	 * @param aResource
-	 * @return path
-	 * 
-	 * @since 1.0.0
-	 */
-	public static String getActualProjectRelativeURI(IResource aResource) {
-		if (aResource == null || !aResource.isAccessible())
-			return null;
-		IProject project = aResource.getProject();
-		IPath path = getPathInProject(project, aResource.getFullPath());
-		return path.makeRelative().toString();
-	}
-
-	/**
-	 * Return an IPath that can be used to load a Resource using the <code>fullPath</code>. This will be a project relative path.
-	 * 
-	 * @param project
-	 * @param fullPath
-	 * @return path
-	 * 
-	 * @since 1.0.0
-	 */
-	public static IPath getPathInProject(IProject project, IPath fullPath) {
-		List containers = getProjectURIConverterContainers(project);
-		if (!containers.isEmpty())
-			return getPathFromContainers(containers, fullPath);
-		return fullPath;
-	}
-
-	protected static List getProjectURIConverterContainers(IProject project) {
-		EMFWorkbenchContextBase nature = createEMFContext(project, null);
-		if (nature != null) {
-			WorkbenchURIConverter conv = (WorkbenchURIConverter) nature.getResourceSet().getURIConverter();
-			if (conv != null)
-				return conv.getInputContainers();
-		}
-		return Collections.EMPTY_LIST;
-	}
-
-	/**
-	 * If this path is contained within one of the listed containers, then return the path relative to the container.
-	 * 
-	 * @param containers
-	 * @param fullPath
-	 * @return path relative to a container, or unchanged path if not in a container.
-	 * 
-	 * @since 1.0.0
-	 */
-	public static IPath getPathFromContainers(List containers, IPath fullPath) {
-		IContainer container = null;
-		IPath result;
-		int size = containers.size();
-		int matching = -1;
-		IPath containerPath;
-		for (int i = 0; i < size; i++) {
-			container = (IContainer) containers.get(i);
-			containerPath = container.getFullPath();
-			matching = fullPath.matchingFirstSegments(containerPath);
-			if (matching > 0 && matching == containerPath.segmentCount()) {
-				result = fullPath.removeFirstSegments(matching);
-				result = result.makeRelative();
-				return result;
-			}
-		}
-		return fullPath;
-	}
-
-	/**
-	 * Return true if the <code>uri</code> has its container segments visible from the input containers for the <code>project</code>.
-	 * 
-	 * @param project
-	 * @param uri
-	 * @return <code>true</code> if the uri is visible from the input containers.
-	 * 
-	 * @since 1.0.0
-	 */
-	public static boolean hasContainerStructure(IProject project, URI uri) {
-		if (project != null && uri != null) {
-			IPath path = new Path(uri.toString());
-			List containers = getProjectURIConverterContainers(project);
-			int segmentCount = path.segmentCount();
-			IPath containerPath = segmentCount > 1 ? path.removeLastSegments(1) : null;
-			IContainer container = null;
-			for (int i = 0; i < containers.size(); i++) {
-				container = (IContainer) containers.get(i);
-				if (!container.isAccessible())
-					continue;
-				if (segmentCount == 1) {
-					if (container == project)
-						return true;
-				} else if (containerPath != null) {
-					IFolder folder = container.getFolder(containerPath);
-					if (folder != null && folder.isAccessible())
-						return true;
-				}
-			}
-		}
-		return false;
-	}
-
-	/**
-	 * Get the resource for the uri. The URI MUST be either a "<b>platform:/resource/</b>project-name/...." type URI or it
-	 * must be of type "project-name/...". This method will only return resources that are workbench project resources.
-	 * Any other type of URI will cause <code>null</code> to be returned. It will be loaded if not already loaded. If it is not to
-	 * be loaded if not loaded use {@link #getResource(URI, boolean)} instead.
-	 * 
-	 * @param uri must be either a "<b>platform:/resource/</b>project-name/..." form or it must be "project-name/...". Any other form will be invalid.
-	 * @return resource if uri is for a valid workbench project resource or <code>null</code> if project not found or not a valid project resource.
-	 * 
-	 * @throws WrappedException if valid project format URI but file not found or some other error on load.
-	 * @since 1.0.0
-	 */
-	public static Resource getResource(URI uri) {
-		return getResource(uri, true);
-	}
-
-	/**
-	 * Return the Resource for the passed IFile without forcing a load.
-	 * 
-	 * @param aFile
-	 * @return
-	 * 
-	 * @since 1.0.0
-	 */
-	public static Resource getResource(IFile aFile) {
-		return getResource(aFile, false);
-	}
-
-	/**
-	 * Return the Resource for the passed IFile, forcing a load if <code>loadOnDemand</code> says so.
-	 * 
-	 * @param aFile
-	 * @param loadOnDemand
-	 *            <code>true</code> will force a load of resource if not loaded.
-	 * @return
-	 * 
-	 * @since 1.0.0
-	 */
-	public static Resource getResource(IFile aFile, boolean loadOnDemand) {
-		if (aFile != null)
-			return getResource(URI.createPlatformResourceURI(aFile.getFullPath().toString()), loadOnDemand);
-		return null;
-	}
-
-	/**
-	 * Return the Resource for the passed IFile without a load if not loaded.
-	 * 
-	 * @param aFile
-	 * @return
-	 * 
-	 * @since 1.0.0
-	 */
-	public static Resource load(IFile aFile) {
-		return getResource(aFile, true);
-	}
-
-	/**
-	 * Get the resource for the uri. The URI MUST be either a "<b>platform:/resource/</b>project-name/...." type URI or it
-	 * must be of type "project-name/...". This method will only return resources that are workbench project resources.
-	 * Any other type of URI will cause <code>null</code> to be returned.
-	 * 
-	 * @param uri must be either a "<b>platform:/resource/</b>project-name/..." form or it must be "project-name/...". Any other form will be invalid.
-	 * @param loadOnDemand <code>true</code> will cause resource to be loaded if not already loaded.
-	 * @return resource if uri is for a valid workbench project resource, or <code>null</code> if project not found, or not a valid project resource uri.
-	 * 
-	 * @throws WrappedException if valid project format URI but file not found or some other error on load if loadOnDemand is true.
-	 * @since 1.0.0
-	 */
-	public static Resource getResource(URI uri, boolean loadOnDemand) {
-		ResourceSet set = getResourceSet(uri);
-		if (set != null)
-			return set.getResource(uri, loadOnDemand);
-		return null;
-	}
-
-	/**
-	 * Return a ResourceSet for the passed URI. The URI should be in the format platform:/resource/{project name}/... or {project name}/... for this
-	 * api to work.
-	 * 
-	 * @param uri
-	 * @return the resource set or <code>null</code> if not of correct form or project doesn't have a resource set.
-	 * 
-	 * @since 1.0.0
-	 */
-	public static ResourceSet getResourceSet(URI uri) {
-		IProject project = getProject(uri);
-		if (project != null && project.isAccessible())
-			return getResourceSet(project);
-		else
-			return null;
-	}
-	
-	/*
-	 * Get the project for the uri if the uri is a valid workbench project format uri. null otherwise.
-	 */
-	private static IProject getProject(URI uri) {
-		String projectName;
-		if (isPlatformResourceURI(uri))
-			projectName = uri.segment(1);
-		else if (uri.scheme() == null) {
-			projectName = new Path(uri.path()).segment(0); //assume project name is first in the URI
-		} else
-			return null;
-		IProject project = getWorkspace().getRoot().getProject(URI.decode(projectName));
-		if (project != null && project.isAccessible())
-			return project;
-		else
-			return null;
-	}
-
-	/**
-	 * Return the ResourceSet for the passed IProject.
-	 * 
-	 * @param project
-	 * @return resource set
-	 */
-	public static ResourceSet getResourceSet(IProject project) {
-		EMFWorkbenchContextBase nat = createEMFContext(project, null);
-		if (nat != null)
-			return nat.getResourceSet();
-		return null;
-	}
-
-	/**
-	 * Get the workspace. (just use {@link ResourcesPlugin#getWorkspace()}).
-	 * 
-	 * @return
-	 * 
-	 * @since 1.0.0
-	 */
-	public static IWorkspace getWorkspace() {
-		return ResourcesPlugin.getWorkspace();
-	}
-
-	/**
-	 * Get the project associated with the resource set.
-	 * 
-	 * @param set
-	 * @return project or <code>null</code> if resource set not associated with a project.
-	 * 
-	 * @since 1.0.0
-	 */
-	public static IProject getProject(ResourceSet set) {
-		if (set != null) {
-			if (set instanceof ProjectResourceSet) {
-				ProjectResourceSet pset = (ProjectResourceSet) set;
-				return pset.getProject();
-			}
-		}
-		return null;
-	}
-
-	protected static boolean isRegisteredURIMapping(String href) {
-		if (href != null) {
-			String file = href;
-			int index = href.indexOf('#');
-			if (index > -1)
-				file = href.substring(0, index);
-			return URIConverter.URI_MAP.get(file) != null;
-		}
-		return false;
-	}
-
-	/**
-	 * Remove all of the resources from the resource set and then unload them. Unload forces all of the objects to become proxies so next resolve will
-	 * reload the resource.
-	 * 
-	 * @param resources
-	 * @param aSet
-	 * 
-	 * @since 1.0.0
-	 */
-	public static void removeAndUnloadAll(List resources, ResourceSet aSet) {
-		if (aSet == null || resources == null || resources.isEmpty())
-			return;
-		aSet.getResources().removeAll(resources);
-		Resource res;
-		for (int i = 0; i < resources.size(); i++) {
-			res = (Resource) resources.get(i);
-			res.unload();
-		}
-	}
-
-	/**
-	 * Turn object into a proxy.
-	 * 
-	 * @param anObject
-	 * @return <code>true</code> if object was able to become a proxy.
-	 * 
-	 * @since 1.0.0
-	 */
-	public static boolean becomeProxy(EObject anObject) {
-		if (anObject != null) {
-			Resource res = anObject.eResource();
-			if (res != null) {
-				URI uri = res.getURI();
-				((InternalEObject) anObject).eSetProxyURI(uri.appendFragment(res.getURIFragment(anObject)));
-				//anObject.eAdapters().clear();
-				return true;
-			}
-		}
-		return false;
-	}
-
-	/**
-	 * Return true if the WrappedException is actually a Resource Not Found.
-	 * 
-	 * @param wrappedEx
-	 * @return <code>true</code> is exception wrappers a resource not found.
-	 * @since 1.0.0
-	 */
-	public static boolean isResourceNotFound(WrappedException wrappedEx) {
-		Exception excep = wrappedEx.exception();
-		while (excep instanceof WrappedException) {
-			excep = ((WrappedException) excep).exception();
-		}
-		return primIsResourceNotFound(excep);
-	}
-
-	private static boolean primIsResourceNotFound(Exception excep) {
-		if (excep instanceof CoreException) {
-			IStatus status = ((CoreException) excep).getStatus();
-			return status.getCode() == IResourceStatus.RESOURCE_NOT_FOUND && ResourcesPlugin.PI_RESOURCES.equals(status.getPlugin());
-		}
-		return false;
-	}
-
-	/**
-	 * Return true if the WrappedException is actually a Resource Not Found.
-	 * 
-	 * @param wrappedEx
-	 * @return <code>true</code> is exception wrappers a resource not found.
-	 * @since 1.0.0
-	 */
-	public static boolean isResourceNotFound(Resource.IOWrappedException wrappedEx) {
-		return primIsResourceNotFound(wrappedEx.getWrappedException());
-	}
-
-	/**
-	 * Return a URI represenation of the platformURI without the leading "platform:/resource/" if present.
-	 * 
-	 * @param platformURI
-	 * @return uri
-	 * @since 1.0.0
-	 */
-	public static URI getNonPlatformURI(URI platformURI) {
-		if (isPlatformResourceURI(platformURI)) {
-			String uriString = primGetNonPlatformURIString(platformURI);
-			return URI.createURI(uriString);
-		}
-		return platformURI;
-	}
-
-	/**
-	 * Return a String represenation of the platformURI without the leading "platform:/resource/" if present.
-	 * 
-	 * @param platformURI
-	 * @return
-	 * @since 1.0.0
-	 */
-	public static String getNonPlatformURIString(URI platformURI) {
-		if (isPlatformResourceURI(platformURI)) { return primGetNonPlatformURIString(platformURI); }
-		return platformURI.toString();
-	}
-
-	/*
-	 * Remove "platform:/resource/" from the front of the platformURI and return the remaining String.
-	 */
-	private static String primGetNonPlatformURIString(URI platformURI) {
-		String uriString = platformURI.toString();
-		//"platform:/resource/" is 19 characters.
-		return uriString.substring(19, uriString.length());
-	}
-
-	/**
-	 * Does the passed URI have the form platform:/plugin/... ?
-	 * 
-	 * @param uri
-	 * @return <code>true</code> if uri is platform plugin protocol.
-	 * 
-	 * @since 1.0.0
-	 */
-	public static boolean isPlatformPluginResourceURI(URI uri) {
-		return JEMUtilPlugin.PLATFORM_PROTOCOL.equals(uri.scheme()) && JEMUtilPlugin.PLATFORM_PLUGIN.equals(uri.segment(0));
-	}
-
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jem.util/jemutil/org/eclipse/jem/util/emf/workbench/WorkbenchURIConverter.java b/plugins/org.eclipse.jem.util/jemutil/org/eclipse/jem/util/emf/workbench/WorkbenchURIConverter.java
deleted file mode 100644
index e556851..0000000
--- a/plugins/org.eclipse.jem.util/jemutil/org/eclipse/jem/util/emf/workbench/WorkbenchURIConverter.java
+++ /dev/null
@@ -1,154 +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
- *******************************************************************************/
-/*
- *  $$RCSfile: WorkbenchURIConverter.java,v $$
- *  $$Revision: 1.2 $$  $$Date: 2005/02/15 23:04:14 $$ 
- */
-package org.eclipse.jem.util.emf.workbench;
-
-import java.util.List;
-
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.emf.ecore.resource.URIConverter;
-
-/**
- * Implementers of this interface are WorkbenchURI converters. Workbench URI converters handle references to files in the project's containers.
- * This converter is only necessary to resolve old ambiguous workbench URIs.
- * @since 1.0.0
- */
-public interface WorkbenchURIConverter extends URIConverter {
-
-	/**
-	 * Add input container to to the converter.
-	 * 
-	 * @param aContainer
-	 * 
-	 * @since 1.0.0
-	 */
-	void addInputContainer(IContainer aContainer);
-
-	/**
-	 * Add list of containers to the converter.
-	 * 
-	 * @param containers
-	 *            list of <code>IContainer</code>
-	 * 
-	 * @since 1.0.0
-	 */
-	void addInputContainers(List containers);
-
-	/**
-	 * Get the file relative to a container.
-	 * 
-	 * @param uri
-	 * @return file relative to a container or <code>null</code> if not.
-	 * 
-	 * @since 1.0.0
-	 */
-	IFile getFile(String uri);
-
-	/**
-	 * Get first input container
-	 * 
-	 * @return first input container or <code>null</code> if none set.
-	 * 
-	 * @since 1.0.0
-	 */
-	IContainer getInputContainer();
-
-	/**
-	 * Get all input containers.
-	 * 
-	 * @return all input containers.
-	 * 
-	 * @since 1.0.0
-	 */
-	List getInputContainers();
-
-	/**
-	 * Get the output container if set.
-	 * 
-	 * @return output container or <code>null</code> if not set.
-	 * 
-	 * @since 1.0.0
-	 */
-	IContainer getOutputContainer();
-
-	/**
-	 * Set the output container.
-	 * 
-	 * @param container
-	 * 
-	 * @since 1.0.0
-	 */
-	void setOutputContainer(IContainer container);
-
-	/**
-	 * Return an IFile for
-	 * 
-	 * @aPath. If we have a parent and we do not contain the first segment of the aPath, forward to the parent to retrieve the file.
-	 * @param aPath
-	 * @return
-	 * 
-	 * @since 1.0.0
-	 */
-	IFile getOutputFile(IPath aPath);
-
-	/**
-	 * Get output file with mapping applied.
-	 * 
-	 * @param uri
-	 * @return
-	 * 
-	 * @since 1.0.0
-	 */
-	IFile getOutputFileWithMappingApplied(String uri);
-
-	/**
-	 * Remove input container from list.
-	 * 
-	 * @param aContainer
-	 * @return <code>true</code> if removed.
-	 * 
-	 * @since 1.0.0
-	 */
-	boolean removeInputContainer(IContainer aContainer);
-
-	/**
-	 * Return true if we can retrieve the resource used to open an input stream on.
-	 * 
-	 * @param aFileName
-	 * @return <code>true</code> if filename is valid for file stream access.
-	 * @since 1.0.0
-	 *  
-	 */
-	boolean canGetUnderlyingResource(String aFileName);
-
-	/**
-	 * Is force save relative flag turned on.
-	 * 
-	 * @return <code>true</code> if force save relative is turned on.
-	 * 
-	 * @since 1.0.0
-	 */
-	boolean isForceSaveRelative();
-
-	/**
-	 * Set to true if you do not want any path manipulation when creating the output stream..
-	 * 
-	 * @param forceSaveRelative
-	 *            <code>true</code> to force saves as relative.
-	 */
-	void setForceSaveRelative(boolean forceSaveRelative);
-
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jem.util/jemutil/org/eclipse/jem/util/emf/workbench/WorkbenchURIConverterImpl.java b/plugins/org.eclipse.jem.util/jemutil/org/eclipse/jem/util/emf/workbench/WorkbenchURIConverterImpl.java
deleted file mode 100644
index 6365551..0000000
--- a/plugins/org.eclipse.jem.util/jemutil/org/eclipse/jem/util/emf/workbench/WorkbenchURIConverterImpl.java
+++ /dev/null
@@ -1,514 +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
- *******************************************************************************/
-/*
- *  $$RCSfile: WorkbenchURIConverterImpl.java,v $$
- *  $$Revision: 1.6 $$  $$Date: 2006/05/17 20:13:45 $$ 
- */
-package org.eclipse.jem.util.emf.workbench;
-
-import java.io.*;
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.resources.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.emf.ecore.resource.Resource;
-import org.eclipse.emf.ecore.resource.impl.URIConverterImpl;
-
-import org.eclipse.jem.util.plugin.JEMUtilPlugin;
-
-
-/**
- * A default implementation of the WorkbenchURIConverter interface.
- * 
- * @since 1.0.0
- */
-public class WorkbenchURIConverterImpl extends URIConverterImpl implements WorkbenchURIConverter {
-
-	private final static IWorkspaceRoot WORKSPACE_ROOT = URIConverterImpl.workspaceRoot;
-	private final static String WORKSPACE_ROOT_LOCATION = WORKSPACE_ROOT.getLocation().toString();
-
-	private static final String FILE_PROTOCOL = "file"; //$NON-NLS-1$
-
-	private static final IPath INVALID_PATH = new Path("!!!!~!!!!"); //$NON-NLS-1$
-
-	private static final IFile INVALID_FILE = WORKSPACE_ROOT.getFile(INVALID_PATH.append(INVALID_PATH));
-
-	//Used to avoid trying to fixup the URI when getting the
-	//OutputStream
-	protected boolean forceSaveRelative = false;
-
-	protected List inputContainers;
-
-	protected IContainer outputContainer;
-
-	protected ResourceSetWorkbenchSynchronizer resourceSetSynchronizer;
-	
-	/*
-	 * KLUDGE: We need to know the meta data area. This is so that any uri that starts with the metadata directory
-	 * is considered a file uri and NOT a workspace uri. The metadata is where plugin's store their working data.
-	 * It is not part of the workspace root.
-	 *  
-	 * There is no request for simply the metadata area. The log file is in the metadata directory. So we will
-	 * get the log file location and just remove the log file name. That should leave us with the metadata directory
-	 * only. If Eclipse ever decides to move it from here, this will no longer work. But it hasn't moved in three 
-	 * versions.
-	 * 
-	 * @since 1.1.0
-	 */
-	static protected final String METADATA_LOCATION = Platform.getLogFileLocation().removeLastSegments(1).toString();
-
-	/**
-	 * Default converter constructor, no containers.
-	 * 
-	 * 
-	 * @since 1.0.0
-	 */
-	public WorkbenchURIConverterImpl() {
-		super();
-	}
-
-	/**
-	 * Construct with an input container.
-	 * 
-	 * @param anInputContainer
-	 * 
-	 * @since 1.0.0
-	 */
-	public WorkbenchURIConverterImpl(IContainer anInputContainer) {
-		this(anInputContainer, (ResourceSetWorkbenchSynchronizer) null);
-	}
-
-	/**
-	 * Construct with an input container and a synchronzier.
-	 * 
-	 * @param aContainer
-	 * @param aSynchronizer
-	 * 
-	 * @since 1.0.0
-	 */
-	public WorkbenchURIConverterImpl(IContainer aContainer, ResourceSetWorkbenchSynchronizer aSynchronizer) {
-		this(aContainer, null, aSynchronizer);
-	}
-
-	/**
-	 * Construct with an input container and an output container.
-	 * 
-	 * @param anInputContainer
-	 * @param anOutputContainer
-	 * 
-	 * @since 1.0.0
-	 */
-	public WorkbenchURIConverterImpl(IContainer anInputContainer, IContainer anOutputContainer) {
-		this(anInputContainer, anOutputContainer, null);
-	}
-
-	/**
-	 * Construct with an input container, output container, and a synchronizer.
-	 * 
-	 * @param anInputContainer
-	 * @param anOutputContainer
-	 * @param aSynchronizer
-	 * 
-	 * @since 1.0.0
-	 */
-	public WorkbenchURIConverterImpl(IContainer anInputContainer, IContainer anOutputContainer, ResourceSetWorkbenchSynchronizer aSynchronizer) {
-		addInputContainer(anInputContainer);
-		setOutputContainer(anOutputContainer);
-		resourceSetSynchronizer = aSynchronizer;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jem.util.emf.workbench.WorkbenchURIConverter#addInputContainer(org.eclipse.core.resources.IContainer)
-	 */
-	public void addInputContainer(IContainer aContainer) {
-		if (aContainer != null && !getInputContainers().contains(aContainer))
-			getInputContainers().add(aContainer);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jem.util.emf.workbench.WorkbenchURIConverter#addInputContainers(java.util.List)
-	 */
-	public void addInputContainers(List containers) {
-		for (int i = 0; i < containers.size(); i++) {
-			addInputContainer((IContainer) containers.get(i));
-		}
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jem.util.emf.workbench.WorkbenchURIConverter#removeInputContainer(org.eclipse.core.resources.IContainer)
-	 */
-	public boolean removeInputContainer(IContainer aContainer) {
-		return getInputContainers().remove(aContainer);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jem.util.emf.workbench.WorkbenchURIConverter#getInputContainers()
-	 */
-	public List getInputContainers() {
-		if (inputContainers == null)
-			inputContainers = new ArrayList();
-		return inputContainers;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jem.util.emf.workbench.WorkbenchURIConverter#getInputContainer()
-	 */
-	public IContainer getInputContainer() {
-		if (!getInputContainers().isEmpty())
-			return (IContainer) getInputContainers().get(0);
-		else
-			return null;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jem.util.emf.workbench.WorkbenchURIConverter#getOutputContainer()
-	 */
-	public IContainer getOutputContainer() {
-		if (outputContainer == null)
-			outputContainer = getInputContainer();
-		return outputContainer;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jem.util.emf.workbench.WorkbenchURIConverter#setOutputContainer(org.eclipse.core.resources.IContainer)
-	 */
-	public void setOutputContainer(IContainer newOutputContainer) {
-		outputContainer = newOutputContainer;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jem.util.emf.workbench.WorkbenchURIConverter#getOutputFile(org.eclipse.core.runtime.IPath)
-	 */
-	public IFile getOutputFile(IPath aPath) {
-		IFile file = null;
-		if (getOutputContainer() != null) {
-			if (forceSaveRelative)
-				return primGetOutputFile(aPath);
-			file = getOutputFileForPathWithContainerSegments(aPath);
-			if (file != null)
-				return file;
-			else
-				return primGetOutputFile(aPath);
-		}
-		return file;
-	}
-
-	protected IFile primGetOutputFile(IPath aPath) {
-		return primGetFile(getOutputContainer(), aPath);
-	}
-
-	protected IFile getOutputFileForPathWithContainerSegments(IPath aPath) {
-		IContainer out = getOutputContainer();
-		return getFileForPathWithContainerSegments(aPath, out, false);
-	}
-
-	protected IFile getFileForPathWithContainerSegments(IPath aPath, IContainer container, boolean testExists) {
-		IPath containerPath = null;
-		IFile file = null;
-		if (testExists) {
-			containerPath = container.getProjectRelativePath();
-			if (!containerPath.isEmpty()) {
-				file = getFileForMatchingPath(aPath, containerPath, container);
-				if (file != null && file.exists())
-					return file;
-			}
-		}
-		containerPath = container.getFullPath();
-		file = getFileForMatchingPath(aPath, containerPath, container);
-		return file;
-	}
-
-	protected IFile getFileForMatchingPath(IPath containerPath, IPath sourcePath, IContainer container) {
-		int matches = 0;
-		matches = containerPath.matchingFirstSegments(sourcePath);
-		if (matches > 0 && matches == sourcePath.segmentCount()) {
-			IPath loadPath = containerPath.removeFirstSegments(matches);
-			return primGetFile(container, loadPath);
-		}
-		return null;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jem.util.emf.workbench.WorkbenchURIConverter#getFile(java.lang.String)
-	 */
-	public IFile getFile(String uri) {
-		return getFile(new Path(uri));
-	}
-
-	/**
-	 * Get the file from the path.
-	 * 
-	 * @param path
-	 * @return
-	 * @see WorkbenchURIConverter#getFile(String)
-	 * @since 1.0.0
-	 */
-	public IFile getFile(IPath path) {
-		IFile file = null;
-		if (getInputContainer() != null) {
-			path = path.makeRelative();
-			java.util.Iterator it = getInputContainers().iterator();
-			while (it.hasNext()) {
-				IContainer con = (IContainer) it.next();
-				file = getInputFile(con, path);
-				if (file != null && file.exists())
-					return file;
-			}
-		}
-		if (file == null)
-			return INVALID_FILE;
-		return file;
-	}
-
-	/**
-	 * Get output file from string path.
-	 * 
-	 * @param uri
-	 * @return
-	 * 
-	 * @see WorkbenchURIConverter#getOutputFile(IPath)
-	 * @since 1.0.0
-	 */
-	public IFile getOutputFile(String uri) {
-		return getOutputFile(new Path(uri));
-	}
-
-	/**
-	 * Get the input file from the container and path.
-	 * 
-	 * @param con
-	 * @param path
-	 * @return
-	 * 
-	 * @since 1.0.0
-	 */
-	public IFile getInputFile(IContainer con, IPath path) {
-		IFile file = null;
-		if (WORKSPACE_ROOT.equals(con) && path.segmentCount() < 2)
-			path = INVALID_PATH.append(path);
-		file = primGetFile(con, path);
-		if (file == null || !file.exists())
-			file = getFileForPathWithContainerSegments(path, con, true);
-		return file;
-	}
-
-	protected IFile primGetFile(IContainer container, IPath path) {
-		try {
-			return container.getFile(path);
-		} catch (IllegalArgumentException ex) {
-		}
-		return null;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jem.util.emf.workbench.WorkbenchURIConverter#canGetUnderlyingResource(java.lang.String)
-	 */
-	public boolean canGetUnderlyingResource(String aFileName) {
-		IFile file = getFile(aFileName);
-		return file != null && file.exists();
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jem.util.emf.workbench.WorkbenchURIConverter#isForceSaveRelative()
-	 */
-	public boolean isForceSaveRelative() {
-		return forceSaveRelative;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jem.util.emf.workbench.WorkbenchURIConverter#setForceSaveRelative(boolean)
-	 */
-	public void setForceSaveRelative(boolean forceSaveRelative) {
-		this.forceSaveRelative = forceSaveRelative;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.emf.ecore.resource.URIConverter#normalize(org.eclipse.emf.common.util.URI)
-	 */public URI normalize(URI uri) {
-		URI result = uri;
-		String fragment = null;
-		if (uri.hasFragment()) {
-			fragment = uri.fragment();
-			result = uri.trimFragment();
-		}
-		result = getInternalURIMap().getURI(result);
-		if (WorkbenchResourceHelperBase.isPlatformResourceURI(result))
-			return appendFragment(result, fragment);
-		if (WorkbenchResourceHelperBase.isPlatformPluginResourceURI(result)) {
-			URI normalized = normalizePluginURI(result, fragment);
-			return (normalized != null) ? normalized : uri;
-		}
-		String protocol = result.scheme();
-		URI fileSearchURI = null;
-		if (protocol == null) {
-			fileSearchURI = normalizeEmptyProtocol(result, fragment);
-			if (fileSearchURI != null)
-				return fileSearchURI;
-		} else if (FILE_PROTOCOL.equals(protocol)) {
-			fileSearchURI = normalizeFileProtocol(result, fragment);
-			if (fileSearchURI != null)
-				return fileSearchURI;
-		} else if (JEMUtilPlugin.WORKSPACE_PROTOCOL.equals(protocol))
-			return normalizeWorkspaceProtocol(result, fragment);
-		return super.normalize(uri);
-	}
-
-	/*
-	 * Resolves a plugin format into the actual.
-	 */
-	protected URI normalizePluginURI(URI uri, String fragment) {
-		if (uri.segmentCount() < 2)
-			return uri; // Invalid, just let it go on.
-		// See if already normalized.
-		int u_scoreNdx = uri.segment(1).lastIndexOf('_');
-		if (u_scoreNdx != -1) {
-			// Not normalized. Remove the version to make it normalized.
-			String[] segments = uri.segments();
-			segments[1] = segments[1].substring(0, u_scoreNdx);
-			return URI.createHierarchicalURI(uri.scheme(), uri.authority(), uri.device(), segments, uri.query(), fragment);
-		} else
-			return uri;
-	}
-
-	protected URI normalizeWorkspaceProtocol(URI aWorkspaceURI, String fragment) {
-		URI result;
-		String uriString = aWorkspaceURI.toString();
-		uriString = uriString.substring(JEMUtilPlugin.WORKSPACE_PROTOCOL.length() + 1);
-		result = URI.createPlatformResourceURI(uriString);
-		if (fragment != null)
-			result = appendFragment(aWorkspaceURI, fragment);
-		return result;
-	}
-	
-	protected URI normalizeEmptyProtocol(URI aFileUri, String fragment) {
-		//Make the relative path absolute and return a platform URI.
-		IPath path = new Path(aFileUri.toString());
-		return normalizeToWorkspaceURI(path, fragment);
-	}
-	
-	private URI normalizeToWorkspaceURI(IPath path, String fragment) {
-		URI result = null;
-		IFile file = getFile(path);
-		if (file == null || !file.exists())
-			file = getOutputFile(path);
-		if (file != null) {
-			result = URI.createPlatformResourceURI(file.getFullPath().toString());
-			result = appendFragment(result, fragment);
-		}
-		return result;
-	}
-	
-	protected URI normalizeFileProtocol(URI aFileUri, String fragment) {
-		URI result = null;
-		//Make the relative path absolute and return a platform URI.
-		String devicePath = aFileUri.devicePath();
-		//Test for workspace location.
-		if (!devicePath.startsWith(METADATA_LOCATION) &&
-			devicePath.startsWith(WORKSPACE_ROOT_LOCATION) && devicePath.length() > WORKSPACE_ROOT_LOCATION.length()) {
-			//test for workspace location
-			result = normalizeToWorkspaceURI(new Path(devicePath.substring(WORKSPACE_ROOT_LOCATION.length())), fragment);
-		} else if (aFileUri.isRelative()) {
-			result = normalizeToWorkspaceURI(new Path(aFileUri.toString()), fragment);
-		} else {
-			result = aFileUri;
-		}
-		return result;
-	}
-	
-	protected URI appendFragment(URI result, String fragment) {
-		if (fragment != null)
-			return result.appendFragment(fragment);
-		else
-			return result;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jem.util.emf.workbench.WorkbenchURIConverter#getOutputFileWithMappingApplied(java.lang.String)
-	 */
-	public IFile getOutputFileWithMappingApplied(String uri) {
-		URI converted = getInternalURIMap().getURI(URI.createURI(uri));
-		return getOutputFile(new Path(converted.toString()));
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.emf.ecore.resource.impl.URIConverterImpl#createPlatformResourceOutputStream(java.lang.String)
-	 */
-	public OutputStream createPlatformResourceOutputStream(String platformResourcePath) throws IOException {
-		IFile file = WORKSPACE_ROOT.getFile(new Path(platformResourcePath));
-		ProjectUtilities.ensureContainerNotReadOnly(file);
-		return new WorkbenchByteArrayOutputStream(file, resourceSetSynchronizer);
-	}
-
-	protected URI getContainerRelativeURI(IFile aFile) {
-		IPath path = WorkbenchResourceHelperBase.getPathFromContainers(inputContainers, aFile.getFullPath());
-		if (path != null)
-			return URI.createURI(path.toString());
-		return null;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.emf.ecore.resource.impl.URIConverterImpl#createPlatformResourceInputStream(java.lang.String)
-	 */
-	public InputStream createPlatformResourceInputStream(String platformResourcePath) throws IOException {
-		IFile file = WORKSPACE_ROOT.getFile(new Path(platformResourcePath));
-		try {
-			if (!file.isSynchronized(IResource.DEPTH_ONE)) {
-				try {
-					File iofile = file.getFullPath().toFile();
-					if (iofile.exists() || file.exists())
-						file.refreshLocal(IResource.DEPTH_ONE, null);
-				} catch (CoreException ce) {
-					if (ce.getStatus().getCode() != IResourceStatus.WORKSPACE_LOCKED)
-						throw ce;
-				}
-			}
-			// CHANGED from <no-args> to <true> [94015]
-			return file.getContents(true);
-		} catch (CoreException exception) {
-			throw new Resource.IOWrappedException(exception);
-		}		
-	}
-
-}
diff --git a/plugins/org.eclipse.jem.util/jemutil/org/eclipse/jem/util/emf/workbench/nature/EMFNature.java b/plugins/org.eclipse.jem.util/jemutil/org/eclipse/jem/util/emf/workbench/nature/EMFNature.java
deleted file mode 100644
index f7f288a..0000000
--- a/plugins/org.eclipse.jem.util/jemutil/org/eclipse/jem/util/emf/workbench/nature/EMFNature.java
+++ /dev/null
@@ -1,554 +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
- *******************************************************************************/
-/*
- *  $$RCSfile: EMFNature.java,v $$
- *  $$Revision: 1.4 $$  $$Date: 2005/02/15 23:04:14 $$ 
- */
-package org.eclipse.jem.util.emf.workbench.nature;
-
-import java.util.*;
-
-import org.eclipse.core.resources.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.emf.common.util.*;
-import org.eclipse.emf.ecore.resource.Resource;
-import org.eclipse.emf.ecore.resource.ResourceSet;
-import org.eclipse.emf.ecore.xmi.XMLParserPool;
-import org.eclipse.emf.ecore.xmi.impl.XMLParserPoolImpl;
-
-import org.eclipse.jem.internal.util.emf.workbench.nature.EMFNatureRegistry;
-import org.eclipse.jem.util.emf.workbench.*;
-import org.eclipse.jem.util.logger.proxy.Logger;
-
-
-/**
- * The base EMFNature.
- * <p>
- * This is expected to be subclassed by clients, but there are default subclasses available.
- * </p>
- * 
- * @since 1.0.0
- */
-public abstract class EMFNature implements IProjectNature, IEMFContextContributor {
-
-	protected IProject project;
-
-	protected EMFWorkbenchContextBase emfContext;
-
-	protected boolean hasConfigured = false;
-	
-	public static XMLParserPool SHARED_PARSER_POOL = new XMLParserPoolImpl();	
-
-	public EMFNature() {
-		super();
-	}
-
-	/**
-	 * Add the nature id to the project.
-	 * 
-	 * @param proj
-	 * @param natureId
-	 * @throws CoreException
-	 * 
-	 * @since 1.0.0
-	 */
-	protected static void addNatureToProject(IProject proj, String natureId) throws CoreException {
-		ProjectUtilities.addNatureToProject(proj, natureId);
-	}
-
-	/**
-	 * Configures the project with this nature. This is called by <code>IProject.addNature</code> and should not be called directly by clients. The
-	 * nature extension id is added to the list of natures on the project by <code>IProject.addNature</code>, and need not be added here.
-	 * 
-	 * <p>
-	 * All subtypes must call super. The better way for subtypes is to override primConfigure instead.
-	 * </p>
-	 * 
-	 * @throws CoreException
-	 * @since 1.0.0
-	 */
-	public void configure() throws org.eclipse.core.runtime.CoreException {
-		if (!hasConfigured) {
-			hasConfigured = true;
-			primConfigure();
-		}
-	}
-
-	/**
-	 * Called from configure the first time configure is called on the nature. Default is do nothing. Subclasses should override and add in their own
-	 * configuration.
-	 * 
-	 * @throws org.eclipse.core.runtime.CoreException
-	 * 
-	 * @since 1.0.0
-	 */
-	protected void primConfigure() throws org.eclipse.core.runtime.CoreException {
-
-	}
-
-	/**
-	 * Create an EMF context for the project.
-	 * 
-	 * @throws CoreException
-	 * 
-	 * @since 1.0.0
-	 */
-	protected void createEmfContext() throws CoreException {
-		WorkbenchResourceHelperBase.createEMFContext(getProject(), this);
-	}
-
-	/**
-	 * Create a folder relative to the project based on aProjectRelativePathString.
-	 * 
-	 * @param aProjectRelativePathString
-	 * @return
-	 * @throws CoreException
-	 * 
-	 * @since 1.0.0
-	 */
-	public IFolder createFolder(String aProjectRelativePathString) throws CoreException {
-		if (aProjectRelativePathString != null && aProjectRelativePathString.length() > 0)
-			return createFolder(new Path(aProjectRelativePathString));
-		return null;
-	}
-
-	/**
-	 * Create a folder relative to the project based on aProjectRelativePathString.
-	 * 
-	 * @param aProjectRelativePath
-	 * @return
-	 * @throws CoreException
-	 * 
-	 * @since 1.0.0
-	 */
-	public IFolder createFolder(IPath aProjectRelativePath) throws CoreException {
-		if (aProjectRelativePath != null && !aProjectRelativePath.isEmpty()) {
-			IFolder folder = getWorkspace().getRoot().getFolder(getProjectPath().append(aProjectRelativePath));
-			if (!folder.exists()) {
-				ProjectUtilities.ensureContainerNotReadOnly(folder);
-				folder.create(true, true, null);
-			}
-			return folder;
-		}
-		return null;
-	}
-
-	/**
-	 * Removes this nature from the project, performing any required deconfiguration. This is called by <code>IProject.removeNature</code> and
-	 * should not be called directly by clients. The nature id is removed from the list of natures on the project by
-	 * <code>IProject.removeNature</code>, and need not be removed here.
-	 * 
-	 * @throws CoreException
-	 * @since 1.0.0
-	 */
-	public void deconfigure() throws org.eclipse.core.runtime.CoreException {
-		emfContext = null;
-	}
-
-	/**
-	 * Return true if the IFile with the given name exists in this project.
-	 * 
-	 * @param aFileName
-	 *            filename can be relative to one of the input file paths for the WorkbenchURIConverter.
-	 * @return <code>true</code> if filename exists in this project
-	 * 
-	 * @since 1.0.0
-	 */
-	public boolean fileExists(String aFileName) {
-		if (aFileName == null)
-			return false;
-
-		IPath path = new Path(aFileName);
-		if (path.isAbsolute())
-			return ResourcesPlugin.getWorkspace().getRoot().getFile(path).exists();
-		else
-			return getWorkbenchURIConverter().canGetUnderlyingResource(aFileName);
-	}
-
-	/**
-	 * Get the resource set for the project
-	 * 
-	 * @return
-	 * 
-	 * @since 1.0.0
-	 */
-	public ResourceSet getResourceSet() {
-		return getEmfContextBase().getResourceSet();
-	}
-
-	/**
-	 * Returns the EMF root folder for the project. Defaults to the project. Subclasses can override.
-	 * 
-	 * @return EMF root folder for the project.
-	 * 
-	 * @since 1.0.0
-	 */
-	public IContainer getEMFRoot() {
-		return getProject();
-	}
-
-	/**
-	 * Used for optimizations; answers whether a mof context for this nature has exists yet
-	 * 
-	 * @deprecated use hasResourceSet();
-	 * @since 1.0.0
-	 */
-	public boolean hasContext() {
-		return hasResourceSet();
-	}
-
-	/**
-	 * Is there a resource set yet for the project.
-	 * 
-	 * @return <code>true</code> if there is a resource set for the project.
-	 * 
-	 * @since 1.0.0
-	 */
-	public boolean hasResourceSet() {
-		return emfContext != null && emfContext.hasResourceSet();
-	}
-
-	/**
-	 * Lazy initializer; for migration of existing workspaces where configure will never get called.
-	 * 
-	 * @return context base for the project.
-	 * 
-	 * @since 1.0.0
-	 */
-	protected EMFWorkbenchContextBase getEmfContextBase() {
-		if (emfContext == null) {
-			try {
-				createEmfContext();
-			} catch (CoreException ex) {
-				Logger.getLogger().logError(ex);
-			}
-		}
-		return emfContext;
-	}
-
-	/**
-	 * Get the IFile with the given name if it is in this project.
-	 * 
-	 * @param aFileName
-	 *            filename can be relative to one of the input file paths for the WorkbenchURIConverter.
-	 * @return file it it is in this project, or <code>null</code> if it doesn't.
-	 * 
-	 * @since 1.0.0
-	 */
-	public IFile getFile(String aFileName) {
-		return getWorkbenchURIConverter().getFile(aFileName);
-	}
-
-	/**
-	 * Return the nature's ID.
-	 * 
-	 * @return nature id
-	 * 
-	 * @since 1.0.0
-	 */
-	public abstract String getNatureID();
-
-	/**
-	 * Return the ID of the plugin that this nature is contained within.
-	 * 
-	 * @return
-	 * 
-	 * @since 1.0.0
-	 */
-	protected abstract String getPluginID();
-
-	/**
-	 * Returns the project to which this project nature applies.
-	 * 
-	 * @return the project handle
-	 * @since 1.0.0
-	 */
-	public org.eclipse.core.resources.IProject getProject() {
-		return project;
-	}
-
-	/**
-	 * Return the full path of the project.
-	 * 
-	 * @return full project path (relative to workspace)
-	 * @since 1.0.0
-	 */
-	public IPath getProjectPath() {
-		return getProject().getFullPath();
-	}
-
-	/**
-	 * Get the server property of the project from the supplied key
-	 * 
-	 * @param key
-	 *            java.lang.String
-	 * @deprecated we cannont use persistent properties because they are not stored in the repository
-	 * @since 1.0.0
-	 */
-	protected String getProjectServerValue(String key) {
-		if (key == null)
-			return null;
-		try {
-			QualifiedName wholeName = qualifiedKey(key);
-			return getProject().getPersistentProperty(wholeName);
-		} catch (CoreException exception) {
-			//If we can't find it assume it is null
-			exception.printStackTrace();
-			return null;
-		}
-	}
-
-	/**
-	 * Get WorkbenchURIConverter for this project.
-	 * <p>
-	 * This method assumes the URIConverter on the ResourceSet is the one that was created for the ResourceSet on behalf of this nature runtime.
-	 * </p>
-	 * 
-	 * @return
-	 * 
-	 * @since 1.0.0
-	 */
-	protected WorkbenchURIConverter getWorkbenchURIConverter() {
-		return (WorkbenchURIConverter) getResourceSet().getURIConverter();
-	}
-
-	public IWorkspace getWorkspace() {
-		return getProject().getWorkspace();
-	}
-
-	/**
-	 * @deprecated use getResource(URI)
-	 */
-	public Resource getXmiResource(String uri) {
-		return getResource(URI.createURI(uri));
-	}
-
-	/**
-	 * Get the resource for this uri. It will use the resource set of the project to find it. It will load if not already loaded.
-	 * 
-	 * @param uri
-	 * @return resource or <code>null</code> if resource is not found.
-	 * 
-	 * @since 1.0.0
-	 */
-	public Resource getResource(URI uri) {
-		try {
-			return getResourceSet().getResource(uri, true);
-		} catch (WrappedException ex) {
-			if (!WorkbenchResourceHelperBase.isResourceNotFound(ex))
-				throw ex;
-		}
-		return null;
-	}
-
-	/**
-	 * @deprecated use getResourceSet()
-	 */
-	public ResourceSet getXmiResourceSet() {
-		return getResourceSet();
-	}
-
-	/**
-	 * Make sure that all dependent components are initialized before creating the ResourceSet.
-	 */
-	protected void initializeDependentComponents() {
-		//com.ibm.etools.java.init.JavaInit.init();
-	}
-
-	/**
-	 * @deprecated use createResource(URI)
-	 */
-	public Resource makeXmiResource(String uri) {
-		return createResource(URI.createURI(uri));
-	}
-
-	/**
-	 * @deprecated use createResource(URI)
-	 */
-	public Resource makeXmiResource(String uri, EList anExtent) {
-		Resource res = makeXmiResource(uri);
-		if (res != null)
-			res.getContents().addAll(anExtent);
-		return res;
-	}
-
-	/**
-	 * Create the resource for this uri. It will use the resource set of the project to create it.
-	 * 
-	 * @param uri
-	 * @return resource
-	 * 
-	 * @since 1.0.0
-	 */
-	public Resource createResource(URI uri) {
-		return getResourceSet().createResource(uri);
-	}
-
-	/*
-	 * Return the QualifedValue for key for storage in the repository. The key is qualifed with the package name to avoid collision. @return
-	 * QualifedName @param key java.lang.String
-	 */
-	private QualifiedName qualifiedKey(String key) {
-		return new QualifiedName(getPluginID(), key);
-	}
-
-	/**
-	 * Register the given nature id as an EMFNature.
-	 * 
-	 * @param natureID
-	 * 
-	 * @since 1.0.0
-	 */
-	public static void registerNatureID(String natureID) {
-		EMFNatureRegistry.singleton().REGISTERED_NATURE_IDS.add(natureID);
-	}
-
-	/**
-	 * Sets the project to which this nature applies. Used when instantiating this project nature runtime. This is called by
-	 * <code>IProject.addNature</code> and should not be called directly by clients.
-	 * 
-	 * @param project
-	 *            the project to which this nature applies
-	 * 
-	 * @since 1.0.0
-	 */
-	public void setProject(org.eclipse.core.resources.IProject newProject) {
-		project = newProject;
-	}
-
-	/**
-	 * Set the server property of the project from the supplied value
-	 * 
-	 * @param key
-	 *            java.lang.String
-	 * @param value
-	 *            String
-	 * @deprecated we cannont use persistent properties because they are not stored in the repository
-	 */
-	protected void setProjectServerValue(String key, String value) {
-		if (key != null) {
-			try {
-				QualifiedName wholeName = qualifiedKey(key);
-				getProject().setPersistentProperty(wholeName, value);
-			} catch (CoreException exception) {
-				//If we can't find it assume it is null
-				exception.printStackTrace();
-				return;
-			}
-		}
-	}
-
-	/**
-	 * Shutdown the EMF nature
-	 * 
-	 * 
-	 * @since 1.0.0
-	 */
-	public void shutdown() {
-		if (getResourceSet() != null)
-			((ProjectResourceSet) getResourceSet()).release();
-	}
-
-	/**
-	 * Return a list of EMFNatures based on the natures that have been configured for this project.
-	 * 
-	 * @return List of EMFNatures
-	 * @param project
-	 * @return list of natures configured for the project.
-	 * @since 1.0.0
-	 */
-	public static List getRegisteredRuntimes(IProject project) {
-		List result = null;
-		EMFNature nature = null;
-		if (project != null && project.isAccessible()) {
-			String natureID;
-			Iterator it = EMFNatureRegistry.singleton().REGISTERED_NATURE_IDS.iterator();
-			while (it.hasNext()) {
-				natureID = (String) it.next();
-				try {
-					nature = (EMFNature) project.getNature(natureID);
-				} catch (CoreException e) {
-				}
-				if (nature != null) {
-					if (result == null)
-						result = new ArrayList(2);
-					result.add(nature);
-				}
-			}
-		}
-		return result == null ? Collections.EMPTY_LIST : result;
-	}
-
-	/**
-	 * Return a list of nature ids based on the natures that have been configured for this project.
-	 * 
-	 * @return list of configured nature ids.
-	 * @param project
-	 */
-	public static List getRegisteredRuntimeIDs(IProject project) {
-		List result = null;
-		String natureID = null;
-		if (project != null && project.isAccessible()) {
-			Iterator it = EMFNatureRegistry.singleton().REGISTERED_NATURE_IDS.iterator();
-			while (it.hasNext()) {
-				natureID = (String) it.next();
-				try {
-					if (project.hasNature(natureID)) {
-						if (result == null)
-							result = new ArrayList(2);
-						result.add(natureID);
-					}
-				} catch (CoreException e) {
-				}
-			}
-		}
-		return result == null ? Collections.EMPTY_LIST : result;
-	}
-
-	/**
-	 * Return if the project has the given nature.
-	 * 
-	 * @param project
-	 * @param natureId
-	 * @return <code>true</code> if project has given nature
-	 * 
-	 * @since 1.0.0
-	 */
-	public static boolean hasRuntime(IProject project, String natureId) {
-		if (project == null || !project.isAccessible())
-			return false;
-		try {
-			return project.hasNature(natureId);
-		} catch (CoreException e) {
-			return false;
-		}
-	}
-
-	/**
-	 * Return if the project has any one of the possible given nature ids.
-	 * 
-	 * @param project
-	 * @param possibleNatureIds
-	 * @return <code>true</code> if at least one of the possible natures id is configured for the project.
-	 * 
-	 * @since 1.0.0
-	 */
-	public static boolean hasRuntime(IProject project, String[] possibleNatureIds) {
-		if (project != null) {
-			for (int i = 0; i < possibleNatureIds.length; i++) {
-				if (hasRuntime(project, possibleNatureIds[i]))
-					return true;
-			}
-		}
-		return false;
-	}
-
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jem.util/jemutil/org/eclipse/jem/util/logger/proxyrender/AbstractWorkBenchRenderer.java b/plugins/org.eclipse.jem.util/jemutil/org/eclipse/jem/util/logger/proxyrender/AbstractWorkBenchRenderer.java
deleted file mode 100644
index 4285566..0000000
--- a/plugins/org.eclipse.jem.util/jemutil/org/eclipse/jem/util/logger/proxyrender/AbstractWorkBenchRenderer.java
+++ /dev/null
@@ -1,472 +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
- *******************************************************************************/
-/*
- *  $RCSfile: AbstractWorkBenchRenderer.java,v $
- *  $Revision: 1.5 $  $Date: 2005/12/14 21:24:26 $ 
- */
-package org.eclipse.jem.util.logger.proxyrender;
-
-import java.lang.reflect.Field;
-import java.util.logging.Level;
-
-import org.eclipse.core.runtime.*;
-import org.osgi.framework.Bundle;
-
-import org.eclipse.jem.util.logger.proxy.*;
-
-
-/**
- * Base log renderer that logs to the workbench.
- * 
- * @since 1.1.0
- */
-public abstract class AbstractWorkBenchRenderer implements ILogRenderer2 {
-
-	private boolean fTraceMode = false; // will we actually punch trace messaged or not
-
-	private boolean fSettingTrace = false;
-
-	protected Bundle fMyBundle = null;
-
-	protected Logger fMyLogger = null;
-
-	protected ILog fWorkBenchLogger = null;
-
-	/**
-	 * Constructer taking a logger.
-	 * 
-	 * @param logger
-	 * 
-	 * @since 1.1.0
-	 */
-	public AbstractWorkBenchRenderer(Logger logger) {
-		super();
-		fMyLogger = logger;
-		fTraceMode = fMyLogger.getTraceMode();
-
-		String pluginID = fMyLogger.getPluginID();
-		fMyBundle = Platform.getBundle(pluginID);
-		if (fMyBundle == null)
-			throw new RuntimeException("Invalid Plugin ID"); //$NON-NLS-1$
-
-		fWorkBenchLogger = Platform.getLog(fMyBundle);
-		setTraceMode(fMyLogger.getTraceMode() || isDebugging(fMyBundle));
-		fMyLogger.setRenderer(this);
-	}
-
-	/*
-	 * This used to come from the Plugin instance. But in new OSGi, there is not necessarily a Plugin instance. So use the same logic they use.
-	 */
-	private boolean isDebugging(Bundle bundle) {
-		String symbolicName = bundle.getSymbolicName();
-		if (symbolicName != null) {
-			String key = symbolicName + "/debug"; //$NON-NLS-1$
-			String value = Platform.getDebugOption(key);
-			return value == null ? false : value.equalsIgnoreCase("true"); //$NON-NLS-1$
-		}
-		return false;
-	}
-
-	/**
-	 * Is the console log for eclipse turned on to sysout. If true, then we shouldn't log to console anything already logged because Eclipse would of
-	 * logged it for us. This comes from the -Declipse.consoleLog="true" which is the default when starting eclipse from PDE.
-	 */
-	protected static final boolean consoleLogOn;
-	static {
-		String consologPropertyName = null;
-		try {
-			// Accessing an internal field, so using reflection. This way if changes in future we won't crash.
-			Class eclipseStarter = Class.forName("org.eclipse.core.runtime.adaptor.EclipseStarter");	//$NON-NLS-1$
-			Field consolelog = eclipseStarter.getDeclaredField("PROP_CONSOLE_LOG");	//$NON-NLS-1$
-			consologPropertyName = (String) consolelog.get(null);
-		} catch (SecurityException e) {
-		} catch (IllegalArgumentException e) {
-		} catch (ClassNotFoundException e) {
-		} catch (NoSuchFieldException e) {
-		} catch (IllegalAccessException e) {
-		}
-		consoleLogOn = consologPropertyName != null && "true".equals(System.getProperty(consologPropertyName)) ;  //$NON-NLS-1$
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jem.util.logger.proxy.ILogRenderer#setTraceMode(boolean)
-	 */
-	public void setTraceMode(boolean flag) {
-		if (fSettingTrace)
-			return; // Do not allow cycles
-
-		fSettingTrace = true;
-		fTraceMode = flag;
-		fMyLogger.setTraceMode(flag);
-		fSettingTrace = false;
-	}
-
-	// The following methods are for historical renderers in case this has been subclassed outside
-	// of util.
-
-	/**
-	 * Log a string to the trace.
-	 * 
-	 * @param param
-	 * @return
-	 * 
-	 * @since 1.0.0
-	 */
-	public abstract String log(String param);
-
-	/**
-	 * Default one that log a string to the trace given a level. Default simply passes it to log(String) so that we don't break old subclasses.
-	 * <p>
-	 * If loggedToWorkbench is true, then it shouldn't be logged to console if consoleLogOn is true because workbench already logged to console.
-	 * 
-	 * @param msg
-	 * @param l
-	 * 
-	 * @since 1.0.0
-	 */
-	protected void log(String msg, Level l, boolean loggedToWorkbench) {
-		log(msg);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jem.util.logger.proxy.ILogRenderer#log(java.lang.String, int)
-	 */
-	public String log(String msg, int type) {
-
-		String target = logWorkBench(msg, type);
-		if (fTraceMode || target.equals(NOLOG_DESCRIPTION))
-			return log(msg);
-		else
-			return target;
-	}
-
-	/**
-	 * Log to workbench, a string of the given level <code>ILogRenderer.LOG_</code>. levels.
-	 * 
-	 * @param msg
-	 * @param type
-	 * @return description of the log's destination e.g., <code>CONSOLE_DESCRIPTION</code>
-	 * 
-	 * @see ILogRenderer#LOG_ERROR and all of the other log types.
-	 * @see ILogRenderer#CONSOLE_DESCRIPTION
-	 * @since 1.0.0
-	 */
-	public String logWorkBench(String msg, int type) {
-
-		try {
-			int ErrCode;
-			if (fWorkBenchLogger != null) {
-				switch (type) {
-					case (ILogRenderer.LOG_ERROR):
-						ErrCode = IStatus.ERROR;
-						break;
-					case (ILogRenderer.LOG_WARNING):
-						ErrCode = IStatus.WARNING;
-						break;
-					case (ILogRenderer.LOG_INFO):
-						ErrCode = IStatus.INFO;
-						break;
-					case (ILogRenderer.LOG_TRACE):
-						ErrCode = IStatus.OK;
-						break;
-					default:
-						throw new RuntimeException("Invalid Log Type"); //$NON-NLS-1$
-				}
-				Status status = new Status(ErrCode, fMyBundle.getSymbolicName(), IStatus.OK, msg, null);
-				fWorkBenchLogger.log(status);
-				return WORKBENCH_DESCRIPTION;
-			} else
-				return NOLOG_DESCRIPTION;
-		} catch (Throwable t) {
-			return NOLOG_DESCRIPTION;
-		}
-	}
-
-	// Default implentation of the ILogRenderer2 interface.
-	protected boolean isLogging(Level level) {
-		return fTraceMode || fMyLogger.isLoggingLevel(level);
-	}
-
-	private static final int[] STATUS_LEVEL;
-
-	private static final Level[] STATUS_LEVEL_LOOKUP;
-
-	private static final Level[] LEVEL_STATUS;
-
-	static {
-		// Status levels that correspond to the log levels, from finest to none, same indexes as from STATUS_LEVEL_LOOKUP.
-		STATUS_LEVEL_LOOKUP = new Level[] { Level.INFO, Level.WARNING, Level.SEVERE};
-		STATUS_LEVEL = new int[] { IStatus.INFO, IStatus.WARNING, IStatus.ERROR};
-
-		// Levels that correspond to the IStatus levels.
-		int maxID = Math.max(IStatus.OK, Math.max(IStatus.INFO, Math.max(IStatus.WARNING, IStatus.ERROR)));
-		LEVEL_STATUS = new Level[maxID + 1];
-		LEVEL_STATUS[IStatus.OK] = Level.FINE;
-		LEVEL_STATUS[IStatus.INFO] = Level.INFO;
-		LEVEL_STATUS[IStatus.WARNING] = Level.WARNING;
-		LEVEL_STATUS[IStatus.ERROR] = Level.SEVERE;
-	}
-
-	/**
-	 * Return the Java Level for the status code from the given IStatus.
-	 * 
-	 * @param status
-	 * @return the Java Level
-	 * 
-	 * @since 1.0.0
-	 */
-	protected Level getLogLevel(IStatus status) {
-		return LEVEL_STATUS[status.getSeverity()];
-	}
-
-	/**
-	 * Return the IStatus status code for the given Java Level.
-	 * 
-	 * @param logLevel
-	 * @return the IStatus status code.
-	 * 
-	 * @since 1.0.0
-	 */
-	protected int getStatusSeverity(Level logLevel) {
-		for (int i = 0; i < STATUS_LEVEL_LOOKUP.length; i++) {
-			if (STATUS_LEVEL_LOOKUP[i] == logLevel)
-				return STATUS_LEVEL[i];
-		}
-		return IStatus.OK; // Default to ok.
-	}
-
-	/**
-	 * Log the string to the workbench for the given level
-	 * 
-	 * @param msg
-	 * @param level
-	 * @return description of the log's destination e.g., <code>CONSOLE_DESCRIPTION</code>
-	 * 
-	 * @since 1.1.0
-	 */
-	protected String logWorkbench(String msg, Level level) {
-		String result = NOLOG_DESCRIPTION;
-		// Test again because we could be here simply due to trace mode, in which case we
-		// don't want to workbench log it.
-		if (fMyLogger.isLoggingLevel(level)) {
-			Platform.getLog(fMyBundle).log(new Status(getStatusSeverity(level), fMyBundle.getSymbolicName(), 0, msg, null));
-			result = WORKBENCH_DESCRIPTION;
-			if (fTraceMode)
-				log(msg, level, true);
-		} else if (fTraceMode)
-			log(msg, level, false);
-		return result;
-	}
-
-	private String getStatusMsg(IStatus s, Level l) {
-		if (s.getException() != null)
-			return fMyLogger.getGenericMsg(s.toString() + fMyLogger.fLineSeperator + fMyLogger.exceptionToString(s.getException()), l);
-		else
-			return fMyLogger.getGenericMsg(s.toString(), l);
-	}
-
-	/**
-	 * Log the IStatus to the workbench at the given level.
-	 * 
-	 * @param s
-	 * @param level
-	 * @return description of the log's destination e.g., <code>CONSOLE_DESCRIPTION</code>
-	 * 
-	 * @since 1.0.0
-	 */
-	protected String logWorkbench(IStatus s, Level level) {
-		if (level == DEFAULT)
-			level = getLogLevel(s);
-		String result = NOLOG_DESCRIPTION;
-		// Test again because we could be here simply due to trace mode, in which case we
-		// don't want to workbench log it.
-		if (fMyLogger.isLoggingLevel(level)) {
-			Platform.getLog(fMyBundle).log(s);
-			result = WORKBENCH_DESCRIPTION;
-			if (fTraceMode)
-				log(getStatusMsg(s, level), level, true);
-		} else if (fTraceMode)
-			log(getStatusMsg(s, level), level, false);
-		return result;
-	}
-
-	/**
-	 * Log to the workbench the Throwable at the given level.
-	 * 
-	 * @param t
-	 * @param level
-	 * @return description of the log's destination e.g., <code>CONSOLE_DESCRIPTION</code>
-	 * 
-	 * @since 1.0.0
-	 */
-	protected String logWorkbench(Throwable t, Level level) {
-		String result = NOLOG_DESCRIPTION;
-		// Test again because we could be here simply due to trace mode, in which case we
-		// don't want to workbench log it.
-		if (fMyLogger.isLoggingLevel(level)) {
-			Platform.getLog(fMyBundle).log(new Status(getStatusSeverity(level), fMyBundle.getSymbolicName(), 0, "Exception thrown.", t)); //$NON-NLS-1$
-			result = WORKBENCH_DESCRIPTION;
-			if (fTraceMode)
-				log(fMyLogger.getGenericMsg(fMyLogger.exceptionToString(t), level), level, true);
-		} else if (fTraceMode)
-			log(fMyLogger.getGenericMsg(fMyLogger.exceptionToString(t), level), level, false);
-		return result;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jem.util.logger.proxy.ILogRenderer2#log(byte, java.util.logging.Level)
-	 */
-	public String log(boolean b, Level level) {
-		if (level == DEFAULT)
-			level = Level.FINEST;
-		if (isLogging(level))
-			return logWorkbench(fMyLogger.getGenericMsg(String.valueOf(b), level), level);
-		else
-			return NOLOG_DESCRIPTION;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jem.util.logger.proxy.ILogRenderer2#log(byte, java.util.logging.Level)
-	 */
-	public String log(byte b, Level level) {
-		if (level == DEFAULT)
-			level = Level.FINEST;
-		if (isLogging(level))
-			return logWorkbench(fMyLogger.getGenericMsg(String.valueOf(b), level), level);
-		else
-			return NOLOG_DESCRIPTION;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jem.util.logger.proxy.ILogRenderer2#log(char, java.util.logging.Level)
-	 */
-	public String log(char c, Level level) {
-		if (level == DEFAULT)
-			level = Level.FINEST;
-		if (isLogging(level))
-			return logWorkbench(fMyLogger.getGenericMsg(String.valueOf(c), level), level);
-		else
-			return NOLOG_DESCRIPTION;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jem.util.logger.proxy.ILogRenderer2#log(double, java.util.logging.Level)
-	 */
-	public String log(double d, Level level) {
-		if (level == DEFAULT)
-			level = Level.FINEST;
-		if (isLogging(level))
-			return logWorkbench(fMyLogger.getGenericMsg(String.valueOf(d), level), level);
-		else
-			return NOLOG_DESCRIPTION;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jem.util.logger.proxy.ILogRenderer2#log(float, java.util.logging.Level)
-	 */
-	public String log(float f, Level level) {
-		if (level == DEFAULT)
-			level = Level.FINEST;
-		if (isLogging(level))
-			return logWorkbench(fMyLogger.getGenericMsg(String.valueOf(f), level), level);
-		else
-			return NOLOG_DESCRIPTION;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jem.util.logger.proxy.ILogRenderer2#log(int, java.util.logging.Level)
-	 */
-	public String log(int i, Level level) {
-		if (level == DEFAULT)
-			level = Level.FINEST;
-		if (isLogging(level))
-			return logWorkbench(fMyLogger.getGenericMsg(String.valueOf(i), level), level);
-		else
-			return NOLOG_DESCRIPTION;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jem.util.logger.proxy.ILogRenderer2#log(long, java.util.logging.Level)
-	 */
-	public String log(long l, Level level) {
-		if (level == DEFAULT)
-			level = Level.FINEST;
-		if (isLogging(level))
-			return logWorkbench(fMyLogger.getGenericMsg(String.valueOf(l), level), level);
-		else
-			return NOLOG_DESCRIPTION;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jem.util.logger.proxy.ILogRenderer2#log(java.lang.Object, java.util.logging.Level)
-	 */
-	public String log(Object o, Level level) {
-		if (o instanceof IStatus)
-			return logWorkbench((IStatus) o, level);
-		if (level == DEFAULT)
-			level = Level.FINEST;
-		if (isLogging(level))
-			return logWorkbench(fMyLogger.getGenericMsg(String.valueOf(o), level), level);
-		else
-			return NOLOG_DESCRIPTION;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jem.util.logger.proxy.ILogRenderer2#log(short, java.util.logging.Level)
-	 */
-	public String log(short s, Level level) {
-		if (level == DEFAULT)
-			level = Level.FINEST;
-		if (isLogging(level))
-			return logWorkbench(fMyLogger.getGenericMsg(String.valueOf(s), level), level);
-		else
-			return NOLOG_DESCRIPTION;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jem.util.logger.proxy.ILogRenderer2#log(java.lang.Throwable, java.util.logging.Level)
-	 */
-	public String log(Throwable t, Level level) {
-		if (t instanceof CoreException)
-			return logWorkbench(((CoreException) t).getStatus(), level);
-		if (level == DEFAULT)
-			level = Level.SEVERE;
-		if (isLogging(level)) {
-			return logWorkbench(t, level);
-		} else
-			return NOLOG_DESCRIPTION;
-	}
-
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jem.util/jemutil/org/eclipse/jem/util/logger/proxyrender/ConsoleLogRenderer.java b/plugins/org.eclipse.jem.util/jemutil/org/eclipse/jem/util/logger/proxyrender/ConsoleLogRenderer.java
deleted file mode 100644
index 90b2963..0000000
--- a/plugins/org.eclipse.jem.util/jemutil/org/eclipse/jem/util/logger/proxyrender/ConsoleLogRenderer.java
+++ /dev/null
@@ -1,67 +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
- *******************************************************************************/
-/*
- *  $RCSfile: ConsoleLogRenderer.java,v $
- *  $Revision: 1.2 $  $Date: 2005/02/15 23:04:14 $ 
- */
-package org.eclipse.jem.util.logger.proxyrender;
-
-import java.util.logging.Level;
-
-import org.eclipse.jem.util.logger.proxy.ILogRenderer;
-import org.eclipse.jem.util.logger.proxy.Logger;
-
-
-/**
- * Log renderer to the console.
- * 
- * @since 1.0.0
- */
-public class ConsoleLogRenderer extends AbstractWorkBenchRenderer {
-
-	/**
-	 * Constructor taking a logger.
-	 * 
-	 * @param logger
-	 * 
-	 * @since 1.0.0
-	 */
-	public ConsoleLogRenderer(Logger logger) {
-		super(logger);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jem.util.logger.proxyrender.AbstractWorkBenchRenderer#log(java.lang.String)
-	 */
-	public String log(String msg) {
-
-		System.out.println(msg);
-		return ILogRenderer.CONSOLE_DESCRIPTION;
-
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jem.util.logger.proxyrender.AbstractWorkBenchRenderer#log(java.lang.String, java.util.logging.Level, boolean)
-	 */
-	protected void log(String msg, Level l, boolean loggedToWorkbench) {
-		if (!loggedToWorkbench || !consoleLogOn) {
-			if (l == Level.SEVERE)
-				System.err.println(msg);
-			else
-				System.out.println(msg);
-		}
-	}
-
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jem.util/jemutil/org/eclipse/jem/util/logger/proxyrender/DefaultPluginTraceRenderer.java b/plugins/org.eclipse.jem.util/jemutil/org/eclipse/jem/util/logger/proxyrender/DefaultPluginTraceRenderer.java
deleted file mode 100644
index bedf203..0000000
--- a/plugins/org.eclipse.jem.util/jemutil/org/eclipse/jem/util/logger/proxyrender/DefaultPluginTraceRenderer.java
+++ /dev/null
@@ -1,113 +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
- *******************************************************************************/
-/*
- *  $RCSfile: DefaultPluginTraceRenderer.java,v $
- *  $Revision: 1.2 $  $Date: 2005/02/15 23:04:14 $ 
- */
-package org.eclipse.jem.util.logger.proxyrender;
-
-import java.io.*;
-import java.util.logging.Level;
-
-import org.eclipse.core.runtime.Platform;
-
-import org.eclipse.jem.util.logger.proxy.Logger;
-
-
-/**
- * Logger that also logs to a trace file in the plugin's metadata area.
- * 
- * @since 1.0.0
- */
-public class DefaultPluginTraceRenderer extends AbstractWorkBenchRenderer {
-
-	/**
-	 * Name of the trace file in the metadata area.
-	 * 
-	 * @since 1.0.0
-	 */
-	public static final String PluginTraceFileName = "/.log"; //$NON-NLS-1$
-
-	private String fTraceFile = null;
-
-	private PrintWriter traceFile = null;
-
-	/**
-	 * DefaultUILogRenderer constructor.
-	 * 
-	 * @param logger
-	 */
-	public DefaultPluginTraceRenderer(Logger logger) {
-		super(logger);
-
-		fTraceFile = Platform.getStateLocation(fMyBundle).toString() + PluginTraceFileName;
-		(new File(fTraceFile)).delete(); // Start from fresh ... do not want to leak on disk space
-
-	}
-
-	private void closeTraceFile() {
-		if (traceFile == null)
-			return;
-		try {
-			traceFile.flush();
-			traceFile.close();
-		} finally {
-			traceFile = null;
-		}
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jem.util.logger.proxyrender.AbstractWorkBenchRenderer#log(java.lang.String)
-	 */
-	public String log(String msg) {
-
-		System.out.println(msg);
-
-		openTraceFile();
-		if (traceFile != null) {
-			traceFile.println(msg);
-			closeTraceFile();
-		}
-		return fTraceFile;
-
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jem.util.logger.proxyrender.AbstractWorkBenchRenderer#log(java.lang.String, java.util.logging.Level, boolean)
-	 */
-	protected void log(String msg, Level l, boolean loggedToWorkbench) {
-		if (!loggedToWorkbench || !consoleLogOn) {
-			if (l == Level.SEVERE)
-				System.err.println(msg);
-			else
-				System.out.println(msg);
-		}
-
-		openTraceFile();
-		if (traceFile != null) {
-			traceFile.println(msg);
-			closeTraceFile();
-		}
-	}
-
-	private void openTraceFile() {
-		try {
-			traceFile = new PrintWriter(new FileOutputStream(fTraceFile, true));
-		} catch (IOException e) {
-			// there was a problem opening the log file so log to the console
-			traceFile = null;
-		}
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jem.util/jemutil/org/eclipse/jem/util/logger/proxyrender/EclipseLogger.java b/plugins/org.eclipse.jem.util/jemutil/org/eclipse/jem/util/logger/proxyrender/EclipseLogger.java
deleted file mode 100644
index 9e40f90..0000000
--- a/plugins/org.eclipse.jem.util/jemutil/org/eclipse/jem/util/logger/proxyrender/EclipseLogger.java
+++ /dev/null
@@ -1,123 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-/*
- *  $RCSfile: EclipseLogger.java,v $
- *  $Revision: 1.4 $  $Date: 2005/08/24 21:10:34 $ 
- */
-package org.eclipse.jem.util.logger.proxyrender;
-
-import java.util.logging.Level;
-
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.Plugin;
-import org.osgi.framework.Bundle;
-
-import org.eclipse.jem.util.logger.proxy.Logger;
-import org.eclipse.jem.util.plugin.JEMUtilPlugin;
-
- 
-/**
- * Get an Eclipse logger. This gets a logger that knows it is for a plugin. 
- * 
- * For each plugin, the following can be specified in the .option file:
- * 		{plugin-id}/debug/logTrace
- * 			The values valid for this are "true", "false", or "default". If true then loggers will be set into
- * 			trace mode. This means everything logged (even those that are filtered out due to not meeting log level)
- * 			will be traced out. If the value is "true" they will be traced to the system console.  
- * 			If it is "default" or not set at all, then it will be the value in the "org.eclipse.jem.util/debug/logTrace" .options setting.
- * 			If not set there, then default value will be false.
- * 
- * 		{plugin-id}/debug/logTraceFile
- * 			The values valid for this are "true", "false", or "default". If true then loggers will trace to 
- * 			the system console AND to the ".log" file in the plugins work area in the metadata section of the workspace.
- * 			If "false" then not traced to a trace file. 
- * 			If it is "default" or not set at all, then it will be the value in the "org.eclipse.jem.util/debug/logTraceFile" .options setting.
- * 			If not set there, then default value will be false.
- * 
- * 		{plugin-id}.debug/logLevel
- * 			The values valid for this are the names from <code>java.util.logging.Level</code>, and "default". These
- * 			are the trace cutoff levels to use. For instance, if the level was SEVERE, then only level SEVERE msgs
- * 			are logged. The rest are skipped. Or if the level was WARNING, then only level SEVERE and WARNING are
- * 			logged.
- * 			If it is "default" or not set at all, then it will be the value in the "org.eclipse.jem.util/debug/logLevel" .options setting.
- * 			If not set there, then default value will be WARNING.
- * 
- * 
- * @since 1.0.0
- */
-public class EclipseLogger extends Logger {
-
-	public static final String DEBUG_TRACE_OPTION = "/debug/logtrace"; //$NON-NLS-1$
-	public static final String DEBUG_TRACE_FILE_OPTION = "/debug/logtracefile"; //$NON-NLS-1$
-	public static final String DEBUG_LOG_LEVEL_OPTION = "/debug/loglevel"; // The logging level to use when no Hyaedes. (which we don't support at this time). //$NON-NLS-1$
-	public static final String DEFAULT_OPTION = "default";	// If option value is this, then the value from WTP Common plugin options will be used for both logTrace and logLevel.	 //$NON-NLS-1$
-	
-	/**
-	 * Return a logger based upon the Plugin. 
-	 * @param plugin
-	 * @return
-	 * 
-	 * @since 1.0.0
-	 */
-	public static Logger getEclipseLogger(Plugin plugin) {
-		return getEclipseLogger(plugin.getBundle());
-	}
-	
-	/**
-	 * Return a logger based upon the bundle.
-	 * 
-	 * @param bundle
-	 * @return
-	 * 
-	 * @since 1.0.0
-	 */
-	public static Logger getEclipseLogger(Bundle bundle) {
-		String id = bundle.getSymbolicName();
-		Logger logger = getLoggerIfExists(id);
-		if (logger != null)
-			return logger;
-		
-		logger = getLogger(id);	// Create one, we will now customize it.
-		
-		String pluginOption = Platform.getDebugOption(id + DEBUG_TRACE_OPTION);
-		if (pluginOption == null || "default".equalsIgnoreCase(pluginOption)) //$NON-NLS-1$
-			pluginOption = Platform.getDebugOption(JEMUtilPlugin.getDefault().getBundle().getSymbolicName() + DEBUG_TRACE_OPTION);
-		boolean logTrace = "true".equalsIgnoreCase(pluginOption); //$NON-NLS-1$
-
-		pluginOption = Platform.getDebugOption(id + DEBUG_TRACE_FILE_OPTION);
-		if (pluginOption == null || "default".equalsIgnoreCase(pluginOption)) //$NON-NLS-1$
-			pluginOption = Platform.getDebugOption(JEMUtilPlugin.getDefault().getBundle().getSymbolicName() + DEBUG_TRACE_FILE_OPTION);
-		boolean logTraceFile = "true".equalsIgnoreCase(pluginOption); //$NON-NLS-1$
-		
-		pluginOption = Platform.getDebugOption(id + DEBUG_LOG_LEVEL_OPTION);
-		if (pluginOption == null || "default".equalsIgnoreCase(pluginOption)) //$NON-NLS-1$
-			pluginOption = Platform.getDebugOption(JEMUtilPlugin.getDefault().getBundle().getSymbolicName() + DEBUG_LOG_LEVEL_OPTION);
-		
-		Level logLevel = Level.WARNING;
-		if (pluginOption != null) {
-			try {
-				logLevel = Level.parse(pluginOption);
-			} catch (IllegalArgumentException e) {
-			}
-		}
-		
-		if (logTrace)
-			logger.setTraceMode(true);
-		logger.setLevel(logLevel);
-		if (!logTraceFile)
-			logger.setRenderer(new ConsoleLogRenderer(logger));
-		else
-			logger.setRenderer(new DefaultPluginTraceRenderer(logger));
-		
-		return logger;
-	}
-	
-}
diff --git a/plugins/org.eclipse.jem.util/jemutil/org/eclipse/jem/util/logger/proxyrender/IMsgLogger.java b/plugins/org.eclipse.jem.util/jemutil/org/eclipse/jem/util/logger/proxyrender/IMsgLogger.java
deleted file mode 100644
index 972ecdd..0000000
--- a/plugins/org.eclipse.jem.util/jemutil/org/eclipse/jem/util/logger/proxyrender/IMsgLogger.java
+++ /dev/null
@@ -1,26 +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
- *******************************************************************************/
-/*
- *  $RCSfile: IMsgLogger.java,v $
- *  $Revision: 1.2 $  $Date: 2005/02/15 23:04:14 $ 
- */
-package org.eclipse.jem.util.logger.proxyrender;
-
-import org.eclipse.jem.util.logger.proxy.Logger;
-
-/**
- * Interface for a message logger.
- * 
- * @since 1.0.0
- */
-public interface IMsgLogger {
-	public Logger getMsgLogger();
-}
diff --git a/plugins/org.eclipse.jem.util/jemutil/org/eclipse/jem/util/plugin/JEMUtilPlugin.java b/plugins/org.eclipse.jem.util/jemutil/org/eclipse/jem/util/plugin/JEMUtilPlugin.java
deleted file mode 100644
index a7b9b8f..0000000
--- a/plugins/org.eclipse.jem.util/jemutil/org/eclipse/jem/util/plugin/JEMUtilPlugin.java
+++ /dev/null
@@ -1,399 +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
- *******************************************************************************/
-/*
- *  $$RCSfile: JEMUtilPlugin.java,v $$
- *  $$Revision: 1.5 $$  $$Date: 2006/05/17 20:13:45 $$ 
- */
-package org.eclipse.jem.util.plugin;
-
-import java.io.File;
-import java.text.MessageFormat;
-
-import org.eclipse.core.resources.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.emf.common.notify.Adapter;
-import org.eclipse.emf.ecore.resource.ResourceSet;
-import org.osgi.framework.Bundle;
-
-import org.eclipse.jem.internal.util.emf.workbench.ProjectResourceSetImpl;
-import org.eclipse.jem.internal.util.emf.workbench.WorkspaceResourceNotifier;
-import org.eclipse.jem.internal.util.emf.workbench.nls.EMFWorkbenchResourceHandler;
-import org.eclipse.jem.util.emf.workbench.ProjectResourceSet;
-import org.eclipse.jem.util.emf.workbench.ResourceHandler;
-import org.eclipse.jem.util.logger.proxy.Logger;
-
-
-/**
- * Plugin for EMFWorkbench utils.
- * 
- * @since 1.0.0
- */
-public class JEMUtilPlugin extends Plugin {
-
-	public static final String ID = "org.eclipse.jem.util"; //$NON-NLS-1$
-	
-	/**
-	 * Plugin id of this plugin.
-	 * 
-	 * @since 1.0.0
-	 */
-	public static final String PLUGIN_ID = ID;	
-
-	/**
-	 * UI Context extension point.
-	 * 
-	 * @since 1.0.0
-	 */
-	public static final String UI_CONTEXT_EXTENSION_POINT = "uiContextSensitiveClass"; //$NON-NLS-1$
-
-	/**
-	 * UITester element name.
-	 * 
-	 * @since 1.0.0
-	 */
-	public static final String UI_TESTER_EXTENSION_POINT = "uiTester"; //$NON-NLS-1$
-	
-	/**
-	 * Protocol for workspace
-	 * 
-	 * @since 1.0.0
-	 */
-	public static final String WORKSPACE_PROTOCOL = "workspace"; //$NON-NLS-1$
-
-	/**
-	 * Protocol for platform uri's. i.e. "platform:/..."
-	 * 
-	 * @since 1.0.0
-	 *  
-	 */
-	public static final String PLATFORM_PROTOCOL = "platform"; //$NON-NLS-1$
-
-	/**
-	 * Resource indication in platform protocol. Indicates url is for a resource in the workspace. i.e. "platform:/resource/projectname/..."
-	 * 
-	 * @since 1.0.0
-	 */
-	public static final String PLATFORM_RESOURCE = "resource"; //$NON-NLS-1$
-
-	/**
-	 * Plugin indication in platform protocol. Indicates url is for a file/directory in the plugins area. i.e. "platform:/plugin/pluginid/..."
-	 * 
-	 * @since 1.0.0
-	 */
-	public static final String PLATFORM_PLUGIN = "plugin"; //$NON-NLS-1$
-
-	private static WorkspaceResourceNotifier sharedCache;
-
-	private static ResourceSet pluginResourceSet;
-
-	private static String[] GLOBAL_LOADING_PLUGIN_NAMES;
-
-	private static JEMUtilPlugin DEFAULT;
-
-	public JEMUtilPlugin() {
-		super();
-		DEFAULT = this;
-	}
-
-	/**
-	 * Get the workspace. Just use ResourcePlugin.getWorkspace() instead.
-	 * 
-	 * @return
-	 * 
-	 * @since 1.0.0
-	 */
-	public static IWorkspace getWorkspace() {
-		return ResourcesPlugin.getWorkspace();
-	}
-
-	/**
-	 * Get the plugin instance.
-	 * 
-	 * @return plugin instance.
-	 * 
-	 * @since 1.0.0
-	 */
-	public static JEMUtilPlugin getDefault() {
-		return DEFAULT;
-	}
-
-	/**
-	 * Gets the sharedCache.
-	 * <p>
-	 * This is not meant to be called by clients.
-	 * </p>
-	 * 
-	 * @return a WorkspaceResourceNotifier
-	 * @since 1.0.0
-	 */
-	public static WorkspaceResourceNotifier getSharedCache() {
-		if (sharedCache == null)
-			sharedCache = new WorkspaceResourceNotifier();
-		return sharedCache;
-	}
-
-	/**
-	 * Sets the sharedCache.
-	 * <p>
-	 * This is not meant to be called by clients.
-	 * </p>
-	 * 
-	 * @param sharedCache
-	 *            The sharedCache to set
-	 * @since 1.0.0
-	 */
-	public static void setSharedCache(WorkspaceResourceNotifier aSharedCache) {
-		sharedCache = aSharedCache;
-	}
-
-	/**
-	 * @deprecated use createIsolatedResourceSet(IProject)
-	 */
-	public static ResourceSet createIsolatedResourceSet() {
-		return null;
-	}
-
-	/**
-	 * Add an Adapter. You can use this api to listen for any shared resource being loaded or removed from any ProjectResourceSet in the Workbench
-	 * instead of trying to listen to each individual ProjectResourceSet.
-	 * 
-	 * @param adapter
-	 * 
-	 * @since 1.0.0
-	 */
-	public static void addWorkspaceEMFResourceListener(Adapter adapter) {
-		if (adapter != null && !getSharedCache().eAdapters().contains(adapter))
-			getSharedCache().eAdapters().add(adapter);
-	}
-
-	/**
-	 * Removes the adapter.
-	 * 
-	 * @param adapter
-	 * 
-	 * @see #addWorkspaceEMFResourceListener(Adapter)
-	 * @since 1.0.0
-	 */
-	public static void removeWorkspaceEMFResourceListener(Adapter adapter) {
-		if (adapter != null)
-			getSharedCache().eAdapters().remove(adapter);
-	}
-
-	/**
-	 * Is this plugin active.
-	 * 
-	 * @return <code>true</code> if active
-	 * 
-	 * @since 1.0.0
-	 */
-	public static boolean isActivated() {
-		Bundle bundle = Platform.getBundle(ID);
-		if (bundle != null)
-			return bundle.getState() == Bundle.ACTIVE;
-		return false;
-	}
-
-	/**
-	 * This method will be called when a WorkbenchContext is instantiated on an EMFNature.
-	 * <p>
-	 * This not meant to be called by clients.
-	 * </p>
-	 * 
-	 * @param aResourceSet
-	 * 
-	 * @see plugin.xml#ResourceHandlerExtension extension point.
-	 * @since 1.0.0
-	 */
-	public void addExtendedResourceHandlers(ProjectResourceSet aResourceSet) {
-		if (aResourceSet == null)
-			return;
-		IExtensionRegistry registry = Platform.getExtensionRegistry();
-		IExtensionPoint pct = registry.getExtensionPoint(getBundle().getSymbolicName(), "ResourceHandlerExtension"); //$NON-NLS-1$
-		IExtension[] extension = pct.getExtensions();
-		IExtension config;
-		for (int l = 0; l < extension.length; ++l) {
-			config = extension[l];
-			IConfigurationElement[] cElems = config.getConfigurationElements();
-			ResourceHandler handler = null;
-			for (int i = 0; i < cElems.length; i++) {
-				try {
-					handler = (ResourceHandler) cElems[i].createExecutableExtension("run"); //$NON-NLS-1$
-
-				} catch (Exception ex) {
-					handler = null;
-				}
-				if (handler != null)
-					aResourceSet.add(handler);
-			}
-		}
-	}
-
-	/**
-	 * Delete the contents of the directory (and the directory if deleteRoot is true).
-	 * @param root
-	 * @param deleteRoot <code>true</code> to delete the root directory too.
-	 * @param monitor 
-	 * @return <code>true</code> if there was an error deleting anything.
-	 * 
-	 * @since 1.1.0
-	 */
-	public static boolean deleteDirectoryContent(File root, boolean deleteRoot, IProgressMonitor monitor) {
-		boolean error = false;
-		if (root.canRead()) {
-			if (root.isDirectory()) {
-				File[] files = root.listFiles();
-				monitor.beginTask(MessageFormat.format(EMFWorkbenchResourceHandler.getString("ProjectUtil_Delete_1"), new Object[] {root.getName()}), files.length+(deleteRoot ? 1 : 0)); //$NON-NLS-1$
-				for (int i = 0; i < files.length; i++) {
-					if (files[i].isDirectory())
-						error |= deleteDirectoryContent(files[i], true, new SubProgressMonitor(monitor, 1));
-					else {
-						error |= !files[i].delete();
-					}
-					monitor.worked(1);
-				}
-			} else {
-				monitor.beginTask(MessageFormat.format(EMFWorkbenchResourceHandler.getString("ProjectUtil_Delete_1"), new Object[] {root.getName()}), 1);				 //$NON-NLS-1$
-			}
-			if (deleteRoot) {
-				error |= !root.delete();
-				monitor.worked(1);
-			}
-			monitor.done();
-		} else {
-			error = true;
-		}
-		return error;
-	}
-	
-	/**
-	 * Add a clean resource changelistener.
-	 * @param listener
-	 * @param eventMask mask of event types to listen for in addition to ones that are necessary for clean. Use 0 if no additional ones.
-	 * 
-	 * @since 1.1.0
-	 */
-	public static void addCleanResourceChangeListener(CleanResourceChangeListener listener, int eventMask) {
-		// PRE_BUILD: Handle Clean.
-		// TODO Until https://bugs.eclipse.org/bugs/show_bug.cgi?id=101942 is fixed, we must do POST_BUILD, that will probably be sent because a clean will cause a build to occur which should cause a delta.
-		ResourcesPlugin.getWorkspace().addResourceChangeListener(listener, eventMask | IResourceChangeEvent.POST_BUILD);		
-	}
-	
-	/**
-	 * A resource listener that can be used in addition to listen for Clean requests and process them.
-	 * <p>
-	 * Use <code>{@link IResourceChangeEvent#PRE_BUILD}</code> when adding as listener to get the
-	 * clean events.
-	 * <p>
-	 * <b>Note</b> : TODO Until https://bugs.eclipse.org/bugs/show_bug.cgi?id=101942 is fixed, you must do POST_BUILD, that will probably be sent because a clean will cause a build to occur which should cause a delta.
-	 * @since 1.1.0
-	 */
-	public abstract static class CleanResourceChangeListener implements IResourceChangeListener {
-		
-		public void resourceChanged(IResourceChangeEvent event) {
-			// Subclasses can override this to handle more events than just clean.
-			if (event.getBuildKind() == IncrementalProjectBuilder.CLEAN_BUILD) {
-				if (event.getSource() instanceof IProject)
-					cleanProject((IProject) event.getSource());
-				else if (event.getSource() instanceof IWorkspace)
-					cleanAll();				
-			}
-		}
-
-		/**
-		 * Clear out the project.
-		 * @param project
-		 * 
-		 * @since 1.1.0
-		 */
-		protected abstract void cleanProject(IProject project);
-
-		/**
-		 * Clean all.
-		 * <p>
-		 * By default this will simply call a clean project on each open project. Subclasses should override and either
-		 * add more function to clear out non-project data and then call super. Or if they can handle all of the projects
-		 * in a faster way, then can completely handle this.
-		 * 
-		 * @since 1.1.0
-		 */
-		protected void cleanAll() {
-			IProject[] projects = ResourcesPlugin.getWorkspace().getRoot().getProjects();
-			for (int i = 0; i < projects.length; i++) {
-				IProject project = projects[i];
-				if (project.isOpen()) {
-					cleanProject(project);
-				}
-			}
-		}
-	}
-
-	/**
-	 * Get the project resource set for the plugin (there is one for the whole system).
-	 * 
-	 * @return system-wide resource set.
-	 * @since 1.0.0
-	 */
-	public static ResourceSet getPluginResourceSet() {
-		if (pluginResourceSet == null)
-			pluginResourceSet = new ProjectResourceSetImpl(null);
-		return pluginResourceSet;
-	}
-
-	/**
-	 * Set the system-wide resource set.
-	 * 
-	 * @param set
-	 * @since 1.0.0
-	 */
-	public static void setPluginResourceSet(ResourceSet set) {
-		pluginResourceSet = set;
-	}
-
-	/**
-	 * Get the global loading plugin names.
-	 * <p>
-	 * This is not meant to be called by clients.
-	 * </p>
-	 * 
-	 * @return
-	 * 
-	 * @since 1.0.0
-	 */
-	public static String[] getGlobalLoadingPluginNames() {
-		if (GLOBAL_LOADING_PLUGIN_NAMES == null)
-			GLOBAL_LOADING_PLUGIN_NAMES = readGlobalLoadingPluginNames();
-		return GLOBAL_LOADING_PLUGIN_NAMES;
-	}
-
-	/**
-	 * Get the Logger for this plugin.
-	 * 
-	 * @return logger for this plugin.
-	 * 
-	 * @since 1.0.0
-	 */
-	public static Logger getLogger() {
-		return Logger.getLogger(ID);
-	}
-
-	private static String[] readGlobalLoadingPluginNames() {
-		IExtensionRegistry reg = Platform.getExtensionRegistry();
-		IExtensionPoint exPoint = reg.getExtensionPoint(ID, "globalPluginResourceLoad"); //$NON-NLS-1$
-		IExtension[] extensions = exPoint.getExtensions();
-		String[] names = new String[extensions.length];
-		if (extensions.length > 0) {
-			for (int i = 0; i < extensions.length; i++)
-				names[i] = extensions[i].getContributor().getName();
-		}
-		return names;
-	}
-
-}
diff --git a/plugins/org.eclipse.jem.util/org.eclipse.perfmsr.core.stub/.classpath b/plugins/org.eclipse.jem.util/org.eclipse.perfmsr.core.stub/.classpath
deleted file mode 100644
index 065ac06..0000000
--- a/plugins/org.eclipse.jem.util/org.eclipse.perfmsr.core.stub/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/plugins/org.eclipse.jem.util/org.eclipse.perfmsr.core.stub/.cvsignore b/plugins/org.eclipse.jem.util/org.eclipse.perfmsr.core.stub/.cvsignore
deleted file mode 100644
index c5e82d7..0000000
--- a/plugins/org.eclipse.jem.util/org.eclipse.perfmsr.core.stub/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-bin
\ No newline at end of file
diff --git a/plugins/org.eclipse.jem.util/org.eclipse.perfmsr.core.stub/.project b/plugins/org.eclipse.jem.util/org.eclipse.perfmsr.core.stub/.project
deleted file mode 100644
index 5e29c82..0000000
--- a/plugins/org.eclipse.jem.util/org.eclipse.perfmsr.core.stub/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.perfmsr.core</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-	</natures>
-</projectDescription>
diff --git a/plugins/org.eclipse.jem.util/org.eclipse.perfmsr.core.stub/PERFMSR.README.txt b/plugins/org.eclipse.jem.util/org.eclipse.perfmsr.core.stub/PERFMSR.README.txt
deleted file mode 100644
index 3186a36..0000000
--- a/plugins/org.eclipse.jem.util/org.eclipse.perfmsr.core.stub/PERFMSR.README.txt
+++ /dev/null
@@ -1,14 +0,0 @@
-This is a stub plugin for perfmsr. It is here just so that org.eclipse.jem.util can compile.
-
-It should not be an open project during normal usage. Whenever any of the files in this project
-are changed, "perfmsr.jardesc" should be used to create the new changed appropriate jar. Do this by:
-
-1) Select perfmsr.jardesc
-2) On popup menu select "Create JAR"
-3) Hit "Finish"
-4) Commit all changes to CVS.
-5) Go to org.eclipse.jem.util project, select the org.eclipse.perfmsr.core.stub folder
-   and select Replace->Latest from HEAD. This will cause your just committed changes
-   from step 4 to be put into org.eclipse.jem.util and will be picked up for that
-   plugin to compile against.
-6) Either close or delete the org.eclipse.perfmsr.core.stuf project from the workspace.
\ No newline at end of file
diff --git a/plugins/org.eclipse.jem.util/org.eclipse.perfmsr.core.stub/about.html b/plugins/org.eclipse.jem.util/org.eclipse.perfmsr.core.stub/about.html
deleted file mode 100644
index f9f238e..0000000
--- a/plugins/org.eclipse.jem.util/org.eclipse.perfmsr.core.stub/about.html
+++ /dev/null
@@ -1,32 +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>30th March, 2004</p>	
-<h3>License</h3>
-<p>Eclipse.org 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>
-
-<h3>Contributions</h3>
-
-<p>If this Content is licensed to you under the terms and conditions of the EPL, any Contributions, as defined in the EPL, uploaded, submitted, or otherwise
-made available to Eclipse.org, members of Eclipse.org and/or the host of Eclipse.org web site, by you that relate to such
-Content are provided under the terms and conditions of the EPL and can be made available to others under the terms of the EPL.</p>
-
-<p>If this Content is licensed to you under license terms and conditions other than the EPL (&quot;Other License&quot;), any modifications, enhancements and/or
-other code and/or documentation (&quot;Modifications&quot;) uploaded, submitted, or otherwise made available to Eclipse.org, members of Eclipse.org and/or the
-host of Eclipse.org, by you that relate to such Content are provided under terms and conditions of the Other License and can be made available
-to others under the terms of the Other License.  In addition, with regard to Modifications for which you are the copyright holder, you are also
-providing the Modifications under the terms and conditions of the EPL and such Modifications can be made available to others under the terms of
-the EPL.</p>
-
-<p><b>Version:</b> v20040624a
-
-</body>
-</html>
\ No newline at end of file
diff --git a/plugins/org.eclipse.jem.util/org.eclipse.perfmsr.core.stub/build.properties b/plugins/org.eclipse.jem.util/org.eclipse.perfmsr.core.stub/build.properties
deleted file mode 100644
index 3a4db57..0000000
--- a/plugins/org.eclipse.jem.util/org.eclipse.perfmsr.core.stub/build.properties
+++ /dev/null
@@ -1,14 +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,\
-               plugin.properties,\
-               *.jar
-source.perfmsr.jar = src/
diff --git a/plugins/org.eclipse.jem.util/org.eclipse.perfmsr.core.stub/perfmsr.jar b/plugins/org.eclipse.jem.util/org.eclipse.perfmsr.core.stub/perfmsr.jar
deleted file mode 100644
index 1ebba8f..0000000
--- a/plugins/org.eclipse.jem.util/org.eclipse.perfmsr.core.stub/perfmsr.jar
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.jem.util/org.eclipse.perfmsr.core.stub/perfmsr.jardesc b/plugins/org.eclipse.jem.util/org.eclipse.perfmsr.core.stub/perfmsr.jardesc
deleted file mode 100644
index d48e223..0000000
--- a/plugins/org.eclipse.jem.util/org.eclipse.perfmsr.core.stub/perfmsr.jardesc
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<jardesc>
-    <jar path="org.eclipse.perfmsr.core.stub/perfmsr.jar"/>
-    <options buildIfNeeded="true" compress="true" descriptionLocation="/org.eclipse.perfmsr.core.stub/perfmsr.jardesc" exportErrors="true" exportWarnings="true" overwrite="false" saveDescription="true" useSourceFolders="false"/>
-    <manifest generateManifest="true" manifestLocation="/VEScrapProject/MANIFEST.mf" manifestVersion="1.0" reuseManifest="false" saveManifest="false" usesManifest="true">
-        <sealing sealJar="false">
-            <packagesToSeal/>
-            <packagesToUnSeal/>
-        </sealing>
-    </manifest>
-    <selectedElements exportClassFiles="true" exportJavaFiles="true" exportOutputFolder="false">
-        <javaElement handleIdentifier="=org.eclipse.perfmsr.core.stub/src"/>
-    </selectedElements>
-</jardesc>
diff --git a/plugins/org.eclipse.jem.util/org.eclipse.perfmsr.core.stub/plugin.properties b/plugins/org.eclipse.jem.util/org.eclipse.perfmsr.core.stub/plugin.properties
deleted file mode 100644
index 5720eeb..0000000
--- a/plugins/org.eclipse.jem.util/org.eclipse.perfmsr.core.stub/plugin.properties
+++ /dev/null
@@ -1,12 +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
-###############################################################################
-Plugin.name=Performance Monitor
-
diff --git a/plugins/org.eclipse.jem.util/org.eclipse.perfmsr.core.stub/plugin.xml b/plugins/org.eclipse.jem.util/org.eclipse.perfmsr.core.stub/plugin.xml
deleted file mode 100644
index 596926d..0000000
--- a/plugins/org.eclipse.jem.util/org.eclipse.perfmsr.core.stub/plugin.xml
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin
-   id="org.eclipse.perfmsr.core"
-   name="%Plugin.name"
-   version="3.0.0"
-   provider-name="Eclipse.org"
-   class="org.eclipse.perfmsr.core.PerfMsrCorePlugin">
-
-   <runtime>
-      <library name="perfmsr.jar"><export name="*"/></library>
-   </runtime>
-   
-   <requires>
-      <import plugin="org.eclipse.core.runtime"/>
-   </requires>
-</plugin>
diff --git a/plugins/org.eclipse.jem.util/org.eclipse.perfmsr.core.stub/src/org/eclipse/perfmsr/core/IPerformanceMonitor.java b/plugins/org.eclipse.jem.util/org.eclipse.perfmsr.core.stub/src/org/eclipse/perfmsr/core/IPerformanceMonitor.java
deleted file mode 100644
index bd992c7..0000000
--- a/plugins/org.eclipse.jem.util/org.eclipse.perfmsr.core.stub/src/org/eclipse/perfmsr/core/IPerformanceMonitor.java
+++ /dev/null
@@ -1,195 +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.perfmsr.core;
-
-/**
- * Take snapshots of the various performance counters.
- * ************* This is just a stub of the real interface to get org.eclipse.jem.util 
- *               to compile. It is not usable by itself. ****************************
- */
-public interface IPerformanceMonitor
-{
-	/**
-	 * These constants control how much information is gathered for a particular snapshot.
-	 * They are or'ed together and passed into the snapshot method.  
-	 */
-	interface Types
-	{
-		/** 
-		 * 1 - Write out the performance counters from the operating system. These
-		 * include working set, peak working set, elapsed time, user time, and 
-		 * kernel time.
-		 */
-		int OperatingSystemCounters		= 1;
-		
-		/**
-		 * 2 - Write out the global performance info. This includes things like the total
-		 * committed memory for the entire system.
-		 * 
-		 * This function depends on the GetPerformanceInfo() function being available in
-		 * the Windows psapi.dll. This is available in XP but is usually not available
-		 * in Win/2000. If it is not available then this function throws an UnsupportedOperationException.
-		 */
-		int GlobalSystemCounters		= 2;
-		
-		/**
-		 * 4 - Write out the size of the Java Heap.
-		 */
-		int JavaHeapSize				= 4;
-
-		/**
-		 * 8 - Write out how much of the Java heap is being used. This calls the 
-		 * garbage collector so it may skew timing results.
-		 */
-		int JavaHeapUsed				= 8;
-		
-		/**
-		 * 16 - The plugin startup and size information.
-		 */
-		int PluginInfo					= 16;
-		
-		/** 0xffff - Everything. */
-		int All							= 0xffff;	
-	}
-	
-	/**
-	 * Add some more "extra" variations. 
-	 * 
-	 * The variations that are in effect are made up of these extra variations plus any variations
-	 * that may have been set with the setVar() method.
-	 * 
-	 * @param varList a comma separated list of variations
-	 */
-	public void addVarAppend(String varList);
-	
-	/**
-	 * Set the driver name. 
-	 * 
-	 * @param driver a label that identifies the driver that is being tested. If it is a WSAD
-	 * driver, this will usually be set by the extension.
-	 */
-	public void setDriver(String driver);
-	
-	/**
-	 * Set the location of the performance measurement file, that is the place where
-	 * the measurements are stored.
-	 * 
-	 * @param logFile the file name of where the log should be written. Usually this is fully qualified
-	 * path name. For example "x:\logs\timer.xml".
-	 */
-	public void setLogFile(String logFile);
-	
-	/**
-	 * Set the performance monitor to be on or off. If it is off then most of the other 
-	 * operations will no-op.
-	 * 
-	 * The default is for the performance monitor to be off unless it's special environment variable is set. 
-	 * When called from the UI, the UI should call this to make sure that it is on.
-	 */
-	public void setIsOn(boolean isOn);
-	
-	/**
-	 * Sets the test case number for this measurement run.
-	 *  
-	 * @param testd test case identifier
-	 */
-	public void setTestd(int testd);
-	
-	/**
-	 * Sets the test case name. If will cause a new test case to be created if it does not already exist.
-	 * 
-	 * @param testName a simple (short) test case name. In the case of JUnit test cases, it would usually 
-	 * be the JUnit name.
-	 */
-	public void setTestName(String testName);
-	
-	/**
-	 * Set the variations that are in effect.
-	 * 
-	 * @param var a comma delimited string of variation numbers
-	 */
-	public void setVar(String var);
-	
-	/**
-	 * Set the upload host
-	 * 
-	 * @param host DNS name of the upload host
-	 */
-	public void setUploadHost(String host);
-	
-	/**
-	 * Set the upload port
-	 * 
-	 * @param port upload port
-	 */
-	public void setUploadPort(int port);
-	
-	/**
-	 * Set the upload userid
-	 * 
-	 * @param userid
-	 */
-	public void setUploadUserid(String userid);
-	
-	/**
-	 * Take a snapshot of some default performance measurements.
-	 * 
-	 * @param step this identifies the step that the snapshot is for
-	 */
-	void snapshot(int step);
-	
-	/**
-	 * Take a snapshot of the selected performance measurements.
-	 * 
-	 * @param step this identifies the step that the snapshot is for
-	 * 
-	 * @param types This controls which measurements are selected. It is an or'd together
-	 * list of the IPerformanceMonitor.Types constants.
-	 * 
-	 * @see IPerformanceMonitor.Types 
-	 */
-	void snapshot(int step, int types);
-	
-	/**
-	 * Write the comment to the performance measurement file.
-	 * 
-	 * @param comment
-	 */
-	void writeComment(String comment);
-	
-	/**
-	 * Upload the results to the server. This causes the file to be
-	 * closed, and the monitor to be placed into the finished state.
-	 * 
-	 * This method can only be called if the uploadhost, uploadport and uploaduserid
-	 * have been configured before hand.
-	 * 
-	 * @param description an optional description (it can be null)
-	 * 
-	 * @return some status information
-	 */
-	public Upload.Status upload(String description);
-//	
-//	/**
-//	 * Upload the results to the server. This causes the file to be
-//	 * closed, and the monitor to be placed into the finished state.
-//	 * 
-//	 * @param host the host name that the file is being sent to
-//	 * @param port the port on the host
-//	 * @param userid the userid that is doing the upload
-//	 * @param description an optional description (it can be null)
-//	 * 
-//	 * @return some status information
-//	 */
-//	Upload.Status upload(String host, int port, String userid, String description);
-
-
-}
diff --git a/plugins/org.eclipse.jem.util/org.eclipse.perfmsr.core.stub/src/org/eclipse/perfmsr/core/PerfMsrCorePlugin.java b/plugins/org.eclipse.jem.util/org.eclipse.perfmsr.core.stub/src/org/eclipse/perfmsr/core/PerfMsrCorePlugin.java
deleted file mode 100644
index 2b86e9e..0000000
--- a/plugins/org.eclipse.jem.util/org.eclipse.perfmsr.core.stub/src/org/eclipse/perfmsr/core/PerfMsrCorePlugin.java
+++ /dev/null
@@ -1,31 +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
- *******************************************************************************/
-/*
- *  $RCSfile: PerfMsrCorePlugin.java,v $
- *  $Revision: 1.2 $  $Date: 2005/02/15 23:06:47 $ 
- */
-package org.eclipse.perfmsr.core;
-
-import org.eclipse.core.runtime.Plugin;
- 
-
-/**
- * ************* This is just a stub of the real class to get org.eclipse.jem.util 
- *               to compile. It is not usable by itself. ****************************
- * @since 1.0.0
- */
-public class PerfMsrCorePlugin extends Plugin {
-	
-	public static IPerformanceMonitor getPerformanceMonitor(boolean bool) {
-		return null;
-	}
-
-}
diff --git a/plugins/org.eclipse.jem.util/org.eclipse.perfmsr.core.stub/src/org/eclipse/perfmsr/core/Upload.java b/plugins/org.eclipse.jem.util/org.eclipse.perfmsr.core.stub/src/org/eclipse/perfmsr/core/Upload.java
deleted file mode 100644
index c412f52..0000000
--- a/plugins/org.eclipse.jem.util/org.eclipse.perfmsr.core.stub/src/org/eclipse/perfmsr/core/Upload.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-/*
- *  $RCSfile: Upload.java,v $
- *  $Revision: 1.2 $  $Date: 2005/02/15 23:06:47 $ 
- */
-package org.eclipse.perfmsr.core;
- 
-
-/**
- * Upload.
- * ************* This is just a stub of the real interface to get org.eclipse.jem.util 
- *               to compile. It is not usable by itself. ****************************
- */
-public interface Upload {
-	public static class Status {
-		public boolean success;
-	}
-}
diff --git a/plugins/org.eclipse.jem.util/plugin.properties b/plugins/org.eclipse.jem.util/plugin.properties
deleted file mode 100644
index a53db6a..0000000
--- a/plugins/org.eclipse.jem.util/plugin.properties
+++ /dev/null
@@ -1,18 +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
-###############################################################################
-#
-# $Source: /cvsroot/webtools/common.move/webtools.common.git/plugins/org.eclipse.jem.util/plugin.properties,v $
-# $Revision: 1.2 $  $Date: 2005/02/15 23:07:45 $
-#
-
-
-pluginName=Java EMF Model Utilities
-providerName = Eclipse.org
diff --git a/plugins/org.eclipse.jem.util/plugin.xml b/plugins/org.eclipse.jem.util/plugin.xml
deleted file mode 100644
index 591be42..0000000
--- a/plugins/org.eclipse.jem.util/plugin.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin>
-
-    
-<!-- Extension point to register ResourceHandlers that will always be added to 
-	new WorkbenchContexts -->
-   <extension-point id="ResourceHandlerExtension" name="ResourceHandlerExtension"/>
-   <extension-point id="globalPluginResourceLoad" name="Global Plugin Resource Load"/>
-   <extension-point id="nature_registration" name="EMF Nature registration"/>
-   <extension-point id="internalWorkbenchContextFactory" name="Internal Workbench Context Factory"/>
-   <extension-point id="uiContextSensitiveClass" name="UI Context Sensitive Class" schema="schema/uiContextSensitiveClass.exsd"/>
-   <extension-point id="uiTester" name="UI Tester" schema="schema/uiTester.exsd"/>   
-   
-</plugin>
diff --git a/plugins/org.eclipse.jem.util/property_files/emfworkbench.properties b/plugins/org.eclipse.jem.util/property_files/emfworkbench.properties
deleted file mode 100644
index cad9483..0000000
--- a/plugins/org.eclipse.jem.util/property_files/emfworkbench.properties
+++ /dev/null
@@ -1,18 +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
-###############################################################################
-EMFWorkbenchContextBase_ERROR_0=IWAE0003E Method not yet implemented.
-EMFWorkbenchContextBase_ERROR_1=IWAE0005E Project can not be null.
-EMFWorkbenchContextBase_ERROR_2=IWAE0006E Attempt to create resource set with null project
-EMFNatureRegistry_ERROR_0=IWAE0007E Duplicate EMF nature registration for id: {0}
-EMFWorkbenchContextFactory_UI_0=The project should not be null.
-EMFWorkbenchContextFactory_UI_1=The project \"{0}\" is not accessible.
-
-ProjectUtil_Delete_1=Deleting \"{0}\".
\ No newline at end of file
diff --git a/plugins/org.eclipse.jem.util/schema/uiContextSensitiveClass.exsd b/plugins/org.eclipse.jem.util/schema/uiContextSensitiveClass.exsd
deleted file mode 100644
index df70e98..0000000
--- a/plugins/org.eclipse.jem.util/schema/uiContextSensitiveClass.exsd
+++ /dev/null
@@ -1,169 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.jem.util">
-<annotation>
-      <appInfo>
-         <meta.schema plugin="org.eclipse.jem.util" id="uiContextSensitiveClass" name="UI Context Sensitive Class"/>
-      </appInfo>
-      <documentation>
-         Components are often designed in such a way that the &quot;Headless&quot; or non-graphical portions are separate from the Graphical User Interface (GUI) portions. Sometimes this is done to follow good design principles, other times there is a specific use case for doing so. When plugins follow this practice because they must vary their behavior based on whether they are running in a headless environment or a graphical environment, they often need to choose the correct implementation of a particular type. The org.eclipse.jem.util.uiContextSensitiveClass extension point provided by the JEM component solves exactly this problem.
-&lt;p&gt;    
-To use the extension point, you must provide two extensions that are linked by a key. The key is a unique String-based value that you will later use to instanitate your class.
-&lt;p&gt;
-The first usage of the extension specifies your key, and the Headless context, and the class that should be instantiated for this (key, context) pair. This means in the headless environment this class will be instantiated when requested.
-&lt;p&gt;
-The second extension specifies the UI context and the same key, but a different implementation designed for graphical environments. This means in the UI environment this other class will be instantiated when requested.
-&lt;p&gt;
-The actual request is done in your code via:
-&lt;pre&gt;
-IMyInterface instance = (IMyInterface) UIContextDetermination.createInstance(&quot;myKey&quot;);
-&lt;/pre&gt;
-where &lt;code&gt;&quot;myKey&quot;&lt;/code&gt; is the key used on both extensions. It will then choose either the UI or the Headless extension depending upon the context.
-      </documentation>
-   </annotation>
-
-   <element name="extension">
-      <complexType>
-         <sequence>
-            <element ref="uiContextSensitiveClass" 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>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="uiContextSensitiveClass">
-      <annotation>
-         <documentation>
-            An extension point that defines an instance of a class and its appropriate context (UI or Headless)
-         </documentation>
-      </annotation>
-      <complexType>
-         <attribute name="key" type="string" use="required">
-            <annotation>
-               <documentation>
-                  The key that should be used to create an instance of the Context Sensitive super class/interface.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="className" type="string" use="required">
-            <annotation>
-               <documentation>
-                  A concrete implementation for either a UI or Headless context.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="context" use="required">
-            <annotation>
-               <documentation>
-                  One of &quot;UI&quot; or &quot;Headless&quot; This is case-sensitive. It must match exactly as shown here.
-               </documentation>
-            </annotation>
-            <simpleType>
-               <restriction base="string">
-                  <enumeration value="UI">
-                  </enumeration>
-                  <enumeration value="Headless">
-                  </enumeration>
-               </restriction>
-            </simpleType>
-         </attribute>
-      </complexType>
-   </element>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="since"/>
-      </appInfo>
-      <documentation>
-         6.0
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="examples"/>
-      </appInfo>
-      <documentation>
-         Usage for the UI context:
-&lt;pre&gt;
-   &lt;extension
-       id=&quot;context.Sensitive.Class.workingCopyManager&quot;
-       name=&quot;Working Copy Manager - UI Context Class&quot;
-       point=&quot;org.eclipse.jem.util.ContextSensitiveClass&quot;&gt;
-     &lt;uiContextSensitiveClass
-       context=&quot;UI&quot;
-       key=&quot;workingCopyManager&quot;
-       className=&quot;com.ibm.wtp.common.ui.WTPUIWorkingCopyManager&quot;/&gt;
-   &lt;/extension&gt;
-&lt;/pre&gt;
-&lt;br&gt;
-Usage for the Headless context:
-&lt;pre&gt;
-   &lt;extension
-       id=&quot;context.Sensitive.Class.workingCopyManager&quot;
-       name=&quot;Working Copy Manager - Headless Context Class&quot;
-       point=&quot;org.eclipse.jem.util.ContextSensitiveClass&quot;&gt;
-     &lt;uiContextSensitiveClass
-         context=&quot;Headless&quot;
-         key=&quot;workingCopyManager&quot;
-         className=&quot;com.ibm.wtp.common.ui.WTPHeadlessWorkingCopyManager&quot;/&gt;
-   &lt;/extension&gt;
-&lt;/pre&gt;
-&lt;br&gt;
-And finally the retrieval of the class for the current context:
-
-&lt;pre&gt;
-IWorkingCopyManager manager = (IWorkingCopyManager) UIContextDetermination.createInstance(&quot;workingCopyManager&quot;);
-&lt;/pre&gt;
-
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="apiInfo"/>
-      </appInfo>
-      <documentation>
-         See &lt;code&gt;org.eclipse.jem.util.UIContextDetermination&lt;/code&gt;
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="implementation"/>
-      </appInfo>
-      <documentation>
-         
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="copyright"/>
-      </appInfo>
-      <documentation>
-         Copyright (c) IBM 2003.
-      </documentation>
-   </annotation>
-
-</schema>
diff --git a/plugins/org.eclipse.jem.util/schema/uiTester.exsd b/plugins/org.eclipse.jem.util/schema/uiTester.exsd
deleted file mode 100644
index 48d74fc..0000000
--- a/plugins/org.eclipse.jem.util/schema/uiTester.exsd
+++ /dev/null
@@ -1,104 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.jem.util">
-<annotation>
-      <appInfo>
-         <meta.schema plugin="org.eclipse.jem.util" id="uiTester" name="UI Tester"/>
-      </appInfo>
-      <documentation>
-         Edit models provide a framework for managing a set of EMF resources within a unit of work.  For example, a workspace operation may affect a change to multiple EMF resources. Edit models provide basic services such as loads, saves (when necessary), and validate edit for the managed resources.  Edit models are reference counted, therefore a single instance of an edit model can be shared by more than one operation or editor.  By declaring an edit model, a plugin provider enables other components to contribute resources to be managed by that edit model.
-      </documentation>
-   </annotation>
-
-   <element name="extension">
-      <complexType>
-         <sequence>
-            <element ref="uiTester"/>
-         </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>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="uiTester">
-      <annotation>
-         <documentation>
-            The declaration for an edit model to be used in the workspace.
-         </documentation>
-      </annotation>
-      <complexType>
-         <attribute name="className" type="string" use="required">
-            <annotation>
-               <documentation>
-                  A unique identifier for the edit model.
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="since"/>
-      </appInfo>
-      <documentation>
-         6.0
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="examples"/>
-      </appInfo>
-      <documentation>
-         [Enter extension point usage example here.]
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="apiInfo"/>
-      </appInfo>
-      <documentation>
-         [Enter API information here.]
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="implementation"/>
-      </appInfo>
-      <documentation>
-         [Enter information about supplied implementation of this extension point.]
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="copyright"/>
-      </appInfo>
-      <documentation>
-         
-      </documentation>
-   </annotation>
-
-</schema>
diff --git a/plugins/org.eclipse.wst.common.core/.classpath b/plugins/org.eclipse.wst.common.core/.classpath
deleted file mode 100644
index 202d634..0000000
--- a/plugins/org.eclipse.wst.common.core/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="src-search"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/plugins/org.eclipse.wst.common.core/.cvsignore b/plugins/org.eclipse.wst.common.core/.cvsignore
deleted file mode 100644
index 0f861fd..0000000
--- a/plugins/org.eclipse.wst.common.core/.cvsignore
+++ /dev/null
@@ -1,6 +0,0 @@
-bin
-build.xml
-javaCompiler...args
-src.zip
-@dot
-temp.folder
diff --git a/plugins/org.eclipse.wst.common.core/.options b/plugins/org.eclipse.wst.common.core/.options
deleted file mode 100644
index 2e5ed2a..0000000
--- a/plugins/org.eclipse.wst.common.core/.options
+++ /dev/null
@@ -1 +0,0 @@
-org.eclipse.wst.common.search/perf=false
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.core/.project b/plugins/org.eclipse.wst.common.core/.project
deleted file mode 100644
index 6bb12ef..0000000
--- a/plugins/org.eclipse.wst.common.core/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.wst.common.core</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-	</natures>
-</projectDescription>
diff --git a/plugins/org.eclipse.wst.common.core/.settings/org.eclipse.jdt.core.prefs b/plugins/org.eclipse.wst.common.core/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 7406de6..0000000
--- a/plugins/org.eclipse.wst.common.core/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,59 +0,0 @@
-#Mon Jan 30 23:40:52 EST 2006
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.4
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=warning
-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=warning
-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=ignore
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
-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=ignore
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.compiler.problem.unusedLabel=warning
-org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.3
diff --git a/plugins/org.eclipse.wst.common.core/.settings/org.eclipse.jdt.ui.prefs b/plugins/org.eclipse.wst.common.core/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index c68ceb4..0000000
--- a/plugins/org.eclipse.wst.common.core/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,3 +0,0 @@
-#Mon Jan 30 19:45:41 EST 2006
-eclipse.preferences.version=1
-internal.default.compliance=default
diff --git a/plugins/org.eclipse.wst.common.core/META-INF/MANIFEST.MF b/plugins/org.eclipse.wst.common.core/META-INF/MANIFEST.MF
deleted file mode 100644
index d1fe1a2..0000000
--- a/plugins/org.eclipse.wst.common.core/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,18 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %pluginName
-Bundle-SymbolicName: org.eclipse.wst.common.core; singleton:=true
-Bundle-Version: 1.1.0.qualifier
-Bundle-Activator: org.eclipse.wst.common.core.search.SearchPlugin
-Bundle-Localization: plugin
-Export-Package: org.eclipse.wst.common.core.search,
- org.eclipse.wst.common.core.search.document,
- org.eclipse.wst.common.core.search.internal;x-internal:=true,
- org.eclipse.wst.common.core.search.pattern,
- org.eclipse.wst.common.core.search.scope,
- org.eclipse.wst.common.core.search.util
-Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.2.0,3.3.0)",
- org.eclipse.core.resources;bundle-version="[3.2.0,3.3.0)",
- org.eclipse.core.expressions;bundle-version="[3.2.0,3.3.0)"
-Eclipse-LazyStart: true
-Bundle-Vendor: %pluginProvider
diff --git a/plugins/org.eclipse.wst.common.core/about.html b/plugins/org.eclipse.wst.common.core/about.html
deleted file mode 100644
index 4ec5989..0000000
--- a/plugins/org.eclipse.wst.common.core/about.html
+++ /dev/null
@@ -1,34 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<HTML>
-
-<head>
-<title>About</title>
-<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
-</head>
-
-<BODY lang="EN-US">
-
-<H3>About This Content</H3>
-
-<P>May 2, 2006</P>
-
-<H3>License</H3>
-
-<P>The Eclipse Foundation makes available all content in this plug-in 
-("Content"). Unless otherwise indicated below, the Content is provided to you 
-under the terms and conditions of the Eclipse Public License Version 1.0 
-("EPL"). A copy of the EPL is available at
-<A href="http://www.eclipse.org/org/documents/epl-v10.php">http://www.eclipse.org/org/documents/epl-v10.php</A>. 
-For purposes of the EPL, "Program" will mean the Content.</P>
-
-<P>If you did not receive this Content directly from the Eclipse Foundation, the 
-Content is being redistributed by another party ("Redistributor") and different 
-terms and conditions may apply to your use of any object code in the Content. 
-Check the Redistributor’s license that was provided with the Content. If no such 
-license exists, contact the Redistributor. Unless otherwise indicated below, the 
-terms and conditions of the EPL still apply to any source code in the Content 
-and such source code may be obtained at
-<A href="http://www.eclipse.org/">http://www.eclipse.org/</A>.</P>
-
-</BODY>
-</HTML>
diff --git a/plugins/org.eclipse.wst.common.core/build.properties b/plugins/org.eclipse.wst.common.core/build.properties
deleted file mode 100644
index cd3e92f..0000000
--- a/plugins/org.eclipse.wst.common.core/build.properties
+++ /dev/null
@@ -1,8 +0,0 @@
-source.. = src-search/
-output.. = bin/
-bin.includes = META-INF/,\
-               .,\
-               plugin.xml,\
-               schema/,\
-               plugin.properties,\
-               about.html
diff --git a/plugins/org.eclipse.wst.common.core/component.xml b/plugins/org.eclipse.wst.common.core/component.xml
deleted file mode 100644
index 3e9239c..0000000
--- a/plugins/org.eclipse.wst.common.core/component.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<component xmlns="http://eclipse.org/wtp/releng/tools/component-model" 
-  name="org.eclipse.wst.common.core">
-  <component-depends unrestricted="true"></component-depends>
-  <plugin id="org.eclipse.wst.common.core" fragment="false" />
-</component>
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.core/plugin.properties b/plugins/org.eclipse.wst.common.core/plugin.properties
deleted file mode 100644
index ff6cdef..0000000
--- a/plugins/org.eclipse.wst.common.core/plugin.properties
+++ /dev/null
@@ -1,3 +0,0 @@
-! Plug-in properties
-pluginName     = WST Common Core Plug-in
-pluginProvider = Eclipse.org
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.core/plugin.xml b/plugins/org.eclipse.wst.common.core/plugin.xml
deleted file mode 100644
index c82f6a0..0000000
--- a/plugins/org.eclipse.wst.common.core/plugin.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin>
-   <extension-point id="searchParticipants" name="%searchParticipants" />      
-</plugin>
-
-
diff --git a/plugins/org.eclipse.wst.common.core/schema/searchParticipants.exsd b/plugins/org.eclipse.wst.common.core/schema/searchParticipants.exsd
deleted file mode 100644
index 367c943..0000000
--- a/plugins/org.eclipse.wst.common.core/schema/searchParticipants.exsd
+++ /dev/null
@@ -1,89 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.wst.common.core">
-<annotation>
-      <appInfo>
-         <meta.schema plugin="org.eclipse.wst.common.search" id="searchParticipants" name="%searchPArticipants"/>
-      </appInfo>
-      <documentation>
-         [Enter description of this extension point.]
-      </documentation>
-   </annotation>
-
-   <element name="extension">
-      <complexType>
-         <sequence>
-         </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>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="since"/>
-      </appInfo>
-      <documentation>
-         [Enter the first release in which this extension point appears.]
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="examples"/>
-      </appInfo>
-      <documentation>
-         [Enter extension point usage example here.]
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="apiInfo"/>
-      </appInfo>
-      <documentation>
-         [Enter API information here.]
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="implementation"/>
-      </appInfo>
-      <documentation>
-         [Enter information about supplied implementation of this extension point.]
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="copyright"/>
-      </appInfo>
-      <documentation>
-         
-      </documentation>
-   </annotation>
-
-</schema>
diff --git a/plugins/org.eclipse.wst.common.core/src-search/org/eclipse/wst/common/core/search/ISearchOptions.java b/plugins/org.eclipse.wst.common.core/src-search/org/eclipse/wst/common/core/search/ISearchOptions.java
deleted file mode 100644
index 33305e5..0000000
--- a/plugins/org.eclipse.wst.common.core/src-search/org/eclipse/wst/common/core/search/ISearchOptions.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.common.core.search;
-
-/**
- * This interface provides values that can be used in the map of search options passed
- * to
- * {@link SearchEngine#search(org.eclipse.wst.common.core.search.pattern.SearchPattern, SearchRequestor, org.eclipse.wst.common.core.search.scope.SearchScope, java.util.Map, org.eclipse.core.runtime.IProgressMonitor)
- * SearchEngine.search()}.
- * <p>
- * Note that not all search participants will provide specialized behavior based on
- * use of these search options.
- * <p>
- * Also note that individual search participants may support additional options not
- * listed here. These search options should be formed so that a search participant can
- * safely ignore any that it does not understand.
- * 
- * <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 ISearchOptions {
-
-	/**
-	 * Search option specifying a trade-off choice between search performance and
-	 * completeness.
-	 */
-	public static final String PRIORITY_OPTION = "org.eclipse.wst.common.core.search.PRIORITY"; //$NON_NLS_1$
-	/**
-	 * Choice for the {@link #PRIORITY_OPTION} search option that emphasizes
-	 * performance at the possible expense of accuracy. This value should be used for
-	 * all search calls made on the user interface thread. In some cases, search
-	 * results may not be complete because of inaccuracies caused by timing windows.
-	 */
-	public static final String PRIORITY_VALUE_TIMELINESS = "FAST_SEARCH"; //$NON_NLS_1$
-	/**
-	 * Choice for the {@link #PRIORITY_OPTION} search option that emphasizes
-	 * accuracy at the possible expense of timeliness. This value should never be used
-	 * for search calls made on the user interface thread, because some search
-	 * participants may choose to use time-consuming background processing to return a
-	 * complete set of matches.
-	 */
-	public static final String PRIORITY_VALUE_COMPLETENESS = "COMPLETE_SEARCH"; //$NON_NLS_1$
-	/**
-	 * Default choice for the {@link #PRIORITY_OPTION} search option.
-	 */
-	public static final String PRIORITY_VALUE_DEFAULT = PRIORITY_VALUE_TIMELINESS;
-
-}
diff --git a/plugins/org.eclipse.wst.common.core/src-search/org/eclipse/wst/common/core/search/SearchEngine.java b/plugins/org.eclipse.wst.common.core/src-search/org/eclipse/wst/common/core/search/SearchEngine.java
deleted file mode 100644
index ef4f51a..0000000
--- a/plugins/org.eclipse.wst.common.core/src-search/org/eclipse/wst/common/core/search/SearchEngine.java
+++ /dev/null
@@ -1,204 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.wst.common.core.search;
-
-import java.util.Map;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.OperationCanceledException;
-import org.eclipse.core.runtime.SubProgressMonitor;
-import org.eclipse.wst.common.core.search.document.SearchDocumentSet;
-import org.eclipse.wst.common.core.search.internal.Messages;
-import org.eclipse.wst.common.core.search.internal.SearchDocumentSetImpl;
-import org.eclipse.wst.common.core.search.pattern.SearchPattern;
-import org.eclipse.wst.common.core.search.scope.SearchScope;
-
-/**
- * The {@link SearchEngine} class provides a generic way of searching for information
- * without the need of knowing how or where that information is stored. The results
- * returned by a search could be scattered in a number of files or stored in an index.
- * Examples of the information you can search for include element declarations and
- * references, references between files, and use of qualifiers.
- * <p>
- * The search can be limited to a specified search scope, or the entire workspace can
- * be searched. Search matches are returned to the specified {@link SearchRequestor}.
- * <p>
- * This class may be instantiated; it is not intended to be subclassed.
- * 
- * <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 SearchEngine implements ISearchOptions
-{
-
-	/**
-	 * Searches for matches of a given search pattern using a specified set of search
-	 * participants and search scope. Search patterns can be created using factory
-	 * methods and encapsulate the description of the information to be searched for
-	 * (for example, element declarations of a specified type, in a case sensitive
-	 * manner).
-	 * @param pattern
-	 *            The pattern describing the information to search for
-	 * @param requestor
-	 *            Callback object to notify with the results of the search (each match
-	 *            is reported to {@link SearchRequestor#acceptSearchMatch(SearchMatch)})
-	 * @param participants
-	 *            The search participants that will conduct the search
-	 * @param scope
-	 *            Optional search scope to limit the source of search candidates;
-	 *            specify <code>null</code> to search the entire workspace
-	 * @param searchOptions
-	 *            Optional map of options and values defining behavior of the search;
-	 *            some options and values are provided by {@link ISearchOptions}
-	 * @param monitor
-	 *            Optional progress monitor used to report work completed
-	 * @exception CoreException
-	 *            if the search fails
-	 */
-	public void search(SearchPattern pattern, SearchRequestor requestor,
-			SearchParticipant[] participants, SearchScope scope, Map searchOptions,
-			IProgressMonitor monitor) throws CoreException
-	{
-
-		if (monitor != null && monitor.isCanceled())
-			throw new OperationCanceledException();
-
-		/* initialize progress monitor */
-		if (monitor != null)
-			monitor.beginTask(Messages.engine_searching, 100);
-
-        SearchDocumentSet set = new SearchDocumentSetImpl();
-		try
-		{
-			// requestor.beginReporting();
-            SearchScope[] scopeArray = new SearchScope[participants.length];
-			for (int i = 0, l = participants == null ? 0 : participants.length; i < l; i++)
-			{
-				if (monitor != null && monitor.isCanceled())
-					throw new OperationCanceledException();
-
-				SearchParticipant participant = participants[i];
-				SubProgressMonitor subMonitor = monitor == null ? null
-						: new SubProgressMonitor(monitor, 1000);
-				if (subMonitor != null)
-					subMonitor.beginTask("", 1000); //$NON-NLS-1$
-				try
-				{
-					if (subMonitor != null)
-						subMonitor.subTask(Messages.bind(
-								Messages.engine_searching_locatingDocuments,
-								new String[]
-								{ participant.getDescription() }));
-					participant.beginSearching(pattern, searchOptions);
-					// requestor.enterParticipant(participant);
-					// participant creates it's own search scope 
-					SearchScope newScope =
-						participant.selectDocumentLocations(pattern, scope, searchOptions, monitor);
-                    scopeArray[i] = newScope;
-					// participant creates search documents based on it's search scope
-					participant.createSearchDocuments(set, pattern, newScope, searchOptions, subMonitor);
-                }
-                catch(Exception e)
-                {                  
-                }
-			}
-            for (int i = 0, l = participants == null ? 0 : participants.length; i < l; i++)
-            {        
-                if (monitor != null && monitor.isCanceled())                                  
-                    throw new OperationCanceledException();
-                
-                SearchParticipant participant = participants[i];
-                SubProgressMonitor subMonitor = monitor == null ? null
-                    : new SubProgressMonitor(monitor, 1000);                     
-                if (subMonitor != null && subMonitor.isCanceled())
-                    throw new OperationCanceledException();
-                try
-                {
-                // locate index matches if any (note that all search matches
-                // could have been issued during index querying)
-                if (subMonitor != null)
-                    subMonitor.subTask(Messages.bind(
-                            Messages.engine_searching_matching,
-                            new String[]
-                            { participant.getDescription() }));
-                // a search document set should contain enough info to reduce the search scope even further 
-                // before finding precize locations
-                participant.locateMatches(set, pattern, scopeArray[i], requestor, searchOptions, subMonitor);
-                }
-                finally
-                {
-                  // requestor.exitParticipant(participant);
-                  participant.doneSearching(pattern, searchOptions);
-                }         
-            }    
-		} finally
-		{
-            set.dispose();
-			// requestor.endReporting();
-			if (monitor != null)
-				monitor.done();
-		}
-	}
-
-	/**
-	 * Searches for matches of a given search pattern. Search patterns can be created
-	 * using factory methods and encapsulate the description of the information to be
-	 * searched for (for example, element declarations of a specified type, in a case
-	 * sensitive manner).
-	 * @param pattern
-	 *            The pattern describing the information to search for
-	 * @param requestor
-	 *            Callback object to notify with the results of the search (each match
-	 *            is reported to {@link SearchRequestor#acceptSearchMatch(SearchMatch)})
-	 * @param scope
-	 *            Optional search scope to limit the source of search candidates;
-	 *            specify <code>null</code> to search the entire workspace
-	 * @param searchOptions
-	 *            Optional map of options and values defining behavior of the search;
-	 *            some options and values are provided by {@link ISearchOptions}
-	 * @param monitor
-	 *            Optional progress monitor used to report work completed
-	 * @exception CoreException
-	 *            if the search fails
-	 */
-	public void search(SearchPattern pattern, SearchRequestor requestor,
-			SearchScope scope, Map searchOptions, IProgressMonitor monitor)
-			throws CoreException
-	{
-		SearchParticipant[] participants =
-			getApplicableParticipants(pattern, searchOptions);
-        //System.out.println("participants = " + participants.length);
-		search(pattern, requestor, participants, scope, searchOptions, monitor);
-	}
-
-	/**
-	 * Queries the set of participants that support searches described by the
-	 * specified search pattern and options.
-	 * @param pattern
-	 *            The pattern describing the information to search for
-	 * @param searchOptions
-	 *            Optional map of options and values defining behavior of the search;
-	 *            some options and values are provided by {@link ISearchOptions}
-	 * @return Array of applicable search participants
-	 */
-	public SearchParticipant[] getApplicableParticipants(SearchPattern pattern,
-			Map searchOptions)
-	{
-		return SearchPlugin.getDefault().loadSearchParticipants(pattern, searchOptions);
-	}
-
-}
diff --git a/plugins/org.eclipse.wst.common.core/src-search/org/eclipse/wst/common/core/search/SearchMatch.java b/plugins/org.eclipse.wst.common.core/src-search/org/eclipse/wst/common/core/search/SearchMatch.java
deleted file mode 100644
index 4890fc5..0000000
--- a/plugins/org.eclipse.wst.common.core/src-search/org/eclipse/wst/common/core/search/SearchMatch.java
+++ /dev/null
@@ -1,157 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.wst.common.core.search;
-
-import java.util.HashMap;
-import java.util.Map;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.wst.common.core.search.pattern.SearchPattern;
-
-/**
- * A search match represents the result of a search query.
- * <p>
- * This class is intended to be instantiated and subclassed by clients.
- * </p>
- * <p>
- * <b>Note:</b> This class/interface is part of an interim API that is still under development and expected to
- * change significantly before reaching stability. It is being made available at this early stage to solicit feedback
- * from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken
- * (repeatedly) as the API evolves.
- * </p>
- * 
- * @see SearchEngine#search(SearchPattern, SearchParticipant[], ISearchScope,
- *      SearchRequestor, org.eclipse.core.runtime.IProgressMonitor)
- */
-public class SearchMatch implements IAdaptable
-{
-
-	/**
-	 * Optional resource of the element
-	 */
-	IFile file; // resource where match is found
-
-	/**
-	 * The offset the match starts at, or -1 if unknown
-	 */
-	int offset;
-
-	/**
-	 * The length the length of the match, or -1 if unknown
-	 */
-	int length;
-
-	/**
-	 * Optional element that encloses or corresponds to the match
-	 */
-	Object object;
-
-	/**
-	 * Creates a new search match.
-	 * 
-	 * @param element
-	 *            the element that encloses or corresponds to the match, or
-	 *            <code>null</code> if none
-	 * @param offset
-	 *            the offset the match starts at, or -1 if unknown
-	 * @param length
-	 *            the length of the match, or -1 if unknown
-	 * @param participant
-	 *            the search participant that created the match
-	 * @param resource
-	 *            the resource of the element, or <code>null</code> if none
-	 */
-	public SearchMatch(Object element, int offset, int length, IFile resource)
-	{
-		this.object = element;
-		this.offset = offset;
-		this.length = length;
-		this.file = resource;
-	}
-
-	public IFile getFile()
-	{
-		return file;
-	}
-
-	public void setFile(IFile file)
-	{
-		this.file = file;
-	}
-
-	public int getLength()
-	{
-		return length;
-	}
-
-	public void setLength(int length)
-	{
-		this.length = length;
-	}
-
-	// issue (cs/eb) holding objects is a bit odd, since it implies the object's
-	// life span
-	// is the same as the SearchMatch. What happens when an object is deleted?
-	// does the SearchMatch get deleted? Aren't coordinates good enough?
-	// at the very least we should document that using this field has some
-	// consequences
-	/**
-	 * (eb) see comments for {@link #setObject(Object)}
-	 */
-	public Object getObject()
-	{
-		return object;
-	}
-
-	/**
-	 * @param object
-	 *            Object is an instance of some part of the model that represent
-	 *            the content that was searched. It may require to calculate
-	 *            some additional information that may be required by the tools
-	 *            through {@link #getObject()) (e.g. XML node namespace,
-	 *            nessesary to obtain the prefix for the refactoring tool).
-	 *            <p>
-	 *            There should be no danger here of preventing the object from
-	 *            garbage collection because instances of the search matches
-	 *            supposed to be short lived. {@link SearchMatch} is usually
-	 *            collected by {@link SearchRequestor} which itself is lived for
-	 *            the time of the search and then discarded or re-initialized.
-	 *            Usually the tool that requested a search extracts the
-	 *            information from the collected {@link SearchMatch} and after
-	 *            that {@link SearchMatch} could be garbage collected, releasing
-	 *            object that they hold to.
-	 *            </p>
-	 */
-	public void setObject(Object object)
-	{
-		this.object = object;
-	}
-
-	public int getOffset()
-	{
-		return offset;
-	}
-
-	public void setOffset(int offset)
-	{
-		this.offset = offset;
-	}
-
-	public Object getAdapter(Class adapter)
-	{
-		return Platform.getAdapterManager().getAdapter(this, adapter);
-	}
-    
-    public Map map = new HashMap(); 
-
-}
diff --git a/plugins/org.eclipse.wst.common.core/src-search/org/eclipse/wst/common/core/search/SearchParticipant.java b/plugins/org.eclipse.wst.common.core/src-search/org/eclipse/wst/common/core/search/SearchParticipant.java
deleted file mode 100644
index 95a0446..0000000
--- a/plugins/org.eclipse.wst.common.core/src-search/org/eclipse/wst/common/core/search/SearchParticipant.java
+++ /dev/null
@@ -1,281 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.wst.common.core.search;
-
-import java.util.Map;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.Assert;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.wst.common.core.search.document.SearchDocument;
-import org.eclipse.wst.common.core.search.document.SearchDocumentSet;
-import org.eclipse.wst.common.core.search.pattern.SearchPattern;
-import org.eclipse.wst.common.core.search.scope.SearchScope;
-
-/**
- * <p>
- * A search participant describes a particular extension to a generic search
- * mechanism, permitting combined search actions which will involve all required
- * participants.
- * </p>
- * <p>
- * When there is a need to search a document that has some mixed content, then
- * using a one participant will not be enough. E.g. for the searching of the JSP
- * content, a JSP participant needs to create {@link SearchDocument} that
- * contain Java compilation unit and then pass it to the default Java search
- * participant of the Java Search Engine. The same with XML: when there is an
- * XML content that default search participant could not process, but it is
- * required to be search on, a new search participant needs to be defined. That
- * search participant would know how create search document from the content and
- * then it can call default XML search participant.
- * </p>
- * <p>
- * Passing its own {@link SearchRequestor} this participant can then map the
- * match positions back to the original contents, create its own matches and
- * report them to the original requestor.
- * </p>
- * <p>
- * <b>Note:</b> This class/interface is part of an interim API that is still under development and expected to
- * change significantly before reaching stability. It is being made available at this early stage to solicit feedback
- * from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken
- * (repeatedly) as the API evolves.
- * </p>
- * 
- */
-public abstract class SearchParticipant implements ISearchOptions 
-{
-
-	protected static final boolean debugPerf = "true".equalsIgnoreCase(Platform.getDebugOption("org.eclipse.wst.common.core/perf")); //$NON-NLS-1$ //$NON-NLS-2$
-
-	protected String id;
-	/**
-	 * Creates a new search participant.
-	 */
-	protected SearchParticipant()
-	{
-		// do nothing
-	}
-
-	/**
-	 * Callback method allowing a search participant to indicate whether it supports
-	 * the specified search pattern and options.
-	 * <p>
-	 * If this method returns <code>true</code>, the participant will participate in
-	 * finding matches for the search defined by the search pattern. In this case, the
-	 * search pattern and options will be passed to the following methods of the
-	 * search participant:
-	 * <ol>
-	 * <li>{@link #beginSearching(SearchPattern, Map)}
-	 * <li>{@link #selectDocumentLocations(SearchPattern, SearchScope, Map, IProgressMonitor)}
-	 * <li>{@link #createSearchDocuments(SearchDocumentSet, SearchPattern, SearchScope, Map, IProgressMonitor)}
-	 * <li>{@link #locateMatches(SearchDocumentSet, SearchPattern, SearchScope, SearchRequestor, Map, IProgressMonitor)}
-	 * <li>{@link #doneSearching(SearchPattern, Map)}
-	 * </ol>
-	 * <p>
-	 * If this method returns <code>false</code>, none of the above methods will be
-	 * called, and the search participant contributes no matches for the search
-	 * requrest.
-	 * <p>
-	 * A search participant should only participate in a search when in understands
-	 * the search pattern. Unrecognized search options, however, can be ignored.
-	 * <p>
-	 * This method returns <code>false</code> by default. As a result, subclasses must
-	 * override this method to participate in any searches.
-	 * @param pattern The pattern describing the information to search for
-	 * @param searchOptions Map of options and values defining behavior of the search;
-	 *         <code>null</code> if no options are specified;
-	 *         some options and values are provided by {@link ISearchOptions}
-	 * @return <code>true</code> if the search participant will participate in the
-	 *         search request; <code>false</code> otherwise
-	 */
-	 public abstract boolean isApplicable(SearchPattern pattern, Map searchOptions);
-
-	/**
-	 * Notification that this participant's help is needed in a search.
-	 * <p>
-	 * This method should be re-implemented in subclasses that need to do
-	 * something when the participant is needed in a search.
-	 * </p>
-	 * @param pattern The pattern describing the information to search for
-	 * @param searchOptions Map of options and values defining behavior of the search;
-	 *         <code>null</code> if no options are specified;
-	 *         some options and values are provided by {@link ISearchOptions}
-	 */
-	public void beginSearching(SearchPattern pattern, Map searchOptions)
-	{
-		// do nothing
-	}
-
-	/**
-	 * Notification that this participant's help is no longer needed.
-	 * <p>
-	 * This method should be re-implemented in subclasses that need to do
-	 * something when the participant is no longer needed in a search.
-	 * </p>
-	 * @param pattern
-	 *            The pattern describing the information to search for
-	 * @param searchOptions
-	 *            Map of options and values defining behavior of the search;
-	 *            <code>null</code> if no options are specified;
-	 *            some options and values are provided by {@link ISearchOptions}
-	 */
-	public void doneSearching(SearchPattern pattern, Map searchOptions)
-	{
-		// do nothing
-	}
-	
-	/**
-	 * Returns a displayable name of this search participant.
-	 * <p>
-	 * This method should be re-implemented in subclasses that need to display a
-	 * meaningfull name.
-	 * </p>
-	 * 
-	 * @return the displayable name of this search participant
-	 */
-	public String getDescription()
-	{
-		return "Search participant"; //$NON-NLS-1$
-	}
-
-	/**
-	 * Returns a search document for the given path. The given document path is
-	 * a string that uniquely identifies the document. Most of the time it is a
-	 * workspace-relative path, but it can also be a file system path, or a path
-	 * inside a zip file.
-	 * <p>
-	 * Implementors of this method can either create an instance of their own
-	 * subclass of {@link SearchDocument} or return an existing instance of such
-	 * a subclass.
-	 * </p>
-	 * 
-	 * @param documentPath
-	 *            the path of the document.
-	 * @return a search document
-	 */
-	public abstract SearchDocument createSearchDocument(String documentPath);
-
-	/**
-	 * Locates the matches in the given documents. This method should be called
-	 * by the other search participant or search client once it has
-	 * pre-processed documents and delegating search to this search participant.
-	 * @param documentSet
-	 *            The documents to locate matches in
-	 * @param pattern
-	 *            The pattern describing the information to search for
-	 * @param scope
-	 *            Search scope to limit the source of search candidates;
-	 *            <code>null</code> indicates that the entire workspace is to be
-	 *            searched
-	 * @param requestor
-	 *            Callback object to notify with the results of the search (each match
-	 *            is reported to {@link SearchRequestor#acceptSearchMatch(SearchMatch)})
-	 * @param searchOptions
-	 *            Map of options and values defining behavior of the search;
-	 *            <code>null</code> if no options are specified;
-	 *            some options and values are provided by {@link ISearchOptions}
-	 * @param monitor
-	 *            Progress monitor used to report work completed; <code>null</code>
-	 *            if no progress needs to be reported
-	 * @throws CoreException
-	 *            If the requestor had problem accepting one of the matches
-	 */
-	public abstract void locateMatches(SearchDocumentSet documentSet,
-			SearchPattern pattern, SearchScope scope,
-			SearchRequestor requestor, Map searchOptions, IProgressMonitor monitor)
-			throws CoreException;
-
-	/**
-	 * 
-	 * @param document
-	 * @param pattern
-	 */
-	public abstract void populateSearchDocument(SearchDocument document,
-			SearchPattern pattern);
-
-	/**
-	 * Returns the collection of document locations to consider when performing
-	 * the given search query in the given scope. The search engine calls this
-	 * method before locating matches.
-	 * <p>
-	 * An document location represents a path workspace to the file with the
-	 * content that has potential matches
-	 * </p>
-	 * <p>
-	 * Clients are not expected to call this method.
-	 * </p>
-	 * @param pattern
-	 *            The pattern describing the information to search for
-	 * @param scope
-	 *            Search scope to limit the source of search candidates;
-	 *            <code>null</code> indicates that the entire workspace is to be
-	 *            searched
-	 * @param searchOptions
-	 *            Map of options and values defining behavior of the search;
-	 *            <code>null</code> if no options are specified;
-	 *            some options and values are provided by {@link ISearchOptions}
-	 * @param monitor
-	 *            Progress monitor used to report work completed; <code>null</code>
-	 *            if no progress needs to be reported
-	 * @return the collection of document paths to consider
-	 */
-	public SearchScope selectDocumentLocations(SearchPattern pattern,
-			SearchScope scope, Map searchOptions, IProgressMonitor monitor)
-	{	
-		return scope;
-	}
-
-	/**
-	 * <p>
-	 * This method calls the following methods for each file in the search scope:
-	 * <ol>
-	 * <li>{@link #createSearchDocument(String)}
-	 * <li>{@link #populateSearchDocument(SearchDocument, SearchPattern)}
-	 * </ol>
-	 * @param documentSet
-	 *            The documents to locate matches in
-	 * @param pattern
-	 *            The pattern describing the information to search for
-	 * @param scope
-	 *            Search scope to limit the source of search candidates;
-	 *            <code>null</code> indicates that the entire workspace is to be
-	 *            searched
-	 * @param searchOptions
-	 *            Map of options and values defining behavior of the search;
-	 *            <code>null</code> if no options are specified;
-	 *            some options and values are provided by {@link ISearchOptions}
-	 * @param monitor
-	 *            Progress monitor used to report work completed; <code>null</code>
-	 *            if no progress needs to be reported
-	 */
-	public void createSearchDocuments(SearchDocumentSet documentSet,
-			SearchPattern pattern, SearchScope scope, Map searchOptions,
-			IProgressMonitor monitor)
-	{
-		Assert.isNotNull(id, "The SearchPartipants id has not been initalized");
-		IFile[] files = scope.enclosingFiles();
-		
-		for (int i = 0; i < files.length; i++)
-		{
-			String location = files[i].getLocation().toString();
-			SearchDocument document = documentSet.getSearchDocument(location, id);
-			if(document == null && id != null){
-				documentSet.putSearchDocument(id, document = createSearchDocument(location));
-			}
-			populateSearchDocument(document, pattern); 
-			
-		}
-
-	}	
-}
diff --git a/plugins/org.eclipse.wst.common.core/src-search/org/eclipse/wst/common/core/search/SearchPlugin.java b/plugins/org.eclipse.wst.common.core/src-search/org/eclipse/wst/common/core/search/SearchPlugin.java
deleted file mode 100644
index cf7a9fc..0000000
--- a/plugins/org.eclipse.wst.common.core/src-search/org/eclipse/wst/common/core/search/SearchPlugin.java
+++ /dev/null
@@ -1,103 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.wst.common.core.search;
-
-import java.util.Map;
-
-import org.eclipse.core.runtime.Plugin;
-import org.eclipse.wst.common.core.search.internal.SearchParticipantRegistry;
-import org.eclipse.wst.common.core.search.internal.SearchParticipantRegistryReader;
-import org.eclipse.wst.common.core.search.pattern.SearchPattern;
-import org.osgi.framework.BundleContext;
-
-/**
- * The main plugin class to be used in the desktop.
- * <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 SearchPlugin extends Plugin implements ISearchOptions
-{
-
-	private SearchParticipantRegistry searchParticipantRegistry;
-
-	// The shared instance.
-	private static SearchPlugin plugin;
-
-	/**
-	 * The constructor.
-	 */
-	public SearchPlugin()
-	{
-		plugin = this;
-	}
-
-	/**
-	 * This method is called upon plug-in activation
-	 */
-	public void start(BundleContext context) throws Exception
-	{
-		super.start(context);
-	}
-
-	/**
-	 * This method is called when the plug-in is stopped
-	 */
-	public void stop(BundleContext context) throws Exception
-	{
-		super.stop(context);
-		plugin = null;
-	}
-
-	/**
-	 * Returns the shared instance.
-	 */
-	public static SearchPlugin getDefault()
-	{
-		return plugin;
-	}
-
-	private SearchParticipantRegistry getSearchParticipantRegistry()
-	{
-		if (searchParticipantRegistry == null)
-		{
-			searchParticipantRegistry = new SearchParticipantRegistry();
-			new SearchParticipantRegistryReader(searchParticipantRegistry)
-					.readRegistry();
-		}
-		return searchParticipantRegistry;
-	}
-
-
-	public SearchParticipant getSearchParticipant(String id)
-	{
-		return getSearchParticipantRegistry().getSearchParticipant(id);
-	}
-
-	/**
-	 * Returns the registered search participants that support the specified search
-	 * pattern and options, loading and creating the search participants if necessary.
-	 * @param pattern The pattern representing a search request
-	 * @param searchOptions Map of options and values defining behavior of the search;
-	 *         <code>null</code> if no options are specified;
-	 *         some options and values are provided by {@link ISearchOptions}
-	 * @return Array of search participants that support the specified search request 
-	 */
-	SearchParticipant[] loadSearchParticipants(SearchPattern pattern, Map searchOptions)
-	{
-		return getSearchParticipantRegistry().getParticipants(pattern, searchOptions);
-	}
-
-}
diff --git a/plugins/org.eclipse.wst.common.core/src-search/org/eclipse/wst/common/core/search/SearchRequestor.java b/plugins/org.eclipse.wst.common.core/src-search/org/eclipse/wst/common/core/search/SearchRequestor.java
deleted file mode 100644
index 460b589..0000000
--- a/plugins/org.eclipse.wst.common.core/src-search/org/eclipse/wst/common/core/search/SearchRequestor.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.wst.common.core.search;
-
-import org.eclipse.core.runtime.CoreException;
-
-/**
- * Collects the results from a search engine query. Clients implement a subclass
- * to pass to <code>SearchEngine.search</code> and implement the
- * {@link #acceptSearchMatch(SearchMatch)} method.
- * <p>
- * The subclasses of the SearchRequestor could collected search matches, filter,
- * sort and group them. It's up to the client to pass the required extension of
- * the SearchRequestor to the search engine.
- * </p>
- * <p>
- * <b>Note:</b> This class/interface is part of an interim API that is still under development and expected to
- * change significantly before reaching stability. It is being made available at this early stage to solicit feedback
- * from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken
- * (repeatedly) as the API evolves.
- * </p>
- * 
- * @see SearchEngine
- */
-public abstract class SearchRequestor
-{
-
-	/**
-	 * Accepts the given search match.
-	 * 
-	 * @param match
-	 *            the found match
-	 * @throws CoreException
-	 */
-	public abstract void acceptSearchMatch(SearchMatch match)
-			throws CoreException;
-
-}
diff --git a/plugins/org.eclipse.wst.common.core/src-search/org/eclipse/wst/common/core/search/document/ComponentDeclarationEntry.java b/plugins/org.eclipse.wst.common.core/src-search/org/eclipse/wst/common/core/search/document/ComponentDeclarationEntry.java
deleted file mode 100644
index f193937..0000000
--- a/plugins/org.eclipse.wst.common.core/src-search/org/eclipse/wst/common/core/search/document/ComponentDeclarationEntry.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.wst.common.core.search.document;
-
-import org.eclipse.wst.common.core.search.pattern.QualifiedName;
-
-/**
- * 
- * <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 ComponentDeclarationEntry extends Entry
-{
-	QualifiedName metaName;
-    QualifiedName name;
-
-	public QualifiedName getName()
-	{
-		return name;
-	}
-
-	public void setName(QualifiedName name)
-	{
-		this.name = name;
-	}
-
-  public QualifiedName getMetaName()
-  {
-    return metaName;
-  }
-
-  public void setMetaName(QualifiedName metaName)
-  {
-    this.metaName = metaName;
-  }
-}
diff --git a/plugins/org.eclipse.wst.common.core/src-search/org/eclipse/wst/common/core/search/document/ComponentReferenceEntry.java b/plugins/org.eclipse.wst.common.core/src-search/org/eclipse/wst/common/core/search/document/ComponentReferenceEntry.java
deleted file mode 100644
index d532f26..0000000
--- a/plugins/org.eclipse.wst.common.core/src-search/org/eclipse/wst/common/core/search/document/ComponentReferenceEntry.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.wst.common.core.search.document;
-
-import org.eclipse.wst.common.core.search.pattern.QualifiedName;
-
-/**
- * 
- * <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 ComponentReferenceEntry extends Entry
-{
-	QualifiedName name;
-
-	public QualifiedName getName()
-	{
-		return name;
-	}
-
-	public void setName(QualifiedName name)
-	{
-		this.name = name;
-	}
-}
diff --git a/plugins/org.eclipse.wst.common.core/src-search/org/eclipse/wst/common/core/search/document/Entry.java b/plugins/org.eclipse.wst.common.core/src-search/org/eclipse/wst/common/core/search/document/Entry.java
deleted file mode 100644
index acd10a6..0000000
--- a/plugins/org.eclipse.wst.common.core/src-search/org/eclipse/wst/common/core/search/document/Entry.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.wst.common.core.search.document;
-
-/**
- * 
- * <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 Entry
-{
-  String key;
-  String category;
-
-	public Entry()
-{
-	super();
-	
-}
-
-	public String getCategory()
-	{
-		return category;
-	}
-
-	
-
-	public String getKey()
-	{
-		return key;
-	}
-
-	public void setCategory(String category)
-	{
-		this.category = category;
-	}
-
-	public void setKey(String key)
-	{
-		this.key = key;
-	}
-
-	
-}
diff --git a/plugins/org.eclipse.wst.common.core/src-search/org/eclipse/wst/common/core/search/document/FileReferenceEntry.java b/plugins/org.eclipse.wst.common.core/src-search/org/eclipse/wst/common/core/search/document/FileReferenceEntry.java
deleted file mode 100644
index 2789503..0000000
--- a/plugins/org.eclipse.wst.common.core/src-search/org/eclipse/wst/common/core/search/document/FileReferenceEntry.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.wst.common.core.search.document;
-
-/**
- * <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 FileReferenceEntry extends Entry
-{
-	String relativeFilePath;
-    String resolvedURI;
-	String publicIdentifier;
-
-	public String getPublicIdentifier()
-	{
-		return publicIdentifier;
-	}
-
-	public void setPublicIdentifier(String publicIdentifier)
-	{
-		this.publicIdentifier = publicIdentifier;
-	}
-
-	public String getRelativeFilePath()
-	{
-		return relativeFilePath;
-	}
-
-	public void setRelativeFilePath(String relativeFilePath)
-	{
-		this.relativeFilePath = relativeFilePath;
-	}
-
-  public String getResolvedURI()
-  {
-    return resolvedURI;
-  }
-
-  public void setResolvedURI(String resolvedURI)
-  {
-    this.resolvedURI = resolvedURI;
-  }
-}
diff --git a/plugins/org.eclipse.wst.common.core/src-search/org/eclipse/wst/common/core/search/document/SearchDocument.java b/plugins/org.eclipse.wst.common.core/src-search/org/eclipse/wst/common/core/search/document/SearchDocument.java
deleted file mode 100644
index d808f19..0000000
--- a/plugins/org.eclipse.wst.common.core/src-search/org/eclipse/wst/common/core/search/document/SearchDocument.java
+++ /dev/null
@@ -1,120 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.wst.common.core.search.document;
-
-import org.eclipse.wst.common.core.search.SearchParticipant;
-import org.eclipse.wst.common.core.search.SearchRequestor;
-
-/**
- * A search document encapsulates a content to be searched in. A search
- * participant creates a search document based on the file locations to locate
- * matches.
- * <p>
- * This class is intended to be subclassed by clients.
- * </p>
- * issue (cs/eb) does a search participant always create a SearchDocument?
- * 
- * <p>
- * SearchParticipant or search client create search documents for the search
- * pass where precise locations of the matches will be determined by calling
- * {@link SearchParticipan#locateMatches}
- * </p>
- * <p>
- * SearchParticipant knows how to create search document that it can process.
- * </p>
- * <p>
- * The intent of the separation of the {@link SearchDocument} from the
- * {@link SearchParticipant} is to enable the other search participants to
- * process parts of the document. For example, if XML document has a fragment
- * that it can not process, e.g. Java, then XML participant would create
- * SearchDocument for that fragment which contains Java compilation unit, and
- * pass it to the Java search participant. Passing its own
- * {@link SearchRequestor} this participant can then map the match positions
- * back to the original contents, create its own matches and report them to the
- * original requestor.
- * </p>
- * <p>
- * <b>Note:</b> This class/interface is part of an interim API that is still under development and expected to
- * change significantly before reaching stability. It is being made available at this early stage to solicit feedback
- * from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken
- * (repeatedly) as the API evolves.
- * </p>
- * 
- * @see SearchParticipant
- */
-public abstract class SearchDocument
-{
-
-	private String documentPath;
-	private SearchParticipant participant; 
-
-	/**
-	 * Creates a new search document. The given document path is a string that
-	 * uniquely identifies the document. Most of the time it is a
-	 * workspace-relative path, but it can also be a file system path, or a path
-	 * inside a zip file.
-	 * 
-	 * @param documentPath
-	 *            the path to the document, or <code>null</code> if none
-	 */
-	protected SearchDocument(String documentPath, SearchParticipant participant)
-	{
-		this.documentPath = documentPath;
-		this.participant = participant;
-	}
-
-	public abstract Entry[] getEntries(String category, String key, int matchRule);
-
-	/**
-	 * Returns the model of this document. Model may be different from actual
-	 * resource at corresponding document path due to preprocessing.
-	 * <p>
-	 * This method must be implemented in subclasses.
-	 * </p>
-	 * 
-	 * @return the model of this document, or <code>null</code> if none
-	 */
-	public abstract Object getModel();
-	
-	
-	/**
-	 * Returns the participant that created this document.
-	 * 
-	 * @return the participant that created this document
-	 */
-	public final SearchParticipant getParticipant() {
-		return this.participant;
-	}
-	
-	
-//	 this class represents a collection of information
-//	 that has been produced by a search participant
-//	 typically after a file has been processed
-//	 an Entry is typically course grained info that results from the SearchParticipants
-//	 first step ... and is used to compute more accurate SearchMatches during a SearchParticipants 2nd step
-
-	/**
-	 * Returns the path to the original document.
-	 * 
-	 * @return the path to the document
-	 */
-	public final String getPath()
-	{
-		return this.documentPath;
-	} 
-	
-	public abstract void putEntry(Entry entry);
-    
-    public void dispose()
-    {      
-    }
-}
diff --git a/plugins/org.eclipse.wst.common.core/src-search/org/eclipse/wst/common/core/search/document/SearchDocumentSet.java b/plugins/org.eclipse.wst.common.core/src-search/org/eclipse/wst/common/core/search/document/SearchDocumentSet.java
deleted file mode 100644
index 42fb34c..0000000
--- a/plugins/org.eclipse.wst.common.core/src-search/org/eclipse/wst/common/core/search/document/SearchDocumentSet.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.wst.common.core.search.document;
-
-/**
- * The class is used to manage a set of search documents
- * that have been constructed by various participants
- * 
- * <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 abstract class SearchDocumentSet
-{
-  public abstract SearchDocument getSearchDocument(String resourcePath, String participantId);
-  public abstract SearchDocument[] getSearchDocuments(String participantId);
-  public abstract void putSearchDocument(String participantId, SearchDocument document);
-  public abstract SearchDocument _tempGetSearchDocumetn(String resourcePath);
-  public abstract void dispose();
-}
diff --git a/plugins/org.eclipse.wst.common.core/src-search/org/eclipse/wst/common/core/search/internal/Messages.java b/plugins/org.eclipse.wst.common.core/src-search/org/eclipse/wst/common/core/search/internal/Messages.java
deleted file mode 100644
index cc3522b..0000000
--- a/plugins/org.eclipse.wst.common.core/src-search/org/eclipse/wst/common/core/search/internal/Messages.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.wst.common.core.search.internal;
-
-import org.eclipse.osgi.util.NLS;
-
-// issue (cs) is this a UI issue?  where does the framework need to expose stings?
-public class Messages extends NLS
-{
-
-	private static final String BUNDLE_NAME = "org.eclipse.wst.common.core.internal.messages";//$NON-NLS-1$
-
-	public static String engine_searching;
-
-	public static String engine_searching_locatingDocuments;
-
-	public static String engine_searching_matching;
-
-	private Messages()
-	{
-		// Do not instantiate
-	}
-
-	static
-	{
-		NLS.initializeMessages(BUNDLE_NAME, Messages.class);
-	}
-}
diff --git a/plugins/org.eclipse.wst.common.core/src-search/org/eclipse/wst/common/core/search/internal/SearchDocumentSetImpl.java b/plugins/org.eclipse.wst.common.core/src-search/org/eclipse/wst/common/core/search/internal/SearchDocumentSetImpl.java
deleted file mode 100644
index e3f6c33..0000000
--- a/plugins/org.eclipse.wst.common.core/src-search/org/eclipse/wst/common/core/search/internal/SearchDocumentSetImpl.java
+++ /dev/null
@@ -1,111 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.wst.common.core.search.internal;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.wst.common.core.search.document.SearchDocument;
-import org.eclipse.wst.common.core.search.document.SearchDocumentSet;
-
-public class SearchDocumentSetImpl extends SearchDocumentSet
-{
-    public Map documentPathMap = new HashMap(); //path --> documetn
-	Map documentMap = new HashMap();  // participantId - > list (document)
-	
-	public SearchDocumentSetImpl()
-	{
-		super();
-	}
-    
-    public SearchDocument _tempGetSearchDocumetn(String resourcePath)
-    {      
-       return (SearchDocument)documentPathMap.get(resourcePath);      
-    }
-    
-    public SearchDocument getSearchDocument(String resourcePath, String participantId)
-	{
-		if(resourcePath == null){
-			return null;
-		}
-		SearchDocument[] documents = getSearchDocuments(participantId);
-		for (int i = 0; i < documents.length; i++)
-		{
-			SearchDocument document = documents[i];
-			if(resourcePath.equals(document.getPath())){
-				return document;
-			}
-		}
-		return null;
-	}
-
-	public SearchDocument[] getSearchDocuments(String participantId)
-	{
-		
-		Object object = documentMap.get(participantId);
-		List documentList = null;
-		if(object instanceof List){
-			documentList = (List)object;
-		}
-		else{
-			documentMap.put(participantId, documentList = new ArrayList());
-		}
-		return (SearchDocument[]) documentList.toArray(new SearchDocument[documentList.size()]);
-		
-	}
-
-	public void putSearchDocument(String participantId, SearchDocument document)
-	{
-		Object object = documentMap.get(participantId);
-		List documentList = null;
-		if(object instanceof List){
-			documentList = (List)object;
-		}
-		else{
-			documentMap.put(participantId, documentList = new ArrayList());
-		}
-		documentList.add(document);
-        documentPathMap.put(document.getPath(), document);
-	}
-
-    
-    public void dispose()
-    {
-      try
-      {
-      for (Iterator i = documentMap.values().iterator(); i.hasNext(); )
-      {
-        Object o = i.next();
-        if (o instanceof List)
-        {  
-          for (Iterator j = ((List)o).iterator(); j.hasNext(); )
-          {
-            Object o2 = j.next();
-            if (o2 instanceof SearchDocument)
-            {  
-               SearchDocument searchDocument = (SearchDocument)o2;
-               searchDocument.dispose();
-            }   
-          }          
-        }       
-      }
-      }
-      catch (Exception e)
-      {
-        e.printStackTrace();
-      }
-    }
-
-}
diff --git a/plugins/org.eclipse.wst.common.core/src-search/org/eclipse/wst/common/core/search/internal/SearchParticipantDescriptor.java b/plugins/org.eclipse.wst.common.core/src-search/org/eclipse/wst/common/core/search/internal/SearchParticipantDescriptor.java
deleted file mode 100644
index 8e39e12..0000000
--- a/plugins/org.eclipse.wst.common.core/src-search/org/eclipse/wst/common/core/search/internal/SearchParticipantDescriptor.java
+++ /dev/null
@@ -1,89 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.wst.common.core.search.internal;
-
-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.expressions.IEvaluationContext;
-import org.eclipse.core.runtime.Assert; 
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.wst.common.core.search.SearchParticipant;
-
-public class SearchParticipantDescriptor
-{
-
-	private IConfigurationElement fElement;
-
-	private SearchParticipant participant;
-
-	public SearchParticipantDescriptor(IConfigurationElement element)
-	{
-		this.fElement = element;
-	}
-
-	public SearchParticipant getSearchParticipant()
-	{
-		if (participant == null)
-		{
-			try
-			{
-				participant = (SearchParticipant) fElement
-						.createExecutableExtension("class"); //$NON-NLS-1$
-			} catch (Exception e)
-			{
-				// e.printStackTrace();
-			}
-		}
-		return participant;
-	}
-
-	public boolean matches(IEvaluationContext context) throws CoreException
-	{
-		IConfigurationElement[] elements = fElement
-				.getChildren(ExpressionTagNames.ENABLEMENT);
-		if (elements.length == 0)
-			return false;
-		Assert.isTrue(elements.length == 1);
-		Expression exp = ExpressionConverter.getDefault().perform(elements[0]);
-		return convert(exp.evaluate(context));
-	}
-
-	private boolean convert(EvaluationResult eval)
-	{
-		if (eval == EvaluationResult.FALSE)
-			return false;
-		return true;
-	}
-
-	/**
-	 * @deprecated No replacement
-	 */
-	public String[] getSupportedContentTypes()
-	{
-		return new String[0];
-	}
-
-	/**
-	 * @deprecated No replacement
-	 */
-	public void addSupportedContentTypeId(String contentTypeId)
-	{
-	}
-	
-	public String getElementId(){
-		return fElement.getAttribute("id");
-		
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.core/src-search/org/eclipse/wst/common/core/search/internal/SearchParticipantRegistry.java b/plugins/org.eclipse.wst.common.core/src-search/org/eclipse/wst/common/core/search/internal/SearchParticipantRegistry.java
deleted file mode 100644
index a169e91..0000000
--- a/plugins/org.eclipse.wst.common.core/src-search/org/eclipse/wst/common/core/search/internal/SearchParticipantRegistry.java
+++ /dev/null
@@ -1,116 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.wst.common.core.search.internal;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-import org.eclipse.core.expressions.EvaluationContext;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.wst.common.core.search.SearchParticipant;
-import org.eclipse.wst.common.core.search.pattern.SearchPattern;
-
-public class SearchParticipantRegistry
-{
-
-	protected Map idMap = new HashMap(); // maps searchParticipant id to a
-											// searchParticipant descriptor
-
-	public SearchParticipantRegistry()
-	{
-	}
-
-	public void putSearchParticipant(String id,
-			SearchParticipantDescriptor searchParticipantDescriptor)
-	{
-		idMap.put(id, searchParticipantDescriptor);
-	}
-
-	public String[] getSearchParticipantIds()
-	{
-		Set ids = idMap.keySet();
-		return (String[]) ids.toArray(new String[ids.size()]);
-	}
-
-	public Collection getSearchParticipants()
-	{
-		return idMap.values();
-	}
-
-
-	public SearchParticipant getSearchParticipant(String id)
-	{
-		SearchParticipantDescriptor searchParticipantDescriptor = null;
-		if (id != null)
-		{
-			searchParticipantDescriptor = (SearchParticipantDescriptor) idMap
-					.get(id);
-		}
-		return searchParticipantDescriptor != null ? searchParticipantDescriptor
-				.getSearchParticipant()
-				: null;
-
-	}
-
-	public SearchParticipant[] getParticipants(SearchPattern pattern, Map searchOptions)
-	{
-
-		EvaluationContext evalContext = createEvaluationContext(pattern);
-		List result = new ArrayList();
-		for (Iterator iter = getSearchParticipants().iterator(); iter.hasNext();)
-		{
-			SearchParticipantDescriptor descriptor = (SearchParticipantDescriptor) iter
-					.next();
-			try
-			{
-				if (descriptor.matches(evalContext))
-				{
-					try
-					{
-						SearchParticipant participant = descriptor
-								.getSearchParticipant();
-						if (!SearchParticipant.class.isInstance(participant))
-							throw new ClassCastException();
-						if (participant.isApplicable(pattern, searchOptions))
-						{
-							result.add(participant);
-						}
-					} catch (ClassCastException e)
-					{
-						iter.remove();
-					}
-				}
-
-			} catch (CoreException e)
-			{
-				iter.remove();
-			}
-
-		}
-
-		return (SearchParticipant[]) result
-				.toArray(new SearchParticipant[result.size()]);
-	}
-
-	private static EvaluationContext createEvaluationContext(
-			SearchPattern pattern)
-	{
-		EvaluationContext result = new EvaluationContext(null, pattern);
-		result.addVariable("pattern", pattern); //$NON-NLS-1$
-		return result;
-	}
-
-}
diff --git a/plugins/org.eclipse.wst.common.core/src-search/org/eclipse/wst/common/core/search/internal/SearchParticipantRegistryReader.java b/plugins/org.eclipse.wst.common.core/src-search/org/eclipse/wst/common/core/search/internal/SearchParticipantRegistryReader.java
deleted file mode 100644
index 7757ce3..0000000
--- a/plugins/org.eclipse.wst.common.core/src-search/org/eclipse/wst/common/core/search/internal/SearchParticipantRegistryReader.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.wst.common.core.search.internal;
-
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IExtensionPoint;
-import org.eclipse.core.runtime.Platform;
-
-public class SearchParticipantRegistryReader
-{
-	protected static final String EXTENSION_POINT_ID = "searchParticipants"; //$NON-NLS-1$
-
-	protected static final String TAG_NAME = "searchParticipant"; //$NON-NLS-1$
-
-	protected static final String ATT_CLASS = "class"; //$NON-NLS-1$
-
-	protected static final String ATT_ID = "id"; //$NON-NLS-1$
-
-	protected String pluginId, extensionPointId;
-
-	protected SearchParticipantRegistry registry;
-
-	public SearchParticipantRegistryReader(SearchParticipantRegistry registry)
-	{
-		this.registry = registry;
-	}
-
-	public void readRegistry()
-	{
-		String bundleid = "org.eclipse.wst.common.core"; //$NON-NLS-1$
-		IExtensionPoint point = Platform.getExtensionRegistry()
-				.getExtensionPoint(bundleid, EXTENSION_POINT_ID);
-		if (point != null)
-		{
-			IConfigurationElement[] elements = point.getConfigurationElements();
-			for (int i = 0; i < elements.length; i++)
-			{
-				readElement(elements[i]);
-			}
-		}
-	}
-
-	protected void readElement(IConfigurationElement element)
-	{
-		if (element.getName().equals(TAG_NAME))
-		{
-			String contributorClass = element.getAttribute(ATT_CLASS);
-			String id = element.getAttribute(ATT_ID);
-			if (id != null)
-			{
-				if (contributorClass != null)
-				{
-					SearchParticipantDescriptor descriptor = new SearchParticipantDescriptor(
-							element);
-					registry.putSearchParticipant(id, descriptor);
-				}
-			}
-		}
-	}
-}
diff --git a/plugins/org.eclipse.wst.common.core/src-search/org/eclipse/wst/common/core/search/internal/messages.properties b/plugins/org.eclipse.wst.common.core/src-search/org/eclipse/wst/common/core/search/internal/messages.properties
deleted file mode 100644
index e3a01a8..0000000
--- a/plugins/org.eclipse.wst.common.core/src-search/org/eclipse/wst/common/core/search/internal/messages.properties
+++ /dev/null
@@ -1,15 +0,0 @@
-###############################################################################
-# Copyright (c) 2005, 2006 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-### Search messages.
-
-engine_searching = Searching...
-engine_searching_locatingDocuments = {0}: locate search documents...
-engine_searching_matching = {0}: locate matches...
diff --git a/plugins/org.eclipse.wst.common.core/src-search/org/eclipse/wst/common/core/search/pattern/ComponentDeclarationPattern.java b/plugins/org.eclipse.wst.common.core/src-search/org/eclipse/wst/common/core/search/pattern/ComponentDeclarationPattern.java
deleted file mode 100644
index 16f3ffe..0000000
--- a/plugins/org.eclipse.wst.common.core/src-search/org/eclipse/wst/common/core/search/pattern/ComponentDeclarationPattern.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.wst.common.core.search.pattern;
-
-/**
- *
- * <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 ComponentDeclarationPattern extends ComponentSearchPattern
-{
-
-	public ComponentDeclarationPattern(QualifiedName name,
-			QualifiedName metaName, int matchRule)
-	{
-		super(null, name, metaName, matchRule);
-
-	}
-
-	public ComponentDeclarationPattern(QualifiedName name,
-			QualifiedName metaName)
-	{
-		super(null, name, metaName);
-	}
-
-}
diff --git a/plugins/org.eclipse.wst.common.core/src-search/org/eclipse/wst/common/core/search/pattern/ComponentReferencePattern.java b/plugins/org.eclipse.wst.common.core/src-search/org/eclipse/wst/common/core/search/pattern/ComponentReferencePattern.java
deleted file mode 100644
index 2f1e101..0000000
--- a/plugins/org.eclipse.wst.common.core/src-search/org/eclipse/wst/common/core/search/pattern/ComponentReferencePattern.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.wst.common.core.search.pattern;
-
-import org.eclipse.core.resources.IFile;
-
-/**
- * 
- * <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 ComponentReferencePattern extends ComponentSearchPattern
-{
-
-	public ComponentReferencePattern(IFile file, QualifiedName elementQName,
-			QualifiedName typeQName, int matchRule)
-	{
-		super(file, elementQName, typeQName, matchRule);
-
-	}
-
-	public ComponentReferencePattern(IFile file, QualifiedName elementQName,
-			QualifiedName typeQName)
-	{
-		super(file, elementQName, typeQName);
-
-	}
-
-}
diff --git a/plugins/org.eclipse.wst.common.core/src-search/org/eclipse/wst/common/core/search/pattern/ComponentSearchPattern.java b/plugins/org.eclipse.wst.common.core/src-search/org/eclipse/wst/common/core/search/pattern/ComponentSearchPattern.java
deleted file mode 100644
index 4741a10..0000000
--- a/plugins/org.eclipse.wst.common.core/src-search/org/eclipse/wst/common/core/search/pattern/ComponentSearchPattern.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.wst.common.core.search.pattern;
-
-import org.eclipse.core.resources.IFile;
-
-/**
- * This class defines generic component pattern. Usually there are two types of
- * component search patterns: pattern for component declaration and for
- * component 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 abstract class ComponentSearchPattern extends SearchPattern
-{
-
-	QualifiedName name;
-
-	QualifiedName metaName;
-
-	IFile file; // (optional) location where component is defined
-
-	public ComponentSearchPattern(IFile file, QualifiedName elementQName,
-			QualifiedName typeQName, int matchRule)
-	{
-		super(matchRule);
-		this.file = file;
-		name = elementQName;
-		metaName = typeQName;
-
-	}
-
-	public ComponentSearchPattern(IFile file, QualifiedName elementQName,
-			QualifiedName typeQName)
-	{
-
-		this.file = file;
-		name = elementQName;
-		metaName = typeQName;
-
-	}
-
-	public IFile getFile()
-	{
-		return file;
-	}
-
-	public QualifiedName getMetaName()
-	{
-		return metaName;
-	}
-
-	public QualifiedName getName()
-	{
-		return name;
-	}
-
-}
diff --git a/plugins/org.eclipse.wst.common.core/src-search/org/eclipse/wst/common/core/search/pattern/FileReferencePattern.java b/plugins/org.eclipse.wst.common.core/src-search/org/eclipse/wst/common/core/search/pattern/FileReferencePattern.java
deleted file mode 100644
index 27c1165..0000000
--- a/plugins/org.eclipse.wst.common.core/src-search/org/eclipse/wst/common/core/search/pattern/FileReferencePattern.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.wst.common.core.search.pattern;
-
-import org.eclipse.core.resources.IFile;
-
-/**
- * 
- * <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 FileReferencePattern extends SearchPattern
-{
-
-	IFile file;
-
-	public FileReferencePattern(IFile file)
-	{
-		this.file = file;
-	}
-
-	public FileReferencePattern(IFile file, int matchRule)
-	{
-		super(matchRule);
-		this.file = file;
-	}
-
-}
diff --git a/plugins/org.eclipse.wst.common.core/src-search/org/eclipse/wst/common/core/search/pattern/QualifiedName.java b/plugins/org.eclipse.wst.common.core/src-search/org/eclipse/wst/common/core/search/pattern/QualifiedName.java
deleted file mode 100644
index 0f7ab17..0000000
--- a/plugins/org.eclipse.wst.common.core/src-search/org/eclipse/wst/common/core/search/pattern/QualifiedName.java
+++ /dev/null
@@ -1,226 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.wst.common.core.search.pattern;
-
-/**
- * This data class represents a qualified name, consisting of a local name and a
- * qualifier
- * 
- * <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>
- */
-// issue (cs) should this go in the 'matching' package (BTW... rename
-// matching->pattern)
-public class QualifiedName
-{
-
-	private String qualifier;
-
-	private String name;
-
-	private static final String NS_DELIM_1 = "{"; //$NON-NLS-1$
-
-	private static final String NS_DELIM_2 = "}"; //$NON-NLS-1$
-
-	/**
-	 * Constructor Creates a qualified name from a namespace and local name.
-	 * 
-	 * @param namespace
-	 * @param localName
-	 */
-	public QualifiedName(String namespace, String localName)
-	{
-
-		super();
-
-		this.qualifier = namespace;
-		if (namespace != null && namespace.length() == 0)
-		{
-			this.qualifier = null;
-		}
-		if (this.qualifier != null && this.qualifier.length() == 0)
-		{
-			this.qualifier = null;
-		}
-
-		this.name = localName;
-		if (localName != null && localName.length() == 0)
-		{
-			this.name = null;
-		}
-
-	}
-
-	/**
-	 * Returns the namespace component of the qualified name.
-	 * 
-	 * @return The namespace; <code>null</code> if none is specified
-	 */
-	public String getNamespace()
-	{
-		return this.qualifier;
-	}
-
-	/**
-	 * Returns the local name component of the qualified name.
-	 * 
-	 * @return The local name; <code>null</code> if none is specified
-	 */
-	public String getLocalName()
-	{
-		return this.name;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see java.lang.Object#equals(java.lang.Object)
-	 */
-	public boolean equals(Object obj)
-	{
-		boolean isEqual = false;
-		if (this == obj)
-		{
-		  isEqual = true;
-		}
-		else
-		{	
-		  if (obj instanceof QualifiedName)
-		  {
-			QualifiedName that = (QualifiedName) obj;
-		    isEqual = isMatch(this.getNamespace(), that.getNamespace()) &&
-		              isMatch(this.getLocalName(), that.getLocalName());	
-		  }  
-		}
-		return isEqual;
-	}
-	
-	protected boolean isMatch(String a, String b)
-	{
-	  return a != null ? a.equals(b) : a == b;
-	}	
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see java.lang.Object#hashCode()
-	 */
-	public int hashCode()
-	{
-		int hash = 0;
-		if (this.qualifier != null)
-		{
-			hash += this.qualifier.hashCode();
-		}
-		if (this.name != null)
-		{
-			hash += this.name.hashCode();
-		}
-		return hash;
-	}
-
-	/**
-	 * Returns a string representation of the qualified name, of the form:
-	 * {namespace}localname. If no namespace is specified, the string has the
-	 * form: {}localname. Note that the string format may change in the future.
-	 * 
-	 * @return The string value
-	 */
-	public String toString()
-	{
-
-		return appendStrings(new String[]
-		{ NS_DELIM_1, // {
-				this.qualifier, NS_DELIM_2, // }
-				this.name });
-
-	}
-
-	/**
-	 * Factory-like method to create a QName object from the string form of a
-	 * QName. The string must have the same format as returned by
-	 * QName.toString().
-	 * 
-	 * @param qnameString -
-	 *            String form of a QName
-	 * @return The created QName object created from the specified string
-	 * @throws IllegalArgumentException -
-	 *             Missing namespace delimiters
-	 */
-	public static QualifiedName valueOf(String qnameString)
-			throws IllegalArgumentException
-	{
-
-		String namespace = null;
-		String localName = null;
-		if (qnameString == null || qnameString.length() == 0)
-		{
-			// Both namespace and local name are null.
-		} else if (qnameString.startsWith(NS_DELIM_1))
-		{
-			// The QName has the notation specifying a namespace.
-			int index = qnameString.indexOf(NS_DELIM_2);
-			if (index == -1)
-			{
-				// The end delimiter for the namespace was not found. The QName
-				// string
-				// is malformed.
-				throw new IllegalArgumentException(
-						"qnameString = " + qnameString); //$NON-NLS-1$
-			}
-			namespace = qnameString.substring(1, index);
-			localName = qnameString.substring(index + 1);
-		} else
-		{
-			// Assume no namespace is specified and the string is a local name.
-			localName = qnameString;
-		}
-		return new QualifiedName(namespace, localName);
-
-	}
-
-	/**
-	 * Creates a single string by appending together an array of strings,
-	 * skipping null strings.
-	 * 
-	 * @param strings -
-	 *            Strings to be appended together
-	 * @return Resulting string
-	 */
-	public static String appendStrings(String[] strings)
-	{
-
-		String result = null;
-		if (strings != null)
-		{
-			StringBuffer tokenBuffer = new StringBuffer();
-			int maxCount = strings.length;
-			String string;
-			for (int i = 0; i < maxCount; i++)
-			{
-				string = strings[i];
-				if (string != null && string.length() > 0)
-				{
-					tokenBuffer.append(string);
-				}// if
-			}// for
-			result = tokenBuffer.toString();
-		}// if
-		return result;
-
-	}// appendStrings()
-
-}// class QName
diff --git a/plugins/org.eclipse.wst.common.core/src-search/org/eclipse/wst/common/core/search/pattern/SearchPattern.java b/plugins/org.eclipse.wst.common.core/src-search/org/eclipse/wst/common/core/search/pattern/SearchPattern.java
deleted file mode 100644
index df0aaf6..0000000
--- a/plugins/org.eclipse.wst.common.core/src-search/org/eclipse/wst/common/core/search/pattern/SearchPattern.java
+++ /dev/null
@@ -1,85 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.wst.common.core.search.pattern;
-
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.Platform;
-
-/**
- * A search defines how search results are found.
- * 
- * This class is intended to be subclassed by clients.
- * 
- * <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 abstract class SearchPattern implements IAdaptable
-{
-
-	/**
-	 * Match rule: The search pattern matches the search result only if cases
-	 * are the same. Can be combined to previous rules, e.g.
-	 * {@link #R_EXACT_MATCH} | {@link #R_CASE_SENSITIVE}
-	 */
-	public static final int R_CASE_SENSITIVE = 8;
-
-	// Rules for pattern matching: (exact, prefix, pattern) [ | case sensitive]
-	/**
-	 * Match rule: The search pattern matches exactly the search result, that
-	 * is, the source of the search result equals the search pattern.
-	 */
-	public static final int R_EXACT_MATCH = 0;
-
-	/**
-	 * Match rule: The search pattern contains one or more wild cards ('*')
-	 * where a wild-card can replace 0 or more characters in the search result.
-	 */
-	public static final int R_PATTERN_MATCH = 2;
-
-	/**
-	 * Match rule: The search pattern is a prefix of the search result.
-	 */
-	public static final int R_PREFIX_MATCH = 1;
-
-	/**
-	 * Match rule: The search pattern contains a regular expression.
-	 */
-	public static final int R_REGEXP_MATCH = 4;
-
-	private int matchRule;
-
-	public SearchPattern()
-	{
-		this.matchRule = R_EXACT_MATCH | R_CASE_SENSITIVE;
-	}
-
-	public SearchPattern(int matchRule)
-	{
-		this.matchRule = matchRule;
-
-	}
-
-	public final int getMatchRule()
-	{
-		return this.matchRule;
-	}
-
-	public Object getAdapter(Class adapter)
-	{
-		return Platform.getAdapterManager().getAdapter(this, adapter);
-	}
-
-}
diff --git a/plugins/org.eclipse.wst.common.core/src-search/org/eclipse/wst/common/core/search/scope/ContentTypeSearchScope.java b/plugins/org.eclipse.wst.common.core/src-search/org/eclipse/wst/common/core/search/scope/ContentTypeSearchScope.java
deleted file mode 100644
index 4e25eb8..0000000
--- a/plugins/org.eclipse.wst.common.core/src-search/org/eclipse/wst/common/core/search/scope/ContentTypeSearchScope.java
+++ /dev/null
@@ -1,104 +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.core.search.scope;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.core.internal.content.ContentTypeManager;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.content.IContentDescription;
-import org.eclipse.core.runtime.content.IContentType;
-
-/**
- * Scope that has filterers files based on content types. It can limit other
- * scopes with the given file content types.
- * 
- * <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 ContentTypeSearchScope extends SearchScopeImpl
-{
-
-	private List validContentIds = new ArrayList();
-
-	public ContentTypeSearchScope(SearchScope scope, String[] validContentTypes)
-	{
-		if (validContentTypes != null)
-		{
-			for (int i = 0; i < validContentTypes.length; i++)
-			{
-				this.validContentIds.add(validContentTypes[i]);
-			}
-		}
-		if (scope.enclosingFiles() != null)
-		{
-			for (int i = 0; i < scope.enclosingFiles().length; i++)
-			{
-				IFile file = (IFile) scope.enclosingFiles()[i];
-				acceptFile(file);
-			}
-		}
-
-	}
-
-	protected boolean acceptFile(IFile file)
-	{
-
-		if (file == null)
-		{
-			return false;
-		} else
-		{
-			try
-			{
-				IContentDescription description = file.getContentDescription();
-				if (description != null)
-				{
-					IContentType contentType = description.getContentType();
-					if (contentType != null)
-					{
-						// TODO use IContentType.isKindOf
-						for (Iterator iter = validContentIds.iterator(); iter
-								.hasNext();)
-						{
-							String contentId = (String) iter.next();
-							IContentType supportedContentType = ContentTypeManager
-									.getInstance().getContentType(contentId);
-							if (supportedContentType != null)
-							{
-								if (contentType.isKindOf(supportedContentType))
-								{
-									files.add(file);
-									projects.add(file.getProject());
-									return true;
-								}
-							}
-
-						}
-
-					}
-				}
-			} catch (CoreException e)
-			{
-				// ignore the file
-			}
-		}
-		return false;
-	}
-
-}
diff --git a/plugins/org.eclipse.wst.common.core/src-search/org/eclipse/wst/common/core/search/scope/ProjectSearchScope.java b/plugins/org.eclipse.wst.common.core/src-search/org/eclipse/wst/common/core/search/scope/ProjectSearchScope.java
deleted file mode 100644
index 12ace71..0000000
--- a/plugins/org.eclipse.wst.common.core/src-search/org/eclipse/wst/common/core/search/scope/ProjectSearchScope.java
+++ /dev/null
@@ -1,55 +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.core.search.scope;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.IPath;
-
-/**
- *
- * <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 ProjectSearchScope extends SearchScopeImpl
-{
-
-	/**
-	 * Creates a scope that ecloses workspace path and eclosing project
-	 * 
-	 * @param workspacePath -
-	 *            path to the resource in the workspace, e.g.
-	 *            /MyProject/MyFile.xml
-	 */
-	public ProjectSearchScope(IPath workspacePath)
-	{
-		super();
-		initialize(workspacePath);
-
-	}
-
-	protected void initialize(IPath workspacePath)
-	{
-		IResource resource = ResourcesPlugin.getWorkspace().getRoot()
-				.findMember(workspacePath);
-		if (resource != null)
-		{
-			IProject project = resource.getProject();
-			traverseContainer(project);
-		}
-	}
-
-}
diff --git a/plugins/org.eclipse.wst.common.core/src-search/org/eclipse/wst/common/core/search/scope/SearchScope.java b/plugins/org.eclipse.wst.common.core/src-search/org/eclipse/wst/common/core/search/scope/SearchScope.java
deleted file mode 100644
index 1dd3efd..0000000
--- a/plugins/org.eclipse.wst.common.core/src-search/org/eclipse/wst/common/core/search/scope/SearchScope.java
+++ /dev/null
@@ -1,49 +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.core.search.scope;
-
-import org.eclipse.core.resources.IFile;
-
-/**
- * A <code>SearchScope</code> defines where search result should be found by a
- * <code>SearchEngine</code> (e.g. project, workspace).
- * 
- * Clients must pass an instance of this class to the <code>search(...)</code>
- * methods. Such an instance can be created using the following factory methods
- * on <code>SearchScope</code>: <code>newSearchScope(IResource[])</code>,
- * <code>newWorkspaceScope()</code>
- * 
- * The default implementaion of the search scope has no filter, and at creation
- * does not contain any files, It could accept any workspace file.
- * 
- * <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 abstract class SearchScope
-{
-	/**
-	 * Returns the path to the workspace files that belong in this search scope.
-	 * (see <code>IResource.getFullPath()</code>). For example,
-	 * /MyProject/MyFile.txt
-	 * 
-	 * @return an array of files in the workspace that belong to this scope.
-	 */
-	public abstract IFile[] enclosingFiles();
-
-
-
-	
-
-}
diff --git a/plugins/org.eclipse.wst.common.core/src-search/org/eclipse/wst/common/core/search/scope/SearchScopeImpl.java b/plugins/org.eclipse.wst.common.core/src-search/org/eclipse/wst/common/core/search/scope/SearchScopeImpl.java
deleted file mode 100644
index 33c4c69..0000000
--- a/plugins/org.eclipse.wst.common.core/src-search/org/eclipse/wst/common/core/search/scope/SearchScopeImpl.java
+++ /dev/null
@@ -1,133 +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.core.search.scope;
-
-import java.util.ArrayList;
-import java.util.HashSet;
-import java.util.List;
-
-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.IResourceVisitor;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-
-/**
- *
- * <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 SearchScopeImpl extends SearchScope
-{
-
-	protected List files = new ArrayList();
-
-	protected HashSet projects = new HashSet();
-
-	public SearchScopeImpl()
-	{
-		super();
-	}
-
-	/**
-	 * Checks whether the resource at the given path is belongs to this scope.
-	 * Resource path could be added to the scope, if scope conditions are met.
-	 * if {@link ISearchScope.encloses(String resourcePath)} returns false and
-	 * then this method is called and returns true, next call to
-	 * {@link ISearchScope.eclipses(String resourcePath)} should return true.
-	 * 
-	 * @param file -
-	 *            workspace file
-	 * @return whether the resource is enclosed by this scope
-	 */
-	protected boolean acceptFile(IFile file)
-	{
-		if (file == null)
-		{
-			return false;
-		}
-		files.add(file);
-		projects.add(file.getProject());
-		return true;
-
-	}
-
-	/**
-	 * Checks whether the resource at the given path is enclosed by this scope.
-	 * 
-	 * @param resourcePath -
-	 *            workspace relative resource path
-	 * @return whether the resource is enclosed by this scope
-	 */
-	protected boolean encloses(String resourcePath)
-	{
-		IResource resource = ResourcesPlugin.getWorkspace().getRoot()
-				.findMember(resourcePath);
-		if (resource == null)
-			return false;
-		return (files.contains(resource));
-	}
-
-	/**
-	 * Returns the path to the workspace files that belong in this search scope.
-	 * (see <code>IResource.getFullPath()</code>). For example,
-	 * /MyProject/MyFile.txt
-	 * 
-	 * @return an array of files in the workspace that belong to this scope.
-	 */
-	public IFile[] enclosingFiles()
-	{
-		if (files == null)
-			return new IFile[0];
-		return (IFile[]) files.toArray(new IFile[files.size()]);
-	}
-
-	/**
-	 * Returns the paths to the enclosing projects for this search scope. (see
-	 * <code>IResource.getFullPath()</code>). For example, /MyProject
-	 * 
-	 * @return an array of paths to the enclosing projects.
-	 */
-	protected IProject[] enclosingProjects()
-	{
-
-		return (IProject[]) projects.toArray(new IProject[projects.size()]);
-
-	}
-	
-	protected void traverseContainer(IContainer container)
-	{
-
-		IResourceVisitor visitor = new IResourceVisitor()
-		{
-			public boolean visit(IResource resource)
-			{
-				if (resource.getType() == IResource.FILE)
-					acceptFile((IFile) resource);
-				return true;
-			}
-		};
-		try
-		{
-			container.accept(visitor);
-		} catch (CoreException e)
-		{
-			// ignore resource
-		}
-
-	}
-}
diff --git a/plugins/org.eclipse.wst.common.core/src-search/org/eclipse/wst/common/core/search/scope/SelectionSearchScope.java b/plugins/org.eclipse.wst.common.core/src-search/org/eclipse/wst/common/core/search/scope/SelectionSearchScope.java
deleted file mode 100644
index 4ffcd3e..0000000
--- a/plugins/org.eclipse.wst.common.core/src-search/org/eclipse/wst/common/core/search/scope/SelectionSearchScope.java
+++ /dev/null
@@ -1,67 +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.core.search.scope;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IFolder;
-import org.eclipse.core.resources.IResource;
-
-/**
- * <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 SelectionSearchScope extends SearchScopeImpl
-{
-
-	protected IResource[] resources;
-
-	/**
-	 * Creates a scope that ecloses workspace path and eclosing project
-	 * 
-	 * @param workspacePath -
-	 *            path to the resource in the workspace, e.g.
-	 *            /MyProject/MyFile.xml
-	 */
-	public SelectionSearchScope(IResource[] resources)
-	{
-		super();
-		this.resources = resources;
-		initialize();
-
-	}
-
-	protected void initialize()
-	{
-		if (resources == null)
-			return;
-		for (int index = 0; index < resources.length; index++)
-		{
-			IResource resource = resources[index];
-			if (resource != null)
-			{
-				if (resource.getType() == IResource.FOLDER)
-				{
-					traverseContainer((IFolder) resource);
-				} else if (resource.getType() == IResource.FILE)
-				{
-					acceptFile((IFile) resource);
-				}
-			}
-
-		}
-
-	}
-
-}
diff --git a/plugins/org.eclipse.wst.common.core/src-search/org/eclipse/wst/common/core/search/scope/WorkingSetSearchScope.java b/plugins/org.eclipse.wst.common.core/src-search/org/eclipse/wst/common/core/search/scope/WorkingSetSearchScope.java
deleted file mode 100644
index cab1a19..0000000
--- a/plugins/org.eclipse.wst.common.core/src-search/org/eclipse/wst/common/core/search/scope/WorkingSetSearchScope.java
+++ /dev/null
@@ -1,81 +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.core.search.scope;
-
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.IAdaptable;
-
-/**
- * This class is required to wrap the content of an IWorkingSet.
- * We can't use IWorkingSet directly because it's part of an eclipse.ui
- * component. Therefore, we need to create this object as a surrogate.
- * <br>
- * Usage: We get the array IAdaptable[] of the IWorkingSet object and use this
- * array as argument for all methods of this class including the constructor.
- */
-public class WorkingSetSearchScope extends SearchScopeImpl{
-	
-	/**
-	 * Creates an empty scope when no resources is given.
-	 */
-	public WorkingSetSearchScope(){
-		super();
-	}
-  
-	/**
-	 * Intended to be used with an IWorkingSet
-	 * <br>
-	 * For example:
-	 * <pre>
-	 * IWorkingSet oneWorkingSet;
-	 * ...
-	 * IAdaptable[] elements = oneWorkingSet.getElements();
-	 * WorkingSetSearchScope scope = new WorkingSetSearchScope(elements);
-	 * </pre>
-	 */
-	public WorkingSetSearchScope(IAdaptable[] elements)
-	{
-		super();
-		addElementsOfWorkingSet(elements);
-	}
-	
-	/**
-	 * Intended to be used with an IWorkingSet
-	 * <br>
-	 * For example:
-	 * <pre>
-	 * WorkingSetSearchScope scope = ..; 
-	 * ...
-	 * IWorkingSet anotherWorkingSet; 
-	 * IAdaptable[] elements = anotherWorkingSet.getElements();
-	 * scope.addAWorkingSetToScope(elements);
-	 * </pre>
-	 */
-	public void addAWorkingSetToScope(IAdaptable[] elements){
-		addElementsOfWorkingSet(elements);
-	}
-	
-	private void addElementsOfWorkingSet(IAdaptable[] elements){
-		for (int j = 0; j < elements.length; j++){
-			IContainer container = (IContainer) elements[j].getAdapter(IContainer.class);
-			if ( container != null ){
-				traverseContainer(container);
-			}
-			else{
-				IFile aFile = (IFile) elements[j].getAdapter(IFile.class);
-				if ( aFile != null)
-					acceptFile(aFile);
-			}
-		}
-	}
-}
diff --git a/plugins/org.eclipse.wst.common.core/src-search/org/eclipse/wst/common/core/search/scope/WorkspaceSearchScope.java b/plugins/org.eclipse.wst.common.core/src-search/org/eclipse/wst/common/core/search/scope/WorkspaceSearchScope.java
deleted file mode 100644
index e01c201..0000000
--- a/plugins/org.eclipse.wst.common.core/src-search/org/eclipse/wst/common/core/search/scope/WorkspaceSearchScope.java
+++ /dev/null
@@ -1,51 +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.core.search.scope;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IWorkspaceRoot;
-import org.eclipse.core.resources.ResourcesPlugin;
-
-/**
- * <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 WorkspaceSearchScope extends SearchScopeImpl
-{
-
-	protected IResource currentResource;
-
-	/**
-	 * Creates a scope that ecloses workspace path and eclosing project
-	 * 
-	 * @param workspacePath -
-	 *            path to the resource in the workspace, e.g.
-	 *            /MyProject/MyFile.xml
-	 */
-	public WorkspaceSearchScope()
-	{
-		super();
-		initialize();
-
-	}
-
-	protected void initialize()
-	{
-		IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot();
-		traverseContainer(root);
-
-	}
-
-}
diff --git a/plugins/org.eclipse.wst.common.core/src-search/org/eclipse/wst/common/core/search/util/CollectingSearchRequestor.java b/plugins/org.eclipse.wst.common.core/src-search/org/eclipse/wst/common/core/search/util/CollectingSearchRequestor.java
deleted file mode 100644
index d227f93..0000000
--- a/plugins/org.eclipse.wst.common.core/src-search/org/eclipse/wst/common/core/search/util/CollectingSearchRequestor.java
+++ /dev/null
@@ -1,58 +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.core.search.util;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.wst.common.core.search.SearchMatch;
-import org.eclipse.wst.common.core.search.SearchRequestor;
-
-/**
- * Collects the results returned by a <code>ISearchEngine</code>.
- * 
- * <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>
- */
-// issue should you move this to a util package? what does jdt do?
-public class CollectingSearchRequestor extends SearchRequestor
-{
-	private ArrayList fFound;
-
-	public CollectingSearchRequestor()
-	{
-		fFound = new ArrayList();
-	}
-
-	/**
-	 * @return a List of {@link SearchMatch}es (not sorted)
-	 */
-	public List/* <SearchMatch> */getResults()
-	{
-		return fFound;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.common.core.search.internal.provisional.SearchRequestor#acceptSearchMatch(org.eclipse.wst.common.search.internal.provisional.SearchMatch)
-	 */
-	public void acceptSearchMatch(SearchMatch match) throws CoreException
-	{
-		fFound.add(match);
-
-	}
-}
diff --git a/plugins/org.eclipse.wst.common.emf/.classpath b/plugins/org.eclipse.wst.common.emf/.classpath
deleted file mode 100644
index de9605d..0000000
--- a/plugins/org.eclipse.wst.common.emf/.classpath
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="wtpemf/"/>
-	<classpathentry kind="src" path="workbench/"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/plugins/org.eclipse.wst.common.emf/.cvsignore b/plugins/org.eclipse.wst.common.emf/.cvsignore
deleted file mode 100644
index 26458b4..0000000
--- a/plugins/org.eclipse.wst.common.emf/.cvsignore
+++ /dev/null
@@ -1,8 +0,0 @@
-bin
-runtime
-temp.folder
-build.xml
-org.eclipse.wst.common.emf_1.0.0.zip
-src.zip
-@dot
-javaCompiler...args
diff --git a/plugins/org.eclipse.wst.common.emf/.project b/plugins/org.eclipse.wst.common.emf/.project
deleted file mode 100644
index 5b5f0fe..0000000
--- a/plugins/org.eclipse.wst.common.emf/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.wst.common.emf</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.emf/META-INF/MANIFEST.MF b/plugins/org.eclipse.wst.common.emf/META-INF/MANIFEST.MF
deleted file mode 100644
index 2787fde..0000000
--- a/plugins/org.eclipse.wst.common.emf/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,17 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %pluginName
-Bundle-SymbolicName: org.eclipse.wst.common.emf; singleton:=true
-Bundle-Version: 1.1.0.qualifier
-Bundle-Activator: org.eclipse.wst.common.internal.emf.plugin.EcoreUtilitiesPlugin
-Bundle-Vendor: %pluginProvider
-Bundle-Localization: plugin
-Export-Package: org.eclipse.wst.common.internal.emf.plugin;x-internal:=true,
- org.eclipse.wst.common.internal.emf.resource;x-friends:="org.eclipse.wst.common.modulecore",
- org.eclipse.wst.common.internal.emf.utilities;x-internal:=true
-Require-Bundle: org.eclipse.emf.ecore.xmi;bundle-version="[2.2.0,2.3.0)",
- org.eclipse.wst.common.frameworks;bundle-version="[1.1.0,1.2.0)",
- org.eclipse.core.runtime;bundle-version="[3.2.0,3.3.0)",
- org.eclipse.core.resources;bundle-version="[3.2.0,3.3.0)",
- org.eclipse.jem.util;bundle-version="[1.2.0,1.3.0)"
-Eclipse-AutoStart: true
diff --git a/plugins/org.eclipse.wst.common.emf/about.html b/plugins/org.eclipse.wst.common.emf/about.html
deleted file mode 100644
index 4ec5989..0000000
--- a/plugins/org.eclipse.wst.common.emf/about.html
+++ /dev/null
@@ -1,34 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<HTML>
-
-<head>
-<title>About</title>
-<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
-</head>
-
-<BODY lang="EN-US">
-
-<H3>About This Content</H3>
-
-<P>May 2, 2006</P>
-
-<H3>License</H3>
-
-<P>The Eclipse Foundation makes available all content in this plug-in 
-("Content"). Unless otherwise indicated below, the Content is provided to you 
-under the terms and conditions of the Eclipse Public License Version 1.0 
-("EPL"). A copy of the EPL is available at
-<A href="http://www.eclipse.org/org/documents/epl-v10.php">http://www.eclipse.org/org/documents/epl-v10.php</A>. 
-For purposes of the EPL, "Program" will mean the Content.</P>
-
-<P>If you did not receive this Content directly from the Eclipse Foundation, the 
-Content is being redistributed by another party ("Redistributor") and different 
-terms and conditions may apply to your use of any object code in the Content. 
-Check the Redistributor’s license that was provided with the Content. If no such 
-license exists, contact the Redistributor. Unless otherwise indicated below, the 
-terms and conditions of the EPL still apply to any source code in the Content 
-and such source code may be obtained at
-<A href="http://www.eclipse.org/">http://www.eclipse.org/</A>.</P>
-
-</BODY>
-</HTML>
diff --git a/plugins/org.eclipse.wst.common.emf/build.properties b/plugins/org.eclipse.wst.common.emf/build.properties
deleted file mode 100644
index b37b0c5..0000000
--- a/plugins/org.eclipse.wst.common.emf/build.properties
+++ /dev/null
@@ -1,22 +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
-###############################################################################
-bin.includes = plugin.xml,\
-               META-INF/,\
-               about.html,\
-               plugin.properties,\
-               .,\
-               schema/
-jars.compile.order = .
-src.includes = component.xml,\
-               schema/
-output.. = bin/
-source.. = wtpemf/,\
-           workbench/
diff --git a/plugins/org.eclipse.wst.common.emf/component.xml b/plugins/org.eclipse.wst.common.emf/component.xml
deleted file mode 100644
index 9530d33..0000000
--- a/plugins/org.eclipse.wst.common.emf/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.common.emf"><component-depends unrestricted="true"></component-depends><plugin id="org.eclipse.wst.common.emf" fragment="false"/><plugin id="org.eclipse.wst.common.emfworkbench.integration" fragment="false"/></component>
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.emf/plugin.properties b/plugins/org.eclipse.wst.common.emf/plugin.properties
deleted file mode 100644
index 88459b7..0000000
--- a/plugins/org.eclipse.wst.common.emf/plugin.properties
+++ /dev/null
@@ -1,3 +0,0 @@
-PackageURIMap=PackageURIMap
-pluginName=EMF Utilities
-pluginProvider=Eclipse.org
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.emf/plugin.xml b/plugins/org.eclipse.wst.common.emf/plugin.xml
deleted file mode 100644
index f74b398..0000000
--- a/plugins/org.eclipse.wst.common.emf/plugin.xml
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin>
-
-     <extension-point id="packageURIMap" name="%PackageURIMap" schema="schema/packageURIMap.exsd"/>
-
-<!-- Need to register the Ecore specific package mappings -->
-   <extension
-         point="org.eclipse.wst.common.emf.packageURIMap">
-      <map
-            uri="http://www.eclipse.org/emf/2002/Ecore"
-            prefix="ecore">
-      </map>
-      <map
-            uri="http://www.eclipse.org/emf/2002/Mapping"
-            prefix="mapping">
-      </map>
-<!-- Trick to get Mapping.xmi for MOF5 serialization -->
-      <map
-            uri="http://www.eclipse.org/emf/2002/Mapping"
-            prefix="Mapping">
-      </map>
-   </extension>
-   
-      <extension
-         point="org.eclipse.jem.util.uiContextSensitiveClass">
-      <uiContextSensitiveClass
-            context="Headless"
-            key="rendererFactory"
-            className="org.eclipse.wst.common.internal.emf.resource.EMF2DOMRendererFactory">
-      </uiContextSensitiveClass>
-   </extension>
-
-</plugin>
diff --git a/plugins/org.eclipse.wst.common.emf/prepareforpii.xml b/plugins/org.eclipse.wst.common.emf/prepareforpii.xml
deleted file mode 100644
index 8007604..0000000
--- a/plugins/org.eclipse.wst.common.emf/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.emf"/>
-		<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}/wtpemf" >
-			 <fileset dir="${plugindir}/wtpemf">
-           	  <include name="**/*.properties"/>
-  			 </fileset>
-  		</copy>
-  		
-  		
-	</target>
-</project>
diff --git a/plugins/org.eclipse.wst.common.emf/schema/packageURIMap.exsd b/plugins/org.eclipse.wst.common.emf/schema/packageURIMap.exsd
deleted file mode 100644
index 4f9d955..0000000
--- a/plugins/org.eclipse.wst.common.emf/schema/packageURIMap.exsd
+++ /dev/null
@@ -1,113 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.wst.common.emf">
-<annotation>
-      <appInfo>
-         <meta.schema plugin="org.eclipse.wst.common.emf" id="packageURIMap" name="%PackageURIMap"/>
-      </appInfo>
-      <documentation>
-         This extension point is used to register package mappings.
-      </documentation>
-   </annotation>
-
-   <element name="extension">
-      <complexType>
-         <sequence>
-            <element ref="map" 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="map">
-      <complexType>
-         <attribute name="uri" type="string" use="required">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="prefix" 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>
-         [Enter extension point usage example here.]
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="apiInfo"/>
-      </appInfo>
-      <documentation>
-         [Enter API information here.]
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="implementation"/>
-      </appInfo>
-      <documentation>
-         [Enter information about supplied implementation of this extension point.]
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="copyright"/>
-      </appInfo>
-      <documentation>
-         Copyright (c) 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.emf/workbench/org/eclipse/wst/common/internal/emf/ResourceSynchronizedIsLoadingAdapter.java b/plugins/org.eclipse.wst.common.emf/workbench/org/eclipse/wst/common/internal/emf/ResourceSynchronizedIsLoadingAdapter.java
deleted file mode 100644
index f536105..0000000
--- a/plugins/org.eclipse.wst.common.emf/workbench/org/eclipse/wst/common/internal/emf/ResourceSynchronizedIsLoadingAdapter.java
+++ /dev/null
@@ -1,112 +0,0 @@
-/*
- * Created on Oct 26, 2004
- *
- * TODO To change the template for this generated file go to
- * Window - Preferences - Java - Code Style - Code Templates
- */
-package org.eclipse.wst.common.internal.emf;
-
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.jobs.ILock;
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.Notifier;
-import org.eclipse.emf.ecore.resource.Resource;
-import org.eclipse.wst.common.internal.emf.utilities.ResourceIsLoadingAdapter;
-
-
-
-
-
-/**
- * The ResourceSynchronizedIsLoadingAdapter is used to synchronize the loading 
- * of EMF resources. This is the Eclipse version of ResourceIsLoadingAdapter,
- * and uses the Eclipse ILock technology to acquire a semaphore until the 
- * Resource is loaded. the waitForResourceToLoad() method will pause until
- * either (a) the Resource has loaded, the Adapter is notified, and the 
- * semaphore is released or (b) the DELAY timeout is exceeded, which prevents
- * full deadlock. 
- * 
- * @author mdelder 
- */
-public class ResourceSynchronizedIsLoadingAdapter extends ResourceIsLoadingAdapter {
-    
-    private final ILock loadingLock;
-    
-    /**
-     * The delay is default to 5 minutes. This is the upward threshhold. The lock
-     * will wait up to DELAY milliseconds to acquire the lock, and bail if not. It 
-     * does not mean that it will wait DELAY milliseconds always. In general, the 
-     * wait should be almost instanteous -- just as long as document loading remains
-     * speedy. 
-     */
-    private static final long DELAY = 300000; 
-    
-    public ResourceSynchronizedIsLoadingAdapter() {
-        loadingLock = Platform.getJobManager().newLock();
-        if(loadingLock != null)
-            loadingLock.acquire();
-    }    
-    
-    
-    /* (non-Javadoc)
-     * @see com.ibm.wtp.internal.emf.utilities.ResourceIsLoadingAdapter#waitForResourceToLoad()
-     */
-    public void waitForResourceToLoad() { 
-        
-        if(loadingLock == null)
-            return;
-        
-        boolean lockAcquired = false;
-        try {
-            if( loadingLock != null ) 
-                if( !(lockAcquired = loadingLock.acquire(DELAY)) )  
-                    logWarning(); 
-        } catch (Throwable t) { 
-        } finally {
-            if(lockAcquired)
-                loadingLock.release();
-        }
-        
-    }
-    
-    
-    /**
-     * 
-     */
-    private void logWarning() { 
-        Notifier target = getTarget();
-        if(target == null || !(target instanceof Resource)) { 
-            Resource resource = (Resource) target;
-            System.err.println("[WARNING] Could not acquire Semaphore Lock for Resource: \""+resource.getURI() + "\" in " + getClass());
-        }
-        
-    }
-
-
-    /* (non-Javadoc)
-     * @see com.ibm.wtp.internal.emf.utilities.ResourceIsLoadingAdapter#notifyChanged(org.eclipse.emf.common.notify.Notification)
-     */
-    public void notifyChanged(Notification notification) { 
-
-		if (notification.getNotifier() != null) {		    
-			//listen for the remove of the loading adapter
-			if (isSetLoadedResourceNotification(notification)) {
-			    if(loadingLock != null)
-			        loadingLock.release();
-				removeIsLoadingSupport();  				
-			}
-		}         
-    }
-    
-    
-    /* (non-Javadoc)
-     * @see com.ibm.wtp.internal.emf.utilities.ResourceIsLoadingAdapter#forceRelease()
-     */
-    public void forceRelease() { 
-        try {
-	        if(loadingLock != null && loadingLock.getDepth() > 0)
-	            loadingLock.release();
-        } catch(Throwable t) {}
-    }
-
-}
diff --git a/plugins/org.eclipse.wst.common.emf/workbench/org/eclipse/wst/common/internal/emf/ResourceSynchronizedIsLoadingAdapterFactory.java b/plugins/org.eclipse.wst.common.emf/workbench/org/eclipse/wst/common/internal/emf/ResourceSynchronizedIsLoadingAdapterFactory.java
deleted file mode 100644
index b3d4495..0000000
--- a/plugins/org.eclipse.wst.common.emf/workbench/org/eclipse/wst/common/internal/emf/ResourceSynchronizedIsLoadingAdapterFactory.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*
- * Created on Oct 26, 2004
- *
- * TODO To change the template for this generated file go to
- * Window - Preferences - Java - Code Style - Code Templates
- */
-package org.eclipse.wst.common.internal.emf;
-
-import org.eclipse.wst.common.internal.emf.utilities.ResourceIsLoadingAdapter;
-import org.eclipse.wst.common.internal.emf.utilities.ResourceIsLoadingAdapterFactory;
-
-
-/**
- * @author mdelder
- *
- * TODO To change the template for this generated type comment go to
- * Window - Preferences - Java - Code Style - Code Templates
- */
-public class ResourceSynchronizedIsLoadingAdapterFactory extends ResourceIsLoadingAdapterFactory {
-
-    
-    /* (non-Javadoc)
-     * @see com.ibm.wtp.internal.emf.utilities.ResourceIsLoadingAdapterFactory#createResourceIsLoadingAdapter()
-     */
-    public ResourceIsLoadingAdapter createResourceIsLoadingAdapter() { 
-        return new ResourceSynchronizedIsLoadingAdapter();
-    }
-}
diff --git a/plugins/org.eclipse.wst.common.emf/workbench/org/eclipse/wst/common/internal/emf/plugin/EcoreUtilitiesPlugin.java b/plugins/org.eclipse.wst.common.emf/workbench/org/eclipse/wst/common/internal/emf/plugin/EcoreUtilitiesPlugin.java
deleted file mode 100644
index 3b29f4a..0000000
--- a/plugins/org.eclipse.wst.common.emf/workbench/org/eclipse/wst/common/internal/emf/plugin/EcoreUtilitiesPlugin.java
+++ /dev/null
@@ -1,54 +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 Jun 9, 2003
- *
- * To change the template for this generated file go to
- * Window>Preferences>Java>Code Generation>Code and Comments
- */
-package org.eclipse.wst.common.internal.emf.plugin;
-
-import org.eclipse.core.runtime.Plugin;
-import org.eclipse.wst.common.internal.emf.ResourceSynchronizedIsLoadingAdapterFactory;
-import org.eclipse.wst.common.internal.emf.resource.RendererFactory;
-import org.eclipse.wst.common.internal.emf.utilities.ResourceIsLoadingAdapterFactory;
-import org.osgi.framework.BundleContext;
-
-/**
- * @author DABERG
- * 
- * To change the template for this generated type comment go to Window>Preferences>Java>Code
- * Generation>Code and Comments
- */
-public class EcoreUtilitiesPlugin extends Plugin {
-	public static final String ID = "org.eclipse.wst.common.emf"; //$NON-NLS-1$
-
-	/**
-	 * @param descriptor
-	 */
-	public EcoreUtilitiesPlugin() {
-		super();
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.core.runtime.Plugin#startup()
-	 */
-	public void start(BundleContext context) throws Exception {
-		super.start(context);
-		RendererFactory.setDefaultHandler(PluginRendererFactoryDefaultHandler.INSTANCE);
-		PackageURIMapReader reader = new PackageURIMapReader();
-		reader.processExtensions();
-		//use a synchronized loading adapter factory
-		ResourceIsLoadingAdapterFactory.INSTANCE = new ResourceSynchronizedIsLoadingAdapterFactory();
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.emf/workbench/org/eclipse/wst/common/internal/emf/plugin/PackageURIMapReader.java b/plugins/org.eclipse.wst.common.emf/workbench/org/eclipse/wst/common/internal/emf/plugin/PackageURIMapReader.java
deleted file mode 100644
index 68b9fe4..0000000
--- a/plugins/org.eclipse.wst.common.emf/workbench/org/eclipse/wst/common/internal/emf/plugin/PackageURIMapReader.java
+++ /dev/null
@@ -1,71 +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.internal.emf.plugin;
-
-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.internal.emf.resource.CompatibilityPackageMappingRegistry;
-
-/**
- * This reader will read the packageURIMap extension point and populate the
- * CompatibilityPackageMappingRegistry.
- * 
- * The packageURIMap will have the following configuration element.
- * 
- * <map prefix="somePackagePrefix" uri="somePackageURI"/>
- *  
- */
-public class PackageURIMapReader {
-	private static final String URI_ATT_NAME = "uri"; //$NON-NLS-1$
-	private static final String PREFIX_ATT_NAME = "prefix"; //$NON-NLS-1$
-	private static final String EXTENSION_POINT_NAME = "packageURIMap"; //$NON-NLS-1$
-
-	/**
-	 *  
-	 */
-	public PackageURIMapReader() {
-		super();
-	}
-
-	private IExtensionPoint getExtensionPoint() {
-		return Platform.getExtensionRegistry().getExtensionPoint(EcoreUtilitiesPlugin.ID, EXTENSION_POINT_NAME);
-	}
-
-	/**
-	 * Call this method to read and process all of the packageURIMap extensions. *
-	 */
-	public void processExtensions() {
-		CompatibilityPackageMappingRegistry reg = CompatibilityPackageMappingRegistry.INSTANCE;
-		IExtension[] extensions = getExtensionPoint().getExtensions();
-		for (int i = 0; i < extensions.length; i++)
-			processExtension(extensions[i], reg);
-	}
-
-	/**
-	 * @param extension
-	 */
-	private void processExtension(IExtension extension, CompatibilityPackageMappingRegistry reg) {
-		IConfigurationElement[] configs = extension.getConfigurationElements();
-		for (int i = 0; i < configs.length; i++)
-			processConfiguration(configs[i], reg);
-	}
-
-	/**
-	 * @param element
-	 */
-	private void processConfiguration(IConfigurationElement element, CompatibilityPackageMappingRegistry reg) {
-		String prefix = element.getAttribute(PREFIX_ATT_NAME);
-		String uri = element.getAttribute(URI_ATT_NAME);
-		reg.registerPrefixToPackageURI(prefix, uri);
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.emf/workbench/org/eclipse/wst/common/internal/emf/plugin/PluginRendererFactoryDefaultHandler.java b/plugins/org.eclipse.wst.common.emf/workbench/org/eclipse/wst/common/internal/emf/plugin/PluginRendererFactoryDefaultHandler.java
deleted file mode 100644
index c24392a..0000000
--- a/plugins/org.eclipse.wst.common.emf/workbench/org/eclipse/wst/common/internal/emf/plugin/PluginRendererFactoryDefaultHandler.java
+++ /dev/null
@@ -1,52 +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 Dec 1, 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.internal.emf.plugin;
-
-import org.eclipse.jem.util.UIContextDetermination;
-import org.eclipse.wst.common.internal.emf.resource.EMF2DOMRendererFactoryDefaultHandler;
-import org.eclipse.wst.common.internal.emf.resource.RendererFactory;
-
-/**
- * @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 PluginRendererFactoryDefaultHandler extends EMF2DOMRendererFactoryDefaultHandler {
-
-	static final PluginRendererFactoryDefaultHandler INSTANCE = new PluginRendererFactoryDefaultHandler();
-	static final String EXT_POINT_NAME = "rendererFactory"; //$NON-NLS-1$
-
-	/**
-	 *  
-	 */
-	protected PluginRendererFactoryDefaultHandler() {
-
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.etools.emf2xml.EMF2DOMRendererFactoryDefaultHandler#getDefaultRendererFactory()
-	 */
-	public RendererFactory getDefaultRendererFactory() {
-		RendererFactory aFactory = (RendererFactory) UIContextDetermination.createInstance(EXT_POINT_NAME);
-		return aFactory == null ? super.getDefaultRendererFactory() : aFactory;
-	}
-
-
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/AbstractRendererImpl.java b/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/AbstractRendererImpl.java
deleted file mode 100644
index 9112aef..0000000
--- a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/AbstractRendererImpl.java
+++ /dev/null
@@ -1,152 +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.internal.emf.resource;
-
-
-public abstract class AbstractRendererImpl implements Renderer {
-
-
-	protected TranslatorResource resource;
-	private int versionId;
-	private boolean validating = true;
-
-	/**
-	 * Constructor for AbstractRendererImpl.
-	 */
-	public AbstractRendererImpl() {
-		super();
-	}
-
-	/**
-	 * @see com.ibm.etools.emf2xml.Renderer#setResource(TranslatorResource)
-	 */
-	public void setResource(TranslatorResource aResource) {
-		resource = aResource;
-	}
-
-	/**
-	 * @see com.ibm.etools.emf2xml.Renderer#getResource()
-	 */
-	public TranslatorResource getResource() {
-		return resource;
-	}
-
-	public int getVersionId() {
-		return this.versionId;
-	}
-
-	public void setVersionId(int versionId) {
-		this.versionId = versionId;
-	}
-
-	/**
-	 * @return
-	 */
-	public boolean isValidating() {
-		return validating;
-	}
-
-	/**
-	 * @param b
-	 */
-	public void setValidating(boolean b) {
-		validating = b;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.etools.emf2xml.Renderer#accessForRead()
-	 */
-	public void accessForRead() {
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.etools.emf2xml.Renderer#accessForWrite()
-	 */
-	public void accessForWrite() {
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.etools.emf2xml.Renderer#isModified()
-	 */
-	public boolean isModified() {
-		return false;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.etools.emf2xml.Renderer#isShared()
-	 */
-	public boolean isShared() {
-		return false;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.etools.emf2xml.Renderer#isSharedForWrite()
-	 */
-	public boolean isSharedForWrite() {
-		return false;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.etools.emf2xml.Renderer#preDelete()
-	 */
-	public void preDelete() {
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.etools.emf2xml.Renderer#preUnload()
-	 */
-	public void preUnload() {
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.etools.emf2xml.Renderer#releaseFromRead()
-	 */
-	public void releaseFromRead() {
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.etools.emf2xml.Renderer#releaseFromWrite()
-	 */
-	public void releaseFromWrite() {
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.etools.emf2xml.Renderer#setBatchMode(boolean)
-	 */
-	public void setBatchMode(boolean isBatch) {
-	}
-
-	public boolean useStreamsForIO() {
-		return true;
-	}
-
-	public boolean isBatchMode() {
-		return false;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/AttributeTranslatorFilter.java b/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/AttributeTranslatorFilter.java
deleted file mode 100644
index b0d0869..0000000
--- a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/AttributeTranslatorFilter.java
+++ /dev/null
@@ -1,35 +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 Sep 21, 2003
- *  
- */
-package org.eclipse.wst.common.internal.emf.resource;
-
-
-public final class AttributeTranslatorFilter extends TranslatorFilter {
-
-	public AttributeTranslatorFilter() {
-		super(null, -1);
-	}
-
-	public AttributeTranslatorFilter(Translator trans, int version) {
-		super(trans, version);
-	}
-
-	public final int scanNextTranslator(Translator[] children, int start) {
-		int found = start + 1;
-		for (; found < children.length; ++found) {
-			if (children[found].isDOMAttribute())
-				break;
-		}
-		found = (found < children.length) ? found : -1;
-		return found;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/CacheEventNode.java b/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/CacheEventNode.java
deleted file mode 100644
index e575833..0000000
--- a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/CacheEventNode.java
+++ /dev/null
@@ -1,585 +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.internal.emf.resource;
-
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.emf.common.notify.Notifier;
-import org.eclipse.emf.ecore.EObject;
-import org.xml.sax.Attributes;
-
-
-/**
- * CacheEventNodes (CENOs) store information collected from SAX Events. This information can then be
- * used once all necessary SAX Events have been generated to create and/or set values on EMF model
- * objects.
- * 
- * CacheEventNodes (CENOs) have a simple lifecycle: initialize, collect data, commit, discard. When
- * initialized, CENOs will attempt to find the appropriate translator for a given XML element name,
- * and also create/set any necessary EMF model values. Data is collected as SAX character() events
- * are generated. On the SAX endElement event, the CENO is committed(), which is where it will
- * complete its processing to create EMF model features. In those cases where it cannot complete its
- * processing, it will defer its processing to the updateEMF() method of its parent. Defered
- * processing is necessary to handle EMF features that require read ahead cues from the XML. CENOs
- * will add themselves to their parents as children in a tree data structure. When an CENO
- * determines it is the golden piece of information required to instantiate its parent feature, it
- * will trigger its parent CENO to process the rest of the cached CENO tree. As mentioned, the
- * building of a CENO tree will only occur for nodes with read ahead cues.
- * 
- * discard() is invoked by init() to ensure that no junk state is left from a previous use of the
- * CENO. commit() will call discard as needed. Because of the use of discard, CENOs can be pooled
- * and reused. If a CENO determines that it is contained in a pool, it will manage its own release
- * from that pool. Self- management is necessary because of the way in which CENOs might cache
- * certain children while waiting to create the parent EMF feature.
- * 
- * @author mdelder
- */
-public class CacheEventNode {
-
-	public static final String ROOT_NODE = "EMF_ROOT_NODE"; //$NON-NLS-1$
-
-	private String nodeName = null;
-	private Translator translator = null;
-	private Notifier emfOwner = null;
-	private StringBuffer buffer = null;
-	private List children = null;
-	private int versionID;
-
-	/*
-	 * The internal data structure used to store the attributes is a String[]. The choice was made
-	 * to use an array to avoid the creation of another object (probably a Hashtable) and to exploit
-	 * array-access times to get the name and value of the attributes (opposed to full fledged
-	 * method invocations).
-	 *  
-	 */
-	private String[] attributes = null;
-	private CacheEventNode parent = null;
-	private CacheEventPool containingPool = null;
-	private Boolean ignorable = null;
-
-	public CacheEventNode(CacheEventPool containingPool) {
-		this.containingPool = containingPool;
-	}
-
-	/**
-	 * Lifecycle method. init(TranslatorResource) will configure this Adapter as a ROOT node.
-	 * 
-	 * This method will invoke discard() before completing its tasks.
-	 */
-	public void init(TranslatorResource resource) {
-		this.discard();
-		this.setEmfOwner(resource);
-		this.setTranslator(resource.getRootTranslator());
-		this.setVersionID(resource.getVersionID());
-		this.nodeName = CacheEventNode.ROOT_NODE;
-	}
-
-	/**
-	 * Lifecycle method. init(CacheEventNode, String, Attributes) will configure this Adapter to be
-	 * a non-ROOT node of the Adapter data structure
-	 * 
-	 * This method will invoke discard() before completing its tasks.
-	 */
-	public void init(CacheEventNode parentArg, String nodeNameArg, Attributes attributesArg) {
-		this.discard();
-		this.nodeName = nodeNameArg;
-		init(parentArg, attributesArg);
-	}
-
-	private void init(CacheEventNode parentRecord, Attributes attributesArg) {
-		setParent(parentRecord);
-
-		setAttributes(attributesArg);
-		if (parent != null) {
-			/* I am not the root */
-
-			/*
-			 * If the parent is part of the DOM Path, then we ignore it and interact with the grand
-			 * parent
-			 */
-			if (parent.translator != null && parent.isInDOMPath()) {
-				setParent(parent.getParent());
-			}
-
-			setVersionID(parent.getVersionID());
-			if (parent.getEmfOwner() != null && parent.getTranslator() != null) {
-
-				/* My parent had enough information to create themself */
-
-				if (parent.getParent() != null) {
-					setTranslator(parent.getTranslator().findChild(nodeName, parent.getEmfOwner(), getVersionID()));
-
-				} else {
-					setTranslator(parent.getTranslator());
-				}
-
-				if (this.translator == null) {
-					/* Our translator is null! Ahh! Run! */
-					throw new IllegalStateException("Parent Translator (" + parent.getTranslator() + //$NON-NLS-1$
-								") did not find a Child Translator for \"" + //$NON-NLS-1$ 
-								nodeName + "\"."); //$NON-NLS-1$
-				}
-
-				if (this.translator.getReadAheadHelper(nodeName) == null && !this.translator.isManagedByParent()) {
-					/*
-					 * I do not require a read ahead cue, and I am not managed by my parent so I can
-					 * create an instance of my EMF object
-					 */
-
-					Notifier myEmfOwner = this.translator.createEMFObject(getNodeName(), null);
-					setEmfOwner(myEmfOwner);
-					this.translator.setMOFValue(parent.getEmfOwner(), myEmfOwner);
-				}
-				/*
-				 * Else I require a read ahead value or I am being managed by my parent, so I have
-				 * no need to create an EMF object
-				 */
-			}
-			/*
-			 * Else I am not mapped to the EMF stack (XML Elements found in the DOMPath are ignored)
-			 */
-		}
-		/* processAttributes is guarded and will not execute unless ready */
-		processAttributes();
-
-	}
-
-	/**
-	 * commit() is invoked only if the CacheEventNode (CENO) has all the information they need and
-	 * should be able to determine what to do to the EMF feature.
-	 * 
-	 * The commit() method will invoke discard() when it has completed its tasks, if needed. Thus,
-	 * after invoking this method, the CENO may have no meaningful state. If discard() is invoked,
-	 * all previously held reference will be released in order to be made eligible for Garbage
-	 * Collection.
-	 *  
-	 */
-	public void commit() {
-
-		if (parent == null || this.isIgnorable()) {
-			discard();
-			releaseFromContainingPool();
-			return;
-		}
-
-		ReadAheadHelper helper = null;
-		Translator activeTranslator = getTranslator();
-		Translator parentTranslator = getParent().getTranslator();
-
-		if (parent != null && parent.getEmfOwner() == null) {
-
-			/*
-			 * Not enough information yet, add the CacheEventNode to the DOM Cache tree
-			 */
-
-			parent.appendToBuffer(this);
-			if ((helper = getParent().getReadAheadHelper()) != null) {
-				/*
-				 * If the parentRecord's emfOwner is null, then it must not be initialized therefore
-				 * it or one of its ancestors must require read ahead clues
-				 * 
-				 * The following if statement checks if the parent is the node waiting for a
-				 * readAhead cue
-				 */
-				EObject parentOwner = null;
-				if (helper.nodeValueIsReadAheadName(getNodeName())) {
-					/* The readAheadName is the value of the qName child node */
-
-					/* We have enough information to create the EmfOwner in the parent! */
-					parentOwner = parentTranslator.createEMFObject(getParent().getNodeName(), getBuffer());
-
-					/*
-					 * Now we need to parse the cached DOM tree and update the emfOwner of the
-					 * parent
-					 */
-					getParent().updateEMF(parentOwner);
-
-				} else if (helper.nodeNameIsReadAheadName(getNodeName())) {
-					/* The readAheadName is the actual name of the child node (qName) */
-
-					/* We have enough information to create the EmfOwner in the parent! */
-					parentOwner = parentTranslator.createEMFObject(getParent().getNodeName(), getNodeName());
-
-					/*
-					 * Now we need to parse the cached DOM tree and update the emfOwner of the
-					 * parent
-					 */
-					getParent().updateEMF(parentOwner);
-				}
-
-			} /* Else an ancestor of the parent is waiting */
-
-		} else {
-			if (activeTranslator != null) {
-				if (activeTranslator.isManagedByParent()) {
-
-					Object value = activeTranslator.convertStringToValue(getNodeName(), null, getBuffer(), getParent().getEmfOwner());
-					activeTranslator.setMOFValue(getParent().getEmfOwner(), value);
-					processAttributes();
-				} else {
-
-					activeTranslator.setTextValueIfNecessary(getBuffer(), getEmfOwner(), getVersionID());
-				}
-
-			}
-			discard();
-			releaseFromContainingPool();
-		}
-	}
-
-	/**
-	 * Instruct the CacheEventNode to discard all references to make everything eligible for garbage
-	 * collection. This should ONLY be called after commit has succeeded. In the case of EMF
-	 * features that require a readAheadName, process not be completed in commit(), but rather will
-	 * be defered to the updateEMF() method. This method was made private specifically because it
-	 * could erase all information contained in the CacheEventNode before it has been processed.
-	 *  
-	 */
-	private void discard() {
-		translator = null;
-		emfOwner = null;
-		buffer = null;
-		if (children != null)
-			children.clear();
-		children = null;
-		attributes = null;
-		parent = null;
-	}
-
-	private void releaseFromContainingPool() {
-		if (containingPool != null)
-			containingPool.releaseNode(this);
-	}
-
-	public boolean isIgnorable() {
-		if (ignorable == null) {
-			boolean result = false;
-			if (this.translator != null) {
-				if (this.translator.isEmptyContentSignificant()) {
-					result = false;
-				} else {
-					String domPath = this.translator.getDOMPath();
-					result = (domPath != null) ? domPath.indexOf(this.nodeName) >= 0 : false;
-				}
-			}
-			ignorable = result ? Boolean.TRUE : Boolean.FALSE;
-		}
-		return ignorable.booleanValue();
-	}
-
-	/**
-	 * Determines if a given child has a translator.
-	 * 
-	 * @param childNodeName
-	 *            the name of the current XML child node
-	 * @return true only if the childNodeName can be ignored (e.g. it is part of the DOM Path)
-	 */
-	public boolean isChildIgnorable(String childNodeName) {
-		boolean result = false;
-
-		Translator childTranslator = null;
-		if (this.getTranslator() != null) {
-			childTranslator = this.getTranslator().findChild(childNodeName, this.getEmfOwner(), this.getVersionID());
-
-			if (childTranslator != null) {
-				if (childTranslator.isEmptyContentSignificant()) {
-					result = false;
-				} else {
-					String temp = null;
-					result = ((temp = childTranslator.getDOMPath()) != null) ? temp.indexOf(childNodeName) >= 0 : false;
-				}
-			}
-		}
-
-		return result;
-	}
-
-	public boolean isInDOMPath() {
-		boolean result = false;
-
-		if (this.getTranslator() != null) {
-
-			result = this.getNodeName().equals(this.getTranslator().getDOMPath());
-		}
-
-		return result;
-	}
-
-	public String toString() {
-		StringBuffer output = new StringBuffer("CacheEventNode[");//$NON-NLS-1$
-		output.append("nodeName=");//$NON-NLS-1$
-		output.append(nodeName);
-		output.append("; translator=");//$NON-NLS-1$
-		output.append(translator);
-		output.append("; emfOwner=");//$NON-NLS-1$
-		try {
-			output.append(emfOwner);
-		} catch (RuntimeException re) {
-			output.append("Could not render as string!");//$NON-NLS-1$
-		}
-		output.append("; buffer=");//$NON-NLS-1$
-		output.append(this.buffer);
-		output.append("; hasChildren=");//$NON-NLS-1$
-		output.append((children != null && children.size() > 0));
-		if (children != null) {
-			for (int i = 0; i < this.children.size(); i++) {
-				output.append("\n\tchildren(");//$NON-NLS-1$
-				output.append(i);
-				output.append("): ");//$NON-NLS-1$
-				output.append(this.children.get(i));
-			}
-		}
-		output.append("]");//$NON-NLS-1$
-		return output.toString();
-	}
-
-	/**
-	 * Updates the EMF model by creating EMF Features as necessary from the DOM Tree Cache
-	 * 
-	 * @param owner
-	 */
-	public void updateEMF(EObject owner) {
-		this.setEmfOwner(owner);
-		if (this.parent != null) {
-			this.translator.setMOFValue((EObject) this.parent.getEmfOwner(), owner);
-			this.processAttributes();
-		}
-
-		this.updateEMF();
-	}
-
-	/**
-	 * The translator and the owner of the parent CENO passed to this method should be nonnull
-	 */
-	public void updateEMF() {
-		if (this.children == null)
-			return;
-
-		CacheEventNode child = null;
-		Translator childTranslator = null;
-		Object value = null;
-		if (this.getEmfOwner() != null) {
-			Notifier parentOwner = this.getEmfOwner();
-			Translator parentTranslator = this.getTranslator();
-			for (int i = 0; i < this.children.size(); i++) {
-
-				child = (CacheEventNode) this.children.get(i); /* Create the EMF feature */
-				if (this.isChildIgnorable(child.getNodeName())) {
-					this.addChildren(child.getChildren());
-				} else {
-					childTranslator = parentTranslator.findChild(child.getNodeName(), parentOwner, child.getVersionID());
-					child.setTranslator(childTranslator);
-
-					value = childTranslator.convertStringToValue(child.getNodeName(), null, child.getBuffer(), parentOwner);
-					childTranslator.setMOFValue(parentOwner, value);
-
-					if (childTranslator.isObjectMap()) {
-						child.setEmfOwner((Notifier) value);
-						childTranslator.setTextValueIfNecessary(child.getBuffer(), child.getEmfOwner(), getVersionID());
-					}
-
-					child.processAttributes();
-					child.updateEMF(); /* update the EMF of the child */
-
-				}
-				child.discard();
-				child.releaseFromContainingPool();
-			}
-			this.children = null;
-		}
-	}
-
-	public void addChild(CacheEventNode child) {
-		if (this.children == null) {
-			this.children = new ArrayList();
-		}
-		if (parent != null && this.isIgnorable()) {
-			parent.addChild(child);
-		} else {
-			this.children.add(child);
-		}
-	}
-
-	protected void addChildren(List childrenArg) {
-		if (this.children == null) {
-			this.children = new ArrayList();
-		}
-		this.children.addAll(childrenArg);
-	}
-
-	public boolean removeChild(CacheEventNode child) {
-		if (this.children == null) {
-			return false;
-		}
-		return this.children.remove(child);
-	}
-
-	public List getChildren() {
-		return this.children;
-	}
-
-	public ReadAheadHelper getReadAheadHelper() {
-		if (this.translator != null && this.translator.hasReadAheadNames()) {
-			return translator.getReadAheadHelper(nodeName);
-		}
-		return null;
-	}
-
-
-	/* See the documentation for the attributes field for info on how it is structured */
-	public void setAttributes(Attributes attr) {
-
-		/*
-		 * The attributes returned from the parser may be stored by reference, so we must copy them
-		 * over to a local data store
-		 */
-		if (attr != null && attr.getLength() > 0) {
-
-			if (this.attributes == null) {
-				this.attributes = new String[attr.getLength() * 2];
-			}
-			for (int i = 0; i < attr.getLength(); i++) {
-				this.attributes[i] = attr.getQName(i);
-				this.attributes[i + attr.getLength()] = attr.getValue(i);
-			}
-
-		}
-	}
-
-	/**
-	 * processAttributes may be invoked multiple times. It is configured to only carry out the
-	 * processing one time. After it successfully completes the construction of Translators and
-	 * values it will discard the value of the attributes field by setting it to null.
-	 *  
-	 */
-	public void processAttributes() {
-		/* See the documentation for the attributes field for info on how it is structured */
-		if (this.attributes != null && this.attributes.length > 0) {
-
-			if (this.emfOwner != null && this.translator != null) {
-				Translator attrTranslator = null;
-				final int limit = this.attributes.length / 2;
-				Object value = null;
-				for (int i = 0; i < limit; i++) {
-
-					/* Find the attribute translator by using the attribute name (attributes[i]) */
-					attrTranslator = this.translator.findChild(this.attributes[i], this.emfOwner, this.versionID);
-
-					if (attrTranslator != null) {
-
-						/*
-						 * Convert the value of corresponding attribute value (attributes[i+limit])
-						 * to a meaningful value
-						 */
-						value = attrTranslator.convertStringToValue(this.attributes[i + limit], (EObject) this.emfOwner);
-						attrTranslator.setMOFValue((EObject) this.emfOwner, value);
-					}
-				}
-
-				/* Forget the attributes so we do not process them again */
-				this.attributes = null;
-			}
-		}
-	}
-
-	/**
-	 * Appends data to the buffer stored by this CENO. Text will be extracted from the data array
-	 * begining at positiong <i>start </i> and ending at position <i>start+length </i>.
-	 * 
-	 * @param data
-	 * @param start
-	 * @param length
-	 */
-	public void appendToBuffer(char[] data, int start, int length) {
-
-		if (parent != null && this.isIgnorable()) {
-			parent.appendToBuffer(data, start, length);
-			return;
-		}
-
-		if (buffer == null) {
-			this.buffer = new StringBuffer();
-		}
-
-		/*
-		 * acts as a more efficient form of "append". Using this method avoids the need to copy the
-		 * data into its own data structure (e.g. String) before being added to the buffer
-		 */
-		this.buffer.insert(buffer.length(), data, start, length);
-
-	}
-
-	/**
-	 * Add the given CENO as a child of this CENO.
-	 * 
-	 * @param record
-	 */
-	public void appendToBuffer(CacheEventNode record) {
-
-		this.addChild(record);
-	}
-
-	public String getBuffer() {
-		if (this.buffer == null) {
-			return null;
-		}
-		return this.buffer.toString();
-	}
-
-	public Notifier getEmfOwner() {
-		return emfOwner;
-	}
-
-	public CacheEventNode getParent() {
-		return parent;
-	}
-
-	private void setParent(CacheEventNode record) {
-		this.parent = record;
-	}
-
-	public Translator getTranslator() {
-		return this.translator;
-	}
-
-	public void setEmfOwner(Notifier notifier) {
-
-		this.emfOwner = notifier;
-	}
-
-	public void setTranslator(Translator translator) {
-		this.translator = translator;
-	}
-
-	public String getNodeName() {
-		return nodeName;
-	}
-
-	public int getVersionID() {
-
-		if (this.parent == null) {
-			try {
-				return ((TranslatorResource) this.getEmfOwner()).getVersionID();
-
-			} catch (RuntimeException re) {
-			}
-		}
-		return this.versionID;
-	}
-
-	public void setVersionID(int i) {
-		versionID = i;
-	}
-
-
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/CacheEventPool.java b/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/CacheEventPool.java
deleted file mode 100644
index 55799e2..0000000
--- a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/CacheEventPool.java
+++ /dev/null
@@ -1,149 +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.internal.emf.resource;
-
-
-import java.util.ArrayList;
-import java.util.Collection;
-
-import org.xml.sax.Attributes;
-
-/**
- * Provides an instance pool of reusable CacheEventNodes. The pool will default to 10 live
- * instances. When its available instances reach five times its initial capacity, it will shrink
- * itself down to the initial capacity.
- * 
- * @author mdelder
- */
-public class CacheEventPool {
-
-	public static final int DEFAULT_CAPACITY = 10;
-	public static final int DEFAULT_CAPACITY_INCREMENT = 25;
-
-	private int poolCapacity = DEFAULT_CAPACITY;
-	private CacheEventStack availablePool = null;
-	private Collection inusePool = null;
-
-	public CacheEventPool() {
-		this(DEFAULT_CAPACITY);
-	}
-
-	/**
-	 * Create a CacheEventPOol with the given initial capacity
-	 * 
-	 * @param initialCapacity
-	 *            The number of available instances to create.
-	 */
-	public CacheEventPool(int initialCapacity) {
-		poolCapacity = (initialCapacity > 0) ? initialCapacity : DEFAULT_CAPACITY;
-		availablePool = new CacheEventStack();
-		inusePool = new ArrayList(poolCapacity);
-	}
-
-	/**
-	 * Create a CacheEventNode (CENO) initialized to use the given resource as its EMF Owner.
-	 * 
-	 * THIS METHOD SHOULD ONLY BE USED TO CREATE ROOT NODES.
-	 * 
-	 * @param resource
-	 *            the resource that will be populated
-	 * @return a CacheEventNode to serve as the root.
-	 */
-	public CacheEventNode createCacheEventNode(TranslatorResource resource) {
-		CacheEventNode adapter = fetchFreeNode();
-		adapter.init(resource);
-		return adapter;
-	}
-
-	/**
-	 * Create child CacheEventNodes (CENOs) that will branch from the given parent.
-	 * 
-	 * @param parent
-	 *            the containing CENO
-	 * @param nodeName
-	 *            The value of the XML element node name
-	 * @param attributes
-	 *            The attributes that were part of the given XML element
-	 * @return A CENO that has been properly initialized.
-	 */
-	public CacheEventNode createCacheEventNode(CacheEventNode parent, String nodeName, Attributes attributes) {
-		CacheEventNode adapter = fetchFreeNode();
-		adapter.init(parent, nodeName, attributes);
-		return adapter;
-	}
-
-	/**
-	 * Release the CacheEventNode CENO back to the pool of availabe instances. This method should
-	 * not be invoked directly. CENOs which are acquired from a given pool will automatically
-	 * release themselves when necessary.
-	 * 
-	 * @param adapter
-	 */
-	public void releaseNode(CacheEventNode adapter) {
-		freeNode(adapter);
-	}
-
-	/**
-	 * freezePool() should be invoked to free any unused resources. After freezePool has been
-	 * invoked, warmPool() will need to be invoked before the pool can be used again.
-	 *  
-	 */
-	public void freezePool() {
-		availablePool.clear();
-		availablePool = null;
-	}
-
-	/**
-	 * warmPool() must be invoked to notify the pool it is about to be used. This should occur only
-	 * once per document rendering. Until the pool is in use, it contains no available
-	 * CacheEventNodes (CENOs) in order to limit the size of the in-memory footprint of the
-	 * EMF2SAXWriter.
-	 *  
-	 */
-	public void warmPool() {
-		ensureMinimumCapacity();
-	}
-
-	private CacheEventNode fetchFreeNode() {
-		CacheEventNode result = null;
-
-		if (availablePool == null || availablePool.isEmpty())
-			warmPool();
-
-		result = availablePool.pop();
-		inusePool.add(result);
-
-		return result;
-	}
-
-	private void freeNode(CacheEventNode adapter) {
-		if (inusePool.remove(adapter))
-			availablePool.push(adapter);
-		//else
-		//	throw new IllegalStateException("Adapter not contained in pool!");
-		if (availablePool.size() > (5 * poolCapacity)) {
-			availablePool.clear();
-			ensureMinimumCapacity();
-		}
-	}
-
-	private void ensureMinimumCapacity() {
-		if (availablePool == null) {
-			availablePool = new CacheEventStack();
-		}
-		if (availablePool.size() < poolCapacity) {
-			final int minimumCapacity = poolCapacity - availablePool.size();
-			for (int i = 0; i < minimumCapacity; i++)
-				availablePool.push(new CacheEventNode(this));
-		}
-	}
-
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/CacheEventStack.java b/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/CacheEventStack.java
deleted file mode 100644
index 03f4198..0000000
--- a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/CacheEventStack.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 Sep 24, 2003
- *
- */
-package org.eclipse.wst.common.internal.emf.resource;
-
-import java.util.ArrayList;
-import java.util.EmptyStackException;
-
-/**
- * An unsynchronized implementation of a Stack (LIFO) data structure. No casting is required when
- * using this data structure.
- * 
- * @author mdelder
- */
-public class CacheEventStack extends ArrayList {
-
-	/**
-	 * 
-	 * @return the top of the stack without removing it
-	 */
-	public CacheEventNode peek() {
-		if (size() == 0)
-			throw new EmptyStackException();
-
-		return (CacheEventNode) get(size() - 1);
-	}
-
-	/**
-	 * 
-	 * @return the top of the stack and removing it
-	 */
-	public CacheEventNode pop() {
-		if (size() == 0)
-			throw new EmptyStackException();
-
-		return (CacheEventNode) remove(size() - 1);
-	}
-
-	/**
-	 * 
-	 * @param adapter
-	 *            A CENO to push onto the top of the stack
-	 */
-	public void push(CacheEventNode adapter) {
-		add(adapter);
-	}
-
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/CompatibilityPackageMappingRegistry.java b/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/CompatibilityPackageMappingRegistry.java
deleted file mode 100644
index 25367c8..0000000
--- a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/CompatibilityPackageMappingRegistry.java
+++ /dev/null
@@ -1,53 +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.internal.emf.resource;
-
-import java.util.HashMap;
-import java.util.Map;
-
-/**
- * This class is used to register mappings for a package prefix to its current namespace URI. Also,
- * this registry is used to map the package
- */
-public class CompatibilityPackageMappingRegistry {
-	public static CompatibilityPackageMappingRegistry INSTANCE = new CompatibilityPackageMappingRegistry();
-	private Map prefixToPackageURIs = new HashMap();
-	private Map packageURIsToPrefixes = new HashMap();
-
-	/**
-	 *  
-	 */
-	private CompatibilityPackageMappingRegistry() {
-		super();
-	}
-
-	/**
-	 * @return
-	 */
-	public Map getPackageURIsToPrefixes() {
-		return packageURIsToPrefixes;
-	}
-
-	/**
-	 * @return
-	 */
-	public Map getPrefixToPackageURIs() {
-		return prefixToPackageURIs;
-	}
-
-	public void registerPrefixToPackageURI(String prefix, String uri) {
-		if (prefix != null && uri != null) {
-			prefixToPackageURIs.put(prefix, uri);
-			packageURIsToPrefixes.put(uri, prefix);
-		}
-	}
-
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/CompatibilityResourceFactory.java b/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/CompatibilityResourceFactory.java
deleted file mode 100644
index f824de3..0000000
--- a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/CompatibilityResourceFactory.java
+++ /dev/null
@@ -1,61 +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 Apr 23, 2003
- *
- * To change the template for this generated file go to
- * Window>Preferences>Java>Code Generation>Code and Comments
- */
-package org.eclipse.wst.common.internal.emf.resource;
-
-import java.util.Map;
-
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.emf.ecore.resource.Resource;
-import org.eclipse.emf.ecore.xmi.impl.XMIResourceFactoryImpl;
-
-/**
- * @author DABERG
- * 
- * To change the template for this generated type comment go to Window>Preferences>Java>Code
- * Generation>Code and Comments
- */
-public class CompatibilityResourceFactory extends XMIResourceFactoryImpl {
-	/**
-	 *  
-	 */
-	public CompatibilityResourceFactory() {
-		super();
-	}
-
-	protected Map prefixToPackageURIs;
-
-	protected Map packageURIsToPrefixes;
-
-	public Map getPrefixToPackageURI() {
-		return CompatibilityPackageMappingRegistry.INSTANCE.getPrefixToPackageURIs();
-	}
-
-	public Map getPackageURIsToPrefixes() {
-		return CompatibilityPackageMappingRegistry.INSTANCE.getPackageURIsToPrefixes();
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.emf.ecore.xmi.impl.XMIResourceFactoryImpl#createResource(org.eclipse.emf.common.util.URI)
-	 */
-	public Resource createResource(URI uri) {
-		return new CompatibilityXMIResourceImpl(uri);
-	}
-
-
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/CompatibilitySAXXMIHandler.java b/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/CompatibilitySAXXMIHandler.java
deleted file mode 100644
index ee6ff3e..0000000
--- a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/CompatibilitySAXXMIHandler.java
+++ /dev/null
@@ -1,55 +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 Apr 30, 2003
- *
- * To change the template for this generated file go to
- * Window>Preferences>Java>Code Generation>Code and Comments
- */
-package org.eclipse.wst.common.internal.emf.resource;
-
-import java.util.Map;
-
-import org.eclipse.emf.ecore.xmi.XMLHelper;
-import org.eclipse.emf.ecore.xmi.XMLResource;
-import org.eclipse.emf.ecore.xmi.impl.SAXXMIHandler;
-
-/**
- * @author DABERG
- * 
- * To change the template for this generated type comment go to Window>Preferences>Java>Code
- * Generation>Code and Comments
- */
-public class CompatibilitySAXXMIHandler extends SAXXMIHandler {
-	protected final static String NULL_ATTRIB = XMLResource.XSI_NS + ":null"; //$NON-NLS-1$
-
-	/**
-	 * @param xmiResource
-	 * @param helper
-	 * @param options
-	 */
-	public CompatibilitySAXXMIHandler(XMLResource xmiResource, XMLHelper helper, Map options) {
-		super(xmiResource, helper, options);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.emf.ecore.xmi.impl.XMLHandler#isNull()
-	 */
-	protected boolean isNull() {
-		boolean isnull = super.isNull();
-		if (!isnull)
-			isnull = attribs.getValue(NULL_ATTRIB) != null;
-		return isnull;
-	}
-
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/CompatibilityURIConverter.java b/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/CompatibilityURIConverter.java
deleted file mode 100644
index ba135f5..0000000
--- a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/CompatibilityURIConverter.java
+++ /dev/null
@@ -1,17 +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.internal.emf.resource;
-
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.emf.ecore.resource.URIConverter;
-
-public interface CompatibilityURIConverter extends URIConverter {
-	URI deNormalize(URI uri);
-
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/CompatibilityXMILoadImpl.java b/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/CompatibilityXMILoadImpl.java
deleted file mode 100644
index 5f17a46..0000000
--- a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/CompatibilityXMILoadImpl.java
+++ /dev/null
@@ -1,48 +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 Apr 30, 2003
- *
- * To change the template for this generated file go to
- * Window>Preferences>Java>Code Generation>Code and Comments
- */
-package org.eclipse.wst.common.internal.emf.resource;
-
-import org.eclipse.emf.ecore.xmi.XMLHelper;
-import org.eclipse.emf.ecore.xmi.impl.SAXWrapper;
-import org.eclipse.emf.ecore.xmi.impl.XMILoadImpl;
-import org.xml.sax.helpers.DefaultHandler;
-
-/**
- * @author DABERG
- * 
- * To change the template for this generated type comment go to Window>Preferences>Java>Code
- * Generation>Code and Comments
- */
-public class CompatibilityXMILoadImpl extends XMILoadImpl {
-
-	/**
-	 * @param helper
-	 */
-	public CompatibilityXMILoadImpl(XMLHelper helper) {
-		super(helper);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.emf.ecore.xmi.impl.XMLLoadImpl#makeDefaultHandler()
-	 */
-	protected DefaultHandler makeDefaultHandler() {
-		return new SAXWrapper(new CompatibilitySAXXMIHandler(resource, helper, options));
-	}
-
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/CompatibilityXMIResource.java b/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/CompatibilityXMIResource.java
deleted file mode 100644
index a954f5f..0000000
--- a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/CompatibilityXMIResource.java
+++ /dev/null
@@ -1,41 +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.internal.emf.resource;
-
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.xmi.XMIResource;
-
-public interface CompatibilityXMIResource extends XMIResource {
-	int FORMAT_EMF1 = 0;
-	/**
-	 * format for MOF5 compatibility; note that this can NOT be used with resources usings the
-	 * "platform:/plugin" protocol"
-	 */
-	int FORMAT_MOF5 = 1;
-
-	void addOriginalPackageURI(String packageUri, String originalUri);
-
-	int getFormat();
-
-	/**
-	 * Set the serialization format. By default it is FORMAT_EMF1.
-	 * 
-	 * @see CompatibilityXMIResource#FORMAT_EMF1
-	 * @see CompatibilityXMIResource#FORMAT_MOF5
-	 */
-	void setFormat(int format);
-
-	boolean usesDefaultFormat();
-
-	/**
-	 * @param rootObject
-	 */
-	void removePreservingIds(EObject rootObject);
-
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/CompatibilityXMIResourceImpl.java b/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/CompatibilityXMIResourceImpl.java
deleted file mode 100644
index 2419be7..0000000
--- a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/CompatibilityXMIResourceImpl.java
+++ /dev/null
@@ -1,338 +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.internal.emf.resource;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStream;
-import java.util.HashMap;
-import java.util.Map;
-
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.InternalEObject;
-import org.eclipse.emf.ecore.xmi.XMLHelper;
-import org.eclipse.emf.ecore.xmi.XMLLoad;
-import org.eclipse.emf.ecore.xmi.XMLSave;
-import org.eclipse.emf.ecore.xmi.impl.XMIResourceImpl;
-import org.eclipse.wst.common.internal.emf.utilities.IDUtil;
-import org.eclipse.wst.common.internal.emf.utilities.ResourceIsLoadingAdapter;
-import org.eclipse.wst.common.internal.emf.utilities.ResourceIsLoadingAdapterFactory;
-
-
-public class CompatibilityXMIResourceImpl extends XMIResourceImpl implements CompatibilityXMIResource {
-	protected static final String DEFAULT_ENCODING = "UTF-8"; //$NON-NLS-1$
-	protected int format = FORMAT_EMF1;
-	protected Map originalPackageURIs = new HashMap();
-	private boolean preserveIDs = false;
-
-	private static final String PLATFORM_PROTOCOL = "platform"; //$NON-NLS-1$
-	private static final String PLATFORM_PLUGIN = "plugin"; //$NON-NLS-1$
-
-	/**
-	 * Constructor for MappableXMIResourceImpl.
-	 */
-	public CompatibilityXMIResourceImpl() {
-		super();
-		initDefaultSaveOptions();
-	}
-
-	public CompatibilityXMIResourceImpl(URI uri) {
-		super(uri);
-		initDefaultSaveOptions();
-	}
-
-	/**
-	 * @see org.eclipse.emf.ecore.xmi.impl.XMIResourceImpl#createXMLHelper()
-	 */
-	protected final XMLHelper createXMLHelper() {
-		MappedXMIHelper helper = doCreateXMLHelper();
-		helper.setPackageURIsToPrefixes(getPackageURIsToPrefixes());
-		return helper;
-	}
-
-	protected MappedXMIHelper doCreateXMLHelper() {
-		return new MappedXMIHelper(this, getPrefixToPackageURIs());
-	}
-
-	/**
-	 * Subclasses should not need to override this method.
-	 * 
-	 * @see CompatibilityPackageMappingRegistry#getPrefixToPackageURIs()
-	 */
-	protected Map getPrefixToPackageURIs() {
-		return CompatibilityPackageMappingRegistry.INSTANCE.getPrefixToPackageURIs();
-	}
-
-	/**
-	 * Subclasses should not need to override this method.
-	 * 
-	 * @see CompatibilityPackageMappingRegistry#getPrefixToPackageURIs()
-	 */
-	protected Map getPackageURIsToPrefixes() {
-		return CompatibilityPackageMappingRegistry.INSTANCE.getPackageURIsToPrefixes();
-	}
-
-	public void addOriginalPackageURI(String packageUri, String originalUri) {
-		originalPackageURIs.put(packageUri, originalUri);
-	}
-
-	public int getFormat() {
-		return format;
-	}
-
-	public void setFormat(int format) {
-		if (!isPlatformPluginResourceURI())
-			this.format = format;
-	}
-
-	private boolean isPlatformPluginResourceURI() {
-		URI aURI = getURI();
-
-		return aURI != null && PLATFORM_PROTOCOL.equals(uri.scheme()) && PLATFORM_PLUGIN.equals(uri.segment(0));
-	}
-
-	/**
-	 * @see org.eclipse.emf.ecore.resource.Resource#getURIFragment(EObject)
-	 */
-	public String getURIFragment(EObject eObject) {
-		if (usesDefaultFormat())
-			return super.getURIFragment(eObject);
-		return IDUtil.getOrAssignID(eObject, this);
-	}
-
-	public boolean usesDefaultFormat() {
-		return format == CompatibilityXMIResource.FORMAT_EMF1;
-	}
-
-	/**
-	 * @see org.eclipse.emf.ecore.xmi.impl.XMIResourceImpl#createXMLSave()
-	 */
-	protected XMLSave createXMLSave() {
-		if (usesDefaultFormat())
-			return super.createXMLSave();
-		return new CompatibilityXMISaveImpl(createXMLHelper());
-	}
-
-	/**
-	 * @see org.eclipse.emf.ecore.xmi.impl.XMLResourceImpl#doSave(OutputStream, Map)
-	 */
-	public void doSave(OutputStream outputStream, Map options) throws IOException {
-		super.doSave(outputStream, options);
-	}
-
-	/**
-	 * Method initDefaultOptions.
-	 */
-	protected void initDefaultSaveOptions() {
-		if (defaultSaveOptions == null) {
-			getDefaultSaveOptions();
-		}
-	}
-
-	/**
-	 * @see org.eclipse.emf.ecore.resource.impl.ResourceImpl#getEObjectByID(String)
-	 */
-	protected EObject getEObjectByID(String id) {
-		if (idToEObjectMap != null) {
-			EObject eObject = (EObject) idToEObjectMap.get(id);
-			if (eObject != null) {
-				return eObject;
-			}
-		}
-		return null;
-	}
-
-	/**
-	 * Called when the object is unloaded. This implementation
-	 * {@link InternalEObject#eSetProxyURI sets}the object to be a proxy and clears the
-	 * {@link #eAdapters adapters}.
-	 */
-	protected void unloaded(InternalEObject internalEObject) {
-		//overridden from the super class; call super.getURIFragment instead of the implementation
-		//at this level, to avoid ID generation during unload
-		//internalEObject.eSetProxyURI(uri.appendFragment(getURIFragment(internalEObject)));
-		internalEObject.eSetProxyURI(uri.appendFragment(super.getURIFragment(internalEObject)));
-		internalEObject.eAdapters().clear();
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.emf.ecore.xmi.impl.XMLResourceImpl#doLoad(java.io.InputStream,
-	 *      java.util.Map)
-	 */
-	public final void doLoad(InputStream inputStream, Map options) throws IOException {
-		basicDoLoad(inputStream, options);
-	}
-
-	/**
-	 * @deprecated Use {@link #doLoad(InputStream, Map)} instead.
-	 */
-	protected void basicDoLoad(InputStream inputStream, Map options) throws IOException {
-		super.doLoad(inputStream, options);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.emf.ecore.xmi.impl.XMLResourceImpl#init()
-	 */
-	protected void init() {
-		super.init();
-		setEncoding(DEFAULT_ENCODING);
-	}
-
-	protected XMLLoad createXMLLoad() {
-		return new CompatibilityXMILoadImpl(createXMLHelper());
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.common.internal.emf.resource.CompatibilityXMIResource#removePreservingIds(org.eclipse.emf.ecore.EObject)
-	 */
-	public void removePreservingIds(EObject rootObject) {
-		setPreserveIDs(true);
-		getContents().remove(rootObject);
-	}
-
-	/**
-	 * @return Returns the preserveIDs.
-	 */
-	public boolean isPreserveIDs() {
-		return preserveIDs;
-	}
-
-	/**
-	 * @param preserveIDs
-	 *            The preserveIDs to set.
-	 */
-	public void setPreserveIDs(boolean preserveIDs) {
-		this.preserveIDs = preserveIDs;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.emf.ecore.xmi.impl.XMLResourceImpl#detachedHelper(org.eclipse.emf.ecore.EObject)
-	 */
-	protected void detachedHelper(EObject eObject) {
-		if (modificationTrackingAdapter != null) {
-			eObject.eAdapters().remove(modificationTrackingAdapter);
-		}
-
-		if (useUUIDs()) {
-			DETACHED_EOBJECT_TO_ID_MAP.put(eObject, getID(eObject));
-		}
-
-		if (!isPreserveIDs() && idToEObjectMap != null && eObjectToIDMap != null) {
-			idToEObjectMap.remove(eObjectToIDMap.remove(eObject));
-		}
-	}
-	
-	public void load(Map options) throws IOException {
-
-        ResourceIsLoadingAdapter adapter = null;
-        if (isLoaded) {
-            adapter = ResourceIsLoadingAdapter.findAdapter(this);
-            if (adapter != null) 
-                adapter.waitForResourceToLoad();
-            return;
-        }
-        synchronized (this) {            
-            adapter = ResourceIsLoadingAdapter.findAdapter(this);
-            if (adapter == null && !isLoaded) 
-                addSynchronizationLoadingAdapter();
-        }
-        if(adapter != null)
-            adapter.waitForResourceToLoad();
-        else {
-            try {
-                super.load(options);
-            } catch(IOException ioe) {
-                removeLoadingSynchronizationAdapter();
-                throw ioe;
-            } catch(RuntimeException re) {
-                removeLoadingSynchronizationAdapter();
-                throw re;
-            } catch(Error e) {
-                removeLoadingSynchronizationAdapter();
-                throw e;
-            }
-        }
-    }
-	
-	  /**
-     * 
-     */
-    private void addSynchronizationLoadingAdapter() {
-        if (ResourceIsLoadingAdapter.findAdapter(this) == null)
-            eAdapters().add(ResourceIsLoadingAdapterFactory.INSTANCE.createResourceIsLoadingAdapter());
-    }
-
-    /**
-     * 
-     */
-    private void removeLoadingSynchronizationAdapter() {
-        ResourceIsLoadingAdapter adapter = ResourceIsLoadingAdapter.findAdapter(this);
-        if (adapter != null) {
-            adapter.forceRelease();
-            eAdapters().remove(adapter);
-        }
-    }
-
-    /**
-     * Case 1: LOAD RESOURCE FROM DISK this.isLoaded == false AND isLoaded ==
-     * true (which means we entered the load() method, but have not completed
-     * the load), and we're loading from a resource on disk, then we add the
-     * adapter Case 2: RESOURCE CREATION (NOT A LOAD) Case 4: RESOURCE CREATION,
-     * UNLOADED, NEW CONTENTS (NOT A LOAD) Resource is created but not from a
-     * resource on disk, so contents is null AND not empty, so no adapter: THIS
-     * IS NOT A LOAD Case 3: RESOURCE HAS BEEN UNLOADED, BEING RELOADED FROM
-     * DISK Contents is NOT null, but it is Empty and the resource is being
-     * loaded from disk. We must add the adapter.
-     * 
-     */
-    public boolean isResourceBeingLoaded(boolean isLoaded) {
-        return (!this.isLoaded && isLoaded) && (contents == null || contents.isEmpty());
-    }
-
-    /*
-     * (non-Javadoc)
-     * 
-     * @see org.eclipse.emf.ecore.resource.Resource#getContents()
-     */
-    public EList getContents() {
-        waitForResourceToLoadIfNecessary();
-        return super.getContents();
-    }
-
-    /*
-     * (non-Javadoc)
-     * 
-     * @see org.eclipse.emf.ecore.resource.impl.ResourceImpl#isLoaded()
-     */
-    public boolean isLoaded() {
-        waitForResourceToLoadIfNecessary();
-        return super.isLoaded();
-    }
-
-    /**
-     * 
-     */
-    protected final void waitForResourceToLoadIfNecessary() {
-        ResourceIsLoadingAdapter loadingAdapter = ResourceIsLoadingAdapter.findAdapter(this);
-        if (loadingAdapter != null) loadingAdapter.waitForResourceToLoad();
-    }
-
-
-
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/CompatibilityXMISaveImpl.java b/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/CompatibilityXMISaveImpl.java
deleted file mode 100644
index c1a7bf2..0000000
--- a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/CompatibilityXMISaveImpl.java
+++ /dev/null
@@ -1,127 +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.internal.emf.resource;
-
-import java.util.Map;
-
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.EPackage;
-import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.emf.ecore.resource.Resource;
-import org.eclipse.emf.ecore.util.EcoreUtil;
-import org.eclipse.emf.ecore.xmi.XMIResource;
-import org.eclipse.emf.ecore.xmi.XMLHelper;
-import org.eclipse.emf.ecore.xmi.XMLResource;
-import org.eclipse.emf.ecore.xmi.impl.XMISaveImpl;
-
-public class CompatibilityXMISaveImpl extends XMISaveImpl {
-
-	/**
-	 * Constructor for CompatibilityXMISaveImpl.
-	 * 
-	 * @param helper
-	 */
-	public CompatibilityXMISaveImpl(XMLHelper helper) {
-		super(helper);
-	}
-
-	/**
-	 * Constructor for CompatibilityXMISaveImpl.
-	 * 
-	 * @param options
-	 * @param helper
-	 * @param encoding
-	 */
-	public CompatibilityXMISaveImpl(Map options, XMLHelper helper, String encoding) {
-		super(options, helper, encoding);
-	}
-
-	/**
-	 * @see org.eclipse.emf.ecore.xmi.impl.XMISaveImpl#init(XMLResource, Map)
-	 */
-	protected void init(XMLResource resource, Map options) {
-		super.init(resource, options);
-		xmiType = true;
-	}
-
-	/**
-	 * @see org.eclipse.emf.ecore.xmi.impl.XMISaveImpl#addNamespaceDeclarations()
-	 */
-	public void addNamespaceDeclarations() {
-		doc.addAttribute(XMI_VER_NS, XMIResource.VERSION_VALUE);
-		doc.addAttribute(XMI_XMLNS, XMIResource.XMI_URI);
-		EPackage[] packages = helper.packages();
-		StringBuffer xsiSchemaLocation = null;
-		if (declareSchemaLocation) {
-			for (int i = 0; i < packages.length; i++) {
-				EPackage ePackage = packages[i];
-
-				EObject root = EcoreUtil.getRootContainer(ePackage);
-				if (root instanceof EPackage) {
-					EPackage rootEPackage = (EPackage) root;
-					Resource resource = rootEPackage.eResource();
-					if (resource != null) {
-						URI uri = resource.getURI();
-						String rootNsURI = rootEPackage.getNsURI();
-						if (uri == null ? rootNsURI != null : !uri.toString().equals(rootNsURI)) {
-							declareXSI = true;
-							if (xsiSchemaLocation == null) {
-								xsiSchemaLocation = new StringBuffer();
-							} else {
-								xsiSchemaLocation.append(' ');
-							}
-							xsiSchemaLocation.append(rootNsURI);
-							xsiSchemaLocation.append(' ');
-							xsiSchemaLocation.append(helper.getHREF(rootEPackage));
-						}
-					}
-				}
-			}
-		}
-
-		if (declareXSI) {
-			doc.addAttribute(XSI_XMLNS, XMLResource.XSI_URI);
-		}
-
-		for (int i = 0; i < packages.length; i++) {
-			EPackage ePackage = packages[i];
-			//Modified from superclass - dispatch back to helper for compatibility
-			//String nsURI = ePackage.getNsURI();
-			//String nsPrefix = ePackage.getNsPrefix();
-			String[] nsInfo = ((MappedXMIHelper) helper).getNSInfo(ePackage);
-			doc.addAttributeNS(XMLResource.XML_NS, nsInfo[0], nsInfo[1]);
-		}
-
-		if (xsiSchemaLocation != null) {
-			doc.addAttribute(XSI_SCHEMA_LOCATION, xsiSchemaLocation.toString());
-		}
-	}
-
-	protected void saveHref(EObject remote, EStructuralFeature f) {
-		String name = helper.getQName(f);
-		String href = helper.getHREF(remote);
-		if (href != null) {
-			doc.startElement(name);
-			EClass eClass = remote.eClass();
-
-			EClass expectedType = (EClass) f.getEType();
-			//Changed next line to always write type if expectedType
-			//is different from eClass
-			if (eClass != expectedType) {
-				saveTypeAttribute(eClass);
-			}
-
-			doc.addAttribute(XMLResource.HREF, href);
-			doc.endEmptyElement();
-		}
-	}
-
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/ConstantAttributeTranslator.java b/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/ConstantAttributeTranslator.java
deleted file mode 100644
index 356f102..0000000
--- a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/ConstantAttributeTranslator.java
+++ /dev/null
@@ -1,54 +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 Apr 15, 2003
- *
- */
-package org.eclipse.wst.common.internal.emf.resource;
-
-import org.eclipse.emf.ecore.EObject;
-
-/**
- * @author schacher
- */
-public class ConstantAttributeTranslator extends Translator {
-
-	protected String attributeValue;
-
-	/**
-	 * @param domNameAndPath
-	 * @param eClass
-	 */
-	public ConstantAttributeTranslator(String domNameAndPath, String attributeValue) {
-		super(domNameAndPath, null, DOM_ATTRIBUTE);
-		this.attributeValue = attributeValue;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.etools.emf2xml.impl.Translator#getMOFValue(org.eclipse.emf.ecore.EObject)
-	 */
-	public Object getMOFValue(EObject mofObject) {
-		return attributeValue;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.etools.emf2xml.impl.Translator#isSetMOFValue(org.eclipse.emf.ecore.EObject)
-	 */
-	public boolean isSetMOFValue(EObject emfObject) {
-		return true;
-	}
-
-
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/DefaultTranslatorFactory.java b/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/DefaultTranslatorFactory.java
deleted file mode 100644
index 7518472..0000000
--- a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/DefaultTranslatorFactory.java
+++ /dev/null
@@ -1,101 +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 Aug 20, 2003
- *
- */
-package org.eclipse.wst.common.internal.emf.resource;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.Notifier;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.wst.common.internal.emf.utilities.Namespace;
-import org.eclipse.wst.common.internal.emf.utilities.NamespaceAdapter;
-
-
-/**
- * @author schacher
- */
-public class DefaultTranslatorFactory implements VariableTranslatorFactory {
-
-	public static final String XMLNS = "xmlns:"; //$NON-NLS-1$
-	public static final DefaultTranslatorFactory INSTANCE = new DefaultTranslatorFactory();
-
-	public DefaultTranslatorFactory() {
-		super();
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.etools.emf2xml.impl.VariableTranslatorFactory#accepts(java.lang.String)
-	 */
-	public boolean accepts(String domName) {
-		return domName != null && domName.startsWith(XMLNS);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.etools.emf2xml.impl.VariableTranslatorFactory#accepts(org.eclipse.emf.common.notify.Notification)
-	 */
-	public boolean accepts(Notification notif) {
-		return notif.getFeature() == NamespaceAdapter.NOTIFICATION_FEATURE;
-	}
-
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.etools.emf2xml.impl.VariableTranslatorFactory#create(java.lang.String)
-	 */
-	public Translator create(String domName) {
-		return new NamespaceTranslator(domName);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.etools.emf2xml.impl.VariableTranslatorFactory#create(org.eclipse.emf.ecore.EObject)
-	 */
-	public List create(Notifier target) {
-		if (!(target instanceof EObject))
-			return null;
-		List namespaces = NamespaceAdapter.getNamespaces((EObject) target);
-		if (namespaces == null || namespaces.isEmpty())
-			return null;
-		List result = new ArrayList(namespaces.size());
-		for (int i = 0; i < namespaces.size(); i++) {
-			result.add(create((Namespace) namespaces.get(i)));
-		}
-		return result;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.etools.emf2xml.impl.VariableTranslatorFactory#create(org.eclipse.emf.common.notify.Notification)
-	 */
-	public Translator create(Notification notif) {
-		Namespace ns = (Namespace) notif.getNewValue();
-		return create(ns);
-	}
-
-	private Translator create(Namespace ns) {
-		return new NamespaceTranslator(XMLNS + ns.getPrefix());
-	}
-
-
-
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/DependencyTranslator.java b/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/DependencyTranslator.java
deleted file mode 100644
index c7d1c62..0000000
--- a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/DependencyTranslator.java
+++ /dev/null
@@ -1,95 +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 Mar 25, 2003
- *
- */
-package org.eclipse.wst.common.internal.emf.resource;
-
-import java.util.List;
-
-import org.eclipse.emf.common.notify.Notifier;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.EStructuralFeature;
-
-/**
- * @author schacher
- */
-public class DependencyTranslator extends Translator {
-
-	/**
-	 * @param domNameAndPath
-	 * @param aFeature
-	 */
-	public DependencyTranslator(String domNameAndPath, EStructuralFeature aFeature, EStructuralFeature aDependentFeature) {
-		super(domNameAndPath, aFeature);
-		dependencyFeature = aDependentFeature;
-	}
-
-	public EObject getChild(EObject parent) {
-		EObject child = basicGetDependencyObject(parent);
-		if (child == null)
-			return createChild(parent);
-		return child;
-	}
-
-
-	protected EObject createChild(EObject parent) {
-		EObject child = createEMFObject(dependencyFeature);
-		parent.eSet(dependencyFeature, child);
-		return child;
-	}
-
-	public List getMOFChildren(EObject mofObject) {
-		//return super.getMOFChildren(getChild(mofObject));
-		return super.getMOFChildren(mofObject);
-	}
-
-	public Object getMOFValue(EObject mofObject) {
-		return super.getMOFValue(getChild(mofObject));
-	}
-
-	public void setMOFValue(EObject emfObject, Object value) {
-		//super.setMOFValue(getChild(emfObject), value);
-		super.setMOFValue(getChild(emfObject), value, -1);
-	}
-
-	public void setMOFValue(Notifier owner, Object value, int newIndex) {
-		super.setMOFValue(getChild((EObject) owner), value, newIndex);
-	}
-
-	public void removeMOFValue(Notifier owner, Object value) {
-		super.removeMOFValue(getChild((EObject) owner), value);
-	}
-
-	public boolean isSetMOFValue(EObject emfObject) {
-		return super.isSetMOFValue(getChild(emfObject));
-	}
-
-	public void unSetMOFValue(EObject emfObject) {
-		super.unSetMOFValue(getChild(emfObject));
-	}
-
-
-	public boolean isDependencyChild() {
-		return true;
-	}
-
-	public boolean featureExists(EObject emfObject) {
-		return super.featureExists(getChild(emfObject));
-	}
-
-	public void clearList(EObject mofObject) {
-		super.clearList(getChild(mofObject));
-	}
-
-
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/EMF2DOMAdapter.java b/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/EMF2DOMAdapter.java
deleted file mode 100644
index 9782ea1..0000000
--- a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/EMF2DOMAdapter.java
+++ /dev/null
@@ -1,68 +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.internal.emf.resource;
-
-
-import org.eclipse.emf.common.notify.Adapter;
-import org.eclipse.emf.ecore.EObject;
-import org.w3c.dom.Node;
-
-public interface EMF2DOMAdapter extends Adapter {
-
-
-	Class ADAPTER_CLASS = EMF2DOMAdapter.class;
-
-	/**
-	 * Return the DOM node that the target of this adapter maps to. If the target MOF object maps to
-	 * more than one DOM node, this node is the top-most node.
-	 */
-	Node getNode();
-
-	void setNode(Node aNode);
-
-	/**
-	 * Set to false and notification of changes from both the DOM node and the MOF object will be
-	 * ignored.
-	 */
-	boolean isNotificationEnabled();
-
-	/**
-	 * Set to false and notification of changes from both the DOM node and the MOF object will be
-	 * ignored.
-	 */
-	void setNotificationEnabled(boolean isEnabled);
-
-	/**
-	 * Updates the DOM tree for this adapter from the current values of the MOF Object. This method
-	 * updates ALL the DOM nodes from all the MOF attributes.
-	 */
-	void updateDOM();
-
-	/**
-	 * Updates the MOF Object from the DOM tree. All the children of the DOM tree are updated into
-	 * the MOF object.
-	 */
-	void updateMOF();
-
-	public void updateDOMFeature(Translator map, Node node, EObject mofObject);
-
-	public void updateMOFFeature(Translator map, Node node, EObject mofObject);
-
-	EObject getEObject();
-
-	/**
-	 * Return true if MOF object is a proxy.
-	 */
-	boolean isMOFProxy();
-
-	/**
-	 * Remove the DOM adapters from the node AND all its child nodes, recursively.
-	 */
-	void removeAdapters(Node node);
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/EMF2DOMAdapterImpl.java b/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/EMF2DOMAdapterImpl.java
deleted file mode 100644
index 12ba6c5..0000000
--- a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/EMF2DOMAdapterImpl.java
+++ /dev/null
@@ -1,1745 +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.internal.emf.resource;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.HashSet;
-import java.util.Hashtable;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.emf.common.notify.Adapter;
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.Notifier;
-import org.eclipse.emf.common.notify.impl.AdapterImpl;
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.EReference;
-import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.emf.ecore.InternalEObject;
-import org.eclipse.emf.ecore.resource.Resource;
-import org.eclipse.emf.ecore.util.EcoreUtil;
-import org.eclipse.wst.common.internal.emf.utilities.Assert;
-import org.eclipse.wst.common.internal.emf.utilities.DOMUtilities;
-import org.eclipse.wst.common.internal.emf.utilities.EtoolsCopySession;
-import org.eclipse.wst.common.internal.emf.utilities.ExtendedEcoreUtil;
-import org.eclipse.wst.common.internal.emf.utilities.FeatureValueConversionException;
-import org.eclipse.wst.common.internal.emf.utilities.Revisit;
-import org.eclipse.wst.common.internal.emf.utilities.StringUtil;
-import org.eclipse.wst.common.internal.emf.utilities.WFTUtilsResourceHandler;
-import org.w3c.dom.Attr;
-import org.w3c.dom.Document;
-import org.w3c.dom.DocumentType;
-import org.w3c.dom.Element;
-import org.w3c.dom.NamedNodeMap;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-import org.w3c.dom.Text;
-
-
-public class EMF2DOMAdapterImpl extends AdapterImpl implements EMF2DOMAdapter {
-
-	final protected static boolean fDebug = false;
-
-	protected boolean fNotificationEnabled = true;
-
-	protected Node fNode;
-
-	protected Translator fTranslator;
-
-	protected EMF2DOMRenderer fRenderer;
-
-	protected Translator[] childTranslators;
-
-	protected boolean isRoot = false;
-
-	private class DependencyAdapter extends org.eclipse.emf.common.notify.impl.AdapterImpl {
-
-		static final String KEY = "EMF2DOMDependencyAdapter"; //$NON-NLS-1$
-
-		public void notifyChanged(Notification msg) {
-			EMF2DOMAdapterImpl.this.notifyChanged(msg);
-		}
-
-		/**
-		 * @see org.eclipse.emf.common.notify.impl.AdapterImpl#isAdapterForType(Object)
-		 */
-		public boolean isAdapterForType(Object type) {
-			return KEY.equals(type);
-		}
-	}
-
-	/**
-	 * Constructor for root adapters.
-	 */
-	public EMF2DOMAdapterImpl(TranslatorResource resource, Document document, EMF2DOMRenderer renderer, Translator translator) {
-		this((Notifier) resource, (Node) document, renderer, translator);
-		isRoot = true;
-	}
-
-	/**
-	 * Construct an Adapter given an EObject and a node
-	 */
-	public EMF2DOMAdapterImpl(Notifier object, Node node, EMF2DOMRenderer renderer, Translator translator) {
-		super();
-		setTarget(object);
-		fNode = node;
-		fRenderer = renderer;
-		fTranslator = translator;
-		initChildTranslators();
-		addEMFAdapter();
-		addDOMAdapter();
-		addDependencyAdapterIfNecessary();
-	}
-
-	/**
-	 * Construct an adapter from a DOM Node. The EObject will be created
-	 */
-	public EMF2DOMAdapterImpl(Node node, EMF2DOMRenderer renderer, Translator translator) {
-		fNode = node;
-		fRenderer = renderer;
-		fTranslator = translator;
-		setTargetFromNode();
-		initChildTranslators();
-		addEMFAdapter();
-		addDOMAdapter();
-		addDependencyAdapterIfNecessary();
-
-	}
-
-	protected void addDependencyAdapterIfNecessary() {
-		if (!fTranslator.isDependencyParent())
-			return;
-		EObject child = fTranslator.basicGetDependencyObject(getEObject());
-		if (child != null)
-			addDependencyAdapter(child);
-	}
-
-	protected void initChildTranslators() {
-
-		List children = new ArrayList();
-		children.addAll(Arrays.asList(fTranslator.getChildren(getTarget(), fRenderer.getVersionID())));
-
-		VariableTranslatorFactory factory = fTranslator.getVariableTranslatorFactory();
-		if (factory != null) {
-			String domName = null;
-			NamedNodeMap map = fNode.getAttributes();
-
-			if (map != null) {
-				int length = map.getLength();
-				for (int i = 0; i < length; i++) {
-					Node attrNode = map.item(i);
-					domName = attrNode.getNodeName();
-					//Handle variable translators
-					Translator t = fTranslator.findChild(domName, getTarget(), fRenderer.getVersionID());
-					if (t != null && !children.contains(t))
-						children.add(t);
-				}
-			}
-			List childrenFromEMF = factory.create(getTarget());
-			if (childrenFromEMF != null)
-				children.addAll(childrenFromEMF);
-		}
-
-		childTranslators = (Translator[]) children.toArray(new Translator[children.size()]);
-	}
-
-	/**
-	 * Set to false and notification of changes from both the DOM node and the MOF object will be
-	 * ignored.
-	 */
-	public boolean isNotificationEnabled() {
-		return fNotificationEnabled;
-	}
-
-	/**
-	 * Set to false and notification of changes from both the DOM node and the MOF object will be
-	 * ignored.
-	 */
-	public void setNotificationEnabled(boolean isEnabled) {
-		fNotificationEnabled = isEnabled;
-	}
-
-	public boolean isAdapterForType(Object type) {
-		return EMF2DOMAdapter.ADAPTER_CLASS == type;
-	}
-
-	protected void addEMFAdapter() {
-		target.eAdapters().add(this);
-	}
-
-	public String toString() {
-		StringBuffer sb = new StringBuffer();
-		sb.append(shortClassName(this));
-		sb.append('(');
-		sb.append(getNode().getNodeName());
-		sb.append(',');
-		sb.append(shortClassName(getTarget()));
-		sb.append(')');
-		return sb.toString();
-	}
-
-	protected String shortClassName(Object o) {
-		String cn = o.getClass().getName();
-		int i = cn.lastIndexOf('.');
-		return cn.substring(i + 1, cn.length());
-	}
-
-	/*
-	 * Prints out a MOF notification for debugging
-	 */
-	protected void debugMOFNotify(Notification msg) {
-		if (fDebug) {
-			String notifType = ""; //$NON-NLS-1$
-			switch (msg.getEventType()) {
-				case Notification.ADD :
-					notifType = "ADD"; //$NON-NLS-1$
-					break;
-				case Notification.REMOVE :
-					notifType = "REMOVE"; //$NON-NLS-1$
-					break;
-				case Notification.ADD_MANY :
-					notifType = "ADD_MANY"; //$NON-NLS-1$
-					break;
-				case Notification.REMOVE_MANY :
-					notifType = "REMOVE_MANY"; //$NON-NLS-1$
-					break;
-				case Notification.SET : {
-					if (msg.getPosition() == Notification.NO_INDEX)
-						notifType = "REPLACE"; //$NON-NLS-1$
-					else
-						notifType = "SET"; //$NON-NLS-1$
-					break;
-				}
-				case Notification.UNSET :
-					notifType = "UNSET"; //$NON-NLS-1$
-					break;
-			}
-
-			org.eclipse.jem.util.logger.proxy.Logger.getLogger().logError("MOF Change: " + notifType); //$NON-NLS-1$
-			org.eclipse.jem.util.logger.proxy.Logger.getLogger().logError("\tnotifier      : " + msg.getNotifier()); //$NON-NLS-1$
-			org.eclipse.jem.util.logger.proxy.Logger.getLogger().logError("\tchangedFeature: " + msg.getFeature()); //$NON-NLS-1$
-			org.eclipse.jem.util.logger.proxy.Logger.getLogger().logError("\toldValue      : " + msg.getOldValue()); //$NON-NLS-1$
-			org.eclipse.jem.util.logger.proxy.Logger.getLogger().logError("\tnewValue      : " + msg.getNewValue()); //$NON-NLS-1$
-		}
-	}
-
-	/*
-	 * Override this method to create the feature maps for the adapter.
-	 */
-	protected Translator[] getChildTranslators() {
-		return childTranslators;
-	}
-
-	protected Translator findTranslator(Notification not) {
-		if (not.getFeature() == null)
-			return null;
-		Translator[] maps = getChildTranslators();
-		for (int i = 0; i < maps.length; i++) {
-			if (maps[i].isMapFor(not.getFeature(), not.getOldValue(), not.getNewValue()))
-				return maps[i];
-		}
-		return null;
-	}
-
-	/**
-	 * Update all the children of the target MOF object in the relationship described by
-	 * 
-	 * @map.
-	 * 
-	 * @param map
-	 *            com.ibm.etools.mof2dom.AttributeTranslator Describes the mapping from the MOF
-	 *            attribute name to the DOM node name
-	 */
-	protected void primUpdateDOMMultiFeature(Translator map, Node node, List mofChildren, List domChildren, Notifier owner) {
-
-		//Used for inserting primitives
-		List inorderDOMChildren = null;
-		if (!map.isObjectMap() || map.isManagedByParent()) {
-			inorderDOMChildren = new ArrayList();
-			inorderDOMChildren.addAll(domChildren);
-		}
-		Node parent = findDOMPath(node, map, false);
-
-		// Go though the MOF children checking to see if the corresponding
-		// MOF Adapter children exists. If not, create the adapter.
-		// Also handles reordering children that have moved.
-		int i = 0;
-		for (; i < mofChildren.size(); i++) {
-			Object child = mofChildren.get(i);
-			EObject mofChild = null;
-
-			EMF2DOMAdapter adapter = null;
-
-			// Check to see if the child is a MOF Object.
-			if (!map.isManagedByParent() && child instanceof EObject) {
-				mofChild = (EObject) mofChildren.get(i);
-				adapter = getExistingAdapter(mofChild);
-			}
-
-			if (adapter != null && i < domChildren.size() && domChildren.get(i) == adapter.getNode())
-				continue;
-			if (adapter != null) {
-				if (domChildren.isEmpty())
-					continue;
-				// A node has been reordered in the list
-				Node reorderNode = adapter.getNode();
-				Node insertBeforeNode = (Node) domChildren.get(i);
-				domChildren.remove(reorderNode);
-				domChildren.add(i, reorderNode);
-				if (reorderNode != insertBeforeNode) {
-					reorderDOMChild(parent, reorderNode, insertBeforeNode, map);
-				}
-			} else {
-				// A new node has been added, create it
-				parent = createDOMPath(node, map);
-				if (mofChild != null) {
-					adapter = createAdapter(mofChild, map);
-					Node newNode = adapter.getNode();
-					Node insertBeforeNode = findInsertBeforeNode(parent, map, mofChildren, i, domChildren);
-					DOMUtilities.insertBeforeNodeAndWhitespace(parent, newNode, insertBeforeNode);
-					domChildren.add(i, newNode);
-					boolean notificationFlag = adapter.isNotificationEnabled();
-					adapter.setNotificationEnabled(false);
-					try {
-						indent(newNode, map);
-					} finally {
-						adapter.setNotificationEnabled(notificationFlag);
-					}
-					adapter.updateDOM();
-				} else {
-					// The mof feature is a collection of primitives.
-					// create a new dom node and listen to it.
-					Element newNode = createNewNode(null, map);
-					Node insertBeforeNode = findInsertBeforeNode(parent, map, mofChildren, i, inorderDOMChildren);
-					DOMUtilities.insertBeforeNodeAndWhitespace(parent, newNode, insertBeforeNode);
-					indent(newNode, map);
-					addDOMAdapter(newNode); // Hook up listeners
-					domChildren.add(i, newNode);
-					inorderDOMChildren.add(newNode);
-					Text newText = parent.getOwnerDocument().createTextNode(map.convertValueToString(child, (EObject) owner));
-					DOMUtilities.insertBeforeNode(newNode, newText, null);
-				}
-			}
-		}
-
-		// Remove any remaining adapters.
-		for (; i < domChildren.size(); i++) {
-			removeDOMChild(parent, (Element) domChildren.get(i));
-		}
-
-		// If there are no MOF children, remove any unnecessary DOM node paths
-		if (mofChildren.size() == 0 && map.hasDOMPath()) {
-			if (map.shouldRenderEmptyDOMPath((EObject) owner))
-				createDOMPath(node, map);
-			else
-				removeDOMPath(node, map);
-		}
-
-	}
-
-	/**
-	 * Update all the children of the target MOF object in the relationship described by
-	 * 
-	 * @map.
-	 * 
-	 * @param map
-	 *            com.ibm.etools.mof2dom.AttributeTranslator Describes the mapping from the MOF
-	 *            attribute name to the DOM node name
-	 */
-	protected void primUpdateMOFMultiFeature(Translator map, Node node, List mofChildren, List domChilren) {
-
-		Hashtable nodeToAdapter = new Hashtable();
-
-		for (int i = 0; i < mofChildren.size(); i++) {
-			EMF2DOMAdapter adapter = getExistingAdapter((EObject) mofChildren.get(i));
-			if (adapter != null)
-				nodeToAdapter.put(adapter.getNode(), adapter);
-		}
-
-		// Go though the DOM children checking to see if the corresponding
-		// MOF Adapter children exists. If not, create the adapter.
-		// Also handles reordering children that have moved.
-		int i = 0;
-		int mofIndex = 0;
-		List adaptersToUpdate = new ArrayList();
-		for (; i < domChilren.size(); i++) {
-			Element childNode = (Element) domChilren.get(i);
-			EMF2DOMAdapter adapter = i < mofChildren.size() ? getExistingAdapter((EObject) mofChildren.get(i)) : null;
-			if (adapter != null && !adapter.isMOFProxy() && adapter.getNode() == childNode) {
-				// Because the adapter is processing STRUCTURE_CHANGED from the
-				// DOM, we
-				// must update all the way down the tree since anything under
-				// the notifying
-				// DOM node could have changed.
-				adapter.updateMOF();
-				mofIndex++;
-				continue;
-			}
-
-			adapter = (EMF2DOMAdapter) nodeToAdapter.get(childNode);
-			if (adapter != null) {
-				reorderIfNecessary((EList) mofChildren, adapter.getEObject(), mofIndex);
-				mofIndex++;
-			} else {
-				adapter = createAdapter(childNode, map);
-				if (adapter != null) {
-					try {
-						//We don't want to push anything back to the child dom
-						adapter.setNotificationEnabled(false);
-						map.setMOFValue(getTarget(), adapter.getTarget(), mofIndex);
-					} finally {
-						adapter.setNotificationEnabled(true);
-					}
-
-					adaptersToUpdate.add(adapter);
-					mofIndex++;
-				}
-			}
-		}
-
-		// Remove any remaining adapters.
-		for (; i < mofChildren.size(); i++) {
-			removeMOFValue((EObject) mofChildren.get(i), map);
-		}
-
-		// The adapters cannot be updated as they created. We must wait until
-		// all of the adapters are created and removed before updating,
-		// otherwise
-		// we can get in a state where there are adapters fighting with
-		// eachother
-		// (one for the old node and one for the new node).
-		for (int j = 0; j < adaptersToUpdate.size(); j++) {
-			((EMF2DOMAdapter) adaptersToUpdate.get(j)).updateMOF();
-		}
-	}
-
-	/**
-	 * Removes a feature's value.
-	 * 
-	 * @param childAdapter
-	 *            com.ibm.etools.mof2dom.EMF2DOMAdapter The child to remove
-	 * @param mofAttributeName
-	 *            String The name of the mofAttribute to remove the child from.
-	 */
-	protected void removeMOFValue(EObject value, Translator translator) {
-
-		if (value == null)
-			return;
-
-		EMF2DOMAdapter adapter = (EMF2DOMAdapter) EcoreUtil.getExistingAdapter(value, EMF2DOMAdapter.ADAPTER_CLASS);
-		if (adapter != null) {
-			// Remove the adapter from BOTH the MOF Object and the DOM Nodes
-			value.eAdapters().remove(adapter);
-			removeAdapters(adapter.getNode());
-		}
-
-		EStructuralFeature feature = translator.getFeature();
-		boolean doUnload = feature == null || (translator.isObjectMap() && ((EReference) feature).isContainment());
-
-		// translator.removeMOFValue() was here originally
-
-		// Unload the objects.
-		if (doUnload)
-			ExtendedEcoreUtil.unload(value);
-
-		// Remove the MOF value
-		translator.removeMOFValue(getTarget(), value);
-	}
-
-	protected void reorderIfNecessary(EList emfChildren, EObject eObj, int emfIndex) {
-		int currIndex = emfChildren.indexOf(eObj);
-		if (currIndex > -1 && currIndex != emfIndex)
-			emfChildren.move(emfIndex, eObj);
-	}
-
-	/**
-	 * default is to do nothing; subclasses can override
-	 */
-	protected void indent(Node newNode, Translator map) {
-
-	}
-
-	protected Node findInsertBeforeNode(Node parentNode, Translator map, List mofList, int mofInx, List domList) {
-		Node insertBeforeNode = null;
-
-		// If there are no current dom children for this map, find the initial
-		// insert pos.
-		if (domList.size() == 0)
-			return findInitialInsertBeforeNode(parentNode, map);
-
-		// If some dom nodes then find the correct one to insert before.
-		int i = mofInx + 1;
-		while (i < mofList.size() && insertBeforeNode == null) {
-			// Start at the mofInx passed in and look forward for the first
-			// adapted
-			// MOF object. Use that node as the insert before node.
-			Object o = mofList.get(i);
-			if (!map.isObjectMap() || map.isManagedByParent())
-				break;
-			EObject tMOFObject = (EObject) o;
-			EMF2DOMAdapter tAdapter = (EMF2DOMAdapter) EcoreUtil.getExistingAdapter(tMOFObject, EMF2DOMAdapter.ADAPTER_CLASS);
-			if (tAdapter != null) {
-				insertBeforeNode = tAdapter.getNode();
-			}
-			i++;
-		}
-
-		// Handle inserting at the end of the list
-		if (insertBeforeNode == null)
-			insertBeforeNode = DOMUtilities.getNextNodeSibling((Node) domList.get(domList.size() - 1));
-		if (insertBeforeNode == null)
-			insertBeforeNode = ((Node) domList.get(domList.size() - 1)).getNextSibling();
-
-		return insertBeforeNode;
-	}
-
-	protected Node findInitialInsertBeforeNode(Node parentNode, Translator mapNode) {
-		Translator[] maps = getChildTranslators();
-
-		// First, skip past all the maps in the ordered collection
-		// of maps. We want to begin the search with this node.
-		int i = 0;
-		for (; i < maps.length; i++) {
-			if (maps[i] == mapNode)
-				break;
-		}
-
-		// Now search go through each map node until a child node matching
-		// its DOM name is found.
-		Node insertBeforeNode = null;
-		for (int j = i; j < maps.length && insertBeforeNode == null; j++) {
-			NodeList childNodes = parentNode.getChildNodes();
-			Translator nodeToFindMap = maps[j];
-			for (int k = 0; k < childNodes.getLength(); k++) {
-				Node node = childNodes.item(k);
-				if (nodeToFindMap.isMapFor(node.getNodeName())) {
-					insertBeforeNode = node;
-					break;
-				}
-			}
-		}
-		return insertBeforeNode;
-	}
-
-	/*
-	 * Traverses the path that <map> specifies. Returns the last node of the path that was able to
-	 * be traversed or null if the path could not be traversed. The <addAdapters> boolean is used to
-	 * determine if the receiver is added as an adapter to every node found on the path.
-	 */
-	protected Node findDOMPath(Node parent, Translator map, boolean addAdapters) {
-
-		String path = map.getDOMPath();
-		Node curNode = parent;
-		Iterator iter = DOMUtilities.createPathIterator(path);
-
-		while (curNode != null && iter.hasNext()) {
-			String nodeName = (String) iter.next();
-			curNode = DOMUtilities.getNodeChild(curNode, nodeName);
-			if (addAdapters && curNode != null) {
-				addDOMAdapter(curNode);
-			}
-		}
-		return curNode;
-	}
-
-	/**
-	 * Return the list of DOM node children that currently exist with the specified tagname.
-	 */
-	protected List getDOMChildren(Node node, Translator map) {
-		Node parent = findDOMPath(node, map, true);
-		if (parent != null)
-			return DOMUtilities.getNodeChildren(parent, map.getDOMNames());
-		return new ArrayList();
-	}
-
-	protected EMF2DOMAdapter getExistingAdapter(EObject refObject) {
-		EMF2DOMAdapter adapter = (EMF2DOMAdapter) EcoreUtil.getExistingAdapter(refObject, EMF2DOMAdapter.ADAPTER_CLASS);
-		if (adapter != null && adapter.isMOFProxy()) {
-			refObject.eAdapters().remove(adapter);
-			removeDOMAdapter(adapter.getNode(), adapter);
-			adapter = null;
-		}
-		return adapter;
-	}
-
-	protected void primAddDOMAdapter(Node aNode, EMF2DOMAdapter anAdapter) {
-		fRenderer.registerDOMAdapter(aNode, anAdapter);
-	}
-
-	protected EMF2DOMAdapter primGetExistingAdapter(Node aNode) {
-		return fRenderer.getExistingDOMAdapter(aNode);
-	}
-
-	protected void removeDOMAdapter(Node aNode, EMF2DOMAdapter anAdapter) {
-		fRenderer.removeDOMAdapter(aNode, anAdapter);
-	}
-
-	protected void addDOMAdapter(Node childNode) {
-
-		// Only add the adapter if this is an child node that will not be
-		// adapted. For instance a subtree that maps to a MOF attribute
-		// setting.
-		if (childNode.getNodeType() == Node.ELEMENT_NODE) {
-			EMF2DOMAdapter attrAdapter = primGetExistingAdapter(childNode);
-
-			if (attrAdapter == null || attrAdapter.getNode() != getNode()) {
-				// If the node is adapted, but not by this adapter then remove
-				// it. This happens to non-object children when the parent tag
-				// name is changed.
-				removeDOMAdapter(childNode, attrAdapter);
-
-				if (fDebug) {
-					org.eclipse.jem.util.logger.proxy.Logger.getLogger().logError("\tCHILD: Adding DOM adapter: " + this); //$NON-NLS-1$
-					org.eclipse.jem.util.logger.proxy.Logger.getLogger().logError("\t\tto: " + childNode); //$NON-NLS-1$
-				}
-				primAddDOMAdapter(childNode, this);
-			}
-		}
-	}
-
-	/**
-	 * Reorder a child before a given node
-	 */
-	protected void reorderDOMChild(Node parentNode, Node childNode, Node insertBeforeNode, Translator map) {
-		try {
-			removeDOMChild(parentNode, childNode, false);
-			parentNode.insertBefore(childNode, insertBeforeNode);
-		} catch (Throwable e) {
-			e.printStackTrace();
-		}
-	}
-
-	protected String getNewlineString(Node node) {
-		return DOMUtilities.NEWLINE_STRING;
-	}
-
-	protected String primGetIndentString(Node node) {
-		return DOMUtilities.getIndentString(node);
-	}
-
-	/**
-	 * Remove a child node
-	 */
-	protected void removeDOMChild(Node parentNode, Node childNode) {
-		removeDOMChild(parentNode, childNode, true);
-	}
-
-	/**
-	 * Remove a child node
-	 */
-	protected void removeDOMChild(Node parentNode, Node childNode, boolean removeAdapter) {
-		try {
-			if (childNode == null)
-				return;
-			// Look for any whitespace preceeding the node being
-			// removed and remove it as well.
-			Text prevText = DOMUtilities.getPreviousTextSibling(childNode);
-			if (prevText != null && DOMUtilities.isWhitespace(prevText)) {
-				parentNode.removeChild(prevText);
-			}
-			// Remove the node.
-			if (removeAdapter)
-				removeAdapters(childNode);
-			parentNode.removeChild(childNode);
-		} catch (Throwable e) { 
-			e.printStackTrace();
-		}
-	}
-
-	/**
-	 * Remove the DOM adapters from the node AND all its child nodes, recursively.
-	 */
-	public void removeAdapters(Node node) {
-		EMF2DOMAdapter adapter = primGetExistingAdapter(node);
-		if (adapter != null) {
-			// Remove the adapter from both the DOM node and the MOF Object.
-			removeDOMAdapter(node, adapter);
-			if (adapter.getNode() == node) {
-				Notifier localTarget = adapter.getTarget();
-				if (localTarget != null)
-					localTarget.eAdapters().remove(adapter);
-			}
-		}
-
-		NodeList nl = node.getChildNodes();
-		for (int i = 0; i < nl.getLength(); i++) {
-			Node n = nl.item(i);
-			removeAdapters(n);
-		}
-	}
-
-	/**
-	 * Creates the path specified by <map>under <node>. Only the portion of the path that does not
-	 * exist (if any) is created
-	 * 
-	 * @param node
-	 *            org.w3c.dom.Node
-	 * @param map
-	 *            com.ibm.etools.mof2dom.Translator
-	 */
-	protected Node createDOMPath(Node node, Translator map) {
-		Iterator i = DOMUtilities.createPathIterator(map.getDOMPath());
-		Node curNode = node;
-		while (i.hasNext()) {
-			String nodeName = (String) i.next();
-			curNode = findOrCreateNode(node, map, nodeName);
-		}
-		return curNode;
-	}
-
-	protected Element findOrCreateNode(Node parent, Translator map, String segment) {
-		Node node = DOMUtilities.getNodeChild(parent, segment);
-		if (node == null) {
-			// The node did not already exist, create it.
-			Document doc = parent.getOwnerDocument();
-			node = doc.createElement(segment);
-			if (map.isEmptyTag())
-				setEmptyTag((Element) node);
-
-			Node insertBeforeNode = findInitialInsertBeforeNode(parent, map);
-			DOMUtilities.insertBeforeNodeAndWhitespace(parent, node, insertBeforeNode);
-			indent(node, map);
-			addDOMAdapter(node); // Hook up listeners
-		}
-		return (Element) node;
-	}
-
-	/**
-	 * Remove the node passed in if it has only whitespace nodes as children
-	 * 
-	 * @param node
-	 *            org.w3c.dom.Node The node to check
-	 */
-	protected void removeIfEmpty(Node node) {
-		NodeList nl = node.getChildNodes();
-
-		// Run through all the nodes children. If a non-whitespace node
-		// pis found, bail.
-		for (int i = 0; i < nl.getLength(); i++) {
-			Node childNode = nl.item(i);
-			if (!DOMUtilities.isWhitespace(childNode))
-				return;
-		}
-
-		// We only get here if there are no non-whitespace chars, so
-		// simply remove the node.
-		removeDOMChild(node.getParentNode(), node);
-	}
-
-	/**
-	 * Remove the DOM path specified by <map>from <node>
-	 */
-	protected void removeDOMPath(Node node, Translator map) {
-		Node childNode = findDOMPath(node, map, false);
-		while (childNode != null && childNode != node) {
-			removeIfEmpty(childNode);
-			childNode = childNode.getParentNode();
-		}
-	}
-
-	/**
-	 * Create an adapter for a child DOM node
-	 * 
-	 * @param node
-	 *            org.w3c.dom.Node The node to create the adapter for.
-	 */
-	protected EMF2DOMAdapter createAdapter(EObject mofObject, Translator childMap) {
-		//	Assert.isNotNull(childMap.getChildAdapterClass());
-		Assert.isNotNull(mofObject);
-
-		EMF2DOMAdapter adapter = (EMF2DOMAdapter) EcoreUtil.getAdapter(mofObject.eAdapters(), EMF2DOMAdapter.ADAPTER_CLASS);
-
-		if (adapter != null && adapter.isMOFProxy()) {
-			mofObject.eAdapters().remove(adapter);
-			removeAdapters(adapter.getNode());
-			adapter = null;
-		}
-		if (adapter == null)
-			adapter = primCreateAdapter(mofObject, childMap);
-		return adapter;
-	}
-
-	/**
-	 * Create an adapter for a child DOM node
-	 * 
-	 * @param node
-	 *            org.w3c.dom.Node The node to create the adapter for.
-	 */
-	protected EMF2DOMAdapter primCreateAdapter(EObject mofObject, Translator childMap) {
-
-		Element newNode = createNewNode(mofObject, childMap);
-		return new EMF2DOMAdapterImpl(mofObject, newNode, fRenderer, childMap);
-	}
-
-	/**
-	 * Create an adapter for a child DOM node
-	 * 
-	 * @param node
-	 *            org.w3c.dom.Node The node to create the adapter for.
-	 */
-	protected EMF2DOMAdapter primCreateAdapter(Node node, Translator childMap) {
-		return new EMF2DOMAdapterImpl(node, fRenderer, childMap);
-	}
-
-	/**
-	 * Create an adapter for a child DOM node
-	 * 
-	 * @param node
-	 *            org.w3c.dom.Node The node to create the adapter for.
-	 */
-	protected EMF2DOMAdapter createAdapter(Node node, Translator childMap) {
-
-		//Assert.isNotNull(childMap.getChildAdapterClass());
-		Assert.isNotNull(node);
-
-		EMF2DOMAdapter adapter = primGetExistingAdapter(node);
-
-		if (adapter != null) {
-			if (adapter.isMOFProxy() || adapter.getTarget() == null) {
-				removeDOMAdapter(node, adapter);
-				if (adapter.getTarget() != null) {
-					adapter.getTarget().eAdapters().remove(adapter);
-				}
-				adapter = null;
-			}
-		} else {
-			adapter = primCreateAdapter(node, childMap);
-		}
-		return adapter;
-	}
-
-	protected Element createNewNode(EObject mofObject, Translator childMap) {
-		Node node = getNode();
-		Document doc = (node instanceof Document) ? (Document) node : node.getOwnerDocument();
-
-		Element element = doc.createElement(childMap.getDOMName(mofObject));
-		if (childMap.isEmptyTag())
-			setEmptyTag(element);
-
-		return element;
-	}
-
-	protected void setEmptyTag(Element element) {
-		Revisit.toDo();
-		//Need to figure out how to do this with pure DOM apis, if it is
-		// possible
-	}
-
-	/*
-	 * Return true if MOF object is a proxy.
-	 */
-	public boolean isMOFProxy() {
-		if (isRoot || target == null)
-			return false;
-		return ((InternalEObject) target).eIsProxy();
-	}
-
-	public EObject getEObject() {
-		if (isRoot)
-			return null;
-		return (EObject) target;
-	}
-
-	/**
-	 * Return the DOM node that the target of this adapter maps to. If the target MOF object maps to
-	 * more than one DOM node, this node is the top-most node.
-	 */
-	public Node getNode() {
-		return fNode;
-	}
-
-	public void setNode(Node aNode) {
-		fNode = aNode;
-	}
-
-	public void updateDOM() {
-		if (!isNotificationEnabled())
-			return;
-		primUpdateDOM();
-	}
-
-	public void updateMOF() {
-		if (!isNotificationEnabled())
-			return;
-		primUpdateMOF();
-	}
-
-	protected void primUpdateDOM() {
-		if (isRoot)
-			updateDOMRootFeature();
-		else {
-			Translator[] maps = getChildTranslators();
-			for (int i = 0; i < maps.length; i++) {
-				updateDOMFeature(maps[i], getNode(), getEObject());
-			}
-		}
-	}
-
-	public void primUpdateMOF() {
-		if (isRoot)
-			updateMOFRootFeature();
-		else {
-			Translator[] maps = getChildTranslators();
-			for (int i = 0; i < maps.length; i++) {
-				updateMOFFeature(maps[i], getNode(), getEObject());
-			}
-		}
-	}
-
-	protected void updateDOMRootFeature() {
-		boolean notificationFlag = isNotificationEnabled();
-		try {
-			setNotificationEnabled(false);
-			primUpdateDOMMultiFeature(fTranslator, fNode, getResourceContents(), getDOMChildren(fNode, fTranslator), null);
-			updateDOMDocumentType();
-		} finally {
-			setNotificationEnabled(notificationFlag);
-		}
-	}
-
-	protected void updateMOFRootFeature() {
-		boolean notificationFlag = isNotificationEnabled();
-		try {
-			setNotificationEnabled(false);
-			updateMOFDocumentType();
-			primUpdateMOFMultiFeature(fTranslator, fNode, getResourceContents(), getDOMChildren(fNode, fTranslator));
-		} finally {
-			setNotificationEnabled(notificationFlag);
-		}
-	}
-
-	protected DocumentType getDocumentType() {
-		return ((Document) fNode).getDoctype();
-	}
-
-	protected TranslatorResource getResource() {
-		return (TranslatorResource) getTarget();
-	}
-
-	protected EList getResourceContents() {
-		if (!isRoot)
-			throw new IllegalStateException();
-		return ((Resource) getTarget()).getContents();
-	}
-
-	protected void updateDOMDocumentType() {
-
-		DocumentType docType = getDocumentType();
-		String publicId = null, systemId = null, oldPublicId, oldSystemId;
-		oldPublicId = docType == null ? null : docType.getPublicId();
-		oldSystemId = docType == null ? null : docType.getSystemId();
-		TranslatorResource resource = getResource();
-		if (resource != null) {
-			publicId = resource.getPublicId();
-			systemId = resource.getSystemId();
-		}
-		if (!(StringUtil.stringsEqual(publicId, oldPublicId) && StringUtil.stringsEqual(systemId, oldSystemId)))
-			fRenderer.replaceDocumentType(resource.getDoctype(), publicId, systemId);
-	}
-
-	protected void updateDOMDocumentType(Notification msg) {
-		if (msg.getFeature() == TranslatorResource.DOC_TYPE_FEATURE)
-			updateDOMDocumentType();
-	}
-
-	protected void updateMOFDocumentType() {
-
-		TranslatorResource resource = getResource();
-		if (resource == null)
-			return;
-
-		String publicId = null, systemId = null;
-		DocumentType docType = getDocumentType();
-
-		if (docType != null) {
-			publicId = docType.getPublicId();
-			systemId = docType.getSystemId();
-		}
-		if (!(StringUtil.stringsEqual(publicId, resource.getPublicId()) && StringUtil.stringsEqual(systemId, resource.getSystemId())))
-			resource.setDoctypeValues(publicId, systemId);
-	}
-
-	public void notifyChanged(Notification msg) {
-
-		if (isRoot) {
-			notifyChangedForRoot(msg);
-			return;
-		}
-		if (isDependencyFeature(msg))
-			handleDependencyFeature(msg);
-
-		if (!isNotificationEnabled())
-			return;
-
-		debugMOFNotify(msg);
-
-		switch (msg.getEventType()) {
-			case Notification.ADD :
-			case Notification.REMOVE :
-			case Notification.ADD_MANY :
-			case Notification.REMOVE_MANY :
-			case Notification.SET :
-			case Notification.UNSET :
-			case Notification.MOVE :
-				Translator translator = findTranslator(msg);
-				if (translator == null)
-					translator = addVariableTranslatorIfNecessary(msg);
-				if (translator != null)
-					updateDOMFeature(translator, getNode(), getEObject());
-				break;
-		}
-	}
-
-	protected void notifyChangedForRoot(Notification msg) {
-		if (!isNotificationEnabled())
-			return;
-
-		debugMOFNotify(msg);
-
-		switch (msg.getEventType()) {
-			case Notification.ADD :
-			case Notification.REMOVE :
-			case Notification.ADD_MANY :
-			case Notification.REMOVE_MANY :
-				primUpdateDOM();
-				break;
-			case Notification.SET :
-				updateDOMDocumentType(msg);
-				break;
-			case EtoolsCopySession.RESOURCE_COPIED :
-				updateDOM();
-				break;
-		}
-	}
-
-	protected void addDependencyAdapter(EObject child) {
-		Adapter existing = EcoreUtil.getExistingAdapter(child, DependencyAdapter.KEY);
-		if (existing != null)
-			return;
-		DependencyAdapter forwarder = new DependencyAdapter();
-		child.eAdapters().add(forwarder);
-		forwarder.setTarget(child);
-	}
-
-	protected void addDOMAdapter() {
-
-		primAddDOMAdapter(fNode, this);
-		if (fDebug) {
-			org.eclipse.jem.util.logger.proxy.Logger.getLogger().logError("Adding DOM adapter: " + this); //$NON-NLS-1$
-			org.eclipse.jem.util.logger.proxy.Logger.getLogger().logError("\tto: " + fNode); //$NON-NLS-1$
-		}
-
-		// Go through the maps. All of the DOM nodes that are not listened
-		// to by another DOM Node adapter, must be listened to by this adapter.
-		NodeList childNodes = fNode.getChildNodes();
-		for (int j = 0; j < childNodes.getLength(); j++) {
-			Node childNode = childNodes.item(j);
-			int nodeType = childNode.getNodeType();
-			if (!DOMUtilities.isTextNode(childNode) && nodeType != Node.COMMENT_NODE) {
-				Translator map = findTranslator(childNode.getNodeName(), false);
-				if (map != null && map.isManagedByParent())
-					addDOMAdapter(childNode);
-			}
-		}
-	}
-
-	protected Translator addVariableTranslatorIfNecessary(Notification msg) {
-		VariableTranslatorFactory fact = fTranslator.getVariableTranslatorFactory();
-		Translator trans = null;
-		if (fact != null && fact.accepts(msg)) {
-			trans = fact.create(msg);
-			if (trans != null)
-				childTranslators = (Translator[]) Translator.concat(childTranslators, trans);
-		}
-		return trans;
-	}
-
-	protected Text createTextNode(Document doc, Translator map, String text) {
-		String nonnulltext = (text != null) ? text : ""; //$NON-NLS-1$
-		return map.isCDATAContent() ? doc.createCDATASection(nonnulltext) : doc.createTextNode(nonnulltext);
-	}
-
-	protected String extractReadAheadName() {
-		if (!fTranslator.hasReadAheadNames())
-			return null;
-		String readAheadName = null;
-
-		ReadAheadHelper helper = fTranslator.getReadAheadHelper(fNode.getNodeName());
-		if (helper == null)
-			return null;
-
-		Node child = null;
-		String[] names = helper.getValues();
-		if (helper.getChildDOMName() == null) {
-			for (int i = 0; i < names.length; i++) {
-				child = DOMUtilities.getNodeChild(fNode, names[i]);
-				if (child != null) {
-					readAheadName = names[i];
-					break;
-				}
-			}
-		} else {
-			child = DOMUtilities.getNodeChild(fNode, helper.getChildDOMName());
-			if (child != null)
-				readAheadName = DOMUtilities.getChildText(child);
-		}
-		if (readAheadName == null)
-			readAheadName = names[0];
-		return readAheadName;
-	}
-
-	/**
-	 * Extracts the text from <node>and converts it to an object suitable for setting into <feature>
-	 */
-	protected Object extractValue(Node node, Translator map, EObject emfObject) {
-
-		// Extract the value from the text child
-		Node textNode = DOMUtilities.getChildTextNode(node);
-		String trimmedValue = null;
-		if (textNode != null)
-			trimmedValue = textNode.getNodeValue();
-		try {
-			return map.convertStringToValue(trimmedValue, emfObject);
-		} catch (FeatureValueConversionException ex) {
-			handleFeatureValueConversionException(ex);
-			return null;
-		}
-	}
-
-	/**
-	 * @param ex
-	 */
-	protected void handleFeatureValueConversionException(FeatureValueConversionException ex) {
-		throw ex;
-
-	}
-
-	/*
-	 * Finds the child node that <map> specifies. If there is more than one child that satisfies
-	 * <map> then the first one is returned.
-	 * 
-	 * This method traverses past the domPath if one is specified in the <map>.
-	 */
-	protected Node findDOMNode(Node parent, Translator map) {
-		return findDOMNode(parent, map, false);
-	}
-
-	/*
-	 * Finds the child node that <map> specifies. If there is more than one child that satisfies
-	 * <map> then the first one is returned. The <addAdapters> boolean is used to determine if the
-	 * receiver is added as an adapter to every node found on the path.
-	 * 
-	 * This method traverses past the domPath if one is specified in the <map>.
-	 */
-	protected Node findDOMNode(Node parent, Translator map, boolean addAdapters) {
-
-		// First, trace down the path
-		Node curNode = findDOMPath(parent, map, addAdapters);
-		if (map.isDOMTextValue() || map.isDOMAttribute() || curNode == null)
-			return curNode;
-
-		// Now look for the first DOM name we can find
-		String[] domNames = map.getDOMNames();
-		Node node = null;
-		for (int i = 0; i < domNames.length; i++) {
-			String nodeName = domNames[i];
-			List nodes = DOMUtilities.getNodeChildren(curNode, nodeName);
-			if (nodes != null && !nodes.isEmpty()) {
-				if (nodes.size() > 1)
-					handleInvalidMultiNodes(nodeName);
-				node = (Node) nodes.get(0);
-				if (node != null) {
-					if (addAdapters && (map != null || map.isManagedByParent()))
-						addDOMAdapter(curNode);
-					break;
-				}
-			}
-		}
-		return node;
-	}
-
-	protected void handleInvalidMultiNodes(String nodeName) {
-		throw new IllegalStateException(WFTUtilsResourceHandler.getString(WFTUtilsResourceHandler.EMF2DOMAdapterImpl_ERROR_0, new Object[]{nodeName}));
-	}
-
-	/**
-	 * Creates the path specified by <map>under <node>. Only the portion of the path that does not
-	 * exist (if any) is created
-	 * 
-	 * @param node
-	 *            org.w3c.dom.Node
-	 * @param map
-	 *            com.ibm.etools.mof2dom.Translator
-	 */
-	protected Text findOrCreateTextNode(Node parent, Translator map, String text) {
-		Text textNode = DOMUtilities.getChildTextNode(parent);
-		if (textNode != null) {
-			textNode.setData(text);
-		} else {
-			if (!isEmptyTag((Element) parent)) {
-				Text newNode = createTextNode(parent.getOwnerDocument(), map, text);
-				DOMUtilities.insertBeforeNode(parent, newNode, null);
-				return newNode;
-			}
-		}
-		return textNode;
-	}
-
-	protected Translator findTranslator(String tagName, boolean attributeMap) {
-		Translator[] maps = getChildTranslators();
-		for (int i = 0; i < maps.length; i++) {
-			Translator map = maps[i];
-			if (map.isMapFor(tagName) && attributeMap == map.isDOMAttribute())
-				return maps[i];
-		}
-
-		return null;
-	}
-
-	protected EMF2DOMAdapter getExistingAdapter(Node aNode) {
-		EMF2DOMAdapter adapter = primGetExistingAdapter(aNode);
-		if (adapter != null && adapter.isMOFProxy()) {
-			removeDOMAdapter(aNode, adapter);
-			adapter.getTarget().eAdapters().remove(adapter);
-			adapter = null;
-		}
-		return adapter;
-	}
-
-	protected void handleDependencyFeature(Notification msg) {
-		if (msg.getOldValue() != null)
-			removeDependencyAdapter((EObject) msg.getOldValue());
-		if (msg.getNewValue() != null)
-			addDependencyAdapter((EObject) msg.getNewValue());
-	}
-
-	protected boolean isDependencyFeature(Notification msg) {
-		switch (msg.getEventType()) {
-			case Notification.SET :
-				return fTranslator.isDependencyParent() && fTranslator.getDependencyFeature() == msg.getFeature();
-			default :
-				return false;
-		}
-	}
-
-	protected boolean isEmptyTag(Element parent) {
-		Revisit.toDo();
-		//Determine how to implement this with pure DOM apis, if possible.
-		return false;
-	}
-
-	protected void postUpdateDOMFeature(Translator map, Node node, EObject mofObject) {
-	}
-
-	protected void preUpdateDOMFeature(Translator map, Node node, EObject mofObject) {
-	}
-
-	/**
-	 * Update an attribute of the target DOM object from with the values currently stored in the MOF
-	 * object. The
-	 * 
-	 * @map specifies the name of the MOF attribute to update and the name of the DOM node.
-	 * 
-	 * @param map
-	 *            com.ibm.etools.mof2dom.AttributeTranslator
-	 */
-	protected void primUpdateDOMFeature(Translator map, Node node, EObject mofObject) {
-		Object attrValue = null;
-		boolean isSet = false;
-		if (map.isIDMap()) {
-			try {
-				attrValue = map.getMOFValue(mofObject);
-			} catch (IDTranslator.NoResourceException ex) {
-				//If the object has been removed from the resource,
-				//No need to update
-				return;
-			}
-			isSet = attrValue != null;
-		} else {
-			attrValue = map.getMOFValue(mofObject);
-			isSet = map.isSetMOFValue(mofObject);
-		}
-
-		if (map.isDOMAttribute()) {
-			// An attribute of the MOF object maps to an attribute of the
-			// DOM node. Get the value of the MOF attribute and set it
-			// into DOM node.
-			Element e = (Element) createDOMPath(node, map);
-			if (attrValue != null && isSet)
-				e.setAttribute(map.getDOMName(mofObject), map.convertValueToString(attrValue, mofObject));
-			else
-				e.removeAttribute(map.getDOMName(mofObject));
-		} else {
-			updateDOMSubtree(map, node, mofObject, attrValue);
-		}
-	}
-
-	/**
-	 * Update an attribute of the target DOM object from with the values currently stored in the MOF
-	 * object. The
-	 * 
-	 * @map specifies the name of the MOF attribute to update and the name of the DOM node.
-	 */
-	protected void primUpdateDOMLinkFeature(Translator map, Node node, EObject mofObject) {
-		LinkUpdaterTarget.INSTANCE.updateDOM(map, node, mofObject);
-
-	}
-
-	/**
-	 * Update all the children of the target MOF object in the relationship described by
-	 * 
-	 * @map.
-	 */
-	protected void primUpdateDOMMultiFeature(Translator map, Node node, EObject mofObject) {
-
-		List mofChildren = map.getMOFChildren(mofObject);
-		List domChildren = getDOMChildren(node, map);
-
-		primUpdateDOMMultiFeature(map, node, mofChildren, domChildren, mofObject);
-	}
-
-	/**
-	 * Update an attribute of the target MOF object from the DOM node subtree. The
-	 * 
-	 * @map specifies the name of the MOF attribute to update and the name of the DOM node.
-	 */
-	protected boolean primUpdateMOFFeature(Translator map, Node node, EObject mofObject) {
-		if (!map.featureExists(mofObject))
-			return false;
-		Object domValue = null;
-		boolean updateMOFAttAdapter = false;
-		boolean isUnset = false;
-		EMF2DOMAdapter attrAdapter = null;
-
-		Node child = findDOMNode(node, map, true);
-
-		if (map.isDOMAttribute() && child != null) {
-			// An attribute of the MOF object maps to an attribute of the
-			// DOM node. Get the value of the DOM attribute and set it
-			// into the MOF object.
-
-			Attr domAttr = (Attr) child.getAttributes().getNamedItem(map.getDOMName(mofObject));
-			if (domAttr != null) {
-				domValue = domAttr.getValue();
-				domValue = map.convertStringToValue((String) domValue, mofObject);
-			} else
-				isUnset = true;
-		} else {
-			// An attribute of the MOF object is actually a sub-element
-			// of the DOM node. Search for the first sub-element with
-			// the correct name to use as an attribute.
-			if (child != null) {
-				// Check to see if this is a single valued attribute that has
-				// a MOF object as its value
-				if (!map.isManagedByParent()) {
-					attrAdapter = createAdapter(child, map);
-					updateMOFAttAdapter = true;
-					domValue = attrAdapter.getTarget();
-				} else {
-					// Check to make sure the child is adapted. If not, adapt
-					// it.
-					addDOMAdapter(child);
-
-					// Extract the value from the text child
-					domValue = extractValue(child, map, mofObject);
-				}
-			} else
-				isUnset = true;
-		}
-
-		// Set the attribute extracted from the DOM to the MOF object.
-		boolean hasChanged = true;
-		try {
-			if (map.isIDMap())
-				map.setMOFValue(mofObject, domValue);
-			else {
-				Object oldValue = null;
-				oldValue = map.getMOFValue(mofObject);
-				boolean isSet = map.isSetMOFValue(mofObject);
-				//In the case of enums with default values, we need to trip
-				// the attribute from
-				//default to a set value
-				if (oldValue == domValue) {
-					if (oldValue == null || isSet)
-						hasChanged = false;
-				} else if (domValue == null && !isSet)
-					//If the domValue is null and the feature is not set, then
-					// we don't need
-					//to do anything
-					hasChanged = false;
-				else if (oldValue != null && oldValue.equals(domValue) && isSet)
-					hasChanged = false;
-				if (oldValue == null && domValue == null && map.isSetMOFValue(mofObject) == isUnset)
-					hasChanged = true;
-				if (hasChanged) {
-					if (!(map.isDataType()) && !map.isShared())
-						removeMOFValue((EObject) oldValue, map);
-					if (domValue == null)
-						map.unSetMOFValue(mofObject);
-					else
-						map.setMOFValue(mofObject, domValue);
-
-					if ((domValue == null && !(map.isEnumFeature())) || isUnset)
-						map.unSetMOFValue(mofObject); //unset
-					// null
-					// for
-					// non
-					// enum
-					// features
-
-					if (updateMOFAttAdapter)
-						attrAdapter.updateMOF();
-				}
-			}
-		} catch (FeatureValueConversionException ex) {
-			handleFeatureValueConversionException(ex);
-			map.unSetMOFValue(mofObject);
-		}
-		return hasChanged;
-	}
-
-	/**
-	 * Update an attribute of the target MOF object from the DOM node subtree. This method is only
-	 * called if the DOM node changes and the map is an object link map. The
-	 * 
-	 * @map specifies the name of the MOF attribute to update and the name of the DOM node.
-	 * 
-	 * @param map
-	 *            com.ibm.etools.mof2dom.AttributeTranslator
-	 * @return Return true if the MOF feature was updated, false if no update was done.
-	 */
-	protected void primUpdateMOFLinkFeature(Translator map, Node node, EObject mofObject) {
-		LinkUpdaterTarget.INSTANCE.updateMOF(map, node, mofObject);
-	}
-
-	/**
-	 * Update all the children of the target MOF object in the relationship described by
-	 * 
-	 * @map.
-	 * 
-	 * @param map
-	 *            com.ibm.etools.mof2dom.AttributeTranslator Describes the mapping from the MOF
-	 *            attribute name to the DOM node name
-	 */
-	protected void primUpdateMOFMultiFeature(Translator map, Node node, EObject mofObject) {
-		// If the feature is a collection of strings or ints, call a special
-		// method
-		// that handles this.
-		if (map.isManagedByParent()) {
-			updateMOFMultiPrimitiveFeature(map, node, mofObject);
-			return;
-		}
-
-		List nodeChildren = getDOMChildren(node, map);
-		List mofChildren = map.getMOFChildren(mofObject);
-
-		primUpdateMOFMultiFeature(map, node, mofChildren, nodeChildren);
-	}
-
-	protected void removeDependencyAdapter(EObject obj) {
-		Adapter existing = EcoreUtil.getExistingAdapter(obj, DependencyAdapter.KEY);
-		if (existing != null)
-			obj.eAdapters().remove(existing);
-	}
-
-	/**
-	 * Removes all the DOM children from <parent>that are represented by <map>.
-	 */
-	protected void removeDOMChildren(Node parent, Translator map) {
-		String[] domNames = map.getDOMNames();
-		HashSet domNamesSet = new HashSet(domNames.length);
-		for (int i = 0; i < domNames.length; i++)
-			domNamesSet.add(domNames[i]);
-
-		// Walk through all the children and find any that match the map.
-		NodeList nl = parent.getChildNodes();
-		List toRemove = new ArrayList();
-		for (int i = 0; i < nl.getLength(); i++) {
-			Node childNode = nl.item(i);
-			if (domNamesSet.contains(childNode.getNodeName()))
-				toRemove.add(childNode);
-		}
-
-		// Remove any children that were found.
-		for (int i = 0; i < toRemove.size(); i++) {
-			Node childNode = (Node) toRemove.get(i);
-			removeDOMChild(parent, childNode, true);
-		}
-	}
-
-	protected void setTargetFromNode() {
-		setTarget(fTranslator.createEMFObject(fNode.getNodeName(), extractReadAheadName()));
-	}
-
-	/**
-	 * Update an attribute of the target DOM object from with the values currently stored in the MOF
-	 * object. The
-	 * 
-	 * @map specifies the name of the MOF attribute to update and the name of the DOM node.
-	 * 
-	 * @param map
-	 *            com.ibm.etools.mof2dom.AttributeTranslator
-	 */
-	final public void updateDOMFeature(Translator map, Node node, EObject mofObject) {
-		if (!isNotificationEnabled())
-			return;
-		try {
-			preUpdateDOMFeature(map, node, mofObject);
-			if (map.isMultiValued()) {
-				updateDOMMultiFeature(map, node, mofObject);
-				return;
-			}
-
-			if (fDebug) {
-				org.eclipse.jem.util.logger.proxy.Logger.getLogger().logError("Updating DOM Node: " + node); //$NON-NLS-1$
-				org.eclipse.jem.util.logger.proxy.Logger.getLogger().logError("\tfrom: " + mofObject); //$NON-NLS-1$
-				org.eclipse.jem.util.logger.proxy.Logger.getLogger().logError("\tmap : " + map); //$NON-NLS-1$
-			}
-			boolean notificationFlag = isNotificationEnabled();
-			try {
-				setNotificationEnabled(false);
-				primUpdateDOMFeature(map, node, mofObject);
-			} finally {
-				setNotificationEnabled(notificationFlag);
-			}
-
-			if (map.isTargetLinkMap()) {
-				updateDOMLinkFeature(map, node, mofObject);
-			}
-		} finally {
-			postUpdateDOMFeature(map, node, mofObject);
-		}
-	}
-
-	/**
-	 * Update an attribute of the target DOM object from the values currently stored in the MOF
-	 * object. The
-	 * 
-	 * @map specifies the name of the MOF attribute to update and the name of the DOM node.
-	 * 
-	 * @param map
-	 *            com.ibm.etools.mof2dom.AttributeTranslator
-	 */
-	final protected void updateDOMLinkFeature(Translator map, Node node, EObject mofObject) {
-		if (fDebug) {
-			org.eclipse.jem.util.logger.proxy.Logger.getLogger().logError("Updating DOM Node (link): " + node); //$NON-NLS-1$
-			org.eclipse.jem.util.logger.proxy.Logger.getLogger().logError("\tfrom: " + mofObject); //$NON-NLS-1$
-			org.eclipse.jem.util.logger.proxy.Logger.getLogger().logError("\tmap : " + map); //$NON-NLS-1$
-		}
-		primUpdateDOMLinkFeature(map, node, mofObject);
-	}
-
-	/**
-	 * Update all the children of the target MOF object in the relationship described by
-	 * 
-	 * @map.
-	 * 
-	 * @param map
-	 *            com.ibm.etools.mof2dom.AttributeTranslator Describes the mapping from the MOF
-	 *            attribute name to the DOM node name
-	 */
-	final protected void updateDOMMultiFeature(Translator map, Node node, EObject mofObject) {
-		if (fDebug) {
-			org.eclipse.jem.util.logger.proxy.Logger.getLogger().logError("Updating DOM Node (multi): " + node); //$NON-NLS-1$
-			org.eclipse.jem.util.logger.proxy.Logger.getLogger().logError("\tfrom: " + mofObject); //$NON-NLS-1$
-			org.eclipse.jem.util.logger.proxy.Logger.getLogger().logError("\tmap : " + map); //$NON-NLS-1$
-		}
-		boolean notificationFlag = isNotificationEnabled();
-		try {
-			setNotificationEnabled(false);
-			primUpdateDOMMultiFeature(map, node, mofObject);
-		} finally {
-			setNotificationEnabled(notificationFlag);
-		}
-	}
-
-	/**
-	 * Update a DOM subtree to reflect the mofObject and map passed in. The subtree is of <node>is
-	 * updated.
-	 */
-	protected void updateDOMSubtree(Translator map, Node node, EObject mofObject, Object attrValue) {
-
-		if (map.featureExists(mofObject)) {
-			if ((map.isEnumFeature() || map.isBooleanFeature()) && (map.isUnsettable() && !map.isSetMOFValue(mofObject)))
-				attrValue = null;
-		} else
-			attrValue = map.extractStringValue(mofObject);
-
-		// Create and/or update the DOM subtree
-		if (attrValue != null) {
-			Node parent = createDOMPath(node, map);
-			if (map.isManagedByParent()) {
-				// Handle the case where the mof value is not another
-				// mof object (primitive)
-				if (map.getDOMName(mofObject) != null && map.getDOMName(mofObject).startsWith("#")) //$NON-NLS-1$
-					return;
-
-				Element child = map.isDOMTextValue() ? (Element) parent : findOrCreateNode(parent, map, map.getDOMName(mofObject));
-
-				findOrCreateTextNode(child, map, map.convertValueToString(attrValue, mofObject));
-			} else {
-				// Handle the case were the mof value is a mof object.
-				EObject mofValue = (EObject) attrValue;
-				EMF2DOMAdapter valueAdapter = (EMF2DOMAdapter) EcoreUtil.getExistingAdapter(mofValue, EMF2DOMAdapter.ADAPTER_CLASS);
-				if (valueAdapter != null)
-					valueAdapter.updateDOM();
-				else {
-					removeDOMChildren(parent, map);
-					EMF2DOMAdapter adapter = createAdapter(mofValue, map);
-					List mofChildren = map.getMOFChildren(mofObject);
-					List domChildren = getDOMChildren(parent, map);
-
-					Node insertBeforeNode = findInsertBeforeNode(parent, map, mofChildren, 0, domChildren);
-					DOMUtilities.insertBeforeNodeAndWhitespace(parent, adapter.getNode(), insertBeforeNode);
-					boolean notificationFlag = adapter.isNotificationEnabled();
-					adapter.setNotificationEnabled(false);
-					try {
-						indent(adapter.getNode(), map);
-					} finally {
-						adapter.setNotificationEnabled(notificationFlag);
-					}
-					adapter.updateDOM();
-				}
-			}
-		} else {
-			// The attribute value was set to null or unset. Remove any
-			// existing DOM nodes.
-			Node child = findDOMNode(node, map);
-			if (child != null)
-				removeDOMChild(child.getParentNode(), child);
-		}
-	}
-
-	/**
-	 * Update a feature that is set by linking to another existing object. This method is called
-	 * when the MOF object is updated in order to update DOM nodes.
-	 */
-	final protected void updateMOFLinkFeature(Translator map, Node node, EObject mofObject) {
-		if (fDebug) {
-			org.eclipse.jem.util.logger.proxy.Logger.getLogger().logError("Updating MOFObject (link): " + mofObject); //$NON-NLS-1$
-			org.eclipse.jem.util.logger.proxy.Logger.getLogger().logError("\tfrom: " + node); //$NON-NLS-1$
-			org.eclipse.jem.util.logger.proxy.Logger.getLogger().logError("\tmap : " + map); //$NON-NLS-1$
-		}
-		boolean notificationFlag = isNotificationEnabled();
-		try {
-			setNotificationEnabled(false);
-			primUpdateMOFLinkFeature(map, node, mofObject);
-		} finally {
-			setNotificationEnabled(notificationFlag);
-		}
-	}
-
-	/**
-	 * Update all the children of the target MOF object in the relationship described by
-	 * 
-	 * @map.
-	 * 
-	 * @param map
-	 *            com.ibm.etools.mof2dom.AttributeTranslator Describes the mapping from the MOF
-	 *            attribute name to the DOM node name
-	 */
-	final protected void updateMOFMultiFeature(Translator map, Node node, EObject mofObject) {
-		if (fDebug) {
-			org.eclipse.jem.util.logger.proxy.Logger.getLogger().logError("Updating MOFObject (multi): " + mofObject); //$NON-NLS-1$
-			org.eclipse.jem.util.logger.proxy.Logger.getLogger().logError("\tfrom: " + node); //$NON-NLS-1$
-			org.eclipse.jem.util.logger.proxy.Logger.getLogger().logError("\tmap : " + map); //$NON-NLS-1$
-		}
-		boolean notificationFlag = isNotificationEnabled();
-		try {
-			setNotificationEnabled(false);
-			primUpdateMOFMultiFeature(map, node, mofObject);
-		} finally {
-			setNotificationEnabled(notificationFlag);
-		}
-	}
-
-	/**
-	 * Update all the children of the target MOF object in the relationship described by
-	 * 
-	 * @map. The relationship MUST BE a collection of string for this method to work.
-	 */
-	protected void updateMOFMultiPrimitiveFeature(Translator map, Node node, EObject mofObject) {
-		List nodeChildren = getDOMChildren(node, map);
-
-		map.clearList(mofObject);
-
-		// Go through the list of nodes and update the MOF collection
-		for (int i = 0; i < nodeChildren.size(); i++) {
-			Node child = (Node) nodeChildren.get(i);
-			Object attributeValue = extractValue(child, map, mofObject);
-			if (attributeValue != null)
-				map.setMOFValue(mofObject, attributeValue, i);
-
-			// Adapt the node so update will occur.
-			addDOMAdapter(child);
-		}
-		if (map.hasDOMPath() && nodeChildren.isEmpty() && findDOMPath(node, map, false) != null)
-			map.setMOFValueFromEmptyDOMPath(mofObject);
-	}
-
-	/**
-	 * Update an attribute of the target MOF object from the DOM node subtree. The
-	 * 
-	 * @map specifies the name of the MOF attribute to update and the name of the DOM node.
-	 * 
-	 * @param map
-	 *            com.ibm.etools.mof2dom.AttributeTranslator
-	 */
-	public void updateMOFFeature(Translator map, Node node, EObject mofObject) {
-		if (!isNotificationEnabled())
-			return;
-		if (map.isMultiValued()) {
-			updateMOFMultiFeature(map, node, mofObject);
-			return;
-		} else if (map.isComment()) {
-			updateMOFCommentFeature(map, node, mofObject);
-			return;
-		}
-
-		// TODO MDE Add a map.isComment() and updateMOFCommentFeature(map, node, mofObject);
-
-		if (fDebug) {
-			org.eclipse.jem.util.logger.proxy.Logger.getLogger().logError("Updating MOFObject: " + mofObject); //$NON-NLS-1$
-			org.eclipse.jem.util.logger.proxy.Logger.getLogger().logError("\tfrom: " + node); //$NON-NLS-1$
-			org.eclipse.jem.util.logger.proxy.Logger.getLogger().logError("\tmap : " + map); //$NON-NLS-1$
-		}
-		boolean notificationFlag = isNotificationEnabled();
-		boolean hasChanged = false;
-		try {
-			setNotificationEnabled(false);
-			hasChanged = primUpdateMOFFeature(map, node, mofObject);
-		} finally {
-			setNotificationEnabled(notificationFlag);
-		}
-
-		if (map.isTargetLinkMap() && hasChanged)
-			updateMOFLinkFeature(map, node, mofObject);
-	}
-
-	/**
-	 * @param map
-	 * @param node
-	 * @param mofObject
-	 */
-	public void updateMOFCommentFeature(Translator map, Node node, EObject mofObject) {
-		Node commentNode = node;
-		/* scan up the dom to find the first comment node before this node */
-		while ((commentNode = commentNode.getPreviousSibling()) != null && commentNode.getNodeType() != Node.COMMENT_NODE) {
-			/* no comment available */
-			if (commentNode.getNodeType() == Node.ELEMENT_NODE)
-				return;
-		}
-		if (commentNode != null)
-			map.setMOFValue(mofObject, commentNode.getNodeValue());
-
-	}
-
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/EMF2DOMRenderer.java b/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/EMF2DOMRenderer.java
deleted file mode 100644
index 206860d..0000000
--- a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/EMF2DOMRenderer.java
+++ /dev/null
@@ -1,264 +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.internal.emf.resource;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStream;
-import java.util.HashMap;
-import java.util.Map;
-
-import javax.xml.parsers.ParserConfigurationException;
-import javax.xml.transform.OutputKeys;
-import javax.xml.transform.Transformer;
-import javax.xml.transform.TransformerConfigurationException;
-import javax.xml.transform.TransformerException;
-import javax.xml.transform.TransformerFactory;
-import javax.xml.transform.TransformerFactoryConfigurationError;
-import javax.xml.transform.dom.DOMSource;
-import javax.xml.transform.stream.StreamResult;
-
-import org.eclipse.emf.common.util.WrappedException;
-import org.eclipse.emf.ecore.util.EcoreUtil;
-import org.eclipse.jem.util.logger.proxy.Logger;
-import org.eclipse.wst.common.internal.emf.utilities.DOMLoadOptions;
-import org.eclipse.wst.common.internal.emf.utilities.DOMUtilities;
-import org.eclipse.wst.common.internal.emf.utilities.Revisit;
-import org.w3c.dom.Document;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-import org.xml.sax.SAXException;
-
-
-
-public class EMF2DOMRenderer extends AbstractRendererImpl implements Renderer {
-
-	protected Map domAdapterRegistry;
-	protected boolean needsToCreateDOM = true;
-	protected Document document;
-
-	/**
-	 * Constructor for DOMRendererImpl.
-	 */
-	public EMF2DOMRenderer() {
-		super();
-		if (managesDOMAdapters())
-			initDOMAdapterRegistry();
-	}
-
-	/**
-	 * @see com.ibm.etools.emf2xml.Renderer#doLoad(InputStream, Map)
-	 */
-	public void doLoad(InputStream in, Map options) throws IOException {
-		if ((in != null) || !useStreamsForIO()) {
-			loadDocument(in, options);
-			EMF2DOMAdapter adapter = createRootDOMAdapter();
-			adapter.updateMOF();
-		}
-	}
-
-	protected void loadDocument(InputStream in, Map options) throws IOException {
-		try {
-			DOMLoadOptions domOpts = new DOMLoadOptions();
-			domOpts.setAllowJavaEncodings(true);
-			domOpts.setExpandEntityRefererences(true);
-			domOpts.setValidate(isValidating());
-			document = DOMUtilities.loadDocument(in, domOpts, getResource().getEntityResolver());
-			needsToCreateDOM = false;
-		} catch (RuntimeException t_rex) {
-			throw t_rex;
-		} catch (IOException iox) {
-			throw iox;
-		} catch (Exception ex) {
-			throw new WrappedException(ex);
-		}
-	}
-
-
-	/**
-	 * @see com.ibm.etools.emf2xml.Renderer#doSave(OutputStream, Map)
-	 */
-	public void doSave(OutputStream outputStream, Map options) throws IOException {
-		createDOMTreeIfNecessary();
-		serializeDocument(outputStream);
-	}
-
-	/**
-	 * Subclasses should override if adapters are not cached within this renderer, e.g., they are
-	 * stored in notifying Nodes
-	 */
-	protected boolean managesDOMAdapters() {
-		return true;
-	}
-
-	protected void initDOMAdapterRegistry() {
-		if (domAdapterRegistry == null)
-			domAdapterRegistry = new HashMap();
-	}
-
-	public void registerDOMAdapter(Node node, EMF2DOMAdapter adapter) {
-		domAdapterRegistry.put(node, adapter);
-	}
-
-	public EMF2DOMAdapter getExistingDOMAdapter(Node node) {
-		return (EMF2DOMAdapter) domAdapterRegistry.get(node);
-	}
-
-	public void removeDOMAdapter(Node aNode, EMF2DOMAdapter anAdapter) {
-		domAdapterRegistry.remove(aNode);
-	}
-
-	/**
-	 * @see com.ibm.etools.emf2xml.Renderer#prepareToAddContents()
-	 */
-	public void prepareToAddContents() {
-		// createDOMTreeIfNecessary();
-	}
-
-	protected Node createDOMTree() {
-		createDocument();
-		EMF2DOMAdapter adapter = createRootDOMAdapter();
-		adapter.updateDOM();
-		needsToCreateDOM = false;
-		return document;
-	}
-
-
-	protected EMF2DOMAdapter createRootDOMAdapter() {
-		EMF2DOMAdapter root = new EMF2DOMAdapterImpl(getResource(), document, this, getResource().getRootTranslator());
-		registerDOMAdapter(document, root);
-		return root;
-	}
-
-
-	protected void createDOMTreeIfNecessary() {
-		if (needsToCreateDOM)
-			createDOMTree();
-	}
-
-	/**
-	 * Create a new Document given
-	 * 
-	 * @aResource.
-	 */
-	protected void createDocument() {
-		TranslatorResource res = getResource();
-		res.setDefaults();
-		try {
-			document = DOMUtilities.createNewDocument(res.getDoctype(), res.getPublicId(), res.getSystemId());
-		} catch (ParserConfigurationException e) {
-			throw new WrappedException(e);
-		} catch (SAXException e) {
-			throw new WrappedException(e);
-		} catch (IOException e) {
-			throw new WrappedException(e);
-		}
-	}
-
-	public void serializeDocument(OutputStream out) throws IOException {
-		/*
-		 * OutputFormat format = createOutputFormat(); Serializer serializer =
-		 * SerializerFactory.getSerializerFactory(Method.XML).makeSerializer(out, format);
-		 * serializer.asDOMSerializer().serialize(document);
-		 */
-		try {
-			TransformerFactory factory = TransformerFactory.newInstance();
-			/*
-			 * try { factory.setAttribute(JAXP_SCHEMA_LANGUAGE, W3C_XML_SCHEMA); } catch
-			 * (IllegalArgumentException x) { }
-			 */
-			Transformer transformer = factory.newTransformer();
-
-			transformer.setOutputProperty(OutputKeys.ENCODING, getResource().getEncoding());
-			transformer.setOutputProperty(OutputKeys.VERSION, getResource().getXMLVersion());
-			transformer.setOutputProperty(OutputKeys.METHOD, "xml"); //$NON-NLS-1$
-			transformer.setOutputProperty(OutputKeys.OMIT_XML_DECLARATION, "no"); //$NON-NLS-1$
-			if (getResource().getPublicId() != null)
-				transformer.setOutputProperty(OutputKeys.DOCTYPE_PUBLIC, getResource().getPublicId());
-			if (getResource().getSystemId() != null)
-				transformer.setOutputProperty(OutputKeys.DOCTYPE_SYSTEM, getResource().getSystemId());
-			transformer.setOutputProperty(OutputKeys.INDENT, "yes"); //$NON-NLS-1$            
-			transformer.setOutputProperty("{http://xml.apache.org/xslt}indent-amount", "4"); //$NON-NLS-1$ //$NON-NLS-2$
-			DOMSource source = new DOMSource(document.getDocumentElement());
-			/* source.setSystemId(getResource().getSystemId()); */
-			transformer.transform(source, new StreamResult(out));
-		} catch (TransformerConfigurationException e) {
-			Logger.getLogger().logError(e);
-		} catch (TransformerFactoryConfigurationError e) {
-			Logger.getLogger().logError(e);
-		} catch (TransformerException e) {
-			Logger.getLogger().logError(e);
-		} finally {
-		}
-	}
-
-	/*
-	 * protected OutputFormat createOutputFormat() { OutputFormat format = new OutputFormat();
-	 * format.setIndenting(true); format.setLineSeparator(DOMUtilities.NEWLINE_STRING);
-	 * //$NON-NLS-1$ format.setEncoding(getResource().getEncoding());
-	 * format.setVersion(getResource().getXMLVersion()); return format; }
-	 */
-
-	public void replaceDocumentType(String docTypeName, String publicId, String systemId) {
-		Revisit.revisit();
-		Document newDoc = null;
-		// Need be able to update the doctype directly on the existing document; right now can't
-		// because
-		// of limitations on parser neutral apis
-
-		try {
-			newDoc = DOMUtilities.createNewDocument(docTypeName, publicId, systemId);
-		} catch (ParserConfigurationException e) {
-			throw new WrappedException(e);
-		} catch (SAXException e) {
-			throw new WrappedException(e);
-		} catch (IOException e) {
-			throw new WrappedException(e);
-		}
-
-
-		replaceNode(document.getDocumentElement(), newDoc, newDoc);
-		readapt(document, newDoc);
-		document = newDoc;
-	}
-
-	protected void replaceNode(Node oldChild, Node newParent, Document newDoc) {
-		Node newChild = newDoc.importNode(oldChild, false);
-		newParent.appendChild(newChild);
-		readapt(oldChild, newChild);
-		NodeList children = oldChild.getChildNodes();
-		int length = children.getLength();
-		for (int i = 0; i < length; i++) {
-			replaceNode(children.item(i), newChild, newDoc);
-		}
-	}
-
-	public void preUnload() {
-		EMF2DOMAdapter adapter = (EMF2DOMAdapter) EcoreUtil.getAdapter(resource.eAdapters(), EMF2DOMAdapter.ADAPTER_CLASS);
-		if (adapter != null) {
-			adapter.removeAdapters(adapter.getNode());
-		}
-	}
-
-	protected void readapt(Node oldChild, Node newChild) {
-		EMF2DOMAdapter adapter = getExistingDOMAdapter(oldChild);
-		if (adapter != null) {
-			registerDOMAdapter(newChild, adapter);
-			// Some nodes are managed by the parent and thus the
-			// node should not be set on the parent adapter
-			if (adapter.getNode() == oldChild)
-				adapter.setNode(newChild);
-		}
-	}
-
-	public int getVersionID() {
-		return getResource().getVersionID();
-	}
-
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/EMF2DOMRendererFactory.java b/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/EMF2DOMRendererFactory.java
deleted file mode 100644
index fce5603..0000000
--- a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/EMF2DOMRendererFactory.java
+++ /dev/null
@@ -1,29 +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.internal.emf.resource;
-
-
-public class EMF2DOMRendererFactory extends RendererFactory {
-
-	public static final EMF2DOMRendererFactory INSTANCE = new EMF2DOMRendererFactory();
-
-	public EMF2DOMRendererFactory() {
-		super();
-	}
-
-	/**
-	 * @see com.ibm.etools.emf2xml.RendererFactory#createRenderer()
-	 */
-	public Renderer createRenderer() {
-		EMF2DOMRenderer renderer = new EMF2DOMRenderer();
-		renderer.setValidating(isValidating());
-		return renderer;
-	}
-
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/EMF2DOMRendererFactoryDefaultHandler.java b/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/EMF2DOMRendererFactoryDefaultHandler.java
deleted file mode 100644
index 1257a06..0000000
--- a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/EMF2DOMRendererFactoryDefaultHandler.java
+++ /dev/null
@@ -1,46 +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 Dec 1, 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.internal.emf.resource;
-
-
-/**
- * @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 EMF2DOMRendererFactoryDefaultHandler implements RendererFactoryDefaultHandler {
-
-	public static final EMF2DOMRendererFactoryDefaultHandler INSTANCE = new EMF2DOMRendererFactoryDefaultHandler();
-
-	/**
-	 *  
-	 */
-	protected EMF2DOMRendererFactoryDefaultHandler() {
-		super();
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.etools.emf2xml.RendererFactoryDefaultHandler#getDefaultRendererFactory()
-	 */
-	public RendererFactory getDefaultRendererFactory() {
-		return EMF2DOMRendererFactory.INSTANCE;
-	}
-
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/EMF2SAXDocumentHandler.java b/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/EMF2SAXDocumentHandler.java
deleted file mode 100644
index 1ec3dbe..0000000
--- a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/EMF2SAXDocumentHandler.java
+++ /dev/null
@@ -1,210 +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.internal.emf.resource;
-
-
-import java.io.IOException;
-
-import org.eclipse.jem.util.logger.proxy.Logger;
-import org.xml.sax.Attributes;
-import org.xml.sax.EntityResolver;
-import org.xml.sax.InputSource;
-import org.xml.sax.SAXException;
-import org.xml.sax.SAXParseException;
-import org.xml.sax.helpers.DefaultHandler;
-
-/**
- * The EMF2SAXDocumentHandler is utilized by the SAX parser to announce XML Events, such as
- * beginning and end of XML elements and the contents of those elements.
- * 
- * @author mdelder
- */
-public class EMF2SAXDocumentHandler extends DefaultHandler {
-
-	private TranslatorResource resource = null;
-	private final CacheEventStack eventStack = new CacheEventStack();
-	private CacheEventPool availableEventPool = new CacheEventPool();
-
-	/**
-	 * Create an EMF2SAXDocumentHandler to populate the given resource.
-	 *  
-	 */
-	public EMF2SAXDocumentHandler(TranslatorResource resource) {
-		this.resource = resource;
-	}
-
-	/**
-	 * @see org.xml.sax.helpers.DefaultHandler#resolveEntity(java.lang.String, java.lang.String)
-	 */
-	public InputSource resolveEntity(String publicId, String systemId) throws SAXException {
-		InputSource result = null;
-		this.resource.setDoctypeValues(publicId, systemId);
-
-		try {
-			EntityResolver entityResolver = this.resource.getEntityResolver();
-
-			if (entityResolver != null)
-				result = entityResolver.resolveEntity(publicId, systemId);
-			else
-				result = super.resolveEntity(publicId, systemId);
-		} catch (IOException ioe) {
-			throw new SAXException(ioe);
-		}
-
-		return result;
-	}
-
-	/**
-	 * @see org.xml.sax.ContentHandler#startDocument()
-	 */
-	public void startDocument() throws SAXException {
-		/*
-		 * The endDocument() method should have frozen the pool, or it may not be warmed yet. In
-		 * either case, this method call will do as little work as necessary
-		 */
-		availableEventPool.warmPool();
-
-		/* This line should not be necessary, but is left for safty */
-		eventStack.clear();
-		this.createRoot(this.resource);
-
-	}
-
-	/**
-	 * @see org.xml.sax.ContentHandler#startElement(java.lang.String, java.lang.String,
-	 *      java.lang.String, org.xml.sax.Attributes)
-	 */
-	public void startElement(String uri, String localName, String qName, Attributes attributes) throws SAXException {
-		addToStack(qName, attributes);
-	}
-
-	/**
-	 * @see org.xml.sax.ContentHandler#characters(char[], int, int)
-	 */
-	public void characters(char[] data, int start, int length) throws SAXException {
-
-		CacheEventNode currentRecord = getCurrentRecord();
-		if (currentRecord != null) {
-			currentRecord.appendToBuffer(data, start, length);
-		}
-	}
-
-	/**
-	 * @see org.xml.sax.ContentHandler#endElement(java.lang.String, java.lang.String,
-	 *      java.lang.String)
-	 */
-	public void endElement(String uri, String localName, String qName) throws SAXException {
-
-		CacheEventNode currentRecord = null;
-
-		/*
-		 * This should only happen in the case where the DOMPath was ignored so the stack does not
-		 * quite match with the XML data structure. In this case we do nothing
-		 */
-		if (qName.equals(this.getCurrentRecord().getNodeName())) {
-			currentRecord = this.removeCurrentRecord();
-			if (currentRecord != null) {
-				currentRecord.commit();
-			}
-		}
-	}
-
-	/**
-	 * @see org.xml.sax.ContentHandler#endDocument()
-	 */
-	public void endDocument() throws SAXException {
-		CacheEventNode lastRecord = this.removeCurrentRecord();
-		lastRecord.commit();
-		availableEventPool.freezePool();
-	}
-
-	/**
-	 * @see org.xml.sax.ErrorHandler#error(org.xml.sax.SAXParseException)
-	 */
-	public void error(SAXParseException ex) throws SAXException {
-		throw ex;
-	}
-
-	/**
-	 * @see org.xml.sax.ErrorHandler#fatalError(org.xml.sax.SAXParseException)
-	 */
-	public void fatalError(SAXParseException ex) throws SAXException {
-		throw ex;
-	}
-
-	/**
-	 * @see org.xml.sax.ErrorHandler#warning(org.xml.sax.SAXParseException)
-	 */
-	public void warning(SAXParseException ex) throws SAXException {
-		Logger.getLogger().logWarning(ex);
-	}
-
-	/**
-	 * @return
-	 */
-	public TranslatorResource getResource() {
-		return resource;
-	}
-
-	protected void createRoot(TranslatorResource resourceArg) {
-		this.eventStack.push(availableEventPool.createCacheEventNode(resourceArg));
-	}
-
-	protected void addToStack(String nodeName, Attributes attributes) {
-		CacheEventNode parent = this.getCurrentRecord();
-		if (!parent.isChildIgnorable(nodeName)) {
-			this.eventStack.push(availableEventPool.createCacheEventNode(parent, nodeName, attributes));
-		}
-	}
-
-	/**
-	 * Return the current CENO without removing it from the event stack.
-	 * 
-	 * @return the current CENO without removing it
-	 */
-	protected CacheEventNode getCurrentRecord() {
-		CacheEventNode result = null;
-		if (!this.eventStack.isEmpty()) {
-			result = this.eventStack.peek();
-		}
-		return result;
-	}
-
-	/**
-	 * Return the current CENO and remove it from the event stack.
-	 * 
-	 * @return the current CENO and remove it
-	 */
-	protected CacheEventNode removeCurrentRecord() {
-		CacheEventNode result = null;
-		if (!this.eventStack.isEmpty()) {
-			result = this.eventStack.pop();
-		}
-		return result;
-	}
-
-	//	private final void printStack() {
-	//		// System.out.println("Printing stack ...");
-	//		// for (int i = 0; i < this.eventStack.size(); i++) {
-	//		// debug("stack[" + i + "]: " + eventStack.get(i));
-	//		// }
-	//		// System.out.println("... Printed stack");
-	//	}
-	//
-	//	private final static void debug(Object obj) {
-	//		// System.out.println(obj);
-	//	}
-	//
-	//	private final static void warn(Object obj) {
-	//		//System.err.println(obj);
-	//	}
-
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/EMF2SAXRenderer.java b/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/EMF2SAXRenderer.java
deleted file mode 100644
index 7bd2634..0000000
--- a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/EMF2SAXRenderer.java
+++ /dev/null
@@ -1,175 +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.internal.emf.resource;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStream;
-import java.util.Map;
-
-import javax.xml.parsers.SAXParser;
-import javax.xml.parsers.SAXParserFactory;
-import javax.xml.transform.OutputKeys;
-import javax.xml.transform.Transformer;
-import javax.xml.transform.TransformerConfigurationException;
-import javax.xml.transform.TransformerFactory;
-import javax.xml.transform.TransformerFactoryConfigurationError;
-import javax.xml.transform.sax.SAXTransformerFactory;
-import javax.xml.transform.sax.TransformerHandler;
-import javax.xml.transform.stream.StreamResult;
-
-import org.eclipse.emf.common.util.WrappedException;
-import org.eclipse.jem.util.logger.proxy.Logger;
-import org.xml.sax.InputSource;
-import org.xml.sax.SAXException;
-import org.xml.sax.SAXNotRecognizedException;
-import org.xml.sax.XMLReader;
-
-/**
- * @author mdelder
- */
-public class EMF2SAXRenderer extends AbstractRendererImpl {
-
-	/**
-	 *  
-	 */
-	public EMF2SAXRenderer() {
-		super();
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.etools.emf2xml.Renderer#doLoad(java.io.InputStream, java.util.Map)
-	 */
-	public void doLoad(InputStream in, Map options) {
-		try {
-			SAXParserFactory factory = SAXParserFactory.newInstance();
-			factory.setValidating(isValidating());
-			factory.setNamespaceAware(true);
-			/*
-			 * Causes errors in IBM JDK try { factory.setAttribute(JAXP_SCHEMA_LANGUAGE,
-			 * W3C_XML_SCHEMA); } catch (IllegalArgumentException x) { }
-			 */
-			SAXParser parser = factory.newSAXParser();
-			XMLReader reader = parser.getXMLReader();
-			EMF2SAXDocumentHandler handler = new EMF2SAXDocumentHandler(this.getResource());
-			try {
-				reader.setFeature("http://xml.org/sax/features/validation", isValidating()); //$NON-NLS-1$
-			} catch (SAXNotRecognizedException snre) {
-			}
-			try {
-				reader.setFeature("http://xml.org/sax/features/namespace-prefixes", true); //$NON-NLS-1$
-			} catch (SAXNotRecognizedException snre) {
-			}
-			try {
-				reader.setFeature("http://apache.org/xml/features/validation/schema", isValidating()); //$NON-NLS-1$
-			} catch (SAXNotRecognizedException e) {
-				reader.setFeature("http://xml.org/sax/features/validation", false); //$NON-NLS-1$
-				Logger.getLogger().log("Warning: Parser does not support \"http://apache.org/xml/features/validation/schema\". Validation will be disabled."); //$NON-NLS-1$
-			}
-			try {
-				reader.setFeature("http://apache.org/xml/features/allow-java-encodings", true); //$NON-NLS-1$
-			} catch (SAXNotRecognizedException e) {
-				Logger.getLogger().log("Warning: Parser does not support \"http://apache.org/xml/features/allow-java-encodings\"."); //$NON-NLS-1$
-			}
-			/*
-			 * try { reader.setProperty("http://xml.org/sax/properties/lexical-handler", handler); }
-			 * catch (SAXNotRecognizedException e) { }
-			 */
-			reader.setContentHandler(handler);
-			reader.setErrorHandler(handler);
-			//reader.setDTDHandler(handler);
-			reader.setEntityResolver(handler);
-			InputSource testsource = new InputSource(in);
-			reader.parse(testsource);
-		} catch (RuntimeException t_rex) {
-			throw t_rex;
-		} catch (Exception ex) {
-			throw new WrappedException(ex);
-		}
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.etools.emf2xml.Renderer#doSave(java.io.OutputStream, java.util.Map)
-	 */
-	public void doSave(OutputStream outputStream, Map options) throws IOException {
-
-		/*
-		 * try { Serializer serializer =
-		 * SerializerFactory.getSerializerFactory(Method.XML).makeSerializer(outputStream,
-		 * createOutputFormat()); serializer.setOutputByteStream(outputStream); ContentHandler
-		 * handler = serializer.asContentHandler();
-		 */
-
-		TransformerHandler handler = null;
-		try {
-			try {
-				SAXTransformerFactory factory = (SAXTransformerFactory) TransformerFactory.newInstance();
-				handler = factory.newTransformerHandler();
-
-				handler.setResult(new StreamResult(outputStream));
-				Transformer transformer = handler.getTransformer();
-				transformer.setOutputProperty(OutputKeys.INDENT, "yes"); //$NON-NLS-1$
-				transformer.setOutputProperty(OutputKeys.ENCODING, getResource().getEncoding());
-				transformer.setOutputProperty(OutputKeys.VERSION, getResource().getXMLVersion());
-				transformer.setOutputProperty(OutputKeys.METHOD, "xml"); //$NON-NLS-1$
-				transformer.setOutputProperty(OutputKeys.OMIT_XML_DECLARATION, "no"); //$NON-NLS-1$                
-				transformer.setOutputProperty("{http://xml.apache.org/xslt}indent-amount", "4"); //$NON-NLS-1$ //$NON-NLS-2$
-
-				if (getResource().getPublicId() != null)
-					transformer.setOutputProperty(OutputKeys.DOCTYPE_PUBLIC, getResource().getPublicId());
-				if (getResource().getSystemId() != null)
-					transformer.setOutputProperty(OutputKeys.DOCTYPE_SYSTEM, getResource().getSystemId());
-
-			} catch (TransformerConfigurationException e) {
-				Logger.getLogger().logError(e);
-			} catch (TransformerFactoryConfigurationError e) {
-				Logger.getLogger().logError(e);
-			}
-			if (handler == null) {
-				Logger.getLogger("SAX Writer is null"); //$NON-NLS-1$
-				return;
-			}
-			EMF2SAXWriter writer = new EMF2SAXWriter();
-			writer.serialize(this.resource, handler);
-		} catch (SAXException saxe) {
-			throw new WrappedException(saxe);
-		}
-	}
-
-	/*
-	 * protected OutputFormat createOutputFormat() { OutputFormat format = new OutputFormat();
-	 * format.setIndenting(true); format.setLineSeparator(DOMUtilities.NEWLINE_STRING);
-	 * //$NON-NLS-1$ format.setEncoding(getResource().getEncoding());
-	 * format.setVersion(getResource().getXMLVersion()); if (this.resource != null)
-	 * format.setDoctype(this.resource.getPublicId(), this.resource.getSystemId()); return format; }
-	 */
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.etools.emf2xml.Renderer#prepareToAddContents()
-	 */
-	public void prepareToAddContents() {
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.etools.emf2xml.Renderer#getVersionID()
-	 */
-	public int getVersionID() {
-		return getResource().getVersionID();
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/EMF2SAXRendererFactory.java b/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/EMF2SAXRendererFactory.java
deleted file mode 100644
index d3fd5d9..0000000
--- a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/EMF2SAXRendererFactory.java
+++ /dev/null
@@ -1,42 +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 Aug 19, 2003
- *
- */
-package org.eclipse.wst.common.internal.emf.resource;
-
-
-/**
- * Used to create instances of the EMF2SAXRenderer
- * 
- * @author mdelder
- */
-public class EMF2SAXRendererFactory extends RendererFactory {
-
-	public static final EMF2SAXRendererFactory INSTANCE = new EMF2SAXRendererFactory();
-
-	protected EMF2SAXRendererFactory() {
-		super();
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.etools.emf2xml.RendererFactory#createRenderer()
-	 */
-	public Renderer createRenderer() {
-		EMF2SAXRenderer renderer = new EMF2SAXRenderer();
-		renderer.setValidating(isValidating());
-		return renderer;
-	}
-
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/EMF2SAXWriter.java b/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/EMF2SAXWriter.java
deleted file mode 100644
index c5d0807..0000000
--- a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/EMF2SAXWriter.java
+++ /dev/null
@@ -1,387 +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.internal.emf.resource;
-
-
-import java.util.List;
-import java.util.Stack;
-
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.ecore.EObject;
-import org.xml.sax.Attributes;
-import org.xml.sax.ContentHandler;
-import org.xml.sax.SAXException;
-import org.xml.sax.helpers.AttributesImpl;
-
-/**
- * The EMF2SAXWriter handles the serialization of EMF Resources using SAX events. SAX events are
- * triggered to the content handler as the tree is being parsed. These events can then be written
- * into any stream wrapped by the ContentHandler.
- * 
- * @author mdelder
- */
-public class EMF2SAXWriter {
-
-	public static final String NAMESPACE = "";//"http://java.sun.com/xml/ns/j2ee"; //$NON-NLS-1$
-
-	/* Used in those cases where no Attributes are necessary */
-	private static final Attributes EMPTY_ATTRIBUTES = new AttributesImpl();
-
-	/**
-	 * Serialize an EMF resource into an XML Stream using the given ContentHandler. Note that this
-	 * method can also be used to copy a given EMF Resource if the EMF2SAXDocumentHandler is used as
-	 * the given ContentHandler.
-	 * 
-	 * @param resource
-	 * @param handler
-	 */
-	public void serialize(TranslatorResource resource, ContentHandler handler) throws SAXException {
-
-		Translator rootTranslator = resource.getRootTranslator();
-		EList contents = resource.getContents();
-
-		if (contents.size() != 1) {
-			throw new IllegalStateException("The contents of a resource may only contain one EMF Model Object."); //$NON-NLS-1$
-		}
-		handler.startDocument();
-		EObject element = (EObject) contents.get(0);
-		serialize(handler, element, rootTranslator, new WriterHints(resource));
-		handler.endDocument();
-
-	}
-
-	private void serialize(ContentHandler handler, EObject target, Translator translator, WriterHints hints) throws SAXException {
-
-		List mofChildren = null;
-		Object rawValue = null;
-		EObject newTarget = null;
-		Translator currentChildTranslator = null;
-		Translator nextTranslator = null;
-		char[] characterData = null;
-		String convertedValue = null;
-		Attributes attributes = null;
-		String childDomName = null;
-		final int version = hints.getVersion();
-
-		/*
-		 * Processing hints are used to remember where are in the iteration of the translator's
-		 * children. see the TranslatorFilter for more information on how this array is used.
-		 */
-		int[] processingHints = TranslatorFilter.createProcessingHints();
-
-		String targetDomName = translator.getDOMName(target);
-
-		attributes = getAttributes(translator, target, hints);
-
-		handler.startElement(NAMESPACE, targetDomName, targetDomName, attributes);
-
-		currentChildTranslator = TranslatorFilter.getNextObjectTranslator(translator, processingHints[TranslatorFilter.NEXT_START_HINT_INDX], processingHints, target, version);
-		while (currentChildTranslator != null) {
-			/* For each Child Translator of the Translator parameter passed into the method */
-
-			/* Does the Translator have any MOF Children? */
-			mofChildren = currentChildTranslator.getMOFChildren(target);
-			openDomPathIfNecessary(handler, hints, currentChildTranslator, target, mofChildren);
-
-			if (currentChildTranslator.isManagedByParent()) {
-				/*
-				 * Translators which are managed by their parents require less processing -- just
-				 * convert their value to a string and write it out as the content of an XML element
-				 */
-				childDomName = currentChildTranslator.getDOMName(target);
-				if (!currentChildTranslator.isEmptyTag()) {
-					/* The Translator is not an Empty tag. Its text content is significant */
-
-					if (mofChildren.size() > 0) {
-						for (int j = 0; j < mofChildren.size(); j++) {
-
-							/* Text only translators will not have open and close XML elements */
-							if (!currentChildTranslator.isDOMTextValue())
-								handler.startElement(NAMESPACE, childDomName, childDomName, EMPTY_ATTRIBUTES);
-
-							rawValue = mofChildren.get(j);
-							/* convertValueToString should always return a non-null String */
-							convertedValue = currentChildTranslator.convertValueToString(rawValue, target);
-							characterData = XMLEncoderDecoder.escape(convertedValue).toCharArray();
-							handler.characters(characterData, 0, characterData.length);
-
-							if (!currentChildTranslator.isDOMTextValue())
-								handler.endElement(NAMESPACE, childDomName, childDomName);
-						}
-					}
-				} else {
-					/*
-					 * The Translator is an Empty Element (its mere presence has significance) (e.g.
-					 * <cascade-delete/>
-					 */
-
-					if (currentChildTranslator.isBooleanFeature()) {
-						/* Boolean features may or may not be rendered */
-						rawValue = mofChildren.get(0);
-						if (rawValue != null && ((Boolean) rawValue).booleanValue()) {
-							handler.startElement(NAMESPACE, childDomName, childDomName, EMPTY_ATTRIBUTES);
-							handler.endElement(NAMESPACE, childDomName, childDomName);
-						}
-
-					} else {
-						/* Always render any other Empty elements */
-						handler.startElement(NAMESPACE, childDomName, childDomName, EMPTY_ATTRIBUTES);
-						handler.endElement(NAMESPACE, childDomName, childDomName);
-					}
-				}
-			} else {
-
-				/* The Translator is a more complex feature, handle its processing recursively */
-				for (int j = 0; j < mofChildren.size(); j++) {
-					newTarget = (EObject) mofChildren.get(j);
-					serialize(handler, newTarget, currentChildTranslator, hints);
-				}
-			}
-
-			/* Fetch the next peer translator */
-			nextTranslator = TranslatorFilter.getNextObjectTranslator(translator, processingHints[TranslatorFilter.NEXT_START_HINT_INDX], processingHints, target, version);
-
-			closeDomPathIfNecessary(handler, hints, currentChildTranslator, nextTranslator, target, mofChildren);
-
-			/*
-			 * We needed to invoke closeDomPathIfNecessary() with the peer, now we move on to
-			 * process that peer
-			 */
-			currentChildTranslator = nextTranslator;
-
-		}
-		handler.endElement(NAMESPACE, targetDomName, targetDomName);
-	}
-
-	/**
-	 * Determines whether or not a DOM Path should be rendered. This method is particularly useful
-	 * for determining whether Empty XML elements are relevant and should be written to the XML
-	 * stream.
-	 * 
-	 * @param target
-	 *            The EMF Target of the Translation
-	 * @param currentChildTranslator
-	 *            The current Translator
-	 * @param mofChildren
-	 *            The mofChildren that were found for the Translator on the Target
-	 * @return
-	 */
-	private boolean shouldRenderDomPath(EObject target, Translator currentChildTranslator, List mofChildren) {
-		return !currentChildTranslator.isEmptyContentSignificant() || (currentChildTranslator.shouldRenderEmptyDOMPath(target) || mofChildren.size() > 0);
-	}
-
-	/**
-	 * openDomPathIfNecessary will write the current DOM Path to the serialization stream if it has
-	 * not been written by a previous peer translator. The processing results in the collapse of
-	 * Peer Translators with matching DOM Paths into a single XML parent element.
-	 * 
-	 * @param handler
-	 *            The ContentHandler which is writing the XML result
-	 * @param hints
-	 *            A Global container for information specific to a single XML document
-	 * @param currentChildTranslator
-	 *            The active Translator being processed
-	 * @param target
-	 *            The EMF Target of the Translation
-	 * @throws SAXException
-	 */
-	private void openDomPathIfNecessary(ContentHandler handler, WriterHints hints, Translator currentChildTranslator, EObject target, List mofChildren) throws SAXException {
-
-		/* If the translator does not have a DOM Path, then we do nothing */
-		if (currentChildTranslator.hasDOMPath() && shouldRenderDomPath(target, currentChildTranslator, mofChildren)) {
-
-			String childDomPath = currentChildTranslator.getDOMPath();
-
-			/*
-			 * IsDomPathActive() will verify whether this DOM Path has already been written to the
-			 * XML stream
-			 */
-			if (!hints.isDomPathActive(childDomPath)) {
-
-				/*
-				 * Write an open element for the DOM Path and "remember" that we have written it
-				 */
-				handler.startElement(NAMESPACE, childDomPath, childDomPath, EMPTY_ATTRIBUTES);
-				hints.pushDomPath(childDomPath);
-			}
-
-		}
-	}
-
-	/**
-	 * closeDomPathIfNecessary will determine whether the next peer Translator shares the active DOM
-	 * Path of the current Translator. If the next peer Translator has the same DOM Path, no action
-	 * will be taken (hence condensing the elements into a single XML parent). However, if the DOM
-	 * Path differs (including the Next Peer Translator has no DOM Path) then the current DOM Path
-	 * will be closed (a close XML element is generated.
-	 * 
-	 * @param handler
-	 *            The ContentHandler which is writing the XML result
-	 * @param hints
-	 *            A Global container for information specific to a single XML document
-	 * @param currentChildTranslator
-	 *            The last Translator to have completed processing
-	 * @param nextTranslator
-	 *            The next peer Translator that will become active
-	 * @param target
-	 *            The EMF Target of the Translation
-	 * @throws SAXException
-	 */
-	private void closeDomPathIfNecessary(ContentHandler handler, WriterHints hints, Translator currentChildTranslator, Translator nextTranslator, EObject target, List mofChildren) throws SAXException {
-
-		if (currentChildTranslator.hasDOMPath() && shouldRenderDomPath(target, currentChildTranslator, mofChildren)) {
-			String childDomPath = currentChildTranslator.getDOMPath();
-			if (nextTranslator != null) { /*
-										   * There are more peers after this element, we can peek
-										   * ahead
-										   */
-				String nextPeerDomPath = nextTranslator.getDOMPath();
-				if (nextPeerDomPath == null || !nextPeerDomPath.equals(childDomPath)) {
-					handler.endElement(NAMESPACE, childDomPath, childDomPath);
-					hints.popDomPath();
-				}
-
-			} else { /* This was the last child element, we must close the dompath */
-				handler.endElement(NAMESPACE, childDomPath, childDomPath);
-				hints.popDomPath();
-			}
-		}
-	}
-
-	/**
-	 * Aggregate the Attribute translator children from a given translator. This method will request
-	 * the AttributesImpl object from the WriterHints object. The WriterHints maintains this
-	 * reusable collection to limit the requirement for new object creation.
-	 * 
-	 * @param translator
-	 * @param target
-	 * @param hints
-	 * @return an initialized set of Attributes for the given Translator and EMF Target
-	 */
-	private Attributes getAttributes(Translator translator, EObject target, WriterHints hints) {
-
-		AttributesImpl attributes = hints.getAttributeHolder();
-		int version = hints.getVersion();
-		Object rawValue = null;
-		String convertedValue = null;
-		String childDomName = null;
-		Translator attributeTranslator = null;
-		int[] processingHints = TranslatorFilter.createProcessingHints();
-
-		while ((attributeTranslator = TranslatorFilter.getNextAttributeTranslator(translator, processingHints[TranslatorFilter.NEXT_START_HINT_INDX], processingHints, target, version)) != null) {
-
-			List mofChildren = attributeTranslator.getMOFChildren(target);
-			if (mofChildren.size() > 0) {
-				for (int j = 0; j < mofChildren.size(); j++) {
-
-					childDomName = attributeTranslator.getDOMName(target);
-					rawValue = mofChildren.get(j);
-					convertedValue = attributeTranslator.convertValueToString(rawValue, target);
-					convertedValue = XMLEncoderDecoder.escape(convertedValue);
-					attributes.addAttribute(NAMESPACE, childDomName, childDomName, "String", convertedValue); //$NON-NLS-1$
-				}
-
-			} else {
-				childDomName = attributeTranslator.getDOMName(target);
-				convertedValue = (String) attributeTranslator.getMOFValue(target);
-				if (convertedValue != null)
-					attributes.addAttribute(NAMESPACE, childDomName, childDomName, "String", convertedValue); //$NON-NLS-1$
-			}
-		}
-		return attributes;
-	}
-
-	/**
-	 * WriterHints is used to "remember" certain pieces of information while the writer is
-	 * processing. Of particular interest are the version and the state of the DOM Path output.
-	 * Consecutive elements with consistent (identical) DOM Paths are collapsed under a single XML
-	 * element.
-	 * 
-	 * The WriterHints provides global state between recursive invocations of serialize(). It should
-	 * be not be used to store local data (e.g. data that is only relevant to a single Translator in
-	 * a given context).
-	 * 
-	 * The WriterHints also stores an AttributesImpl object that is re-used to store attributes. The
-	 * getAttributes() method will request the Attributes Holder.
-	 * 
-	 * @author mdelder
-	 */
-	public final class WriterHints {
-		private final TranslatorResource resource;
-		private final Stack domStack = new Stack();
-		private final AttributesImpl attributesImpl = new AttributesImpl();
-
-		public WriterHints(TranslatorResource res) {
-			this.resource = res;
-		}
-
-		/**
-		 * Push a new domPath onto the stack
-		 * 
-		 * @param domPath
-		 *            a DOMPath which has been written to the XML stream
-		 */
-		public void pushDomPath(String domPath) {
-
-			if (domPath != null && domPath.length() > 0)
-				domStack.push(domPath);
-		}
-
-		/**
-		 * Pop the current domPath from the Array
-		 */
-		public void popDomPath() {
-
-			if (!domStack.isEmpty())
-				domStack.pop();
-		}
-
-		/**
-		 * Determines if the given DOMPath has already been written to the XML stream
-		 * 
-		 * @param domPath
-		 * @return true if the given DOMPath has already been written to the XML stream
-		 */
-		public boolean isDomPathActive(String domPath) {
-			boolean result = false;
-			if (!domStack.isEmpty()) {
-
-				String currentDomPath = (String) domStack.peek();
-				if (currentDomPath != null && domPath != null)
-					result = currentDomPath.equals(domPath);
-				else if (!(currentDomPath == null ^ domPath == null))
-					result = true;
-			}
-
-			return result;
-		}
-
-		/**
-		 * @return the version of the EMF Resource
-		 */
-		public int getVersion() {
-			return this.resource.getVersionID();
-		}
-
-		/**
-		 * Returns an empty AttributesImpl object to store attributes. Within the context of a given
-		 * WriterHints object (and hence single XML document), the object returned is a singleton.
-		 * The same AttributesImpl object is cleared and reused for each invocation.
-		 * 
-		 * @return an empty AttributesImpl object to store attributes
-		 */
-		public AttributesImpl getAttributeHolder() {
-			this.attributesImpl.clear();
-			return this.attributesImpl;
-		}
-
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/FileNameResourceFactoryRegistry.java b/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/FileNameResourceFactoryRegistry.java
deleted file mode 100644
index 74b6bc5..0000000
--- a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/FileNameResourceFactoryRegistry.java
+++ /dev/null
@@ -1,88 +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.internal.emf.resource;
-
-import java.util.HashMap;
-import java.util.Map;
-
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.emf.ecore.resource.Resource;
-import org.eclipse.emf.ecore.resource.Resource.Factory;
-import org.eclipse.wst.common.internal.emf.utilities.DefaultOverridableResourceFactoryRegistry;
-
-
-public abstract class FileNameResourceFactoryRegistry extends DefaultOverridableResourceFactoryRegistry {
-
-	private Map/*<String shortName, ResourceFactoryDescriptor>*/ descriptors = new HashMap(); 
-	private Map/*<ResourceFactoryDescriptor, Resource.Factory>*/ factories = new HashMap();
-	
-	public FileNameResourceFactoryRegistry() {
-		super();
-	}
-
-	/**
-	 * Return a Resource.Factory that is registered with the last segment of the URI's file name.
-	 * 
-	 * @see org.eclipse.emf.ecore.resource.impl.ResourceFactoryRegistryImpl#getFactory(URI)
-	 */
-	protected Object getFileNameFactory(URI uri) {
-
-		if(uri != null) {
-			ResourceFactoryDescriptor descriptor = getDescriptor(uri);
-			
-			if(descriptor != null) {
-				return getFactory(descriptor);	
-			}	
-		}
-		return null;
-		
-	}
-
-	public synchronized Resource.Factory getFactory(URI uri) {
-
-		Resource.Factory resourceFactory = null;
-		if(uri != null && uri.lastSegment() != null) {
-			ResourceFactoryDescriptor descriptor = getDescriptor(uri);
-			
-			if(descriptor != null) {
-				resourceFactory = getFactory(descriptor);	
-			}	
-		}
-		if(resourceFactory == null)
-			resourceFactory = super.getFactory(uri);
-		return resourceFactory; 
-	}
-
-	/**
-	 * Register a file name representing the last segment of a URI with the corresponding
-	 * Resource.Factory.
-	 */
-	public synchronized void registerLastFileSegment(String aSimpleFileName, Resource.Factory aFactory) {
-		URI uri = URI.createURI(aSimpleFileName);
-		String lastSegment = uri.lastSegment(); 
-		addDescriptor(new StaticResourceFactoryDescriptor(lastSegment, aFactory));		
-	} 
-
-	protected final synchronized ResourceFactoryDescriptor getDescriptor(URI uri) {
-		return (ResourceFactoryDescriptor) descriptors.get(uri.lastSegment());
-	}
-
-	protected final synchronized Resource.Factory getFactory(ResourceFactoryDescriptor descriptor) {  
-		Resource.Factory factory = (Factory) factories.get(descriptor);
-		if(factory == null) {
-			factories.put(descriptor, (factory = descriptor.createFactory()));
-		}
-		return factory;
-	}
-
-	protected final void addDescriptor(ResourceFactoryDescriptor descriptor) { 
-		descriptors.put(descriptor.getShortSegment(), descriptor);
-	}
- 
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/GenericTranslator.java b/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/GenericTranslator.java
deleted file mode 100644
index eafe09f..0000000
--- a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/GenericTranslator.java
+++ /dev/null
@@ -1,110 +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 Mar 20, 2003
- *
- */
-package org.eclipse.wst.common.internal.emf.resource;
-
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EStructuralFeature;
-
-/**
- * Specialized translator for objects that contain simple mappings with no specialized behavior.
- */
-public class GenericTranslator extends Translator {
-
-	protected Translator[] children;
-
-	/**
-	 * @param domNameAndPath
-	 * @param eClass
-	 */
-	public GenericTranslator(String domNameAndPath, EClass eClass) {
-		super(domNameAndPath, eClass);
-	}
-
-	/**
-	 * @param domNameAndPath
-	 * @param aFeature
-	 */
-	public GenericTranslator(String domNameAndPath, EStructuralFeature aFeature) {
-		super(domNameAndPath, aFeature);
-	}
-
-	/**
-	 * @param domNameAndPath
-	 * @param aFeature
-	 * @param path
-	 */
-	public GenericTranslator(String domNameAndPath, EStructuralFeature aFeature, TranslatorPath path) {
-		super(domNameAndPath, aFeature, path);
-	}
-
-	/**
-	 * @param domNameAndPath
-	 * @param aFeature
-	 * @param paths
-	 */
-	public GenericTranslator(String domNameAndPath, EStructuralFeature aFeature, TranslatorPath[] paths) {
-		super(domNameAndPath, aFeature, paths);
-	}
-
-	/**
-	 * @param domNameAndPath
-	 * @param aFeature
-	 * @param eClass
-	 */
-	public GenericTranslator(String domNameAndPath, EStructuralFeature aFeature, EClass eClass) {
-		super(domNameAndPath, aFeature, eClass);
-	}
-
-	/**
-	 * @param domNameAndPath
-	 * @param aFeature
-	 * @param style
-	 */
-	public GenericTranslator(String domNameAndPath, EStructuralFeature aFeature, int style) {
-		super(domNameAndPath, aFeature, style);
-	}
-
-	/**
-	 * @return Translator[]
-	 */
-	public Translator[] getChildren() {
-		return children;
-	}
-
-	/**
-	 * Sets the children.
-	 * 
-	 * @param children
-	 *            The children to set
-	 */
-	public void setChildren(Translator[] children) {
-		this.children = children;
-	}
-
-
-	public static Translator appendChildren(GenericTranslator tran, Translator[] child) {
-		Translator[] orgChild = tran.getChildren();
-		Translator[] newChildren = (Translator[]) concat(orgChild, child);
-		tran.setChildren(newChildren);
-		return tran;
-	}
-
-	public static Translator appendChild(GenericTranslator tran, Translator child) {
-		Object[] orgChild = tran.getChildren();
-		Translator[] newChildren = (Translator[]) concat(orgChild, child);
-		tran.setChildren(newChildren);
-		return tran;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/IDTranslator.java b/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/IDTranslator.java
deleted file mode 100644
index 15755f0..0000000
--- a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/IDTranslator.java
+++ /dev/null
@@ -1,75 +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 Mar 19, 2003
- *
- */
-package org.eclipse.wst.common.internal.emf.resource;
-
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.emf.ecore.EcorePackage;
-import org.eclipse.emf.ecore.xmi.XMIResource;
-
-/**
- * @author schacher
- */
-public class IDTranslator extends Translator {
-	public class NoResourceException extends RuntimeException {
-
-		public NoResourceException() {
-			super();
-		}
-
-		public NoResourceException(String s) {
-			super(s);
-		}
-	}
-
-	static final public EStructuralFeature ID_FEATURE = EcorePackage.eINSTANCE.getEClass_EIDAttribute();
-	static final public IDTranslator INSTANCE = new IDTranslator();
-
-	public IDTranslator() {
-		super("id", ID_FEATURE, DOM_ATTRIBUTE); //$NON-NLS-1$
-	}
-
-	public void setMOFValue(EObject emfObject, Object value) {
-		XMIResource res = (XMIResource) emfObject.eResource();
-		if (res == null)
-			throw new NoResourceException();
-		String id = res.getID(emfObject);
-		if (id == null && value == null)
-			return;
-		if ((id != null && !id.equals(value)) || (value != null && !value.equals(id)))
-			res.setID(emfObject, (String) value);
-	}
-
-	public Object getMOFValue(EObject emfObject) {
-		if (emfObject == null)
-			throw new NoResourceException();
-		XMIResource res = (XMIResource) emfObject.eResource();
-		if (res == null)
-			throw new NoResourceException();
-		return res.getID(emfObject);
-	}
-
-
-	public boolean featureExists(EObject emfObject) {
-		return true;
-	}
-
-	public boolean isIDMap() {
-		return true;
-	}
-
-
-
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/LinkUpdaterTarget.java b/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/LinkUpdaterTarget.java
deleted file mode 100644
index f5cd1f9..0000000
--- a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/LinkUpdaterTarget.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
- **************************************************************************************************/
-package org.eclipse.wst.common.internal.emf.resource;
-
-
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.util.EcoreUtil;
-import org.w3c.dom.Node;
-
-
-public class LinkUpdaterTarget extends Object {
-
-	public static final LinkUpdaterTarget INSTANCE = new LinkUpdaterTarget();
-
-	/**
-	 * Constructor for LinkUpdaterMultiTarget.
-	 * 
-	 * @param adapter
-	 */
-	private LinkUpdaterTarget() {
-		super();
-	}
-
-
-	public void updateDOM(Translator map, Node node, EObject mofObject) {
-		refreshSourceObjects(map, node, mofObject, true);
-	}
-
-	public void updateMOF(Translator map, Node node, EObject mofObject) {
-		refreshSourceObjects(map, node, mofObject, false);
-	}
-
-	protected void refreshSourceObjects(Translator map, Node node, EObject mofObject, boolean domUpdate) {
-		TranslatorPath[] paths = map.getTranslatorPaths();
-		for (int i = 0; i < paths.length; i++) {
-			TranslatorPath path = paths[i];
-			List allSourceObjects = path.findObjects(mofObject);
-			for (Iterator iter = allSourceObjects.iterator(); iter.hasNext();) {
-				EObject curObject = (EObject) iter.next();
-				EMF2DOMAdapter curAdapter = (EMF2DOMAdapter) EcoreUtil.getAdapter(curObject.eAdapters(), EMF2DOMAdapter.class);
-				if (curAdapter != null) {
-					if (domUpdate)
-						curAdapter.updateDOM();
-					else
-						curAdapter.updateMOF();
-				}
-			}
-		}
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/MappedXMIHelper.java b/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/MappedXMIHelper.java
deleted file mode 100644
index ac27864..0000000
--- a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/MappedXMIHelper.java
+++ /dev/null
@@ -1,295 +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.internal.emf.resource;
-
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.Map;
-import java.util.Set;
-
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.EPackage;
-import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.emf.ecore.InternalEObject;
-import org.eclipse.emf.ecore.resource.Resource;
-import org.eclipse.emf.ecore.resource.ResourceSet;
-import org.eclipse.emf.ecore.resource.URIConverter;
-import org.eclipse.emf.ecore.resource.impl.URIConverterImpl;
-import org.eclipse.emf.ecore.xmi.XMLHelper;
-import org.eclipse.emf.ecore.xmi.XMLResource;
-import org.eclipse.emf.ecore.xmi.impl.XMLHelperImpl;
-import org.eclipse.wst.common.internal.emf.utilities.IDUtil;
-
-public class MappedXMIHelper extends XMLHelperImpl {
-
-	private static final String WORKSPACE_PROTOCOL = "workspace:/"; //$NON-NLS-1$
-	private static final String PLATFORM_RESOURCE_PROTOCOL = "platform:/resource/"; //$NON-NLS-1$
-	private static final EStructuralFeature NULL_FEATURE = new UnsupportedFeature();
-	protected boolean usingMaps = true;
-	protected Map cachedRelativeURIs;
-	protected Map packageURIsToPrefixes;
-
-	/**
-	 * Constructor for MappedXMLHelper.
-	 * 
-	 * @param resource
-	 */
-	public MappedXMIHelper(XMLResource resource, Map prefixesToURIs) {
-		super(resource);
-		this.prefixesToURIs.putAll(prefixesToURIs);
-		pushContext(); //Needed to initialize the context to zero
-		Set keys = prefixesToURIs.keySet();
-		for (Iterator iter = keys.iterator(); iter.hasNext();) {
-			String prefix = (String) iter.next();
-			String uri = (String) prefixesToURIs.get(prefix);
-			namespaceSupport.declarePrefix(prefix, uri);
-		}
-
-	}
-
-	public URI resolve(URI relative, URI base) {
-		URI resolved = null;
-		boolean isMapped = false;
-		ResourceSet set = getResource().getResourceSet();
-		if (set != null) {
-			URI localresourceURI = null;
-			if (relative.hasFragment())
-				localresourceURI = relative.trimFragment();
-			else
-				localresourceURI = relative;
-			isMapped = !(((URIConverterImpl.URIMap) set.getURIConverter().getURIMap()).getURI(localresourceURI).equals(localresourceURI));
-		}
-		if (!isMapped) {
-			if (isUsingContainerRelativePaths() && set != null)
-				resolved = set.getURIConverter().normalize(relative);
-		} else {
-			resolved = relative;
-		}
-		return resolved == null ? super.resolve(relative, base) : resolved;
-	}
-
-	/**
-	 * Method isUsingContainerRelativePaths.
-	 * 
-	 * @return boolean
-	 */
-	private boolean isUsingContainerRelativePaths() {
-		return ((CompatibilityXMIResource) resource).getFormat() == CompatibilityXMIResource.FORMAT_MOF5 || usingMaps;
-	}
-
-	public void addPrefix(String prefix, String uri) {
-		/*
-		 * problem - the incoming key value pair is ejbbnd->ejbbnd.xmi; however, the map already has
-		 * a key value pair of ejbbnd->http:///ejbbnd.ecore
-		 */
-		if (uri.endsWith(".ecore")) { //$NON-NLS-1$
-			usingMaps = false;
-		}
-		String existing = (String) prefixesToURIs.get(prefix);
-		if (existing == null) {
-			prefixesToURIs.put(prefix, uri);
-			namespaceSupport.declarePrefix(prefix, uri);
-		} else if (!existing.equals(uri)) {
-			getCompatibilityResource().addOriginalPackageURI(existing, uri);
-			getCompatibilityResource().setFormat(CompatibilityXMIResource.FORMAT_MOF5);
-		}
-	}
-
-	protected CompatibilityXMIResource getCompatibilityResource() {
-		return (CompatibilityXMIResource) getResource();
-	}
-
-	/**
-	 * @see org.eclipse.emf.ecore.xmi.impl.XMLHelperImpl#getHREF(EObject)
-	 */
-	public String getHREF(EObject obj) {
-		if (!getCompatibilityResource().usesDefaultFormat()) {
-			URIConverter conv = getURIConverter();
-			if (conv != null && conv instanceof CompatibilityURIConverter) {
-				String href = getCompatibliltyHREF(obj, (CompatibilityURIConverter) conv);
-				return useWorkspaceProtocolIfNecessary(href);
-			}
-		}
-		return super.getHREF(obj);
-	}
-
-
-	/**
-	 * @param href
-	 * @return
-	 */
-	protected String useWorkspaceProtocolIfNecessary(String href) {
-		if (href != null && href.startsWith(PLATFORM_RESOURCE_PROTOCOL))
-			return WORKSPACE_PROTOCOL + href.substring(19);
-		return href;
-	}
-
-	private String getCompatibliltyHREF(EObject obj, CompatibilityURIConverter conv) {
-		//Implementation copied from super.getHREF(EObject)
-		InternalEObject o = (InternalEObject) obj;
-
-		URI objectURI = o.eProxyURI();
-		if (objectURI == null) {
-			Resource otherResource = obj.eResource();
-			if (otherResource == null) {
-				objectURI = handleDanglingHREF(obj);
-				if (objectURI == null) {
-					return null;
-				}
-			} else
-				objectURI = otherResource.getURI().appendFragment(otherResource.getURIFragment(obj));
-		}
-
-		//Modified to dispatch back to URI Converter
-		if (!objectURI.isRelative()) {
-			objectURI = makeRelative(objectURI, conv);
-		}
-		return objectURI.toString();
-	}
-
-	protected URI makeRelative(URI objectURI, CompatibilityURIConverter conv) {
-		String fragment = objectURI.fragment();
-		objectURI = objectURI.trimFragment();
-		URI relative = (URI) getCachedRelativeURIs().get(objectURI);
-		if (relative == null) {
-			relative = conv.deNormalize(objectURI);
-			if (relative.isRelative())
-				cachedRelativeURIs.put(objectURI, relative);
-		}
-		return relative.appendFragment(fragment);
-	}
-
-	protected URIConverter getURIConverter() {
-		ResourceSet set = getResource().getResourceSet();
-		if (set != null)
-			return set.getURIConverter();
-		return null;
-	}
-
-	protected Map getCachedRelativeURIs() {
-		if (cachedRelativeURIs == null)
-			cachedRelativeURIs = new HashMap();
-		return cachedRelativeURIs;
-	}
-
-	/**
-	 * @see org.eclipse.emf.ecore.xmi.impl.XMLHelperImpl#getID(EObject)
-	 */
-	public String getID(EObject obj) {
-		if (getCompatibilityResource().usesDefaultFormat())
-			return super.getID(obj);
-		return IDUtil.getOrAssignID(obj, resource);
-	}
-
-	public String[] getNSInfo(EPackage pkg) {
-		String prefix = getMappedPrefix(pkg);
-		if (prefix == null)
-			return new String[]{pkg.getNsPrefix(), pkg.getNsURI()};
-		return new String[]{prefix, prefix + ".xmi"}; //$NON-NLS-1$
-	}
-
-	protected String getMappedPrefix(EPackage pkg) {
-		String nsURI = pkg.getNsURI();
-		if (usingMaps || !getCompatibilityResource().usesDefaultFormat())
-			return (String) packageURIsToPrefixes.get(nsURI);
-		return null;
-	}
-
-	protected String getMappedPrefixOrDefault(EPackage pkg) {
-		String prefix = getMappedPrefix(pkg);
-		return prefix == null ? pkg.getNsPrefix() : prefix;
-	}
-
-
-	/**
-	 * Returns the packageURIsToPrefixes.
-	 * 
-	 * @return Map
-	 */
-	public Map getPackageURIsToPrefixes() {
-		return packageURIsToPrefixes;
-	}
-
-	/**
-	 * Sets the packageURIsToPrefixes.
-	 * 
-	 * @param packageURIsToPrefixes
-	 *            The packageURIsToPrefixes to set
-	 */
-	public void setPackageURIsToPrefixes(Map packageURIsToPrefixes) {
-		this.packageURIsToPrefixes = packageURIsToPrefixes;
-	}
-
-	public String getQName(EClass c) {
-		String name = getName(c);
-
-		if (xmlMap != null) {
-			XMLResource.XMLInfo clsInfo = xmlMap.getInfo(c);
-
-			if (clsInfo != null) {
-				String targetNamespace = clsInfo.getTargetNamespace();
-				return getQName(targetNamespace, name);
-			}
-		}
-
-		EPackage p = c.getEPackage();
-		packages.put(p, null);
-
-		if (p.getNsPrefix().equals("")) //$NON-NLS-1$ 
-			return name;
-
-		//Modified from superclass
-		//return p.getNsPrefix() + ":" + name;
-		return getMappedPrefixOrDefault(p) + ":" + name; //$NON-NLS-1$ 
-	}
-
-	/**
-	 * @see org.eclipse.emf.ecore.xmi.impl.XMLHelperImpl#setValue(EObject, EStructuralFeature,
-	 *      Object, int)
-	 */
-	public void setValue(EObject object, EStructuralFeature feature, Object value, int position) {
-		if (feature == NULL_FEATURE)
-			return;
-		if (!feature.isTransient()) {
-			if (value == null && feature.getEType().getInstanceClass() != null && feature.getEType().getInstanceClass().isPrimitive())
-				//For compatibility with MOF5 where types like Integer might have been set
-				//and serialized as "xsi:nil"
-				return;
-
-			super.setValue(object, feature, value, position);
-		}
-	}
-
-
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.emf.ecore.xmi.XMLHelper#getFeature(org.eclipse.emf.ecore.EClass,
-	 *      java.lang.String, java.lang.String, boolean)
-	 */
-	public EStructuralFeature getFeature(EClass eClass, String namespaceURI, String name, boolean isElement) {
-		if (UnsupportedFeature.isUnsupported(eClass, name))
-			return NULL_FEATURE;
-		return super.getFeature(eClass, namespaceURI, name, isElement);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.emf.ecore.xmi.XMLHelper#getFeatureKind(org.eclipse.emf.ecore.EStructuralFeature)
-	 */
-	public int getFeatureKind(EStructuralFeature feature) {
-		if (feature == NULL_FEATURE)
-			return XMLHelper.DATATYPE_SINGLE;
-		return super.getFeatureKind(feature);
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/MultiObjectTranslator.java b/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/MultiObjectTranslator.java
deleted file mode 100644
index abfcc83..0000000
--- a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/MultiObjectTranslator.java
+++ /dev/null
@@ -1,83 +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 Mar 31, 2003
- *
- */
-package org.eclipse.wst.common.internal.emf.resource;
-
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.EStructuralFeature;
-
-/**
- * @author schacher
- */
-public abstract class MultiObjectTranslator extends Translator {
-	private static final Translator[] EMPTY_TRANSLATORS = new Translator[]{};
-
-	/**
-	 * @param domNameAndPath
-	 * @param aFeature
-	 * @param style
-	 */
-	public MultiObjectTranslator(String domNameAndPath, EStructuralFeature aFeature) {
-		super(domNameAndPath, aFeature);
-	}
-
-	public abstract Translator getDelegateFor(EObject o);
-
-	public abstract Translator getDelegateFor(String domName, String readAheadName);
-
-
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.etools.emf2xml.impl.Translator#createEMFObject(java.lang.String,
-	 *      java.lang.String)
-	 */
-	public EObject createEMFObject(String nodeName, String readAheadName) {
-		return getDelegateFor(nodeName, readAheadName).createEMFObject(nodeName, readAheadName);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.etools.emf2xml.impl.Translator#getChildren(java.lang.Object)
-	 */
-	public Translator[] getChildren(Object o, int version) {
-		if (o == null)
-			return EMPTY_TRANSLATORS;
-		return getDelegateFor((EObject) o).getChildren(o, version);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.etools.emf2xml.impl.Translator#getDOMName(java.lang.Object)
-	 */
-	public String getDOMName(Object value) {
-		return getDelegateFor((EObject) value).getDOMName(value);
-	}
-
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.etools.emf2xml.impl.Translator#isManagedByParent()
-	 */
-	public boolean isManagedByParent() {
-		return false;
-	}
-
-
-
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/NamespaceTranslator.java b/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/NamespaceTranslator.java
deleted file mode 100644
index b266883..0000000
--- a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/NamespaceTranslator.java
+++ /dev/null
@@ -1,112 +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 Aug 14, 2003
- *
- */
-package org.eclipse.wst.common.internal.emf.resource;
-
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.wst.common.internal.emf.utilities.Namespace;
-import org.eclipse.wst.common.internal.emf.utilities.NamespaceAdapter;
-
-
-/**
- * @author schacher
- */
-public class NamespaceTranslator extends Translator {
-
-	protected String prefix;
-
-	/**
-	 * @param domNameAndPath
-	 * @param aFeature
-	 */
-	public NamespaceTranslator(String domName) {
-		super(domName, NamespaceAdapter.NOTIFICATION_FEATURE, DOM_ATTRIBUTE);
-		initPrefix();
-	}
-
-	private void initPrefix() {
-		String dName = getDOMName(null);
-		prefix = dName.substring(DefaultTranslatorFactory.XMLNS.length());
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.etools.emf2xml.impl.Translator#setMOFValue(org.eclipse.emf.ecore.EObject,
-	 *      java.lang.Object)
-	 */
-	public void setMOFValue(EObject emfObject, Object value) {
-		NamespaceAdapter.addNamespace(prefix, (String) value, emfObject);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.etools.emf2xml.impl.Translator#isSetMOFValue(org.eclipse.emf.ecore.EObject)
-	 */
-	public boolean isSetMOFValue(EObject emfObject) {
-		return getMOFValue(emfObject) != null;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.etools.emf2xml.impl.Translator#getMOFValue(org.eclipse.emf.ecore.EObject)
-	 */
-	public Object getMOFValue(EObject mofObject) {
-		return NamespaceAdapter.getNamespaceURIAtThisLevel(prefix, mofObject);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.etools.emf2xml.impl.Translator#unSetMOFValue(org.eclipse.emf.ecore.EObject)
-	 */
-	public void unSetMOFValue(EObject emfObject) {
-		NamespaceAdapter.removeNamespace(prefix, emfObject);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.etools.emf2xml.impl.Translator#featureExists(org.eclipse.emf.ecore.EObject)
-	 */
-	public boolean featureExists(EObject emfObject) {
-		return true;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.etools.emf2xml.impl.Translator#isDataType()
-	 */
-	public boolean isDataType() {
-		return true;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.etools.emf2xml.impl.Translator#isMapFor(java.lang.Object, java.lang.Object,
-	 *      java.lang.Object)
-	 */
-	public boolean isMapFor(Object aFeature, Object oldValue, Object newValue) {
-		if (aFeature == feature) {
-			Namespace namespace = (Namespace) (oldValue == null ? newValue : oldValue);
-			if (namespace != null)
-				return prefix.equals(namespace.getPrefix());
-		}
-		return false;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/ObjectTranslatorFilter.java b/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/ObjectTranslatorFilter.java
deleted file mode 100644
index 918b9ce..0000000
--- a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/ObjectTranslatorFilter.java
+++ /dev/null
@@ -1,35 +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 Sep 21, 2003
- *  
- */
-package org.eclipse.wst.common.internal.emf.resource;
-
-
-public final class ObjectTranslatorFilter extends TranslatorFilter {
-
-	public ObjectTranslatorFilter() {
-		super(null, -1);
-	}
-
-	public ObjectTranslatorFilter(Translator trans, int version) {
-		super(trans, version);
-	}
-
-	public final int scanNextTranslator(Translator[] children, int start) {
-		int found = start + 1;
-		for (; found < children.length; ++found) {
-			if (!children[found].isDOMAttribute())
-				break;
-		}
-		found = (found < children.length) ? found : -1;
-		return found;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/ReadAheadHelper.java b/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/ReadAheadHelper.java
deleted file mode 100644
index a7d1a23..0000000
--- a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/ReadAheadHelper.java
+++ /dev/null
@@ -1,92 +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 Apr 2, 2003
- *
- */
-package org.eclipse.wst.common.internal.emf.resource;
-
-/**
- * @author schacher
- */
-public class ReadAheadHelper {
-
-	protected String parentDOMName;
-	protected String[] values;
-	protected String childDOMName;
-
-	public ReadAheadHelper(String parentDOMName, String[] values, String childDOMName) {
-		super();
-		this.parentDOMName = parentDOMName;
-		this.values = values;
-		this.childDOMName = childDOMName;
-	}
-
-	/**
-	 * @return
-	 */
-	public String getChildDOMName() {
-		return childDOMName;
-	}
-
-	/**
-	 * @return
-	 */
-	public String getParentDOMName() {
-		return parentDOMName;
-	}
-
-	/**
-	 * @return
-	 */
-	public String[] getValues() {
-		return values;
-	}
-
-	/**
-	 * @param string
-	 */
-	public void setChildDOMName(String string) {
-		childDOMName = string;
-	}
-
-	/**
-	 * @param string
-	 */
-	public void setParentDOMName(String string) {
-		parentDOMName = string;
-	}
-
-	/**
-	 * @param strings
-	 */
-	public void setValues(String[] strings) {
-		values = strings;
-	}
-
-
-	public boolean nodeValueIsReadAheadName(String nodeName) {
-
-		return (childDOMName != null) ? childDOMName.equals(nodeName) : false;
-	}
-
-	public boolean nodeNameIsReadAheadName(String nodeName) {
-		boolean result = false;
-		for (int i = 0; i < values.length; i++) {
-			if (nodeName.equals(values[i])) {
-				result = true;
-				break;
-			}
-		}
-		return result;
-	}
-
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/ReferencedResource.java b/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/ReferencedResource.java
deleted file mode 100644
index 4aafc23..0000000
--- a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/ReferencedResource.java
+++ /dev/null
@@ -1,128 +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.internal.emf.resource;
-
-
-
-import org.eclipse.emf.ecore.resource.Resource;
-
-public interface ReferencedResource extends Resource, CompatibilityXMIResource {
-	//TODO - rename packaged
-
-	public static final String DELETED_ERROR_MSG = "This resource has been deleted and can no longer be used."; //$NON-NLS-1$
-
-	public static final int RESOURCE_WAS_SAVED = 601;
-	
-	/**
-	 * A flag used to indicate a ReferencedResource is about
-	 * to save.
-	 */
-	public static final int RESOURCE_ABOUT_TO_SAVE = 602;
-	
-	/**
-	 * A flag used to indicate a ReferencedResource has failed
-	 * to save.
-	 */
-	public static final int RESOURCE_SAVE_FAILED = 603;
-
-	/**
-	 * Access this resource for read only. This call increments the use read count of this resource.
-	 * Clients should call this method before they use the resource. They should call
-	 * releaseFromRead() after they are done modifying this resource.
-	 */
-	void accessForRead();
-
-	/**
-	 * Access this resource for write only. This call increments the use write count of this
-	 * resource. Clients should call this method before they modify the resource. They should call
-	 * releaseFromWrite() after they are done modifying this resource.
-	 */
-	void accessForWrite();
-
-	/**
-	 * Return true if this resource has just been loaded and not yet accessed for read or write.
-	 */
-	boolean isNew();
-
-	/**
-	 * Return true if this resource does not have any write references.
-	 */
-	boolean isReadOnly();
-
-	/**
-	 * Return true if this resource is shared for read or write by more than one accessor.
-	 */
-	boolean isShared();
-
-	/**
-	 * Return true if this resource is shared for write by more than one accessor.
-	 */
-	boolean isSharedForWrite();
-
-	/**
-	 * Release read the access to this resource. This call decrements the use count of this resource
-	 * and will remove the resource from its resource set if the use count goes to 0. Clients should
-	 * call this method when they are done accessing the resource and only after they have called
-	 * accessForRead() to obtain access.
-	 */
-	void releaseFromRead();
-
-	/**
-	 * Release write the access to this resource. This call decrements the write count of this
-	 * resource and will remove the resource from its resource set if the use count goes to 0.
-	 * Clients should call this method when they are done accessing the resource and only after they
-	 * have called accessForWrite() to obtain access.
-	 */
-	void releaseFromWrite();
-
-	/**
-	 * Saves this resource only if the write count is equal to 1.
-	 */
-	void saveIfNecessary() throws Exception;
-
-	/**
-	 * Return true if this resource is dirty and is not shared for write.
-	 */
-	boolean needsToSave();
-
-
-
-	/**
-	 * Set whether we should allow a refresh to take place even when this resource is dirty.
-	 * 
-	 * @param b
-	 */
-	void setForceRefresh(boolean b);
-
-	/**
-	 * Return whether we should allow a refresh to take place even when this resource is dirty.
-	 */
-	boolean shouldForceRefresh();
-
-	boolean wasReverted();
-
-	/**
-	 * Returns the number of open read accesses on this resource
-	 * 
-	 * @return
-	 */
-	int getReadCount();
-
-	/**
-	 * Returns the number of open write accesses on this resource
-	 * 
-	 * @return
-	 */
-	int getWriteCount();
-
-	/**
-	 * If the resource is no longer being accessed, then remove it from the resource set.
-	 */
-	void unloadIfNecessary();
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/ReferencedXMIFactoryImpl.java b/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/ReferencedXMIFactoryImpl.java
deleted file mode 100644
index d891c2c..0000000
--- a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/ReferencedXMIFactoryImpl.java
+++ /dev/null
@@ -1,100 +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.internal.emf.resource;
-
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.emf.common.notify.AdapterFactory;
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.emf.ecore.resource.Resource;
-import org.eclipse.emf.ecore.resource.impl.ResourceFactoryImpl;
-
-public class ReferencedXMIFactoryImpl extends ResourceFactoryImpl {
-
-	protected static List globalAdapterFactories;
-	protected List localAdapterFactories;
-
-	/**
-	 * ReferencedXMIFactoryImpl constructor comment.
-	 */
-	public ReferencedXMIFactoryImpl() {
-		super();
-	}
-
-	/**
-	 * This is the method that subclasses can override to actually instantiate a new Resource
-	 * 
-	 * @param uri
-	 * @return
-	 */
-	protected Resource doCreateResource(URI uri) {
-		return new ReferencedXMIResourceImpl(uri);
-	}
-
-	/**
-	 * @see org.eclipse.emf.ecore.resource.impl.ResourceFactoryImpl#createResource(URI)
-	 */
-	public final Resource createResource(URI uri) {
-		Resource res = doCreateResource(uri);
-		adaptNew(res);
-		return res;
-	}
-
-	protected void adaptNew(Resource res) {
-		if (globalAdapterFactories != null) {
-			for (int i = 0; i < globalAdapterFactories.size(); i++) {
-				AdapterFactory factory = (AdapterFactory) globalAdapterFactories.get(i);
-				factory.adaptAllNew(res);
-			}
-		}
-		if (localAdapterFactories != null) {
-			for (int i = 0; i < localAdapterFactories.size(); i++) {
-				AdapterFactory factory = (AdapterFactory) localAdapterFactories.get(i);
-				factory.adaptAllNew(res);
-			}
-		}
-	}
-
-	/**
-	 * The local adapter factory is an adapter factory that you use to only adapt the resource
-	 * specific to the ResourceFactory instance.
-	 * 
-	 * @param factory
-	 */
-	public void addLocalAdapterFactory(AdapterFactory factory) {
-		if (localAdapterFactories == null)
-			localAdapterFactories = new ArrayList(3);
-		localAdapterFactories.add(factory);
-	}
-
-	public void removeLocalAdapterFactory(AdapterFactory factory) {
-		if (localAdapterFactories != null)
-			localAdapterFactories.remove(factory);
-	}
-
-	/**
-	 * A global adapter factory will be used to adapt any resource created by any ResourceFactory
-	 * instance.
-	 * 
-	 * @param factory
-	 */
-	public static void addGlobalAdapterFactory(AdapterFactory factory) {
-		if (globalAdapterFactories == null)
-			globalAdapterFactories = new ArrayList(3);
-		globalAdapterFactories.add(factory);
-	}
-
-	public static void removeGlobalAdapterFactory(AdapterFactory factory) {
-		if (globalAdapterFactories != null)
-			globalAdapterFactories.remove(factory);
-	}
-}
-
diff --git a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/ReferencedXMIResourceImpl.java b/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/ReferencedXMIResourceImpl.java
deleted file mode 100644
index df07748..0000000
--- a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/ReferencedXMIResourceImpl.java
+++ /dev/null
@@ -1,401 +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.internal.emf.resource;
-
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.Notifier;
-import org.eclipse.emf.common.notify.impl.NotificationImpl;
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.resource.Resource;
-import org.eclipse.jem.util.logger.proxy.Logger;
-import org.eclipse.wst.common.internal.emf.utilities.IDUtil;
-
-public class ReferencedXMIResourceImpl extends CompatibilityXMIResourceImpl implements ReferencedResource {
-	//TODO Add toString hook
-	private static final String TO_STRING = "ReferencedXMIResource, file = "; //$NON-NLS-1$
-	private static final String READ_COUNT_TO_STRING = " R= "; //$NON-NLS-1$
-	private static final String WRITE_COUNT_TO_STRING = " W= "; //$NON-NLS-1$
-
-	private int readReferenceCount = 1;
-	private int editReferenceCount = 0;
-	protected boolean isNew = true;
-	protected boolean forceRefresh;
-	
-	  public static class ESynchronizedAdapterList extends EAdapterList
-	  {
-
-	    public ESynchronizedAdapterList(Notifier notifier) {
-			super(notifier);
-		}
-
-		public synchronized boolean add(Object object)
-	    {
-	    return super.add(object);
-	    }
-
-	    public synchronized void add(int index, Object object)
-	    {
-	    super.add(index, object);
-	    }
-
-	    public synchronized boolean addAll(Collection collection)
-	    {
-	    return super.addAll(collection);
-	    }
-
-	    public synchronized boolean remove(Object object)
-	    {
-	    return super.remove(object);
-	    }
-
-	    public synchronized Object remove(int index)
-	    {
-	    return super.remove(index);
-	    }
-
-	    public synchronized boolean removeAll(Collection collection)
-	    {
-	    return super.removeAll(collection);
-	    }
-
-	    public synchronized void clear()
-	    {
-	     super.clear();
-	    }
-
-
-	    public synchronized Object set(int index, Object object)
-	    {
-	    return super.set(index, object);
-	    }
-
-	    public synchronized void move(int newPosition, Object object)
-	    {
-	    super.move(newPosition, object);
-	    }
-
-	    public synchronized Object move(int newPosition, int oldPosition)
-	    {
-	    return super.move(newPosition, oldPosition);
-	    }
-	  }
-
-	 
-	/**
-	 * ReferencableXMIResourceImpl constructor comment.
-	 */
-	public ReferencedXMIResourceImpl() {
-		super();
-	}
-
-	public ReferencedXMIResourceImpl(URI uri) {
-		super(uri);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.common.internal.emf.resource.ReferencedResource#getReadCount()
-	 */
-	public int getReadCount() {
-		return readReferenceCount;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.common.internal.emf.resource.ReferencedResource#getWriteCount()
-	 */
-	public int getWriteCount() {
-		return editReferenceCount;
-	}
-
-
-
-	/*
-	 * @see ReferencedResource#accessForRead
-	 */
-	public void accessForRead() {
-		checkDeleted();
-		if (!isNew())
-			readReferenceCount++;
-		isNew = false;
-	}
-
-	/*
-	 * @see ReferencedResource#accessForWrite
-	 */
-	public void accessForWrite() {
-		checkDeleted();
-		editReferenceCount++;
-		if (isNew)
-			releaseFromRead();
-		isNew = false;
-		if (!isTrackingModification())
-			setTrackingModification(true);
-	}
-
-	/*
-	 * Check if this resource has been removed and throw an exception if it does not have a
-	 * ResourceSet.
-	 */
-	protected void checkDeleted() {
-		if (getResourceSet() == null)
-			throw new RuntimeException(DELETED_ERROR_MSG);
-	}
-
-	/**
-	 *  
-	 */
-	public void collectContainedObjects(java.util.List collecting, EObject parentObject) {
-
-		java.util.Iterator children = parentObject.eContents().iterator();
-		while (children.hasNext()) {
-			EObject child = (EObject) children.next();
-			collecting.add(child);
-			collectContainedObjects(collecting, child);
-		}
-	}
-
-	/**
-	 *  
-	 */
-	public void ensureFullIDHydration() {
-		List allRefObjects = new ArrayList();
-		Iterator rootObjects = getContents().iterator();
-		while (rootObjects.hasNext()) {
-			EObject child = (EObject) rootObjects.next();
-			allRefObjects.add(child);
-			collectContainedObjects(allRefObjects, child);
-		}
-
-		Iterator iter = allRefObjects.iterator();
-		while (iter.hasNext())
-			IDUtil.assignID((EObject) iter.next(), this);
-	}
-
-	/**
-	 * If the resource is no longer being accessed, then remove it from the resource set.
-	 */
-	public void unloadIfNecessary() {
-		if ((getTotalReferenceCount() <= 0) || (editReferenceCount <= 0 && isModified()))
-			unload();
-	}
-
-	/**
-	 * Return the number of write accesses to this resource.
-	 * 
-	 * @return int The number of references.
-	 */
-	protected int getTotalReferenceCount() {
-		return editReferenceCount + readReferenceCount;
-	}
-
-	/*
-	 * @see ReferencedResource#isNew
-	 */
-	public boolean isNew() {
-		return isNew;
-	}
-
-	/*
-	 * @see ReferencedResource#isReadOnly
-	 */
-	public boolean isReadOnly() {
-		return editReferenceCount <= 0;
-	}
-
-	/*
-	 * @see ReferencedResource#isShared
-	 */
-	public boolean isShared() {
-		return getTotalReferenceCount() > 1;
-	}
-
-	/*
-	 * @see ReferencedResource#isSharedForWrite
-	 */
-	public boolean isSharedForWrite() {
-		return editReferenceCount > 1;
-	}
-
-	/**
-	 * @see ReferencedResource#preDelete
-	 */
-	public void preDelete() {
-	}
-
-	/*
-	 * @see ReferencedResource#releaseFromRead
-	 */
-	public void releaseFromRead() {
-		readReferenceCount--;
-		if (readReferenceCount < 0)
-			throw new RuntimeException("Read reference count error:  " + this.toString()); //$NON-NLS-1$
-		unloadIfNecessary();
-	}
-
-	/*
-	 * @see ReferencedResource#releaseFromWrite
-	 */
-	public void releaseFromWrite() {
-		editReferenceCount--;
-		if (editReferenceCount < 0)
-			throw new RuntimeException("Write reference count error:  " + this.toString()); //$NON-NLS-1$
-		unloadIfNecessary();
-	}
-
-	/*
-	 * @see ReferencedResource#saveIfNecessary
-	 */
-	public void saveIfNecessary() throws Exception {
-		if (!isSharedForWrite()) // caller is the only referencer
-			save(Collections.EMPTY_MAP);
-	}
-
-	public String toString() {
-		return TO_STRING + getURI().toString() + READ_COUNT_TO_STRING + new Integer(readReferenceCount) + WRITE_COUNT_TO_STRING + new Integer(editReferenceCount);
-	}
-
-	/*
-	 * @see ReferencedResource#needsToSave()
-	 */
-	public boolean needsToSave() {
-		return isModified() && !isSharedForWrite();
-	}
-
-
-	/**
-	 * @see ReferencedResource#setForceRefresh(boolean)
-	 */
-	public void setForceRefresh(boolean b) {
-		forceRefresh = b;
-	}
-
-	/**
-	 * @see ReferencedResource#shouldForceRefresh()
-	 */
-	public boolean shouldForceRefresh() {
-		return forceRefresh;
-	}
-
-	protected void basicDoLoad(InputStream arg0, Map arg1) throws IOException {
-		boolean isTrackingMods = isTrackingModification();
-		try {
-			if (isTrackingMods)
-				setTrackingModification(false);
-			super.basicDoLoad(arg0, arg1);
-		} finally {
-			if (isTrackingMods)
-				setTrackingModification(true);
-		}
-	}
-
-	/**
-	 * @see org.eclipse.emf.ecore.xmi.impl.XMLResourceImpl#doUnload()
-	 */
-	protected void doUnload() {
-		if (isTrackingModification() && editReferenceCount < 1) //do not turn off modification if
-			// we still have a write count
-			setTrackingModification(false);
-		super.doUnload();
-		setForceRefresh(false);
-		setModified(false); //dcb - this is required to ensure that resources without files are
-		// marked as not modified.
-		if (readReferenceCount == 0 && editReferenceCount == 0)
-			resetAsNew();
-	}
-
-
-	/**
-	 * The resource has been unloaded, and there are no references. Treat the resource like a new
-	 * Resource
-	 */
-	private void resetAsNew() {
-		readReferenceCount = 1;
-		isNew = true;
-	}
-
-	/**
-	 * @see Resource#save(Object)
-	 */
-	public void save(Map options) throws IOException {
-		notifyAboutToSave();
-        try {
-            super.save(options);
-        } catch (Exception e) {
-            notifySaveFailed();
-            if (e instanceof IOException)
-                throw (IOException) e;
-            else
-                Logger.getLogger().write(e);
-        }
-        notifySaved();
-	}
-
-	protected void notifySaved() {
-		notifySaveEvent(RESOURCE_WAS_SAVED);
-	}
-	
-	protected void notifyAboutToSave() {
-        notifySaveEvent(RESOURCE_ABOUT_TO_SAVE);
-    }
-	
-	protected void notifySaveFailed() {
-        notifySaveEvent(RESOURCE_SAVE_FAILED);
-    }
-	
-	private void notifySaveEvent(int eventType) {
-		if (eNotificationRequired()) {
-		  Notification notification =
-			new NotificationImpl(eventType, this, this)
-			{
-			  public Object getNotifier()
-			  {
-				return ReferencedXMIResourceImpl.this;
-			  }
-			  public int getFeatureID(Class expectedClass)
-			  {
-				return eventType;
-			  }
-			};
-			eNotify(notification);
-		}
-	}	
-
-	/**
-	 * @see com.ibm.etools.emf.workbench.ReferencedResource#wasReverted()
-	 */
-	public boolean wasReverted() {
-		return false;
-	}
-	
-	public EList eAdapters()
-	  {
-	    if (eAdapters == null)
-	    {
-	      eAdapters =  new ESynchronizedAdapterList(this);
-	    }
-	    return eAdapters;
-	  }
-
-
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/Renderer.java b/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/Renderer.java
deleted file mode 100644
index 6768cd1..0000000
--- a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/Renderer.java
+++ /dev/null
@@ -1,62 +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.internal.emf.resource;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStream;
-import java.util.Map;
-
-/**
- * Interface that defines the api for rendering an EMF object to XML and vice versa
- */
-public interface Renderer {
-
-	public static final String JAXP_SCHEMA_LANGUAGE = "http://java.sun.com/xml/jaxp/properties/schemaLanguage"; //$NON-NLS-1$
-
-	public static final String W3C_XML_SCHEMA = "http://www.w3.org/2001/XMLSchema"; //$NON-NLS-1$
-
-	void setResource(TranslatorResource aResource);
-
-	TranslatorResource getResource();
-
-	void doLoad(InputStream in, Map options) throws IOException;
-
-	void doSave(OutputStream outputStream, Map options) throws IOException;
-
-	boolean useStreamsForIO();
-
-	void prepareToAddContents();
-
-	int getVersionID();
-
-	boolean isModified();
-
-	void accessForWrite();
-
-	void accessForRead();
-
-	void releaseFromRead();
-
-	void releaseFromWrite();
-
-	void preDelete();
-
-	void preUnload();
-
-	boolean isShared();
-
-	boolean isSharedForWrite();
-
-	void setBatchMode(boolean isBatch);
-	
-	boolean isBatchMode();
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/RendererFactory.java b/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/RendererFactory.java
deleted file mode 100644
index 9f294d3..0000000
--- a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/RendererFactory.java
+++ /dev/null
@@ -1,157 +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.internal.emf.resource;
-
-import java.lang.ref.WeakReference;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Iterator;
-
-
-public abstract class RendererFactory {
-
-	public abstract Renderer createRenderer();
-
-	private static RendererFactory defaultRendererFactory;
-
-	private static RendererFactoryDefaultHandler defaultHandler;
-
-	private boolean validating = true;
-
-	/**
-	 * Interested parties can use the
-	 */
-	public final static Notifier NotificationEngine = Notifier.INSTANCE;
-
-	/**
-	 * @return
-	 */
-	public static RendererFactory getDefaultRendererFactory() {
-		if (defaultRendererFactory == null)
-			defaultRendererFactory = getDefaultHandler().getDefaultRendererFactory();
-		return defaultRendererFactory;
-	}
-
-	/**
-	 * @param factory
-	 */
-	public static void setDefaultRendererFactory(RendererFactory factory) {
-
-		//System.out.println("\n\n***Setting factory: " + factory);
-		NotificationEngine.notifyListeners(factory);
-		defaultRendererFactory = factory;
-	}
-
-	public String toString() {
-		return "RendererFactory instance: " + getClass().getName(); //$NON-NLS-1$
-	}
-
-	public static class Notifier {
-
-		private static final Notifier INSTANCE = new Notifier();
-
-		private final Collection resourceFactoryListeners = new ArrayList();
-
-		private Notifier() {
-		}
-
-		public void notifyListeners(RendererFactory rendererFactory) {
-
-			final int length = resourceFactoryListeners.size();
-			//System.out.println("Notifying " + length + " listeners");
-
-			if (length > 0) {
-				/*
-				 * Since the renderer factories are singletons, this reference check should always
-				 * work
-				 */
-				if (rendererFactory != RendererFactory.getDefaultRendererFactory()) {
-					WeakReference wref = null;
-					Listener listener = null;
-					synchronized (resourceFactoryListeners) {
-						for (Iterator i = resourceFactoryListeners.iterator(); i.hasNext();) {
-							wref = (WeakReference) i.next();
-							listener = (Listener) wref.get();
-							//System.out.println("Notifying Listener: " + listener);
-							if (listener != null)
-								listener.updateRendererFactory(rendererFactory);
-							else
-								i.remove();
-						}
-					}
-				}
-			}
-		}
-
-		public void addListener(Listener l) {
-			//System.out.println("Adding listener: " + l);
-			synchronized (resourceFactoryListeners) {
-				resourceFactoryListeners.add(new WeakReference(l));
-			}
-		}
-
-		public void removeListener(Listener listenerToRemove) {
-			final int length = resourceFactoryListeners.size();
-			if (length > 0) {
-				WeakReference wref = null;
-				Listener listener = null;
-				synchronized (resourceFactoryListeners) {
-					for (Iterator i = resourceFactoryListeners.iterator(); i.hasNext();) {
-						wref = (WeakReference) i.next();
-						listener = (Listener) wref.get();
-						if (listener != null) {
-							if (listener == listenerToRemove) {
-								i.remove();
-								break;
-							}
-						} else {
-							i.remove();
-						}
-					}
-				}
-			}
-		}
-
-	}
-
-	public interface Listener {
-		void updateRendererFactory(RendererFactory newRendererFactory);
-	}
-
-	/**
-	 * @return
-	 */
-	public boolean isValidating() {
-		return validating;
-	}
-
-	/**
-	 * @param b
-	 */
-	public void setValidating(boolean b) {
-		validating = b;
-	}
-
-	/**
-	 * @return
-	 */
-	public static RendererFactoryDefaultHandler getDefaultHandler() {
-		if (defaultHandler == null)
-			defaultHandler = EMF2DOMRendererFactoryDefaultHandler.INSTANCE;
-		return defaultHandler;
-	}
-
-	/**
-	 * @param handler
-	 */
-	public static void setDefaultHandler(RendererFactoryDefaultHandler handler) {
-		defaultHandler = handler;
-	}
-
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/RendererFactoryDefaultHandler.java b/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/RendererFactoryDefaultHandler.java
deleted file mode 100644
index 575df4f..0000000
--- a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/RendererFactoryDefaultHandler.java
+++ /dev/null
@@ -1,30 +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 Dec 1, 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.internal.emf.resource;
-
-
-/**
- * @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 RendererFactoryDefaultHandler {
-
-	RendererFactory getDefaultRendererFactory();
-
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/ResourceFactoryDescriptor.java b/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/ResourceFactoryDescriptor.java
deleted file mode 100644
index 247ae5d..0000000
--- a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/ResourceFactoryDescriptor.java
+++ /dev/null
@@ -1,60 +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.internal.emf.resource;
-
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.emf.ecore.resource.Resource;
-
-public abstract class ResourceFactoryDescriptor {
-	
-	
-	/**
-	 * Returns true if the current descriptor is applicable to the given fileURI.
-	 * 
-	 * @param fileURI The URI of the file to be loaded
-	 * @return True if the current descriptor declares a resource factory applicable to the given URI.
-	 */
-	public abstract boolean isEnabledFor(URI fileURI);
-	
-
-	/**
-	 * The short segment is one possible way that a ResourceFactory
-	 * might apply to a URI. Clients should call {@link isEnabledFor} 
-	 * instead of comparing the short segments when searching for an
-	 * applicable descriptor from a set.  
-	 * 
-	 * <p><b>Subclasses may NOT return null.</b></p>
-	 *  
-	 * @return The short segment that this descriptor is applicable to.
-	 */
-	public abstract String getShortSegment();
-	
-	
-	/**
-	 * The correct instance of Resource.Factory. The instance returned
-	 * may or may not be unique, so if you require the same instance 
-	 * for each call, you should cache the value returned the first
-	 * time from this method. 
-	 * 
-	 * @return An instance of Resource.Factory.
-	 */
-	public abstract Resource.Factory createFactory();
-	
-	public int hashCode() {
-		return getShortSegment().hashCode();
-	}
-	
-	public boolean equals(Object o) {
-		if(o instanceof ResourceFactoryDescriptor)
-			return getShortSegment().equals(((ResourceFactoryDescriptor)o).getShortSegment());
-		return false;
-	}
-}
diff --git a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/RootTranslator.java b/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/RootTranslator.java
deleted file mode 100644
index 18f8d84..0000000
--- a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/RootTranslator.java
+++ /dev/null
@@ -1,62 +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.internal.emf.resource;
-
-import org.eclipse.emf.common.notify.Notifier;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.resource.Resource;
-
-public class RootTranslator extends Translator {
-
-	/**
-	 * Constructor for RootTranslator.
-	 * 
-	 * @param domNameAndPath
-	 * @param eClass
-	 */
-	public RootTranslator(String domNameAndPath, EClass eClass) {
-		super(domNameAndPath, eClass);
-	}
-
-	/**
-	 * @see com.ibm.etools.emf2xml.impl.Translator#setMOFValue(Notifier, Object, int)
-	 */
-	public void setMOFValue(Notifier owner, Object value, int newIndex) {
-		((Resource) owner).getContents().add(newIndex, value);
-	}
-
-	/**
-	 * @see com.ibm.etools.emf2xml.impl.Translator#removeMOFValue(Notifier, Object)
-	 */
-	public void removeMOFValue(Notifier owner, Object value) {
-		((Resource) owner).getContents().remove(value);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.etools.emf2xml.impl.Translator#setMOFValue(org.eclipse.emf.ecore.EObject,
-	 *      java.lang.Object)
-	 */
-	public void setMOFValue(Resource res, Object value) {
-		if (res != null && value != null)
-			res.getContents().add(value);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.etools.emf2xml.impl.Translator#isMultiValued()
-	 */
-	public boolean isMultiValued() {
-		return true;
-	}
-
-
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/SourceLinkTranslator.java b/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/SourceLinkTranslator.java
deleted file mode 100644
index d5d697b..0000000
--- a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/SourceLinkTranslator.java
+++ /dev/null
@@ -1,72 +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 Apr 1, 2003
- *
- */
-package org.eclipse.wst.common.internal.emf.resource;
-
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.EStructuralFeature;
-
-/**
- * @author schacher
- */
-public class SourceLinkTranslator extends Translator {
-
-
-	/**
-	 * @param domNameAndPath
-	 * @param aFeature
-	 * @param path
-	 */
-	public SourceLinkTranslator(String domNameAndPath, EStructuralFeature aFeature, TranslatorPath path) {
-		super(domNameAndPath, aFeature, path);
-	}
-
-	/**
-	 * @param domNameAndPath
-	 * @param aFeature
-	 * @param path
-	 */
-	public SourceLinkTranslator(String domNameAndPath, EStructuralFeature aFeature, TranslatorPath path, int style) {
-		super(domNameAndPath, aFeature, path);
-		fStyle |= style;
-	}
-
-	/**
-	 * @param domNameAndPath
-	 * @param aFeature
-	 * @param style
-	 */
-	public SourceLinkTranslator(String domNameAndPath, EStructuralFeature aFeature, int style) {
-		super(domNameAndPath, aFeature, style);
-	}
-
-	public Object convertStringToValue(String strValue, EObject owner) {
-
-		Object value = null;
-		if (strValue != null)
-			// Find the object with the name that matches matchName
-			value = fTranslatorPaths[0].findObject(owner, strValue.trim());
-		if ((fStyle & Translator.STRING_RESULT_OK) != 0)
-			return ((value != null) ? value : strValue);
-		return value;
-	}
-
-	public String convertValueToString(Object value, EObject owner) {
-		TranslatorPath path = fTranslatorPaths[0];
-		Object attrValue = path.getLastMap().getMOFValue((EObject) value);
-		return path.getLastMap().convertValueToString(attrValue, owner);
-	}
-
-
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/StaticResourceFactoryDescriptor.java b/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/StaticResourceFactoryDescriptor.java
deleted file mode 100644
index 491b4c6..0000000
--- a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/StaticResourceFactoryDescriptor.java
+++ /dev/null
@@ -1,42 +0,0 @@
-package org.eclipse.wst.common.internal.emf.resource;
-
-import org.eclipse.core.runtime.Assert;
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.emf.ecore.resource.Resource;
-
-/**
- * Declares a subclass to create Resource.Factory(ies) from an extension. 
- */
-class StaticResourceFactoryDescriptor extends ResourceFactoryDescriptor {
-	
-	private final String shortSegment;
-	private final Resource.Factory factory;
-	
-	/**
-	 * 
-	 * @param shortSegment A non-null name of the file associated with the given factory
-	 * @param factory A non-null Resource.Factory that can load files of the given name
-	 */
-	public StaticResourceFactoryDescriptor(String shortSegment, Resource.Factory factory) {
-		Assert.isNotNull(shortSegment);
-		Assert.isNotNull(factory);
-		this.shortSegment = shortSegment;
-		this.factory = factory;
-	}  
-
-	public boolean isEnabledFor(URI fileURI) {
-		/* shortSegment must be non-null for the descriptor to be created, 
-		 * a validation check in init() verifies this requirement */
-		if(fileURI != null && fileURI.lastSegment() != null)
-			return shortSegment.equals(fileURI.lastSegment());
-		return false;
-	} 
-	
-	public Resource.Factory createFactory() {
-		 return factory;			
-	}
-
-	public String getShortSegment() {
-		return shortSegment;
-	}  
-}
diff --git a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/Translator.java b/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/Translator.java
deleted file mode 100644
index 685181c..0000000
--- a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/Translator.java
+++ /dev/null
@@ -1,792 +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.internal.emf.resource;
-
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.emf.common.notify.Notifier;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EDataType;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.EReference;
-import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.emf.ecore.EcorePackage;
-import org.eclipse.emf.ecore.impl.EStructuralFeatureImpl;
-import org.eclipse.emf.ecore.resource.Resource;
-import org.eclipse.wst.common.internal.emf.utilities.ExtendedEcoreUtil;
-import org.eclipse.wst.common.internal.emf.utilities.FeatureValueConverter;
-
-
-public class Translator {
-
-	public final static int NO_STYLE = 0;
-	public final static int DOM_ATTRIBUTE = 1;
-	public final static int EMPTY_TAG = 1 << 1;
-	public final static int CDATA_CONTENT = 1 << 2;
-	/**
-	 * Style bit that indicates that the end tag should NOT be indented; by default it is.
-	 */
-	public final static int END_TAG_NO_INDENT = 1 << 3;
-	/**
-	 * Style bit that indicates that booleans should NOT be converted as "True" and "False"; default
-	 * is that they are
-	 */
-	public final static int BOOLEAN_LOWERCASE = 1 << 4;
-	/**
-	 * Style bit that indicates an enum value contains hyphens If this is true, then internally the
-	 * hyphens are replaced with underscores
-	 */
-	public final static int ENUM_FEATURE_WITH_HYPHENS = 1 << 5;
-
-	protected final static int OBJECT_MAP = 1 << 6;
-	protected final static int BOOLEAN_FEATURE = 1 << 7;
-
-	protected final static int SHARED_REFERENCE = 1 << 8;
-
-	/**
-	 * Indicates that the feature may be significant even if it is empty
-	 */
-	public final static int EMPTY_CONTENT_IS_SIGNIFICANT = 1 << 9;
-
-	/**
-	 * Used to indicate that feature is associated with a comment node
-	 */
-	protected final static int COMMENT_FEATURE = 1 << 10;
-
-	/**
-	 * If the value is null, then an eUnset() will be invoked on the feature
-	 */
-	public final static int UNSET_IF_NULL = 1 << 11;
-
-	/**
-	 * Return the element contents as a String if the feature is unresolveable (Used by the
-	 * SourceLinkTranslator)
-	 */
-	public final static int STRING_RESULT_OK = 1 << 12;
-
-	protected String[] fDOMNames;
-	protected String fDOMPath = ""; //$NON-NLS-1$
-	protected Map readAheadNames;
-	protected int fStyle = NO_STYLE;
-	protected EStructuralFeature feature;
-	protected TranslatorPath[] fTranslatorPaths;
-	protected EClass emfClass;
-	protected String fNameSpace = ""; //$NON-NLS-1$
-	// added by MDE
-	protected String domNameAndPath = null;
-
-	/**
-	 * Indicates if any of the children of this Translator are themselves DependencyTranslators
-	 */
-	protected Boolean isDependencyParent;
-	protected EStructuralFeature dependencyFeature;
-	protected static EcorePackage ECORE_PACKAGE = EcorePackage.eINSTANCE;
-
-	// Use this identifier for the DOMName when the attribute
-	// value is to be extracted directly from the text of the node.
-	// This is rare, but occurs in the web.xml in the case of a
-	// WelcomeFile.
-	static final public String TEXT_ATTRIBUTE_VALUE = "$TEXT_ATTRIBUTE_VALUE"; //$NON-NLS-1$
-
-	static final public EStructuralFeature CONTAINER_FEATURE = new ContainerFeature();
-
-	static final public EStructuralFeature ROOT_FEATURE = new RootFeature();
-
-	protected static class ContainerFeature extends EStructuralFeatureImpl {
-		protected ContainerFeature() {
-			super();
-		}
-	}
-
-	protected static class RootFeature extends EStructuralFeatureImpl {
-		protected RootFeature() {
-			super();
-		}
-	}
-
-	public Translator findChild(String tagName, Object target, int versionID) {
-
-		Translator result = null;
-		Translator[] maps = getChildren(target, versionID);
-
-		if (maps != null) {
-			for (int i = 0; i < maps.length; i++) {
-				Translator map = maps[i];
-				if (map.isMapFor(tagName)) {
-					result = map;
-					break;
-				}
-			}
-		}
-		if (result == null) {
-			VariableTranslatorFactory factory = getVariableTranslatorFactory();
-			if (factory != null && factory.accepts(tagName)) {
-				result = factory.create(tagName);
-			}
-		}
-		return result;
-	}
-
-	/**
-	 * Utility method to string together arrays of children
-	 */
-	public static Object[] concat(Object[] array1, Object[] array2) {
-		Object[] result = (Object[]) java.lang.reflect.Array.newInstance(array1.getClass().getComponentType(), array1.length + array2.length);
-		System.arraycopy(array1, 0, result, 0, array1.length);
-		System.arraycopy(array2, 0, result, array1.length, array2.length);
-		return result;
-	}
-
-	public static Object[] concat(Object[] array1, Object object2) {
-		Object[] newArray = new Object[]{object2};
-		return concat(array1, newArray);
-	}
-
-	public static Translator createParentAndTextAttributeTranslator(String domName, EStructuralFeature parentFeature, EStructuralFeature childFeature) {
-		GenericTranslator parent = new GenericTranslator(domName, parentFeature, END_TAG_NO_INDENT);
-		parent.setChildren(new Translator[]{new Translator(TEXT_ATTRIBUTE_VALUE, childFeature)});
-		return parent;
-	}
-
-	public Translator(String domNameAndPath, EClass eClass) {
-		initializeDOMNameAndPath(domNameAndPath);
-		setEMFClass(eClass);
-	}
-
-	public Translator(String domNameAndPath, EStructuralFeature aFeature) {
-		initializeDOMNameAndPath(domNameAndPath);
-		setFeature(aFeature);
-	}
-
-	public Translator(String domNameAndPath, EStructuralFeature aFeature, EClass eClass) {
-		this(domNameAndPath, aFeature);
-		setEMFClass(eClass);
-	}
-
-	public Translator(String domNameAndPath, EStructuralFeature aFeature, TranslatorPath path) {
-		this(domNameAndPath, aFeature, new TranslatorPath[]{path});
-	}
-
-	public Translator(String domNameAndPath, EStructuralFeature aFeature, TranslatorPath[] paths) {
-		initializeDOMNameAndPath(domNameAndPath);
-		fTranslatorPaths = paths;
-		setFeature(aFeature);
-	}
-
-	public Translator(String domNameAndPath, EStructuralFeature aFeature, int style) {
-		initializeDOMNameAndPath(domNameAndPath);
-		fStyle = style;
-		setFeature(aFeature);
-	}
-
-	public static EcorePackage getEcorePackage() {
-		return EcorePackage.eINSTANCE;
-	}
-
-	public String getDOMName(Object value) {
-		return fDOMNames[0];
-	}
-
-	public String[] getDOMNames() {
-		return fDOMNames;
-	}
-
-	public String getDOMPath() {
-		return fDOMPath;
-	}
-
-	public boolean hasDOMPath() {
-		return fDOMPath != null && fDOMPath.length() != 0;
-	}
-
-	public EStructuralFeature getFeature() {
-		return feature;
-	}
-
-	/**
-	 * Parse the DOM names and path out of <domNameAndPath>and set the appropriate fields.
-	 */
-	protected void initializeDOMNameAndPath(String domNameAndPathArg) {
-		if (domNameAndPathArg == null)
-			return;
-		int inx = domNameAndPathArg.lastIndexOf('/');
-		if (inx != -1) {
-			fDOMNames = parseDOMNames(domNameAndPathArg.substring(inx + 1));
-			fDOMPath = domNameAndPathArg.substring(0, inx);
-		} else {
-			fDOMNames = parseDOMNames(domNameAndPathArg);
-			fDOMPath = ""; //$NON-NLS-1$
-		}
-		// added by MDE
-		this.domNameAndPath = domNameAndPathArg;
-
-	}
-
-	/**
-	 * Indicates whether the node should be written as an empty tag; eg, <distributable/>
-	 */
-	public boolean isCDATAContent() {
-		return (fStyle & CDATA_CONTENT) != 0;
-	}
-
-	/**
-	 * Indicates whether the DOMName represents a sub element name or an attribute name
-	 * 
-	 * @return boolean True if the DOMName is an attribute name.
-	 */
-	public boolean isDOMAttribute() {
-		return (fStyle & DOM_ATTRIBUTE) != 0;
-	}
-
-	/**
-	 * Indicates whether the node should be written as an empty tag; eg, <distributable/>
-	 */
-	public boolean isEmptyTag() {
-		return (fStyle & EMPTY_TAG) != 0;
-	}
-
-	public boolean isBooleanUppercase() {
-		return (fStyle & BOOLEAN_FEATURE) != 0 && (fStyle & BOOLEAN_LOWERCASE) == 0;
-	}
-
-	public boolean isBooleanFeature() {
-		return (fStyle & BOOLEAN_FEATURE) != 0;
-	}
-
-	public boolean shouldIndentEndTag() {
-		return (fStyle & END_TAG_NO_INDENT) == 0;
-	}
-
-	public boolean isEmptyContentSignificant() {
-		return ((fStyle & EMPTY_TAG) != 0) || ((fStyle & EMPTY_CONTENT_IS_SIGNIFICANT) != 0);
-	}
-
-	/**
-	 * Returns true if this map is to another MOF object (not a primitive)
-	 */
-	public boolean isObjectMap() {
-		return (fStyle & OBJECT_MAP) != 0;
-	}
-
-	/**
-	 * Returns true if this map is for a shared reference
-	 */
-	public boolean isShared() {
-		return (fStyle & SHARED_REFERENCE) != 0;
-	}
-
-	public boolean isEnumWithHyphens() {
-		return (fStyle & ENUM_FEATURE_WITH_HYPHENS) != 0;
-	}
-
-	/**
-	 * Indicates whether the map represents a case where the text of the DOMNode represents the
-	 * objects one and only attribute value. An example of this case is a <welcome-file>file.txt
-	 * </welcome-file>.
-	 */
-	public boolean isDOMTextValue() {
-		return fDOMNames[0] == TEXT_ATTRIBUTE_VALUE;
-	}
-
-	/**
-	 * Indicates whether the id is the mof attribute that should be set.
-	 */
-	public boolean isIDMap() {
-		return false;
-	}
-
-	/**
-	 * Indicates whether the id is the mof attribute that should be set.
-	 */
-	public boolean isLinkMap() {
-		return fTranslatorPaths != null;
-	}
-
-	public boolean isTargetLinkMap() {
-		return isLinkMap() && !isObjectMap();
-	}
-
-	/**
-	 * Return true if this map is the one representing a node with the name <domName>. By default
-	 * this method simply compares the DOM name of the map against the <domName>parameter
-	 * 
-	 * @return boolean
-	 * @param domName
-	 *            java.lang.String
-	 */
-	public boolean isMapFor(String domName) {
-		if (domName.equals(getDOMPath()))
-			return true;
-		for (int i = 0; i < fDOMNames.length; i++) {
-			if (domName.equals(fDOMNames[i]))
-				return true;
-		}
-		return false;
-	}
-
-	public boolean isMapFor(Object aFeature, Object oldValue, Object newValue) {
-		return feature == aFeature;
-	}
-
-	/**
-	 * Indicates whether feature being mapped is a collection.
-	 * 
-	 * @return boolean True if the feature is multi valued.
-	 */
-	public boolean isMultiValued() {
-		if (feature != null)
-			return feature.isMany();
-		return false;
-	}
-
-	/**
-	 * Parses comma separated names from <domNamesString>. Returns an array containing the names.
-	 * 
-	 * @return java.lang.String[]
-	 * @param domNamesString
-	 *            java.lang.String
-	 */
-	protected String[] parseDOMNames(String domNamesString) {
-		int startInx = 0;
-		int inx = domNamesString.indexOf(',');
-		ArrayList results = new ArrayList(1);
-		while (inx != -1) {
-			results.add(domNamesString.substring(startInx, inx));
-			startInx = inx + 1;
-			inx = domNamesString.indexOf(',', startInx);
-		}
-		if (startInx == 0)
-			results.add(domNamesString);
-		else
-			results.add(domNamesString.substring(startInx));
-		return (String[]) results.toArray(new String[results.size()]);
-	}
-
-	public String toString() {
-		StringBuffer sb = new StringBuffer();
-		String cn = getClass().getName();
-		int i = cn.lastIndexOf('.');
-		cn = cn.substring(++i, cn.length());
-		sb.append(cn);
-		sb.append('(');
-		sb.append(fDOMNames[0]);
-		for (int j = 1; j < fDOMNames.length; j++) {
-			sb.append('|');
-			sb.append(fDOMNames[j]);
-		}
-		sb.append(',');
-		sb.append(hashCode());
-		sb.append(')');
-		return sb.toString();
-	}
-
-	/**
-	 * Gets the TranslatorPath.
-	 * 
-	 * @return Returns a TranslatorPath
-	 */
-	public TranslatorPath[] getTranslatorPaths() {
-		return fTranslatorPaths;
-	}
-
-	/*
-	 * @see Object#equals(Object)
-	 */
-	public boolean equals(Object object) {
-		if (!(object instanceof Translator))
-			return false;
-		Translator mapInfo = (Translator) object;
-		return fDOMNames.equals(mapInfo.getDOMNames()) && (feature == null && mapInfo.getFeature() == null || feature.equals(mapInfo.getFeature()));
-	}
-
-	/**
-	 * Returns the isManagedByParent.
-	 * 
-	 * @return boolean
-	 */
-	public boolean isManagedByParent() {
-		return getChildren(null, -1) == null;
-	}
-
-	/*
-	 * In the 99% case there is only one node name to be concerned with, but subclasses can override
-	 * for the cases where multiple dom names map to one feature
-	 */
-	public EObject createEMFObject(String nodeName, String readAheadName) {
-		if (emfClass == null) {
-			if (feature == null)
-				return null;
-			if (isObjectMap())
-				return createEMFObject(feature);
-		}
-		return createEMFObject(emfClass);
-	}
-
-	public static EObject createEMFObject(EStructuralFeature aFeature) {
-		if (aFeature == null)
-			return null;
-
-		return createEMFObject(((EReference) aFeature).getEReferenceType());
-	}
-
-	public static EObject createEMFObject(EClass anEClass) {
-		if (anEClass == null)
-			return null;
-		return anEClass.getEPackage().getEFactoryInstance().create(anEClass);
-	}
-
-	public void setTextValueIfNecessary(String textValue, Notifier owner, int versionId) {
-		Translator textTranslator = this.findChild(Translator.TEXT_ATTRIBUTE_VALUE, owner, versionId);
-		if (textTranslator != null) {
-			Object objectValue = textTranslator.convertStringToValue(textValue, (EObject) owner);
-			textTranslator.setMOFValue(owner, objectValue);
-		}
-	}
-
-	/**
-	 * Check to see if feature is valid on a particular mofObject.
-	 * 
-	 * @return boolean Return true if the feature specified exists on the MOF object.
-	 * @param emfObject
-	 *            org.eclipse.emf.ecore.EObject
-	 */
-	public boolean featureExists(EObject emfObject) {
-		if (feature == null)
-			return false;
-
-		return emfObject.eClass().getEStructuralFeature(feature.getName()) != null;
-	}
-
-	/**
-	 * Translators which do not have a feature should override this method with custom behavior.
-	 */
-	public String extractStringValue(EObject emfObject) {
-		if (isEmptyTag() && feature == null)
-			return ""; //Fake it out with a value //$NON-NLS-1$
-		return null;
-	}
-
-	public Object convertStringToValue(String nodeName, String readAheadName, String value, Notifier owner) {
-		Object result = null;
-		try {
-
-			if (!this.isManagedByParent()) {
-				result = createEMFObject(nodeName, readAheadName);
-			} else {
-				result = convertStringToValue(value, (EObject) owner);
-			}
-
-		} catch (ClassCastException cce) {
-
-		}
-		return result;
-	}
-
-	/**
-	 * Converts a string value to the appropriate type.
-	 * 
-	 * @return java.lang.Object The converted value
-	 * @param strValue
-	 *            java.lang.String The string to convert.
-	 */
-	public Object convertStringToValue(String strValue, EObject owner) {
-		if (feature == null)
-			return strValue;
-		if (strValue != null) {
-			if (isEnumWithHyphens())
-				strValue = strValue.replace('-', '_');
-			if (!isCDATAContent()) {
-				strValue = strValue.trim();
-			}
-		}
-		Object value = FeatureValueConverter.DEFAULT.convertValue(strValue, feature);
-		if (value == null) {
-			if (isEmptyTag() && !isDOMAttribute() && !isDOMTextValue() && isBooleanFeature())
-				return Boolean.TRUE;
-			EObject convertToType = feature.getEType();
-			if (convertToType == null)
-				value = strValue;
-			else if (convertToType.equals(getEcorePackage().getEString())) {
-				value = ""; //$NON-NLS-1$
-			}
-		}
-		return value;
-	}
-
-	/**
-	 * Converts a value of a specified type to a string value. Subclasses may override for special
-	 * cases where special conversion needs to occur based on the feature and or object type.
-	 * 
-	 * @return String The converted value
-	 * @param value
-	 *            java.lang.Object The object to convert.
-	 */
-	public String convertValueToString(Object value, EObject owner) {
-		if (isEmptyTag() || value == null)
-			return null;
-		else if (isEnumWithHyphens())
-			return value.toString().replace('_', '-');
-		else if (isBooleanUppercase())
-			return ((Boolean) value).booleanValue() ? "True" : "False"; //$NON-NLS-1$ //$NON-NLS-2$
-
-		return value.toString();
-	}
-
-	public Translator[] getVariableChildren(Notifier target, int version) {
-		Translator[] results = null;
-		VariableTranslatorFactory factory = getVariableTranslatorFactory();
-		if (factory != null) {
-			List variableTranslators = factory.create(target);
-			if (variableTranslators != null && variableTranslators.size() > 0) {
-				Object[] vtoa = variableTranslators.toArray();
-
-				results = new Translator[vtoa.length];
-				for (int i = 0; i < results.length; i++)
-					results[i] = (Translator) vtoa[i];
-			}
-
-		}
-		if (results == null)
-			results = new Translator[0];
-		return results;
-	}
-
-	/**
-	 * Returns null by default; subclasses should override to return specific children
-	 */
-	public Translator[] getChildren(Object target, int versionID) {
-		return getChildren();
-	}
-
-	protected Translator[] getChildren() {
-		return null;
-	}
-
-	/**
-	 * Return the list of MOF children that currently exist for the values of an attribute.
-	 */
-	public List getMOFChildren(EObject mofObject) {
-		if (feature == null)
-			return Collections.EMPTY_LIST;
-		Object value = getMOFValue(mofObject);
-		List result = Collections.EMPTY_LIST;
-		if (isMultiValued())
-			result = (List) value;
-		else if (value != null)
-			result = Collections.singletonList(value);
-		return result;
-	}
-
-	public Object getMOFValue(EObject mofObject) {
-		if (feature == null)
-			return null;
-		return mofObject.eGet(feature);
-	}
-
-	/**
-	 * Sets a value of a feature in a mof object.
-	 */
-	public void setMOFValue(Notifier owner, Object value, int newIndex) {
-		if (feature != null) {
-			if ((fStyle & UNSET_IF_NULL) != 0 && value == null)
-				ExtendedEcoreUtil.eUnsetOrRemove((EObject) owner, feature, value);
-			else
-				ExtendedEcoreUtil.eSetOrAdd((EObject) owner, feature, value, newIndex);
-		}
-	}
-
-	public void setMOFValue(Notifier owner, Object value) {
-		if (owner instanceof EObject) {
-			setMOFValue((EObject) owner, value);
-		} else if (owner instanceof Resource) {
-			setMOFValue((Resource) owner, value);
-		}
-	}
-
-	public void setMOFValue(EObject emfObject, Object value) {
-		//		if (feature != null)
-		//			emfObject.eSet(feature, value);
-		setMOFValue(emfObject, value, -1);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.etools.emf2xml.impl.Translator#setMOFValue(org.eclipse.emf.ecore.EObject,
-	 *      java.lang.Object)
-	 */
-	public void setMOFValue(Resource res, Object value) {
-		if (res != null && value != null)
-			res.getContents().add(value);
-	}
-
-	public void removeMOFValue(Notifier owner, Object value) {
-		if (feature != null)
-			ExtendedEcoreUtil.eUnsetOrRemove((EObject) owner, feature, value);
-	}
-
-	public boolean isSetMOFValue(EObject emfObject) {
-		boolean isSet = feature != null && emfObject.eIsSet(feature);
-		if (isEmptyTag())
-			return isSet && ((Boolean) emfObject.eGet(feature)).booleanValue();
-		return isSet;
-	}
-
-	public void unSetMOFValue(EObject emfObject) {
-		if (feature != null)
-			emfObject.eUnset(feature);
-	}
-
-	public void clearList(EObject mofObject) {
-		if (feature != null)
-			((List) mofObject.eGet(feature)).clear();
-	}
-
-	protected void setFeature(EStructuralFeature aFeature) {
-		this.feature = aFeature;
-		if (feature == null)
-			return;
-		//This way an instance check happens only once
-		if (aFeature instanceof EReference) {
-			fStyle |= OBJECT_MAP;
-			if (!((EReference) aFeature).isContainment())
-				fStyle |= SHARED_REFERENCE;
-		}
-
-		if (getEcorePackage().getEBoolean() == feature.getEType())
-			fStyle |= BOOLEAN_FEATURE;
-	}
-
-	protected void setEMFClass(EClass anEClass) {
-		this.emfClass = anEClass;
-		if (anEClass != null)
-			fStyle |= OBJECT_MAP;
-
-	}
-
-	public boolean hasReadAheadNames() {
-		return readAheadNames != null && !readAheadNames.isEmpty();
-	}
-
-	/**
-	 * Return the read ahead names, if they are defined, for a given parent node name. This is used
-	 * when creation of a specific EMF object is dependent on the value of a child node.
-	 */
-	public ReadAheadHelper getReadAheadHelper(String parentName) {
-		if (readAheadNames == null)
-			return null;
-		return (ReadAheadHelper) readAheadNames.get(parentName);
-	}
-
-	public void addReadAheadHelper(ReadAheadHelper helper) {
-		if (readAheadNames == null)
-			readAheadNames = new HashMap(3);
-		readAheadNames.put(helper.getParentDOMName(), helper);
-	}
-
-	public boolean isDependencyChild() {
-		return false;
-	}
-
-	/**
-	 * @return
-	 */
-	public boolean isDependencyParent() {
-		if (isDependencyParent == null) {
-			isDependencyParent = Boolean.FALSE;
-			Translator[] theChildren = getChildren(null, -1);
-			if (theChildren != null) {
-				for (int i = 0; i < theChildren.length; i++) {
-					//For now we assume one
-					if (theChildren[i].isDependencyChild()) {
-						isDependencyParent = Boolean.TRUE;
-						dependencyFeature = theChildren[i].getDependencyFeature();
-					}
-				}
-			}
-		}
-		return isDependencyParent.booleanValue();
-	}
-
-	/**
-	 * @return
-	 */
-	public EStructuralFeature getDependencyFeature() {
-		return dependencyFeature;
-	}
-
-	public EObject basicGetDependencyObject(EObject parent) {
-		return (EObject) parent.eGet(dependencyFeature);
-	}
-
-	/**
-	 * Use when the DOM path is not null, and there are no children. Default is false, but
-	 * subclasses may wish to override
-	 */
-	public boolean shouldRenderEmptyDOMPath(EObject eObject) {
-		return isEmptyContentSignificant();
-	}
-
-	/**
-	 * Use when the translator tolerates parent nodes that relate to the DOM path, and no children;
-	 * default is do nothing
-	 */
-	public void setMOFValueFromEmptyDOMPath(EObject eObject) {
-
-	}
-
-	/**
-	 * Namespace for the attributes
-	 * 
-	 * @return
-	 */
-	public String getNameSpace() {
-		return fNameSpace;
-	}
-
-	/**
-	 * Set the namespace for the dom attribute
-	 * 
-	 * @param string
-	 */
-	public void setNameSpace(String string) {
-		fNameSpace = string;
-	}
-
-	public VariableTranslatorFactory getVariableTranslatorFactory() {
-		if (isObjectMap())
-			return DefaultTranslatorFactory.INSTANCE;
-		return null;
-	}
-
-	public boolean isEnumFeature() {
-		return feature != null && ECORE_PACKAGE.getEEnum().isInstance(feature.getEType());
-	}
-
-	public boolean isUnsettable() {
-		return feature != null && feature.isUnsettable();
-	}
-
-	public boolean isDataType() {
-		return feature != null && feature.getEType() instanceof EDataType;
-	}
-
-	/**
-	 * @return
-	 */
-	public boolean isComment() {
-		return (fStyle & COMMENT_FEATURE) != 0;
-	}
-
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/TranslatorFilter.java b/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/TranslatorFilter.java
deleted file mode 100644
index b12067d..0000000
--- a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/TranslatorFilter.java
+++ /dev/null
@@ -1,220 +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 Sep 21, 2003
- *  
- */
-package org.eclipse.wst.common.internal.emf.resource;
-
-import org.eclipse.emf.ecore.EObject;
-
-
-/*
- * Translator filters can be used to differentiate between Object and Attribute Translators without
- * breaking them out into seperate data structures. The Filter will rely on the underlying data
- * structure used to store the children of the given Translator.
- * 
- * getNextChild() will return null when no other translators of the given genre are available.
- * 
- * The processing hints which are created and then passed to getNext*Translator() store information
- * that needs to be persisted between calls. The createProcessingHints() will create a properly
- * initialized array. The constants NEXT_START_HINT_INDX and MODE_HINT_INDX provide pointers into
- * the array for the NEXT_START position and the proper mode to operate in
- * (STANDARD_TRANSLATORS_MODE or
- *  
- */
-public abstract class TranslatorFilter {
-
-	protected final Translator translator;
-	protected final int version;
-
-	public static final int NEXT_START_HINT_INDX = 0;
-	public static final int MODE_HINT_INDX = 1;
-
-	public static final int STANDARD_TRANSLATORS_MODE = 0;
-	public static final int VARIABLE_TRANSLATORS_MODE = 1;
-
-	/*
-	 * These TranslatorFilters are used in a stateless mode. Only their scanNextTranslator() methods
-	 * will be invoked
-	 */
-	private static final TranslatorFilter objectTranslatorFilter = new ObjectTranslatorFilter(null, -1);
-	private static final TranslatorFilter attributeTranslatorFilter = new AttributeTranslatorFilter(null, -1);
-
-
-	protected int mode = STANDARD_TRANSLATORS_MODE;
-	protected int index = -1;
-
-	protected Translator cachedPeekAheadTranslator = null;
-
-	public TranslatorFilter(Translator trans, int version) {
-		this.translator = trans;
-		this.version = version;
-	}
-
-	/**
-	 * Calling peek twice will advance the current child
-	 */
-	public Translator peekNextChild(EObject target) {
-		cachedPeekAheadTranslator = getNextChild(target);
-		return cachedPeekAheadTranslator;
-	}
-
-	/**
-	 * getNextChild() will return null when no other translators of the given genre are available.
-	 */
-	public Translator getNextChild(EObject target) {
-
-		Translator result = null;
-		if (cachedPeekAheadTranslator != null) {
-			result = cachedPeekAheadTranslator;
-			cachedPeekAheadTranslator = null;
-			return result;
-		}
-
-		int found = 0;
-		Translator children[] = null;
-		switch (mode) {
-			case STANDARD_TRANSLATORS_MODE :
-				children = this.translator.getChildren(target, this.version);
-
-				/* Look for the next Attribute Translator */
-				found = scanNextTranslator(children, this.index);
-
-				if (found >= 0) {
-					/*
-					 * If found, (1) update the result, (2) update the index so we can skip ahead on
-					 * the next invocation (3) escape the VARIABLE_TRANSLATORS processing
-					 */
-					result = children[found];
-					this.index = found;
-					break;
-				}
-				/*
-				 * Reset the index. DO NOT BREAK. Allow entry into VARIABLE_TRANSLATORS case
-				 */
-				this.index = -1;
-				/*
-				 * update the mode to VARIABLE_TRANSLATORS so we can skip to it directly next time
-				 */
-				this.mode = VARIABLE_TRANSLATORS_MODE;
-			case VARIABLE_TRANSLATORS_MODE :
-				children = this.translator.getVariableChildren(target, this.version);
-				found = scanNextTranslator(children, this.index);
-				if (found >= 0) {
-					/*
-					 * If found, (1) update the result, (2) update the index so we can skip ahead on
-					 * the next invocation
-					 */
-					result = children[found];
-					this.index = found;
-				}
-
-		}
-
-		return result;
-	}
-
-	public static final int[] createProcessingHints() {
-		return new int[]{-1, STANDARD_TRANSLATORS_MODE};
-	}
-
-	public static final Translator getNextAttributeTranslator(Translator translator, int startHint, int[] nextHint, EObject target, int version) {
-
-		return TranslatorFilter.getNextChild(translator, startHint, nextHint, target, version, attributeTranslatorFilter);
-	}
-
-	public static final Translator getNextObjectTranslator(Translator translator, int startHint, int[] nextHint, EObject target, int version) {
-
-		return TranslatorFilter.getNextChild(translator, startHint, nextHint, target, version, objectTranslatorFilter);
-	}
-
-	/**
-	 * getNextChild() takes hints on where to begin in the children array of the given Translator.
-	 * When it finds the translator, it will update the hints array with the start hint for the next
-	 * invocation(hints[0]) and when necessary it will use update the mode (hints[1]) to either
-	 * STANDARD_TRANSLATORS or VARIABLE_TRANSLATORS.
-	 * 
-	 * @param translator
-	 * @param startHint
-	 * @param hints
-	 *            a two-element array: hints[0] will be updated with the next startHint and hints[1]
-	 *            will be used to store the mode.
-	 * @param target
-	 * @param version
-	 * @param translatorFilter
-	 * @return
-	 */
-	public static final Translator getNextChild(Translator translator, int startHint, int[] hints, EObject target, int version, TranslatorFilter translatorFilter) {
-
-		Translator result = null;
-
-		int index = startHint;
-		Translator children[] = null;
-
-		switch (hints[MODE_HINT_INDX]) {
-			case STANDARD_TRANSLATORS_MODE :
-				children = translator.getChildren(target, version);
-				if (children != null && startHint < children.length) {
-
-					/* Look for the next Attribute Translator */
-					index = translatorFilter.scanNextTranslator(children, index);
-
-					if (index >= 0) {
-						/*
-						 * If found, (1) update the result, (2) update the index so we can skip
-						 * ahead on the next invocation (3) escape the VARIABLE_TRANSLATORS
-						 * processing
-						 */
-						result = children[index];
-						break;
-					}
-					/*
-					 * DO NOT BREAK we will default to VARIABLE TRANSLATORS MODE so we must reset
-					 * the startHint appropriately
-					 */
-					startHint = -1;
-				}
-
-			case VARIABLE_TRANSLATORS_MODE :
-				hints[MODE_HINT_INDX] = VARIABLE_TRANSLATORS_MODE;
-				/*
-				 * Reset the index.
-				 */
-				index = startHint;
-				children = translator.getVariableChildren(target, version);
-				if (children != null && children.length > 0 && startHint < children.length) {
-					index = translatorFilter.scanNextTranslator(children, index);
-					result = (index >= 0) ? children[index] : null;
-				}
-		}
-
-		hints[NEXT_START_HINT_INDX] = (result == null && children != null) ? children.length : index;
-
-		return result;
-	}
-
-
-	public abstract int scanNextTranslator(Translator[] children, int start);
-
-	/**
-	 * @return
-	 */
-	public int getIndex() {
-		return index;
-	}
-
-	/**
-	 * @return
-	 */
-	public int getMode() {
-		return mode;
-	}
-
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/TranslatorPath.java b/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/TranslatorPath.java
deleted file mode 100644
index a2d843e..0000000
--- a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/TranslatorPath.java
+++ /dev/null
@@ -1,94 +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.internal.emf.resource;
-
-
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.EStructuralFeature;
-
-
-public class TranslatorPath {
-	protected Translator[] mapInfoPath;
-
-	/**
-	 * Construct with an array of Translator that specifies the path to follow from an object to
-	 * another object
-	 */
-	public TranslatorPath(Translator[] path) {
-		mapInfoPath = path;
-	}
-
-	public List findObjects(EObject startObject) {
-		Object cur = startObject;
-		for (int i = 0; i < mapInfoPath.length; i++) {
-			Translator curMap = mapInfoPath[i];
-			if (cur instanceof EObject) {
-				EStructuralFeature curAttr = curMap.getFeature();
-				if (curAttr == Translator.CONTAINER_FEATURE) {
-					curAttr = ((EObject) cur).eContainmentFeature();
-					cur = ((EObject) cur).eContainer();
-				} else if (curAttr == Translator.ROOT_FEATURE) {
-					cur = ((TranslatorResource) startObject.eResource()).getRootObject();
-				} else {
-					cur = ((EObject) cur).eGet(curAttr);
-				}
-				if (curMap.isMultiValued()) {
-					return (List) cur;
-				}
-			}
-		}
-		return null;
-	}
-
-	public Object findObject(EObject startObject, Object matchValue) {
-		List objects = findObjects(startObject);
-		if (objects == null)
-			return null;
-		return findObject(objects, getLastMap(), matchValue);
-	}
-
-	private Object findObject(List objectList, Translator map, Object matchValue) {
-		for (Iterator iter = objectList.iterator(); iter.hasNext();) {
-			EObject mofObject = (EObject) iter.next();
-			Object curMatchValue = mofObject.eGet(map.getFeature());
-			if (matchValue.equals(curMatchValue))
-				return mofObject;
-		}
-		return null;
-	}
-
-	public Translator getLastMap() {
-		return mapInfoPath[mapInfoPath.length - 1];
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see java.lang.Object#toString()
-	 */
-	public String toString() {
-		StringBuffer sb = new StringBuffer();
-		String cn = getClass().getName();
-		int i = cn.lastIndexOf('.');
-		cn = cn.substring(++i, cn.length());
-		sb.append(cn);
-		sb.append('(');
-		sb.append(mapInfoPath[0]);
-		for (int j = 1; j < mapInfoPath.length; j++) {
-			sb.append('\n');
-			sb.append(mapInfoPath[j]);
-		}
-		sb.append(')');
-		return sb.toString();
-	}
-
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/TranslatorResource.java b/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/TranslatorResource.java
deleted file mode 100644
index 32c9c47..0000000
--- a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/TranslatorResource.java
+++ /dev/null
@@ -1,79 +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.internal.emf.resource;
-
-
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.emf.ecore.impl.EStructuralFeatureImpl;
-import org.xml.sax.EntityResolver;
-
-public interface TranslatorResource extends ReferencedResource {
-	/*
-	 * must make a subclass because the constructor for EStructuralFeature is protected
-	 */
-	static class DocTypeFeature extends EStructuralFeatureImpl {
-		protected DocTypeFeature() {
-			super();
-		}
-	}
-
-
-	EStructuralFeature DOC_TYPE_FEATURE = new DocTypeFeature();
-
-	/**
-	 * The public id of the XML document, if specified.
-	 */
-	String getPublicId();
-
-	/**
-	 * Return the first element in the EList.
-	 */
-	EObject getRootObject();
-
-	/**
-	 * The system id of the XML document, if specified.
-	 */
-	String getSystemId();
-
-	/**
-	 * Sets the public id and system id of the XML document.
-	 */
-	void setDoctypeValues(String publicId, String systemId);
-
-	/**
-	 * Sets the default public/system ids if necessary
-	 */
-	void setDefaults();
-
-	/**
-	 * Returns the name that will be in the document type header of the serialized xml file
-	 */
-	String getDoctype();
-
-	/**
-	 * Returns the XML version of this document
-	 */
-	String getXMLVersion();
-
-	Translator getRootTranslator();
-
-	/**
-	 * Entity resolver that can be used when using standard parsers to read the resource
-	 */
-	EntityResolver getEntityResolver();
-
-	boolean usesDTD();
-
-	public int getVersionID();
-
-	void setVersionID(int i);
-
-	Renderer getRenderer();
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/TranslatorResourceFactory.java b/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/TranslatorResourceFactory.java
deleted file mode 100644
index 20a450b..0000000
--- a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/TranslatorResourceFactory.java
+++ /dev/null
@@ -1,68 +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.internal.emf.resource;
-
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.emf.ecore.resource.Resource;
-
-public abstract class TranslatorResourceFactory extends ReferencedXMIFactoryImpl implements RendererFactory.Listener {
-
-	protected RendererFactory rendererFactory;
-	private boolean listeningForUpdates = false;
-
-	/**
-	 * Constructor for TranslatorResourceFactory.
-	 */
-	public TranslatorResourceFactory(RendererFactory aRendererFactory, boolean listeningForUpdates) {
-		super();
-		rendererFactory = aRendererFactory;
-		setListeningForUpdates(listeningForUpdates);
-	}
-
-	/**
-	 * Constructor for TranslatorResourceFactory.
-	 */
-	public TranslatorResourceFactory(RendererFactory aRendererFactory) {
-		this(aRendererFactory, true);
-	}
-
-	public void setListeningForUpdates(boolean shouldBeListeningForUpdates) {
-
-		if (this.listeningForUpdates ^ shouldBeListeningForUpdates) {
-			if (!shouldBeListeningForUpdates)
-				RendererFactory.NotificationEngine.removeListener(this);
-			else
-				RendererFactory.NotificationEngine.addListener(this);
-
-			this.listeningForUpdates = shouldBeListeningForUpdates;
-		}
-	}
-
-	public boolean isListeningForUpdates() {
-		return this.listeningForUpdates;
-	}
-
-	public Resource doCreateResource(URI uri) {
-		Renderer aRenderer = rendererFactory.createRenderer();
-		return createResource(uri, aRenderer);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.etools.emf2xml.RendererFactory.Listener#updateRendererFactory(com.ibm.etools.emf2xml.RendererFactory)
-	 */
-	public void updateRendererFactory(RendererFactory newRendererFactory) {
-		//System.out.println("Updating renderer factory");
-		rendererFactory = newRendererFactory;
-	}
-
-	protected abstract TranslatorResource createResource(URI uri, Renderer aRenderer);
-
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/TranslatorResourceImpl.java b/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/TranslatorResourceImpl.java
deleted file mode 100644
index 1fa8f5f..0000000
--- a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/TranslatorResourceImpl.java
+++ /dev/null
@@ -1,396 +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.internal.emf.resource;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStream;
-import java.util.Collection;
-import java.util.Map;
-
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.impl.NotificationImpl;
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.emf.ecore.EcorePackage;
-import org.eclipse.emf.ecore.InternalEObject;
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-import org.eclipse.emf.ecore.resource.impl.ResourceImpl;
-import org.eclipse.jem.util.logger.proxy.Logger;
-import org.eclipse.wst.common.internal.emf.utilities.StringUtil;
-import org.xml.sax.EntityResolver;
-
-public abstract class TranslatorResourceImpl extends ReferencedXMIResourceImpl implements TranslatorResource {
-	static final public EStructuralFeature ID_FEATURE = EcorePackage.eINSTANCE.getEClass_EIDAttribute();
-	protected static final String DEFAULT_ENCODING = "UTF-8"; //$NON-NLS-1$
-	protected static final String DEFAULT_VERSION = "1.0"; //$NON-NLS-1$
-	protected Renderer renderer;
-	/**
-	 * The public Id to use at the head of the document.
-	 */
-	protected String publicId;
-	/**
-	 * The system Id to use at the head of the document.
-	 */
-	protected String systemId;
-	protected String xmlVersion;
-	// Default the resources to J2EE 1.4
-	protected int versionID;
-
-	/**
-	 * @deprecated since 4/29/2003 - used for compatibility Subclasses should
-	 *             be using the Renderers and translator framework
-	 */
-	public TranslatorResourceImpl() {
-		super();
-	}
-
-	/**
-	 * @deprecated since 4/29/2003 - used for compatibility Subclasses should
-	 *             be using the Renderers and translator framework
-	 */
-	public TranslatorResourceImpl(URI uri) {
-		super(uri);
-	}
-
-	public TranslatorResourceImpl(URI uri, Renderer aRenderer) {
-		super(uri);
-		setRenderer(aRenderer);
-		versionID = getDefaultVersionID();
-	}
-
-	public TranslatorResourceImpl(Renderer aRenderer) {
-		super();
-		setRenderer(aRenderer);
-	}
-
-	public java.lang.String getEncoding() {
-		if (super.getEncoding() == null)
-			setEncoding(DEFAULT_ENCODING);
-		return super.getEncoding();
-	}
-
-	public String getPublicId() {
-		return publicId;
-	}
-
-	/**
-	 * Return the first element in the EList.
-	 */
-	public EObject getRootObject() {
-		if (contents == null || contents.isEmpty())
-			return null;
-		return (EObject) getContents().get(0);
-	}
-
-	public String getSystemId() {
-		return systemId;
-	}
-
-	public void setDoctypeValues(String aPublicId, String aSystemId) {
-		boolean changed = !(StringUtil.stringsEqual(publicId, aPublicId) && StringUtil.stringsEqual(systemId, aSystemId));
-		publicId = aPublicId;
-		systemId = aSystemId;
-		if (changed) {
-			eNotify(new NotificationImpl(Notification.SET, null, null) {
-				public Object getFeature() {
-					return DOC_TYPE_FEATURE;
-				}
-
-				public Object getNotifier() {
-					return TranslatorResourceImpl.this;
-				}
-			});
-		}
-	}
-
-	/**
-	 * Returns the xmlVersion.
-	 * 
-	 * @return String
-	 */
-	public String getXMLVersion() {
-		if (xmlVersion == null)
-			xmlVersion = DEFAULT_VERSION;
-		return xmlVersion;
-	}
-
-	/**
-	 * Sets the xmlVersion.
-	 * 
-	 * @param xmlVersion
-	 *            The xmlVersion to set
-	 */
-	public void setXMLVersion(String xmlVersion) {
-		this.xmlVersion = xmlVersion;
-	}
-
-	protected void basicDoLoad(InputStream inputStream, Map options) throws IOException {
-		// long start = System.currentTimeMillis();
-		boolean isTrackingMods = isTrackingModification();
-		try {
-			if (isTrackingMods)
-				setTrackingModification(false);
-			renderer.doLoad(inputStream, options);
-		}
-		finally {
-			if (isTrackingMods)
-				setTrackingModification(true);
-		}
-		// long end = System.currentTimeMillis();
-		// recordTime("Load", start, end);
-	}
-
-	public void save(Map options) throws IOException {
-        if (renderer.useStreamsForIO()) {
-            super.save(options);
-        } else {
-            notifyAboutToSave();
-            try {
-                doSave((OutputStream)null, options);
-                notifySaved();
-            } catch (Exception e) {
-                 notifySaveFailed();
-                if (e instanceof IOException)
-                    throw (IOException) e;
-                else
-                    Logger.getLogger().write(e);
-            }
-            notifySaved();
-        }
-    }
-
-
-	/**
-	 * @see com.ibm.etools.xmi.helpers.CompatibilityXMIResourceImpl#doSave(OutputStream,
-	 *      Map)
-	 */
-	public void doSave(OutputStream outputStream, Map options) throws IOException {
-		// long start = System.currentTimeMillis();
-		renderer.doSave(outputStream, options);
-		setModified(false);
-		// long end = System.currentTimeMillis();
-		// recordTime("Save", start, end);
-	}
-
-	// private void recordTime(String type, long start, long end) {
-	// System.out.println(renderer.getClass().getName() + "\t" + type + "\t" +
-	// (end - start) +
-	// "\t\t\tms" + "\t" + (( this.getVersionID()) / 10.0) + "\t" + this);
-	// //$NON-NLS-1$
-	// //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$
-	// }
-
-	/**
-	 * @see org.eclipse.emf.ecore.xmi.impl.XMLResourceImpl#doUnload()
-	 */
-	protected void doUnload() {
-		renderer.preUnload();
-		super.doUnload();
-	}
-
-	public String toString() {
-		return getClass().getName() + getURI().toString();
-	}
-
-	/**
-	 * Returns the renderer.
-	 * 
-	 * @return Renderer
-	 */
-	public Renderer getRenderer() {
-		return renderer;
-	}
-
-	/**
-	 * Sets the renderer.
-	 * 
-	 * @param renderer
-	 *            The renderer to set
-	 */
-	public void setRenderer(Renderer renderer) {
-		this.renderer = renderer;
-		if (renderer.getResource() != this)
-			renderer.setResource(this);
-	}
-
-	/**
-	 * For compatibility of old subtype resources, returns the super
-	 * implementation
-	 * 
-	 * @return
-	 */
-	protected EList primGetContents() {
-		return super.getContents();
-	}
-
-	public EList getContents() {
-		waitForResourceToLoadIfNecessary();
-		if (contents == null) {
-			initializeContents();
-		}
-		return contents;
-	}
-
-	protected void initializeContents() {
-		contents = new ResourceImpl.ContentsEList() {
-			public boolean add(Object object) {
-				renderer.prepareToAddContents();
-				return super.add(object);
-			}
-
-			public boolean addAll(Collection collection) {
-				renderer.prepareToAddContents();
-				return super.addAll(collection);
-			}
-		};
-	}
-
-	public void setDefaults() {
-		if (systemId != null && publicId != null)
-			return;
-		String pubId = publicId == null ? getDefaultPublicId() : publicId;
-		String sysId = systemId == null ? getDefaultSystemId() : systemId;
-		setDoctypeValues(pubId, sysId);
-	}
-
-	/**
-	 * @see org.eclipse.emf.ecore.xmi.impl.XMLResourceImpl#init()
-	 */
-	protected void init() {
-		super.init();
-		setEncoding(DEFAULT_ENCODING);
-	}
-
-	/**
-	 * Returns null by default; subclasses can override
-	 * 
-	 * @see com.ibm.etools.emf2xml.TranslatorResource#createEntityResolver()
-	 */
-	public EntityResolver getEntityResolver() {
-		return null;
-	}
-
-	protected abstract String getDefaultPublicId();
-
-	protected abstract String getDefaultSystemId();
-
-	protected abstract int getDefaultVersionID();
-
-	/**
-	 * @return
-	 */
-	public int getVersionID() {
-		return versionID;
-	}
-
-	/**
-	 * @param i
-	 */
-	public void setVersionID(int i) {
-		versionID = i;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.etools.emf2xml.TranslatorResource#usesDTD()
-	 */
-	public boolean usesDTD() {
-		return getPublicId() != null && getSystemId() != null;
-	}
-
-	/**
-	 * Overridden to notify when the ID gets set; need this to push it into
-	 * the resource
-	 * 
-	 * @see org.eclipse.emf.ecore.xmi.XMLResource#setID(EObject, String)
-	 */
-	public void setID(EObject eObject, String id) {
-		String oldId = getID(eObject);
-		super.setID(eObject, id);
-		eObject.eNotify(new ENotificationImpl((InternalEObject) eObject, Notification.SET, ID_FEATURE, oldId, id));
-	}
-
-	/**
-	 * This method indicates whether or not the extent associated with the
-	 * resource has been modified since the last time it was loaded or saved.
-	 * 
-	 * @return boolean
-	 */
-	public boolean isModified() {
-		return super.isModified() || renderer.isModified();
-	}
-
-	/*
-	 * Overriden to give the renderer a hook
-	 * 
-	 * @see org.eclipse.wst.common.internal.emf.resource.ReferencedResource#accessForWrite()
-	 */
-	public void accessForWrite() {
-		renderer.accessForWrite();
-		super.accessForWrite();
-	}
-
-	/*
-	 * Overriden to give the renderer a hook
-	 * 
-	 * @see org.eclipse.wst.common.internal.emf.resource.ReferencedResource#accessForRead()
-	 */
-	public void accessForRead() {
-		renderer.accessForRead();
-		super.accessForRead();
-	}
-
-	public void releaseFromRead() {
-		renderer.releaseFromRead();
-		super.releaseFromRead();
-	}
-
-	public void releaseFromWrite() {
-		renderer.releaseFromWrite();
-		super.releaseFromWrite();
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.etools.emf.workbench.ReferencedXMIResourceImpl#preDelete()
-	 */
-	public void preDelete() {
-		super.preDelete();
-		renderer.preDelete();
-	}
-
-	public boolean isShared() {
-		return super.isShared() || renderer.isShared();
-	}
-
-	public boolean isSharedForWrite() {
-		return super.isSharedForWrite() || renderer.isSharedForWrite();
-	}
-
-	public void load(Map options) throws IOException {
-		synchronized (this) {
-			if (isLoaded)
-				return;
-			// System.out.println(Thread.currentThread() + "
-			// TranslatorResource.load(): " + this);
-			if (renderer.useStreamsForIO()) {
-				super.load(options);
-			}
-			else if (!isLoaded) {
-				load((InputStream) null, options);
-			}
-		}
-
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/UnsupportedFeature.java b/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/UnsupportedFeature.java
deleted file mode 100644
index 43c5864..0000000
--- a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/UnsupportedFeature.java
+++ /dev/null
@@ -1,43 +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 Apr 13, 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.internal.emf.resource;
-
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.impl.EAttributeImpl;
-
-/**
- * @author cbridgha
- * 
- * TODO To change the template for this generated type comment go to Window - Preferences - Java -
- * Code Generation - Code and Comments
- */
-public class UnsupportedFeature extends EAttributeImpl {
-	/**
-	 * This is used to capture features that are no longer supported
-	 */
-	public static boolean isUnsupported(EClass anEClass, String featureName) {
-
-		if (featureName.equals("isZeroParams") && anEClass.getName().equals("MethodElement")) //$NON-NLS-1$ //$NON-NLS-2$
-			return true;
-		return false;
-	}
-
-	public UnsupportedFeature() {
-		super();
-		// TODO Auto-generated constructor stub
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/VariableTranslatorFactory.java b/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/VariableTranslatorFactory.java
deleted file mode 100644
index 1a4eef9..0000000
--- a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/VariableTranslatorFactory.java
+++ /dev/null
@@ -1,42 +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 Aug 20, 2003
- *
- */
-package org.eclipse.wst.common.internal.emf.resource;
-
-import java.util.List;
-
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.Notifier;
-
-
-/**
- * @author schacher
- */
-public interface VariableTranslatorFactory {
-	/** Returns whether a Translator should be created for the given DOM name */
-	boolean accepts(String domName);
-
-	/** Returns whether a Translator should be created for the given feature */
-	boolean accepts(Notification notif);
-
-	Translator create(Notification notif);
-
-	/** Creates a new Translator for the DOM name */
-	Translator create(String domName);
-
-	/** Creates variable translators for an EMF object to be rendered */
-	List create(Notifier target);
-
-
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/XMLEncoderDecoder.java b/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/XMLEncoderDecoder.java
deleted file mode 100644
index 7898757..0000000
--- a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/resource/XMLEncoderDecoder.java
+++ /dev/null
@@ -1,170 +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 20, 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.internal.emf.resource;
-
-/**
- * @author mdelder
- *  
- */
-public class XMLEncoderDecoder {
-
-	/**
-	 *  
-	 */
-	public XMLEncoderDecoder() {
-		super();
-	}
-
-	/**
-	 * Identifies the last printable character in the Unicode range that is supported by the
-	 * encoding used with this serializer. For 8-bit encodings this will be either 0x7E or 0xFF. For
-	 * 16-bit encodings this will be 0xFFFF. Characters that are not printable will be escaped using
-	 * character references.
-	 */
-	private int _lastPrintable = 0xFFFE;
-
-	protected static XMLEncoderDecoder _singleton;
-
-
-	/**
-	 * Returns a decoded version of the value.
-	 */
-	public String decode(String value) {
-		// NOT_IMPLEMENTED
-		return value;
-	}
-
-
-	/**
-	 * Escapes a string so it may be printed as text content or attribute value. Non printable
-	 * characters are escaped using character references. Where the format specifies a deault entity
-	 * reference, that reference is used (e.g. <tt>&amp;lt;</tt>).
-	 * 
-	 * @param source
-	 *            The string to escape
-	 */
-	public char[] encode(char[] value) {
-		boolean unmodified = true;
-		StringBuffer sbuf = new StringBuffer(value.length);
-		String charRef = null;
-		char ch;
-		for (int i = 0; i < value.length; ++i) {
-			ch = value[i];
-			// If there is a suitable entity reference for this
-			// character, print it. The list of available entity
-			// references is almost but not identical between
-			// XML and HTML.
-			charRef = getEntityRef(ch);
-			if (charRef != null) {
-				sbuf.append('&');
-				sbuf.append(charRef);
-				sbuf.append(';');
-				unmodified = false;
-			} else if ((ch >= ' ' && ch <= _lastPrintable && ch != 0xF7) || ch == '\n' || ch == '\r' || ch == '\t') {
-				// If the character is not printable, print as character
-				// reference.
-				// Non printables are below ASCII space but not tab or line
-				// terminator, ASCII delete, or above a certain Unicode
-				// threshold.
-				sbuf.append(ch);
-			} else {
-				sbuf.append("&#");//$NON-NLS-1$
-				sbuf.append(Integer.toString(ch));
-				sbuf.append(';');
-				unmodified = false;
-			}
-		}
-		if (unmodified)
-			return value;
-		char[] result = new char[sbuf.length()];
-		sbuf.getChars(0, sbuf.length(), result, 0);
-		return result;
-	}
-
-	/**
-	 * Escapes a string so it may be printed as text content or attribute value. Non printable
-	 * characters are escaped using character references. Where the format specifies a deault entity
-	 * reference, that reference is used (e.g. <tt>&amp;lt;</tt>).
-	 * 
-	 * @param source
-	 *            The string to escape
-	 */
-	public String encode(String value) {
-		StringBuffer sbuf = new StringBuffer(value.length());
-		String charRef = null;
-		char ch;
-		for (int i = 0; i < value.length(); ++i) {
-			ch = value.charAt(i);
-			// If there is a suitable entity reference for this
-			// character, print it. The list of available entity
-			// references is almost but not identical between
-			// XML and HTML.
-			charRef = getEntityRef(ch);
-			if (charRef != null) {
-				sbuf.append('&');
-				sbuf.append(charRef);
-				sbuf.append(';');
-			} else if ((ch >= ' ' && ch <= _lastPrintable && ch != 0xF7) || ch == '\n' || ch == '\r' || ch == '\t') {
-				// If the character is not printable, print as character
-				// reference.
-				// Non printables are below ASCII space but not tab or line
-				// terminator, ASCII delete, or above a certain Unicode
-				// threshold.
-				sbuf.append(ch);
-			} else {
-				sbuf.append("&#");//$NON-NLS-1$
-				sbuf.append(Integer.toString(ch));
-				sbuf.append(';');
-			}
-		}
-		return sbuf.toString();
-	}
-
-	public static String escape(String value) {
-		if (_singleton == null) {
-			_singleton = new XMLEncoderDecoder();
-		}
-		return _singleton.encode(value);
-	}
-
-	/**
-	 * Returns the suitable entity reference for this character value, or null if no such entity
-	 * exists. Calling this method with <tt>'&amp;'</tt> will return <tt>"&amp;amp;"</tt>.
-	 * 
-	 * @param ch
-	 *            Character value
-	 * @return Character entity name, or null
-	 */
-	protected String getEntityRef(char ch) {
-		// Encode special XML characters into the equivalent character
-		// references.
-		// These five are defined by default for all XML documents.
-		switch (ch) {
-			case '<' :
-				return "lt";//$NON-NLS-1$
-			case '>' :
-				return "gt";//$NON-NLS-1$
-			case '"' :
-				return "quot";//$NON-NLS-1$
-			case '\'' :
-				return "apos";//$NON-NLS-1$
-			case '&' :
-				return "amp";//$NON-NLS-1$
-		}
-		return null;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/AdapterFactoryDescriptor.java b/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/AdapterFactoryDescriptor.java
deleted file mode 100644
index a852031..0000000
--- a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/AdapterFactoryDescriptor.java
+++ /dev/null
@@ -1,17 +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.internal.emf.utilities;
-
-import org.eclipse.emf.common.notify.AdapterFactory;
-
-public interface AdapterFactoryDescriptor {
-
-	public AdapterFactory createAdapterFactory();
-
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/AdapterFactoryUtil.java b/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/AdapterFactoryUtil.java
deleted file mode 100644
index 706f9ea..0000000
--- a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/AdapterFactoryUtil.java
+++ /dev/null
@@ -1,45 +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.internal.emf.utilities;
-
-import java.util.List;
-
-import org.eclipse.emf.common.notify.AdapterFactory;
-import org.eclipse.emf.common.notify.Notifier;
-
-public class AdapterFactoryUtil {
-
-	/**
-	 * Constructor for AdapterFactoryUtil.
-	 */
-	public AdapterFactoryUtil() {
-		super();
-	}
-
-	public static void adaptNew(Notifier newObject, List factories) {
-		AdapterFactory fact;
-		for (int i = 0; i < factories.size(); i++) {
-			fact = (AdapterFactory) factories.get(i);
-			fact.adaptNew(newObject, null);
-		}
-	}
-
-	public static void createAdapterFactories(List descriptors, List factories) {
-		AdapterFactoryDescriptor desc;
-		AdapterFactory adapterFact;
-		for (int i = 0; i < descriptors.size(); i++) {
-			desc = (AdapterFactoryDescriptor) descriptors.get(i);
-			adapterFact = desc.createAdapterFactory();
-			if (adapterFact != null)
-				factories.add(adapterFact);
-		}
-		descriptors.clear();
-	}
-
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/ArrayUtil.java b/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/ArrayUtil.java
deleted file mode 100644
index 847b88d..0000000
--- a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/ArrayUtil.java
+++ /dev/null
@@ -1,46 +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.internal.emf.utilities;
-
-
-
-public class ArrayUtil {
-
-	public static Object[] concat(Object[] array1, Object[] array2) {
-		Class componentType = null;
-		if (array1.getClass().getComponentType() == array2.getClass().getComponentType())
-			componentType = array1.getClass().getComponentType();
-		else
-			componentType = Object.class;
-
-		return concat(array1, array2, componentType);
-	}
-
-	public static Object[] concat(Object[] array1, Object[] array2, Class componentType) {
-		Object[] result = (Object[]) java.lang.reflect.Array.newInstance(componentType, array1.length + array2.length);
-		System.arraycopy(array1, 0, result, 0, array1.length);
-		System.arraycopy(array2, 0, result, array1.length, array2.length);
-		return result;
-	}
-
-	public static Object[] concatAll(java.util.List arrays, Class componentType) {
-		int resultLength = 0;
-		for (int i = 0; i < arrays.size(); i++) {
-			resultLength += ((Object[]) arrays.get(i)).length;
-		}
-		Object[] result = (Object[]) java.lang.reflect.Array.newInstance(componentType, resultLength);
-		int pos = 0;
-		for (int i = 0; i < arrays.size(); i++) {
-			Object[] array = (Object[]) arrays.get(i);
-			System.arraycopy(array, 0, result, pos, array.length);
-			pos += array.length;
-		}
-		return result;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/Assert.java b/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/Assert.java
deleted file mode 100644
index b375851..0000000
--- a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/Assert.java
+++ /dev/null
@@ -1,131 +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.internal.emf.utilities;
-
-import org.eclipse.jem.util.logger.proxy.Logger;
-
-
-
-/**
- * <code>Assert</code> is useful for for embedding runtime sanity checks in code. The predicate
- * methods all test a condition and throw some type of unchecked exception if the condition does not
- * hold.
- * <p>
- * Assertion failure exceptions, like most runtime exceptions, are thrown when something is
- * misbehaving. Assertion failures are invariably unspecified behavior; consequently, clients should
- * never rely on these being thrown (and certainly should not being catching them specifically).
- * </p>
- */
-// This class was, originally, copied directly from com.ibm.itp.common.
-// It was copied to our own package just to minimize minor dependencies
-// on other packages and internal APIs.
-public final class Assert {
-	/* This class is not intended to be instantiated. */
-
-	private Assert() {
-	}
-
-	/**
-	 * Asserts that an argument is legal. If the given boolean is not <code>true</code>, an
-	 * <code>IllegalArgumentException</code> is thrown.
-	 * 
-	 * @param expression
-	 *            the outcode of the check
-	 * @return <code>true</code> if the check passes (does not return if the check fails)
-	 * @exception IllegalArgumentException
-	 *                if the legality test failed
-	 */
-	public static boolean isLegal(boolean expression) {
-		return isLegal(expression, "");//$NON-NLS-1$
-	}
-
-	/**
-	 * Asserts that an argument is legal. If the given boolean is not <code>true</code>, an
-	 * <code>IllegalArgumentException</code> is thrown. The given message is included in that
-	 * exception, to aid debugging.
-	 * 
-	 * @param expression
-	 *            the outcode of the check
-	 * @param message
-	 *            the message to include in the exception
-	 * @return <code>true</code> if the check passes (does not return if the check fails)
-	 * @exception IllegalArgumentException
-	 *                if the legality test failed
-	 */
-	public static boolean isLegal(boolean expression, String message) {
-		if (!expression)
-			throw new IllegalArgumentException();
-		return expression;
-	}
-
-	/**
-	 * Asserts that the given object is not <code>null</code>. If this is not the case, some kind
-	 * of unchecked exception is thrown.
-	 * 
-	 * @param object
-	 *            the value to test
-	 * @exception IllegalArgumentException
-	 *                if the object is <code>null</code>
-	 */
-	public static void isNotNull(Object object) {
-		isNotNull(object, "");//$NON-NLS-1$
-	}
-
-	/**
-	 * Asserts that the given object is not <code>null</code>. If this is not the case, some kind
-	 * of unchecked exception is thrown. The given message is included in that exception, to aid
-	 * debugging.
-	 * 
-	 * @param object
-	 *            the value to test
-	 * @param message
-	 *            the message to include in the exception
-	 * @exception IllegalArgumentException
-	 *                if the object is <code>null</code>
-	 */
-	public static void isNotNull(Object object, String message) {
-		if (object == null) {
-			Logger.getLogger().logError("null_argument: " + message);//$NON-NLS-1$
-			throw new AssertionFailedException();
-		}
-	}
-
-	/**
-	 * Asserts that the given boolean is <code>true</code>. If this is not the case, some kind of
-	 * unchecked exception is thrown.
-	 * 
-	 * @param expression
-	 *            the outcode of the check
-	 * @return <code>true</code> if the check passes (does not return if the check fails)
-	 */
-	public static boolean isTrue(boolean expression) {
-		return isTrue(expression, "");//$NON-NLS-1$
-	}
-
-	/**
-	 * Asserts that the given boolean is <code>true</code>. If this is not the case, some kind of
-	 * unchecked exception is thrown. The given message is included in that exception, to aid
-	 * debugging.
-	 * 
-	 * @param expression
-	 *            the outcode of the check
-	 * @param message
-	 *            the message to include in the exception
-	 * @return <code>true</code> if the check passes (does not return if the check fails)
-	 */
-	public static boolean isTrue(boolean expression, String message) {
-		if (!expression) {
-			Logger.getLogger().logError("assertion failed: " + message);//$NON-NLS-1$
-			throw new AssertionFailedException();
-		}
-		return expression;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/AssertionFailedException.java b/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/AssertionFailedException.java
deleted file mode 100644
index 044c60d..0000000
--- a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/AssertionFailedException.java
+++ /dev/null
@@ -1,39 +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.internal.emf.utilities;
-
-
-/**
- * <code>AssertionFailedException</code> is a runtime exception thrown by some of the methods in
- * <code>Assert</code>.
- * <p>
- * This class is not declared public to prevent some misuses; programs that catch or otherwise
- * depend on assertion failures are susceptible to unexpected breakage when assertions in the code
- * are added or removed.
- * </p>
- */
-// This class was, originally, copied directly from com.ibm.itp.common.
-// It was copied to our own package just to minimize minor dependencies
-// on other packages and internal APIs.
-class AssertionFailedException extends RuntimeException {
-	/**
-	 * Constructs a new exception.
-	 */
-	public AssertionFailedException() {
-	}
-
-	/**
-	 * Constructs a new exception with the given message.
-	 */
-	public AssertionFailedException(String detail) {
-		super(detail);
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/Association.java b/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/Association.java
deleted file mode 100644
index 485d0c3..0000000
--- a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/Association.java
+++ /dev/null
@@ -1,68 +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.internal.emf.utilities;
-
-/**
- * Insert the type's description here. Creation date: (12/17/2000 7:38:15 PM)
- * 
- * @author: Administrator
- */
-public class Association {
-	protected Object key;
-	protected Object value;
-
-	/**
-	 * Association constructor comment.
-	 */
-	public Association(Object aKey, Object aValue) {
-		setKey(aKey);
-		setValue(aValue);
-	}
-
-	/**
-	 * Insert the method's description here. Creation date: (12/17/2000 7:38:48 PM)
-	 * 
-	 * @return java.lang.Object
-	 */
-	public java.lang.Object getKey() {
-		return key;
-	}
-
-	/**
-	 * Insert the method's description here. Creation date: (12/17/2000 7:38:48 PM)
-	 * 
-	 * @return java.lang.Object
-	 */
-	public java.lang.Object getValue() {
-		return value;
-	}
-
-	/**
-	 * Insert the method's description here. Creation date: (12/17/2000 7:38:48 PM)
-	 * 
-	 * @param newKey
-	 *            java.lang.Object
-	 */
-	public void setKey(java.lang.Object newKey) {
-		key = newKey;
-	}
-
-	/**
-	 * Insert the method's description here. Creation date: (12/17/2000 7:38:48 PM)
-	 * 
-	 * @param newValue
-	 *            java.lang.Object
-	 */
-	public void setValue(java.lang.Object newValue) {
-		value = newValue;
-	}
-}
-
diff --git a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/CloneablePublic.java b/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/CloneablePublic.java
deleted file mode 100644
index b243775..0000000
--- a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/CloneablePublic.java
+++ /dev/null
@@ -1,24 +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 Sep 22, 2003
- *
- */
-package org.eclipse.wst.common.internal.emf.utilities;
-
-/**
- * Interface that exposes the clone method, for objects that need to generically copy other
- * cloneable objects
- */
-public interface CloneablePublic extends Cloneable {
-	Object clone();
-
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/CommandContext.java b/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/CommandContext.java
deleted file mode 100644
index 913139c..0000000
--- a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/CommandContext.java
+++ /dev/null
@@ -1,85 +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 Apr 27, 2004
- */
-package org.eclipse.wst.common.internal.emf.utilities;
-
-import java.util.HashMap;
-import java.util.Map;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.emf.ecore.resource.ResourceSet;
-import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
-
-
-
-/**
- * @author John Mourra
- */
-public class CommandContext implements ICommandContext {
-
-	private IProgressMonitor monitor;
-	private Map properties;
-	private ResourceSet resourceSet;
-
-	/**
-	 * @param monitor
-	 */
-	public CommandContext(IProgressMonitor monitor) {
-		this(monitor, null, null);
-	}
-
-	/**
-	 * @param monitor
-	 * @param configurationProperties
-	 * @param resourceSet
-	 */
-	public CommandContext(IProgressMonitor monitor, Map configurationProperties, ResourceSet resourceSet) {
-		this.monitor = monitor;
-		this.properties = configurationProperties;
-		this.resourceSet = resourceSet;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.ws.rd.command.framework.ICommandContext#getProgressMonitor()
-	 */
-	public IProgressMonitor getProgressMonitor() {
-		if (monitor == null)
-			monitor = new NullProgressMonitor();
-		return monitor;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.ws.rd.command.framework.ICommandContext#getConfigurationProperties()
-	 */
-	public Map getConfigurationProperties() {
-		if (properties == null)
-			properties = new HashMap();
-		return properties;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.ws.rd.command.framework.ICommandContext#getResourceSet()
-	 */
-	public ResourceSet getResourceSet() {
-		if (resourceSet == null)
-			resourceSet = new ResourceSetImpl();
-		return resourceSet;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/CopyGroup.java b/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/CopyGroup.java
deleted file mode 100644
index 79b3b1e..0000000
--- a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/CopyGroup.java
+++ /dev/null
@@ -1,320 +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.internal.emf.utilities;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.resource.Resource;
-import org.eclipse.emf.ecore.resource.ResourceSet;
-
-/**
- * This class is used to copy a group of RefObjects and/or Resources. This group will ensure that
- * all non-composite relationships are deferred until all Resources and RefObjects are copied. This
- * allows you to make copies of a group of objects that may have non-composite relationships and
- * ensure that these relationships are pointing to the copied object if it is part of the group
- * (either directly or through a containment relationship). Creation date: (12/17/2000 1:21:17 PM)
- * 
- * @author: Administrator
- */
-public class CopyGroup {
-	protected String defaultIdSuffix;
-	protected ResourceSet copyContext;
-	protected List resources;
-	protected List refObjects;
-	protected List copiedResources;
-	protected List copiedRefObjects;
-	protected boolean preserveIds = false;
-
-	/**
-	 * CopyGroup constructor comment.
-	 */
-	public CopyGroup() {
-		super();
-	}
-
-	/**
-	 * Insert the method's description here. Creation date: (12/17/2000 1:28:16 PM)
-	 * 
-	 * @param aRefObject
-	 *            org.eclipse.emf.ecore.EObject
-	 */
-	public boolean add(EObject aRefObject) {
-		return add(aRefObject, null);
-	}
-
-	/**
-	 * Insert the method's description here. Creation date: (12/17/2000 1:28:16 PM)
-	 * 
-	 * @param aRefObject
-	 *            org.eclipse.emf.ecore.EObject
-	 */
-	public boolean add(EObject aRefObject, String idSuffix) {
-		if (aRefObject != null && !containsRefObject(aRefObject)) {
-			getRefObjects().add(createAssociation(aRefObject, idSuffix));
-			return true;
-		}
-		return false;
-	}
-
-	/**
-	 * Insert the method's description here. Creation date: (12/17/2000 1:27:32 PM)
-	 * 
-	 * @param aResources
-	 *            org.eclipse.emf.ecore.resource.Resource
-	 */
-	public void add(Resource aResource) {
-		add(aResource, null);
-	}
-
-	/**
-	 * Insert the method's description here. Creation date: (12/17/2000 1:27:32 PM)
-	 * 
-	 * @param aResources
-	 *            org.eclipse.emf.ecore.resource.Resource
-	 */
-	public void add(Resource aResource, String newUri) {
-		if (aResource != null)
-			getResources().add(createAssociation(aResource, newUri));
-	}
-
-	/**
-	 * Insert the method's description here. Creation date: (12/17/2000 1:28:16 PM)
-	 * 
-	 * @param aRefObject
-	 *            org.eclipse.emf.ecore.EObject
-	 */
-	public void addCopied(EObject aRefObject) {
-		if (aRefObject != null)
-			getCopiedRefObjects().add(aRefObject);
-	}
-
-	/**
-	 * Insert the method's description here. Creation date: (12/17/2000 1:27:32 PM)
-	 * 
-	 * @param aResources
-	 *            org.eclipse.emf.ecore.resource.Resource
-	 */
-	public void addCopied(Resource aResource) {
-		if (aResource != null) {
-			getCopiedResources().add(aResource);
-			if (getCopyContext() != null)
-				getCopyContext().getResources().add(aResource);
-		}
-	}
-
-	protected boolean contains(List associations, Object anObject) {
-		if (anObject == null)
-			return false;
-		int size = associations.size();
-		Association assoc;
-		for (int i = 0; i < size; i++) {
-			assoc = (Association) associations.get(i);
-			if (assoc.getKey() == anObject)
-				return true;
-		}
-		return false;
-	}
-
-	/**
-	 * Return true if
-	 * 
-	 * @aRefObject has been added to this group. Creation date: (12/17/2000 1:28:16 PM)
-	 * @param aRefObject
-	 *            org.eclipse.emf.ecore.EObject
-	 */
-	public boolean containsRefObject(EObject aRefObject) {
-		return contains(getRefObjects(), aRefObject);
-	}
-
-	/**
-	 * Return true if
-	 * 
-	 * @aResource has been added to this group. Creation date: (12/17/2000 1:28:16 PM)
-	 * @param aRefObject
-	 *            org.eclipse.emf.ecore.EObject
-	 */
-	public boolean containsResource(Resource aResource) {
-		return contains(getResources(), aResource);
-	}
-
-	private Association createAssociation(Object key, Object value) {
-		return new Association(key, value);
-	}
-
-	/**
-	 * Returns a List of RefObjects that were copied. Creation date: (12/17/2000 1:25:46 PM)
-	 * 
-	 * @return java.util.List
-	 */
-	public java.util.List getCopiedRefObjects() {
-		if (copiedRefObjects == null)
-			copiedRefObjects = new ArrayList();
-		return copiedRefObjects;
-	}
-
-	/**
-	 * Returns a List of Resources that were copied. Creation date: (12/17/2000 1:25:46 PM)
-	 * 
-	 * @return java.util.List
-	 */
-	public java.util.List getCopiedResources() {
-		if (copiedResources == null)
-			copiedResources = new ArrayList();
-		return copiedResources;
-	}
-
-	/**
-	 * The context to add all copied resources into. Creation date: (12/17/2000 8:09:45 PM)
-	 * 
-	 * @return org.eclipse.emf.ecore.resource.ResourceSet
-	 */
-	public org.eclipse.emf.ecore.resource.ResourceSet getCopyContext() {
-		return copyContext;
-	}
-
-	/**
-	 * Insert the method's description here. Creation date: (12/17/2000 1:44:43 PM)
-	 * 
-	 * @return java.lang.String
-	 */
-	public java.lang.String getDefaultIdSuffix() {
-		return defaultIdSuffix;
-	}
-
-	/**
-	 * Should the id be copied in the case where no suffix is specified? Defaults to false
-	 */
-	public boolean getPreserveIds() {
-		return preserveIds;
-	}
-
-	/**
-	 * Insert the method's description here. Creation date: (12/17/2000 1:25:46 PM)
-	 * 
-	 * @return java.util.List
-	 */
-	public java.util.List getRefObjects() {
-		if (refObjects == null)
-			refObjects = new ArrayList();
-		return refObjects;
-	}
-
-	/**
-	 * Insert the method's description here. Creation date: (12/17/2000 1:25:46 PM)
-	 * 
-	 * @return java.util.List
-	 */
-	public java.util.List getResources() {
-		if (resources == null)
-			resources = new ArrayList();
-		return resources;
-	}
-
-	/**
-	 * Insert the method's description here. Creation date: (12/17/2000 1:25:46 PM)
-	 * 
-	 * @return java.util.List
-	 */
-	public java.util.List primGetRefObjects() {
-		return refObjects;
-	}
-
-	/**
-	 * Insert the method's description here. Creation date: (12/17/2000 1:25:46 PM)
-	 * 
-	 * @return java.util.List
-	 */
-	public java.util.List primGetResources() {
-		return resources;
-	}
-
-	/**
-	 * Insert the method's description here. Creation date: (12/17/2000 1:28:16 PM)
-	 * 
-	 * @param aRefObject
-	 *            org.eclipse.emf.ecore.EObject
-	 * @return boolean
-	 */
-	public boolean remove(EObject aRefObject) {
-		if (aRefObject != null && primGetRefObjects() != null) {
-			Iterator it = primGetRefObjects().iterator();
-			Association association;
-			while (it.hasNext()) {
-				association = (Association) it.next();
-				if (association.getKey() == aRefObject)
-					return primGetRefObjects().remove(association);
-			}
-		}
-		return false;
-	}
-
-	/**
-	 * Insert the method's description here. Creation date: (12/17/2000 1:27:32 PM)
-	 * 
-	 * @param aResources
-	 *            org.eclipse.emf.ecore.resource.Resource
-	 * @return boolean
-	 */
-	public boolean remove(Resource aResource) {
-		if (aResource != null && primGetResources() != null) {
-			Iterator it = primGetResources().iterator();
-			Association association;
-			while (it.hasNext()) {
-				association = (Association) it.next();
-				if (association.getKey() == aResource)
-					return primGetResources().remove(association);
-			}
-		}
-		return false;
-	}
-
-	/**
-	 * Set the context to add all copied resources into. Creation date: (12/17/2000 8:09:45 PM)
-	 * 
-	 * @param newCopyContext
-	 *            org.eclipse.emf.ecore.resource.Context
-	 */
-	public void setCopyContext(org.eclipse.emf.ecore.resource.ResourceSet newCopyContext) {
-		copyContext = newCopyContext;
-	}
-
-	/**
-	 * If an ID suffix is not defined for a EObject that is to be copied, this value will be used.
-	 * Creation date: (12/17/2000 1:44:43 PM)
-	 * 
-	 * @param newDefaultIdSuffix
-	 *            java.lang.String
-	 */
-	public void setDefaultIdSuffix(java.lang.String newDefaultIdSuffix) {
-		defaultIdSuffix = newDefaultIdSuffix;
-	}
-
-	/**
-	 * Should the id be copied in the case where no suffix is specified?
-	 */
-	public void setPreserveIds(boolean value) {
-		preserveIds = value;
-	}
-
-	/**
-	 * Subclasses should override this method if they require additional processing after the group
-	 * has been copied.
-	 * 
-	 * @param copyUtil
-	 */
-	public void postCopy(EtoolsCopyUtility copyUtil) {
-	}
-
-}
-
diff --git a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/DOMLoadOptions.java b/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/DOMLoadOptions.java
deleted file mode 100644
index 05ae8a5..0000000
--- a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/DOMLoadOptions.java
+++ /dev/null
@@ -1,80 +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 Mar 12, 2003
- *
- * To change this generated comment go to 
- * Window>Preferences>Java>Code Generation>Code and Comments
- */
-package org.eclipse.wst.common.internal.emf.utilities;
-
-/**
- * @author schacher
- * 
- * To change this generated comment go to Window>Preferences>Java>Code Generation>Code and Comments
- */
-public class DOMLoadOptions {
-	protected boolean validate;
-	protected boolean allowJavaEncodings;
-	protected boolean expandEntityRefererences;
-
-	/**
-	 * @return boolean
-	 */
-	public boolean isAllowJavaEncodings() {
-		return allowJavaEncodings;
-	}
-
-	/**
-	 * @return boolean
-	 */
-	public boolean isExpandEntityRefererences() {
-		return expandEntityRefererences;
-	}
-
-	/**
-	 * @return boolean
-	 */
-	public boolean isValidate() {
-		return validate;
-	}
-
-	/**
-	 * Sets the allowJavaEncodings.
-	 * 
-	 * @param allowJavaEncodings
-	 *            The allowJavaEncodings to set
-	 */
-	public void setAllowJavaEncodings(boolean allowJavaEncodings) {
-		this.allowJavaEncodings = allowJavaEncodings;
-	}
-
-	/**
-	 * Sets the expandEntityRefererences.
-	 * 
-	 * @param expandEntityRefererences
-	 *            The expandEntityRefererences to set
-	 */
-	public void setExpandEntityRefererences(boolean expandEntityRefererences) {
-		this.expandEntityRefererences = expandEntityRefererences;
-	}
-
-	/**
-	 * Sets the validate.
-	 * 
-	 * @param validate
-	 *            The validate to set
-	 */
-	public void setValidate(boolean validate) {
-		this.validate = validate;
-	}
-
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/DOMUtilities.java b/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/DOMUtilities.java
deleted file mode 100644
index 7eeac6c..0000000
--- a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/DOMUtilities.java
+++ /dev/null
@@ -1,680 +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.internal.emf.utilities;
-
-
-import java.io.ByteArrayOutputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.PrintWriter;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.DocumentBuilderFactory;
-import javax.xml.parsers.ParserConfigurationException;
-
-import org.eclipse.jem.util.logger.proxy.Logger;
-import org.w3c.dom.Document;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-import org.w3c.dom.Text;
-import org.xml.sax.EntityResolver;
-import org.xml.sax.ErrorHandler;
-import org.xml.sax.SAXException;
-import org.xml.sax.SAXParseException;
-
-/**
- * A class containing common dom manipulation and search functions.
- */
-public class DOMUtilities {
-	// Handy Constants
-	public static final String INDENT_STRING = "\t"; //$NON-NLS-1$
-	public static final String NEWLINE_STRING = System.getProperty("line.separator"); //$NON-NLS-1$
-	//Hack to be removed when the DOM apis change such that there is an easier
-	//way to fluff up and set the doctype
-	private static final String DUMMY_ENTITY_STRING = "dummy"; //$NON-NLS-1$
-	private static final String DUMMY_ENTITY_NODE_STRING = "<dummy/>"; //$NON-NLS-1$
-	private static DocumentBuilder defaultDocumentBuilder;
-	private static EntityResolver defaultEntityResolver;
-
-	/**
-	 * Returns an iterator that iterates over the sub nodes of a path.
-	 */
-	static public Iterator createPathIterator(String path) {
-		String tPath = path.startsWith("/") ? path.substring(1) : path; //$NON-NLS-1$
-		if (tPath.length() == 0)
-			tPath = null;
-		final String aPath = tPath;
-
-		return new Iterator() {
-			int prevIndex = 0;
-			int curIndex = 0;
-			String pathString = aPath;
-
-			public boolean hasNext() {
-				return pathString != null && prevIndex != -1;
-			}
-
-			public Object next() {
-				curIndex = pathString.indexOf('/', prevIndex);
-				String nodeString = null;
-				if (curIndex != -1)
-					nodeString = pathString.substring(prevIndex, curIndex++);
-				else
-					nodeString = pathString.substring(prevIndex);
-				prevIndex = curIndex;
-				return nodeString;
-			}
-
-			public void remove() {
-				throw new UnsupportedOperationException();
-			}
-		};
-	}
-
-	/**
-	 * Get the text for the passed in node.
-	 */
-	static public String getChildText(Node node) {
-		Text textNode = getChildTextNode(node);
-		if (textNode != null)
-			return textNode.getData();
-		return null;
-	}
-
-	/**
-	 * Get the text for the passed in node.
-	 */
-	static public Text getChildTextNode(Node node) {
-		Node textNode = node.getFirstChild();
-		while (textNode != null && DOMUtilities.isTextNode(textNode)) {
-			if (!isWhitespace(textNode))
-				return (Text) textNode;
-			textNode = textNode.getNextSibling();
-		}
-		return null;
-	}
-
-	/**
-	 * Return a string representing the current indentation of the node.
-	 */
-	static public String getIndentString(Node node) {
-		Revisit.toDo();
-		return ""; //$NON-NLS-1$
-	}
-
-	/**
-	 * Get the last non-text child of a node.
-	 * 
-	 * @return org.w3c.dom.Node The last non-text child node of
-	 * @node.
-	 * @param node
-	 *            org.w3c.dom.Node The node
-	 */
-	public static Node getLastNodeChild(Node node) {
-		if (node == null)
-			return null;
-		Node child = node.getLastChild();
-		while (child != null && child.getNodeType() == Node.TEXT_NODE)
-			child = child.getPreviousSibling();
-		return child;
-	}
-
-	/**
-	 * Get the next non-text sibling after a node.
-	 * 
-	 * @return org.w3c.dom.Node The first non-text sibling node after
-	 * @node. If there is no next non-text sibling, null is returned.
-	 * @param node
-	 *            org.w3c.dom.Node The node
-	 */
-	public static Node getNextNodeSibling(Node node) {
-		Node sibling = node.getNextSibling();
-		while (sibling != null && sibling.getNodeType() != Node.ELEMENT_NODE)
-			sibling = sibling.getNextSibling();
-		return sibling;
-	}
-
-	/**
-	 * Get the first child Node with the specified name
-	 */
-	static public Node getNodeChild(Node node, String nodeName) {
-		Node child = null;
-		NodeList children = node.getChildNodes();
-		for (int i = 0; i < children.getLength(); i++) {
-			Node n = children.item(i);
-			if (n.getNodeType() == Node.ELEMENT_NODE && n.getNodeName().equals(nodeName)) {
-				child = n;
-				break;
-			}
-		}
-		return child;
-	}
-
-	/**
-	 * Traverses the path passed in <pathName>. The path is a string in the form
-	 * 'node1/node2/node3'. This method starts at node.
-	 */
-	static public Node getNodeChildForPath(Node parent, String pathName) {
-
-		Node curNode = parent;
-		Iterator i = DOMUtilities.createPathIterator(pathName);
-		while (i.hasNext()) {
-			String child = (String) i.next();
-			curNode = DOMUtilities.getNodeChild(curNode, child);
-			if (curNode == null)
-				return null;
-		}
-		return curNode;
-	}
-
-	/**
-	 * Get the Node children with the specified names
-	 */
-	static public List getNodeChildren(Node node, String[] nodeNames) {
-		NodeList childNodes = node.getChildNodes();
-		ArrayList results = new ArrayList();
-
-		for (int i = 0; i < childNodes.getLength(); i++) {
-			Node n = childNodes.item(i);
-			if (n.getNodeType() == Node.ELEMENT_NODE) {
-				boolean found = false;
-				for (int j = 0; j < nodeNames.length; j++) {
-					if (nodeNames[j].equals(n.getNodeName())) {
-						found = true;
-						break;
-					}
-				}
-				if (found)
-					results.add(n);
-			}
-		}
-		return results;
-	}
-
-	/**
-	 * Get the Node children with the specified name
-	 */
-	static public List getNodeChildren(Node node, String nodeName) {
-		NodeList childNodes = node.getChildNodes();
-		ArrayList results = new ArrayList();
-
-		for (int i = 0; i < childNodes.getLength(); i++) {
-			Node n = childNodes.item(i);
-			if (n.getNodeType() == Node.ELEMENT_NODE && n.getNodeName().equals(nodeName))
-				results.add(n);
-		}
-		return results;
-	}
-
-	/**
-	 * Get the first non-text sibling before a node.
-	 * 
-	 * @return org.w3c.dom.Node The first non-text sibling node before
-	 * @node. If there is no previous non-text sibling, null is returned.
-	 * @param node
-	 *            org.w3c.dom.Node The node
-	 */
-	public static Node getPreviousNodeSibling(Node node) {
-		if (node == null)
-			return null;
-		Node sibling = node.getPreviousSibling();
-		while (sibling != null && DOMUtilities.isTextNode(sibling))
-			sibling = sibling.getPreviousSibling();
-		return sibling;
-	}
-
-	/**
-	 * Get the first text node before a node.
-	 * 
-	 * @return org.w3c.dom.Node The first text node before
-	 * @node. Null if no such node exist.
-	 * @param node
-	 *            org.w3c.dom.Node The node
-	 */
-	public static Text getPreviousText(Node node) {
-		Text sibling = getPreviousTextSibling(node);
-
-		if (sibling == null && node.getParentNode() != null)
-			sibling = getPreviousText(node.getParentNode());
-
-		return sibling;
-	}
-
-	/**
-	 * Get the first text sibling before a node.
-	 * 
-	 * @return org.w3c.dom.Node The first text sibling node before
-	 * @node. If there is no previous text sibling, null is returned.
-	 * @param node
-	 *            org.w3c.dom.Node The node
-	 */
-	public static Text getPreviousTextSibling(Node node) {
-		Assert.isNotNull(node);
-
-		Node sibling = node.getPreviousSibling();
-		Node lastText = null;
-		while (sibling != null && sibling.getNodeType() == Node.TEXT_NODE) {
-			lastText = sibling;
-			sibling = sibling.getPreviousSibling();
-		}
-		return (Text) lastText;
-	}
-
-	/**
-	 * Get the first text sibling before a node.
-	 * 
-	 * @return org.w3c.dom.Node The first text sibling node before
-	 * @node. If there is no previous text sibling, null is returned.
-	 * @param node
-	 *            org.w3c.dom.Node The node
-	 */
-	public static String getTrailingWhitespace(Text node) {
-		Assert.isNotNull(node);
-
-		String text = node.getData();
-		if (text.length() == 0)
-			return ""; //$NON-NLS-1$
-
-		int i = text.length() - 1;
-		for (; i >= 0; i--) {
-			if (!Character.isWhitespace(text.charAt(i))) {
-				break;
-			}
-		}
-
-		return text.substring(++i);
-	}
-
-	/**
-	 * Inserts <newNode>into <parent>after <refNode>. If <refNode>is null then the node is inserted
-	 * to the beginning of the parent's child nodes.
-	 * 
-	 * @param parent
-	 *            org.w3c.dom.Node
-	 * @param newNode
-	 *            org.w3c.dom.Node
-	 * @param refNode
-	 *            org.w3c.dom.Node
-	 */
-	public static void insertAfterNode(Node parent, Node newNode, Node refNode) {
-		Node insertBeforeNode = null;
-		if (refNode != null) {
-			insertBeforeNode = refNode.getNextSibling();
-		}
-		if (refNode == null)
-			insertBeforeNode(parent, newNode, parent.getFirstChild());
-		else
-			insertBeforeNode(parent, newNode, insertBeforeNode);
-	}
-
-	/**
-	 * Insert a <newNode>into <parent>before <refNode>. This utility method is used to ensure that
-	 * the insertion does not result in two adjacent text nodes. The DOM model does not handle
-	 * adjacent text nodes. They must be joined together.
-	 * 
-	 * @param newNode
-	 *            org.w3c.dom.Node
-	 * @param newNode
-	 *            org.w3c.dom.Node
-	 * @param refNode
-	 *            org.w3c.dom.Node
-	 */
-	static public void insertBeforeNode(Node parent, Node newNode, Node refNode) {
-		if (newNode.getNodeType() == Node.TEXT_NODE) {
-			Text textNewNode = (Text) newNode;
-
-			// If the insert before node is text, join it with the new node.
-			if (refNode != null && refNode.getNodeType() == Node.TEXT_NODE) {
-				Text textRefNode = (Text) refNode;
-				textRefNode.setData(textNewNode.getData() + textRefNode.getData());
-				return;
-			}
-			// If the node we are inserting after is text,
-			// join it with the new node.
-			Node insertAfterNode = (refNode == null) ? parent.getLastChild() : refNode.getPreviousSibling();
-			if (insertAfterNode != null && insertAfterNode.getNodeType() == Node.TEXT_NODE) {
-				Text textInsertAfterNode = (Text) insertAfterNode;
-				textInsertAfterNode.setData(textInsertAfterNode.getData() + textNewNode.getData());
-				return;
-			}
-		}
-		// There is no text node to join to, simple insert the node.
-		parent.insertBefore(newNode, refNode);
-	}
-
-	/**
-	 * Insert a <newNode>into <parent>before <refNode>. This method will also insert the node before
-	 * any whitespace nodes that appear in the tree before <refNode>. This method will also ensure
-	 * that the insertion does not result in two adjacent text nodes. The DOM model does not handle
-	 * adjacent text nodes. They must be joined together.
-	 * 
-	 * @param newNode
-	 *            org.w3c.dom.Node
-	 * @param newNode
-	 *            org.w3c.dom.Node
-	 * @param refNode
-	 *            org.w3c.dom.Node
-	 */
-	static public void insertBeforeNodeAndWhitespace(Node parent, Node newNode, Node refNode) {
-		Node curNode = (refNode == null) ? parent.getLastChild() : refNode.getPreviousSibling();
-		Node lastNode = refNode;
-
-		while (curNode != null && (DOMUtilities.isWhitespace(curNode) || DOMUtilities.isComment(curNode))) {
-			lastNode = curNode;
-			curNode = curNode.getPreviousSibling();
-		}
-
-		insertBeforeNode(parent, newNode, lastNode);
-	}
-
-	/**
-	 * Return whether the node is a text node.
-	 * 
-	 * @return boolean Answer true if the node is a text node, false otherwise.
-	 * @param node
-	 *            org.w3c.dom.Node The node to check
-	 */
-	static public boolean isTextNode(Node node) {
-		Assert.isNotNull(node);
-		return (node.getNodeType() == Node.TEXT_NODE) || (node.getNodeType() == Node.CDATA_SECTION_NODE);
-	}
-
-	/**
-	 * Return whether the node is entirely comment or not.
-	 * 
-	 * @return boolean Answer true if the node is whitespace, false otherwise.
-	 * @param node
-	 *            org.w3c.dom.Node The node to check
-	 */
-	static public boolean isComment(Node node) {
-		Assert.isNotNull(node);
-
-		return node.getNodeType() == Node.COMMENT_NODE;
-	}
-
-	/**
-	 * Return whether the node is entirely whitepace or not.
-	 * 
-	 * @return boolean Answer true if the node is whitespace, false otherwise.
-	 * @param node
-	 *            org.w3c.dom.Node The node to check
-	 */
-	static public boolean isWhitespace(Node node) {
-		Assert.isNotNull(node);
-
-		if (node.getNodeType() != Node.TEXT_NODE)
-			return false;
-
-		Text textNode = (Text) node;
-		String text = textNode.getData();
-		if (text == null)
-			return false;
-
-		for (int i = 0; i < text.length(); i++) {
-			if (!Character.isWhitespace(text.charAt(i))) {
-				return false;
-			}
-		}
-		return true;
-	}
-
-	/**
-	 * Remove all the children of <node>
-	 */
-	static public void removeAllChildren(Node node) {
-		NodeList list = node.getChildNodes();
-		for (int i = 0; i < list.getLength(); i++) {
-			node.removeChild(list.item(i));
-		}
-	}
-
-	// traverses the DOM starting at the specified node and returns a list
-	// of nodes matching the search string
-
-	static public ArrayList getAllNodes(Node node, String nodeName) {
-		ArrayList nodeList = new ArrayList();
-
-		String[] nodeNames = {nodeName};
-		findAllNodes(node, nodeNames, nodeList);
-
-		return nodeList;
-	}
-
-	// traverses the DOM starting at the specified node and returns a list
-	// of nodes matching the search strings
-
-	static public ArrayList getAllNodes(Node node, String[] nodeNamesArray) {
-		ArrayList nodeList = new ArrayList();
-		findAllNodes(node, nodeNamesArray, nodeList);
-
-		return nodeList;
-	}
-
-	// recursive helper for getAllNodes
-	static private void findAllNodes(Node node, String[] nodeNames, ArrayList results) {
-
-		NodeList nodes = node.getChildNodes();
-		if (nodes != null) {
-			for (int i = 0; i < nodes.getLength(); i++) {
-				for (int j = 0; j < nodeNames.length; j++) {
-					if (nodes.item(i).getNodeName().equals(nodeNames[j])) {
-						results.add(nodes.item(i));
-					}
-				}
-				findAllNodes(nodes.item(i), nodeNames, results);
-			}
-		}
-	}
-
-	/**
-	 * Returns the system defined JAXP document builder
-	 */
-	static public DocumentBuilder newDefaultDocumentBuilder(DOMLoadOptions options) throws ParserConfigurationException {
-		DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
-		dbf.setValidating(options.isValidate());
-		dbf.setNamespaceAware(options.isValidate());
-		/*
-		 * Causes errors in IBM JDK try { dbf.setAttribute(Renderer.JAXP_SCHEMA_LANGUAGE,
-		 * Renwderer.W3C_XML_SCHEMA); } catch (IllegalArgumentException x) { }
-		 */
-		try {
-			dbf.setAttribute("http://apache.org/xml/features/allow-java-encodings", new Boolean(options.isAllowJavaEncodings())); //$NON-NLS-1$	        
-		} catch (IllegalArgumentException ignore) {
-			Logger.getLogger().log("Warning: Parser does not support \"http://apache.org/xml/features/allow-java-encodings\"."); //$NON-NLS-1$
-		}
-		try {
-			dbf.setAttribute("http://apache.org/xml/features/validation/schema", new Boolean(options.isValidate())); //$NON-NLS-1$
-		} catch (IllegalArgumentException ignore) {
-			dbf.setValidating(false);
-			Logger.getLogger().log("Warning: Parser does not support \"http://apache.org/xml/features/validation/schema\". Validation will be disabled."); //$NON-NLS-1$
-		}
-		dbf.setExpandEntityReferences(options.isExpandEntityRefererences());
-		DocumentBuilder result = dbf.newDocumentBuilder();
-		result.setErrorHandler(new ErrorHandler() {
-			/*
-			 * (non-Javadoc)
-			 * 
-			 * @see org.xml.sax.ErrorHandler#error(org.xml.sax.SAXParseException)
-			 */
-			public void error(SAXParseException arg0) throws SAXException {
-				throw arg0;
-			}
-
-			/*
-			 * (non-Javadoc)
-			 * 
-			 * @see org.xml.sax.ErrorHandler#fatalError(org.xml.sax.SAXParseException)
-			 */
-			public void fatalError(SAXParseException arg0) throws SAXException {
-				throw arg0;
-			}
-
-			public void warning(SAXParseException arg0) throws SAXException {
-				Logger.getLogger().logWarning(arg0);
-			}
-
-		});
-		return result;
-	}
-
-	/**
-	 * Creates a stub document, where the DocumentType is defined by the parameters.
-	 */
-	static public Document createNewDocument(String doctype, String publicId, String systemId) throws ParserConfigurationException, SAXException, IOException {
-		DocumentBuilder builder = getDefaultDocumentBuilder();
-		InputStream in = createHeaderInputStream(doctype, publicId, systemId, true);
-		Document result = builder.parse(in);
-		removeDummyEntity(result);
-		removeExtraneousComments(result);
-		return result;
-	}
-
-	public static Document loadDocument(InputStream in, DOMLoadOptions options, EntityResolver resolver) throws ParserConfigurationException, SAXException, IOException {
-		DocumentBuilder builder = DOMUtilities.newDefaultDocumentBuilder(options);
-		builder.setEntityResolver(resolver);
-		Document result = builder.parse(in);
-		removeExtraneousComments(result);
-		return result;
-	}
-
-	/**
-	 * At the time of this writing, the DOM Level 2 APIs are not advanced enough for setting the
-	 * document type; so the only parser independent way of accomplishing this is by creating a
-	 * stream and parsing it.
-	 */
-	public static InputStream createHeaderInputStream(String doctype, String publicId, String systemId) {
-		return createHeaderInputStream(doctype, publicId, systemId, false);
-	}
-
-
-	private static InputStream createHeaderInputStream(String doctype, String publicId, String systemId, boolean includeDummy) {
-		ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
-		PrintWriter writer = new PrintWriter(outputStream);
-		writeHeader(writer, doctype, publicId, systemId);
-		if (includeDummy)
-			addDummyEntity(writer);
-		writer.flush();
-		writer.close();
-		return new java.io.ByteArrayInputStream(outputStream.toByteArray());
-	}
-
-	private static void writeHeader(PrintWriter writer, String doctype, String publicId, String systemId) {
-		writer.write("<?xml version=\""); //$NON-NLS-1$
-		writer.write("1.0"); //$NON-NLS-1$
-		writer.write("\" encoding=\""); //$NON-NLS-1$
-		writer.write("UTF-8"); //$NON-NLS-1$
-		writer.write("\"?>"); //$NON-NLS-1$
-		writer.println();
-
-		if (doctype != null) {
-			writer.write("<!DOCTYPE "); //$NON-NLS-1$
-			writer.write(doctype);
-			writer.write(" PUBLIC \""); //$NON-NLS-1$
-			writer.write(publicId);
-			writer.write("\" \""); //$NON-NLS-1$
-			writer.write(systemId);
-			writer.write("\">"); //$NON-NLS-1$
-			writer.println();
-		}
-	}
-
-	private static void addDummyEntity(PrintWriter writer) {
-		Revisit.revisit();
-		writer.println(DUMMY_ENTITY_NODE_STRING);
-		//Major hack because we can not parse an empty document
-	}
-
-	private static void removeDummyEntity(Document doc) {
-		doc.removeChild(getNodeChild(doc, DUMMY_ENTITY_STRING));
-	}
-
-	private static void removeExtraneousComments(Document doc) {
-		//another major hack because of a bug in XML4J 4.0.7 that added all the
-		//comments from the dtd to the document. Can be removed after we move up
-		//Xerces levels
-		Node aNode = doc.getFirstChild();
-		while (aNode != null) {
-			Node nextNode = aNode.getNextSibling();
-			if (aNode.getNodeType() == Node.COMMENT_NODE)
-				doc.removeChild(aNode);
-			aNode = nextNode;
-		}
-	}
-
-	/**
-	 * For performance, cache a static instance of the JAXP registered document builder. Validation
-	 * is disabled for this instance. If you need validation, use
-	 * {@link #newDefaultDocumentBuilder(boolean, boolean, boolean)}
-	 * 
-	 * @return DocumentBuilder
-	 * @throws ParserConfigurationException
-	 *             if JAXP is not configured correctly
-	 */
-	public static DocumentBuilder getDefaultDocumentBuilder() throws ParserConfigurationException {
-		if (defaultDocumentBuilder == null) {
-			DOMLoadOptions opts = new DOMLoadOptions();
-			opts.setAllowJavaEncodings(true);
-			opts.setExpandEntityRefererences(true);
-			opts.setValidate(false);
-			defaultDocumentBuilder = newDefaultDocumentBuilder(opts);
-			defaultDocumentBuilder.setEntityResolver(defaultEntityResolver);
-			defaultDocumentBuilder.setErrorHandler(new ErrorHandler() {
-				/*
-				 * (non-Javadoc)
-				 * 
-				 * @see org.xml.sax.ErrorHandler#error(org.xml.sax.SAXParseException)
-				 */
-				public void error(SAXParseException exception) throws SAXException {
-
-				}
-
-				/*
-				 * (non-Javadoc)
-				 * 
-				 * @see org.xml.sax.ErrorHandler#fatalError(org.xml.sax.SAXParseException)
-				 */
-				public void fatalError(SAXParseException exception) throws SAXException {
-
-				}
-
-				/*
-				 * (non-Javadoc)
-				 * 
-				 * @see org.xml.sax.ErrorHandler#warning(org.xml.sax.SAXParseException)
-				 */
-				public void warning(SAXParseException exception) throws SAXException {
-
-				}
-
-			});
-		}
-
-		return defaultDocumentBuilder;
-	}
-
-	/**
-	 * @return
-	 */
-	public static EntityResolver getDefaultEntityResolver() {
-		return defaultEntityResolver;
-	}
-
-	/**
-	 * @param resolver
-	 */
-	public static void setDefaultEntityResolver(EntityResolver resolver) {
-		defaultEntityResolver = resolver;
-	}
-
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/DanglingHREFException.java b/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/DanglingHREFException.java
deleted file mode 100644
index 21f9254..0000000
--- a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/DanglingHREFException.java
+++ /dev/null
@@ -1,35 +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 12, 2003
- *
- */
-package org.eclipse.wst.common.internal.emf.utilities;
-
-/**
- * Exception thrown when a proxy can not be resolved
- */
-public class DanglingHREFException extends Exception {
-
-
-	public DanglingHREFException() {
-		super();
-	}
-
-	/**
-	 * @param s
-	 */
-	public DanglingHREFException(String s) {
-		super(s);
-	}
-
-
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/DefaultFeatureValueConverter.java b/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/DefaultFeatureValueConverter.java
deleted file mode 100644
index 9227060..0000000
--- a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/DefaultFeatureValueConverter.java
+++ /dev/null
@@ -1,321 +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.internal.emf.utilities;
-
-
-
-import org.eclipse.emf.ecore.EAttribute;
-import org.eclipse.emf.ecore.EClassifier;
-import org.eclipse.emf.ecore.EEnum;
-import org.eclipse.emf.ecore.EEnumLiteral;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.emf.ecore.EcorePackage;
-
-/**
- * Insert the type's description here. Creation date: (5/10/2001 2:49:49 PM)
- * 
- * @author: Administrator
- */
-public class DefaultFeatureValueConverter implements FeatureValueConverter {
-	private static final String FAILED_CONVERSION_PATTERN = WFTUtilsResourceHandler.Failed_to_convert__0__to___ERROR_;
-
-	/**
-	 * DefaultFeatureValueConverter constructor comment.
-	 */
-	public DefaultFeatureValueConverter() {
-		super();
-	}
-
-	/**
-	 * Convert
-	 * 
-	 * @aValue to a Boolean.
-	 */
-	protected Object convertToBoolean(Object aValue) {
-		if (aValue instanceof String)
-			return Boolean.valueOf((String) aValue);
-		if (aValue instanceof Boolean)
-			return aValue;
-		return failedToConvert(aValue, WFTUtilsResourceHandler.Boolean_UI_);
-	}
-
-	/**
-	 * Convert
-	 * 
-	 * @aValue to a Byte.
-	 */
-	protected Object convertToByte(Object aValue) {
-		if (aValue instanceof String)
-			return Byte.valueOf((String) aValue);
-		if (aValue instanceof Byte)
-			return aValue;
-		return failedToConvert(aValue, WFTUtilsResourceHandler.Byte_UI_);
-	}
-
-	/**
-	 * Convert
-	 * 
-	 * @aValue to a Character.
-	 */
-	protected Object convertToCharacter(Object aValue) {
-		if (aValue instanceof String && ((String) aValue).length() == 1)
-			return new Character(((String) aValue).charAt(0));
-		if (aValue instanceof Character)
-			return aValue;
-		return failedToConvert(aValue, WFTUtilsResourceHandler.Character_UI_);
-	}
-
-	/**
-	 * Convert
-	 * 
-	 * @aValue to a Double.
-	 */
-	protected Object convertToDouble(Object aValue) {
-		if (aValue instanceof String) {
-			try {
-				return Double.valueOf((String) aValue);
-			} catch (NumberFormatException e) {
-				return defaultDouble();
-			}
-		}
-		if (aValue instanceof Double)
-			return aValue;
-		return failedToConvert(aValue, WFTUtilsResourceHandler.Double_UI_);
-	}
-
-	/**
-	 * Convert
-	 * 
-	 * @aValue to a EEnumLiteral.
-	 */
-	protected Object convertToEnum(Object aValue, EStructuralFeature aFeature) {
-		EEnumLiteral literal = null;
-		EEnum eenum = (EEnum) aFeature.getEType();
-		if (aValue instanceof String)
-			literal = eenum.getEEnumLiteral((String) aValue);
-		else if (aValue instanceof Integer)
-			literal = eenum.getEEnumLiteral(((Integer) aValue).intValue());
-		else if (aValue instanceof EEnumLiteral)
-			literal = (EEnumLiteral) aValue;
-
-		if (literal == null)
-			return failedToConvert(aValue, WFTUtilsResourceHandler.Enumeration_UI_);
-
-		return literal.getInstance();
-	}
-
-	/**
-	 * Convert
-	 * 
-	 * @aValue to a Float.
-	 */
-	protected Object convertToFloat(Object aValue) {
-		if (aValue instanceof String) {
-			try {
-				return Float.valueOf((String) aValue);
-			} catch (NumberFormatException e) {
-				return defaultFloat();
-			}
-		}
-		if (aValue instanceof Float)
-			return aValue;
-		return failedToConvert(aValue, WFTUtilsResourceHandler.Float_UI_);
-	}
-
-	/**
-	 * Convert
-	 * 
-	 * @aValue to a Integer.
-	 */
-	protected Object convertToInteger(Object aValue) {
-		if (aValue instanceof String) {
-			try {
-				return Integer.valueOf((String) aValue);
-			} catch (NumberFormatException e) {
-				return defaultInteger();
-			}
-		}
-		if (aValue instanceof Integer)
-			return aValue;
-		return failedToConvert(aValue, WFTUtilsResourceHandler.Integer_UI_);
-	}
-
-	/**
-	 * Convert
-	 * 
-	 * @aValue to a Java Object.
-	 */
-	protected Object convertToJavaObject(Object aValue) {
-		return aValue;
-	}
-
-	/**
-	 * Convert
-	 * 
-	 * @aValue to a Long.
-	 */
-	protected Object convertToLong(Object aValue) {
-		if (aValue instanceof String) {
-			try {
-				return Long.valueOf((String) aValue);
-			} catch (NumberFormatException e) {
-				return defaultLong();
-			}
-		}
-		if (aValue instanceof Long)
-			return aValue;
-		return failedToConvert(aValue, WFTUtilsResourceHandler.Long_UI_);
-	}
-
-	/**
-	 * Convert
-	 * 
-	 * @aValue to a MofObject.
-	 */
-	protected Object convertToMofObject(Object aValue) {
-		if (aValue instanceof EObject)
-			return aValue;
-		return failedToConvert(aValue, WFTUtilsResourceHandler.MofObject_UI_);
-	}
-
-	/**
-	 * Convert
-	 * 
-	 * @aValue to a Short.
-	 */
-	protected Object convertToShort(Object aValue) {
-		if (aValue instanceof String) {
-			try {
-				return Short.valueOf((String) aValue);
-			} catch (NumberFormatException e) {
-				return defaultShort();
-			}
-		}
-		if (aValue instanceof Short)
-			return aValue;
-		return failedToConvert(aValue, WFTUtilsResourceHandler.Short_UI_);
-	}
-
-	/**
-	 * Convert
-	 * 
-	 * @aValue to a String.
-	 */
-	protected Object convertToString(Object aValue) {
-		return aValue.toString();
-	}
-
-	/**
-	 * Convert
-	 * 
-	 * @aValue to the type of
-	 * @anAttribute.
-	 */
-	protected Object convertValue(Object aValue, org.eclipse.emf.ecore.EAttribute anAttribute) {
-
-		EClassifier meta = anAttribute.getEType();
-		if (meta.eClass() == EcorePackage.eINSTANCE.getEEnum())
-			return convertToEnum(aValue, anAttribute);
-		switch (meta.getClassifierID()) {
-			case EcorePackage.ESTRING :
-				return convertToString(aValue);
-			case EcorePackage.EBOOLEAN_OBJECT :
-			case EcorePackage.EBOOLEAN :
-				return convertToBoolean(aValue);
-			case EcorePackage.EINTEGER_OBJECT :
-			case EcorePackage.EINT :
-				return convertToInteger(aValue);
-			case EcorePackage.EFLOAT_OBJECT :
-			case EcorePackage.EFLOAT :
-				return convertToFloat(aValue);
-			case EcorePackage.ECHARACTER_OBJECT :
-			case EcorePackage.ECHAR :
-				return convertToCharacter(aValue);
-			case EcorePackage.ELONG_OBJECT :
-			case EcorePackage.ELONG :
-				return convertToLong(aValue);
-			case EcorePackage.EBYTE_OBJECT :
-			case EcorePackage.EBYTE :
-				return convertToByte(aValue);
-			case EcorePackage.EDOUBLE_OBJECT :
-			case EcorePackage.EDOUBLE :
-				return convertToDouble(aValue);
-			case EcorePackage.ESHORT_OBJECT :
-			case EcorePackage.ESHORT :
-				return convertToShort(aValue);
-			//		case EcorePackage.EENUM:
-			//			return convertToEnum(aValue, anAttribute);
-			case EcorePackage.EOBJECT :
-				return convertToMofObject(aValue);
-			case EcorePackage.EJAVA_OBJECT :
-				return convertToJavaObject(aValue);
-		}
-		return aValue;
-	}
-
-	/**
-	 * Convert
-	 * 
-	 * @aValue to the type of
-	 * @aFeature.
-	 */
-	public Object convertValue(Object aValue, org.eclipse.emf.ecore.EStructuralFeature aFeature) {
-		if (aValue == null || aFeature == null || !(aFeature instanceof EAttribute))
-			return aValue; //nothing to convert
-		return convertValue(aValue, (EAttribute) aFeature);
-	}
-
-	/**
-	 * Return the default Double value.
-	 */
-	protected Double defaultDouble() {
-		return null;
-	}
-
-	/**
-	 * Return the default Float value.
-	 */
-	protected Float defaultFloat() {
-		return null;
-	}
-
-	/**
-	 * Return the default Integer value.
-	 */
-	protected Integer defaultInteger() {
-		return null;
-	}
-
-	/**
-	 * Return the default Long value.
-	 */
-	protected Long defaultLong() {
-		return null;
-	}
-
-	/**
-	 * Return the default Short value.
-	 */
-	protected Short defaultShort() {
-		return null;
-	}
-
-	/**
-	 * Failed to convert
-	 * 
-	 * @aValue.
-	 */
-	protected Object failedToConvert(Object aValue, String aString) {
-		String errorString = java.text.MessageFormat.format(FAILED_CONVERSION_PATTERN, new String[]{aValue.toString(), aString});
-		throw new FeatureValueConversionException(errorString);
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/DefaultOverridableResourceFactoryRegistry.java b/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/DefaultOverridableResourceFactoryRegistry.java
deleted file mode 100644
index c3777bf..0000000
--- a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/DefaultOverridableResourceFactoryRegistry.java
+++ /dev/null
@@ -1,70 +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 Mar 14, 2003
- *
- * To change this generated comment go to 
- * Window>Preferences>Java>Code Generation>Code and Comments
- */
-package org.eclipse.wst.common.internal.emf.utilities;
-
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.emf.ecore.resource.Resource;
-import org.eclipse.emf.ecore.resource.Resource.Factory;
-import org.eclipse.emf.ecore.resource.impl.ResourceFactoryRegistryImpl;
-
-/**
- * @author DABERG
- * 
- * To change this generated comment go to Window>Preferences>Java>Code Generation>Code and Comments
- */
-public class DefaultOverridableResourceFactoryRegistry extends ResourceFactoryRegistryImpl {
-	protected static Resource.Factory GLOBAL_FACTORY = Resource.Factory.Registry.INSTANCE.getFactory(URI.createURI(DEFAULT_EXTENSION));
-
-	/**
-	 *  
-	 */
-	public DefaultOverridableResourceFactoryRegistry() {
-		super();
-	}
-
-	public Resource.Factory getFactory(URI uri) {
-		Object resourceFactory = null;
-		if (resourceFactory == null) {
-			String protocol = uri.scheme();
-			resourceFactory = protocolToFactoryMap.get(protocol);
-			if (resourceFactory == null) {
-				String extension = uri.fileExtension();
-				resourceFactory = extensionToFactoryMap.get(extension);
-				if (resourceFactory == null) {
-					resourceFactory = delegatedGetFactory(uri);
-					if (resourceFactory == GLOBAL_FACTORY) {
-						resourceFactory = (Factory) extensionToFactoryMap.get(Resource.Factory.Registry.DEFAULT_EXTENSION);
-						if (resourceFactory == null)
-							resourceFactory = GLOBAL_FACTORY;
-					}
-
-				}
-			}
-		}
-
-		return resourceFactory instanceof Resource.Factory.Descriptor ? ((Resource.Factory.Descriptor) resourceFactory).createFactory() : (Resource.Factory) resourceFactory;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.emf.ecore.resource.impl.ResourceFactoryRegistryImpl#delegatedGetFactory(org.eclipse.emf.common.util.URI)
-	 */
-	protected Factory delegatedGetFactory(URI uri) {
-		return Resource.Factory.Registry.INSTANCE.getFactory(uri);
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/DeferredReferenceUtilityAction.java b/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/DeferredReferenceUtilityAction.java
deleted file mode 100644
index ec1f668..0000000
--- a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/DeferredReferenceUtilityAction.java
+++ /dev/null
@@ -1,75 +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.internal.emf.utilities;
-
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.EReference;
-
-/**
- * Insert the type's description here. Creation date: (12/15/2000 5:25:43 PM)
- * 
- * @author: Administrator
- */
-public abstract class DeferredReferenceUtilityAction {
-	protected EReference reference;
-	protected Object referenceValue;
-	protected EObject copyContainer;
-	protected String idSuffix;
-
-	/**
-	 * DeferredCopy constructor comment.
-	 */
-	public DeferredReferenceUtilityAction(EReference aReference, Object aValue, String aSuffix, EObject aCopyContainer) {
-		reference = aReference;
-		referenceValue = aValue;
-		idSuffix = aSuffix;
-		copyContainer = aCopyContainer;
-	}
-
-	/**
-	 * Insert the method's description here. Creation date: (12/16/2000 9:32:28 AM)
-	 * 
-	 * @return org.eclipse.emf.ecore.EObject
-	 */
-	public org.eclipse.emf.ecore.EObject getCopyContainer() {
-		return copyContainer;
-	}
-
-	/**
-	 * Insert the method's description here. Creation date: (12/15/2000 5:34:56 PM)
-	 * 
-	 * @return java.lang.String
-	 */
-	public java.lang.String getIdSuffix() {
-		return idSuffix;
-	}
-
-	/**
-	 * Insert the method's description here. Creation date: (12/15/2000 5:34:56 PM)
-	 * 
-	 * @return org.eclipse.emf.ecore.EReference
-	 */
-	public org.eclipse.emf.ecore.EReference getReference() {
-		return reference;
-	}
-
-	/**
-	 * Insert the method's description here. Creation date: (12/16/2000 9:32:28 AM)
-	 * 
-	 * @return java.lang.Object
-	 */
-	public Object getReferenceValue() {
-		return referenceValue;
-	}
-
-	public abstract void performAction();
-}
-
diff --git a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/EncoderDecoder.java b/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/EncoderDecoder.java
deleted file mode 100644
index 69fe06b..0000000
--- a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/EncoderDecoder.java
+++ /dev/null
@@ -1,30 +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.internal.emf.utilities;
-
-
-/**
- * Represents an interface to an object which can encode and decode values. This typically involves
- * cryptography algorithms. This interface, along with the supplied adapters provide an extension
- * mechanism for pluggable crytography that can be used when storing and retrieving attribute
- * values, and is used prevalently for encoding and decoding password values of mof objects.
- */
-public interface EncoderDecoder {
-	/**
-	 * Returns a decoded version of the value.
-	 */
-	public String decode(String value);
-
-	/**
-	 * Returns an encoded version of the value.
-	 */
-	public String encode(String value);
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/EncoderDecoderAdapter.java b/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/EncoderDecoderAdapter.java
deleted file mode 100644
index 788b300..0000000
--- a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/EncoderDecoderAdapter.java
+++ /dev/null
@@ -1,35 +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.internal.emf.utilities;
-
-
-/**
- * An adapter for EncoderDecoder implementations
- */
-public abstract class EncoderDecoderAdapter implements EncoderDecoder {
-
-	/**
-	 * EncoderDecoderAdapter constructor comment.
-	 */
-	public EncoderDecoderAdapter() {
-		super();
-	}
-
-	/**
-	 * Returns a decoded version of the value.
-	 */
-	public abstract String decode(String value);
-
-	/**
-	 * Returns an encoded version of the value.
-	 */
-	public abstract String encode(String value);
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/EncoderDecoderRegistry.java b/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/EncoderDecoderRegistry.java
deleted file mode 100644
index d615112..0000000
--- a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/EncoderDecoderRegistry.java
+++ /dev/null
@@ -1,111 +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.internal.emf.utilities;
-
-
-import java.util.HashMap;
-import java.util.Map;
-
-/**
- * Registry for storing and retrieving value decoders and encoders. Usage Example:
- * 
- * <pre>
- * 
- * 
- * // Use the standard WebSphere password value encoder/decoder.
- * EncoderDecoderRegistry.getDefaultRegistry().setDefaultEncoderDecoder(new com.ibm.ejs.security.util.WASEncoderDecoder());
- * // Begin tracking changes...
- * WriteBackHelper.begin();
- * // Load a resource which may have un-encoded values...
- * // Note: The WCCM will attempt to detect un-encoded values.  If unencoded values
- * // are found, the value will be encoded, and the resource will be added to the
- * // WriteBackHelper.
- * Resource res = resourceSet.load(&quot;myResource&quot;);
- * // Ensure that any changes due to encoding are written back out.
- * WriteBackHelper.end();
- * </pre>
- */
-public class EncoderDecoderRegistry {
-	protected static EncoderDecoderRegistry _defaultInstance;
-	public static final EncoderDecoder INITIAL_DEFAULT_ENCODER = PassthruEncoderDecoder.INSTANCE;
-	protected Map encoders = new HashMap();
-	protected Object defaultEncoderKey;
-
-	/**
-	 * EncoderDecoderRegistry constructor comment.
-	 */
-	public EncoderDecoderRegistry() {
-		super();
-		initializeDefaultEncoders();
-	}
-
-	/**
-	 * Insert the method's description here. Creation date: (2/2/2001 12:43:31 AM)
-	 */
-	public void addEncoderDecoder(EncoderDecoder encoderDecoder) {
-		encoders.put(encoderDecoder.getClass().getName(), encoderDecoder);
-		if (defaultEncoderKey == null)
-			defaultEncoderKey = encoderDecoder.getClass().getName();
-	}
-
-	/**
-	 * Returns an encoder/decoder by key.
-	 */
-	public EncoderDecoder getDefaultEncoderDecoder() {
-		if (defaultEncoderKey == null)
-			return null;
-		return (EncoderDecoder) encoders.get(defaultEncoderKey);
-	}
-
-	/**
-	 * Returns the default registry to use for retrieving value encoders and decoders
-	 */
-	public static EncoderDecoderRegistry getDefaultRegistry() {
-		if (_defaultInstance == null) {
-			_defaultInstance = new EncoderDecoderRegistry();
-		}
-		return _defaultInstance;
-	}
-
-	/**
-	 * Returns an encoder/decoder by key.
-	 */
-	public EncoderDecoder getEncoderDecoder(Object key) {
-		return (EncoderDecoder) encoders.get(key);
-	}
-
-	/**
-	 * Initializes a standard set of encoder/decoders.
-	 */
-	public void initializeDefaultEncoders() {
-		setDefaultEncoderDecoder(INITIAL_DEFAULT_ENCODER);
-		addEncoderDecoder(new XMLValueEncoderDecoder());
-	}
-
-	/**
-	 * Removes the encoder/decoder with the specified key.
-	 */
-	public void removeEncoderDecoder(Object key) {
-		if (encoders.containsKey(key)) {
-			encoders.remove(key);
-		}
-	}
-
-	/**
-	 * Returns an encoder/decoder by key.
-	 */
-	public void setDefaultEncoderDecoder(EncoderDecoder encoder) {
-		defaultEncoderKey = encoder.getClass().getName();
-		if (!encoders.containsKey(defaultEncoderKey)) {
-			addEncoderDecoder(encoder);
-		}
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/EtoolsCopySession.java b/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/EtoolsCopySession.java
deleted file mode 100644
index ca678b8..0000000
--- a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/EtoolsCopySession.java
+++ /dev/null
@@ -1,184 +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.internal.emf.utilities;
-
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.emf.common.notify.impl.NotificationImpl;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.resource.Resource;
-import org.eclipse.emf.ecore.xmi.XMLResource;
-
-/**
- * Insert the type's description here. Creation date: (05/04/01 11:25:59 PM)
- * 
- * @author: Administrator
- */
-public class EtoolsCopySession extends EtoolsCopyUtility {
-	public static final int RESOURCE_COPIED = 500;
-	private EtoolsCopyUtility parentCopyUtility;
-	private XMLResource currentResource;
-	private XMLResource currentCopyResource;
-
-	/**
-	 * EtoolsCopySession constructor comment.
-	 */
-	public EtoolsCopySession(EtoolsCopyUtility aCopyUtility) {
-		parentCopyUtility = aCopyUtility;
-		setPreserveIds(aCopyUtility.preserveIds());
-		setCopyAdapters(aCopyUtility.isCopyAdapters());
-	}
-
-	/**
-	 * Copy all Resources and RefObjects within <code>aGroup</code> and add them to
-	 * <code>aGroup</code>. Non composite references will be deferred until all objects are
-	 * copied from <code>aGroup</code>.
-	 * 
-	 * Copy Resources first and then copy RefObjects.
-	 */
-	public void copy(CopyGroup aGroup) {
-		if (aGroup != null) {
-			copyResources(aGroup);
-			copyRefObjects(aGroup);
-			executeDeferredCopyActions();
-			aGroup.postCopy(this);
-			notifyNewResourcesCopied(aGroup);
-		}
-	}
-
-	/**
-	 * This method should be used if you are only going to copy <code>aRefObject</code> in this
-	 * copy execution.
-	 */
-	public EObject copy(EObject aRefObject, String idSuffix) {
-		EObject copied = containmentCopy(aRefObject, idSuffix);
-		executeDeferredCopyActions();
-		return copied;
-	}
-
-	/**
-	 * This method should be used if you are only going to copy <code>aRefObject</code> in this
-	 * copy execution. This method only copies <code>aRefObject</code> attributes.
-	 */
-	public EObject copyObject(EObject aRefObject, String idSuffix) {
-		EObject copied = containmentCopyObject(aRefObject, idSuffix);
-		executeDeferredCopyActions();
-		return copied;
-	}
-
-	/**
-	 * This method should be used if you are only going to copy <code>aResource</code> in this
-	 * copy execution. The copied Resource will have a URI equal to <code>newUri</code>.
-	 */
-	public Resource copy(Resource aResource, String newUri) {
-		Resource copied = containmentCopy(aResource, newUri);
-		executeDeferredCopyActions();
-		copyModificationFlag(aResource, copied);
-		notifyNewResourceCopied(copied);
-		return copied;
-	}
-
-	protected void notifyNewResourcesCopied(CopyGroup group) {
-		List copied = group.getCopiedResources();
-		for (int i = 0; i < copied.size(); i++) {
-			notifyNewResourceCopied((Resource) copied.get(i));
-		}
-	}
-
-	protected void notifyNewResourceCopied(Resource copied) {
-		copied.eNotify(new NotificationImpl(RESOURCE_COPIED, null, null));
-	}
-
-	/**
-	 * @see com.ibm.etools.emf.ecore.utilities.copy.EtoolsCopyUtility#primCopyObject(EObject,
-	 *      String)
-	 */
-	protected EObject primCopyObject(EObject aRefObject, String idSuffix) {
-		EObject copy = super.primCopyObject(aRefObject, idSuffix);
-		copyIdIfNecessary(aRefObject, copy, idSuffix);
-		return copy;
-	}
-
-	protected void copyIdIfNecessary(EObject obj, EObject copy, String idSuffix) {
-		if ((idSuffix == null && !preserveIds) || currentResource == null)
-			return;
-		String id = currentResource.getID(obj);
-		if (id == null)
-			return;
-		id = idSuffix == null ? id : id + idSuffix;
-		currentCopyResource.setID(copy, id);
-	}
-
-
-	/**
-	 * Set delivery back on for all the cached objects and push them to the parentCopyUtility.
-	 */
-	public void flush() {
-		Iterator it = getCopiedObjects().entrySet().iterator();
-		Map parentCopies = getParentCopyUtility().getCopiedObjects();
-		Map.Entry entry;
-		EObject copy;
-		while (it.hasNext()) {
-			entry = (Map.Entry) it.next();
-			copy = (EObject) entry.getValue();
-			copy.eSetDeliver(true);
-			parentCopies.put(entry.getKey(), copy);
-		}
-		copiedObjects = null;
-	}
-
-	/**
-	 * Return a cached copy.
-	 */
-	public EObject getCopy(EObject anObject) {
-		EObject copied = super.getCopy(anObject);
-		if (copied == null)
-			copied = getParentCopyUtility().getCopy(anObject);
-		return copied;
-	}
-
-	/**
-	 * Insert the method's description here. Creation date: (05/04/01 11:28:07 PM)
-	 * 
-	 * @return com.ibm.etools.emf.ecore.utilities.copy.EtoolsCopyUtility
-	 */
-	protected EtoolsCopyUtility getParentCopyUtility() {
-		return parentCopyUtility;
-	}
-
-	/**
-	 * Return an instance of EObject that is the same type as <code>aRefObject</code>.
-	 */
-	public EObject newInstance(EObject aRefObject) {
-		EObject newType = super.newInstance(aRefObject);
-		newType.eSetDeliver(false);
-		return newType;
-	}
-
-	/**
-	 * @see com.ibm.etools.emf.ecore.utilities.copy.EtoolsCopyUtility#newInstance(Resource, String)
-	 */
-	public Resource newInstance(Resource aResource, String newUri) {
-		Resource copy = super.newInstance(aResource, newUri);
-		if (aResource instanceof XMLResource) {
-			currentResource = (XMLResource) aResource;
-			currentCopyResource = (XMLResource) copy;
-		} else {
-			currentResource = null;
-			currentCopyResource = null;
-		}
-		return copy;
-	}
-
-}
-
diff --git a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/EtoolsCopyUtility.java b/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/EtoolsCopyUtility.java
deleted file mode 100644
index fa24556..0000000
--- a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/EtoolsCopyUtility.java
+++ /dev/null
@@ -1,669 +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.internal.emf.utilities;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.emf.common.notify.Adapter;
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.emf.ecore.EAttribute;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EFactory;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.EPackage;
-import org.eclipse.emf.ecore.EReference;
-import org.eclipse.emf.ecore.ETypedElement;
-import org.eclipse.emf.ecore.EcorePackage;
-import org.eclipse.emf.ecore.resource.Resource;
-
-
-/**
- * Insert the type's description here. Creation date: (12/13/2000 9:10:55 PM)
- * 
- * @author: Administrator
- */
-public class EtoolsCopyUtility {
-	protected static final String REFENUMLITERAL_TYPE_NAME = "EEnumLiteral"; //$NON-NLS-1$
-	private final EcorePackage pkg = EcorePackage.eINSTANCE;
-
-	private final ETypedElement METAENAME = pkg.getENamedElement_Name();
-
-	protected HashMap copiedObjects;
-	protected List deferredReferenceCopies;
-	protected boolean preserveIds = false;
-	protected boolean copyAdapters = false;
-	protected HashMap copiedAdapters;
-
-	protected class DeferredSingleReferenceCopyAction extends DeferredReferenceUtilityAction {
-		public DeferredSingleReferenceCopyAction(EReference aReference, Object aValue, String aSuffix, EObject aCopyContainer) {
-			super(aReference, aValue, aSuffix, aCopyContainer);
-		}
-
-		public void performAction() {
-			EObject value = (EObject) getReferenceValue();
-			getCopyContainer().eSet(getReference(), getCopyIfFound(value));
-		}
-	}
-
-	protected class DeferredManyReferenceCopyAction extends DeferredReferenceUtilityAction {
-		public DeferredManyReferenceCopyAction(EReference aReference, List aValue, String aSuffix, EObject aCopyContainer) {
-			super(aReference, aValue, aSuffix, aCopyContainer);
-		}
-
-		public void performAction() {
-			List copyList = (List) getCopyContainer().eGet(getReference());
-			Iterator it = ((List) getReferenceValue()).iterator();
-			EObject next;
-			while (it.hasNext()) {
-				next = (EObject) it.next();
-				copyList.add(getCopyIfFound(next));
-			}
-		}
-	}
-
-	/**
-	 * Insert the method's description here. Creation date: (12/13/2000 9:14:26 PM)
-	 * 
-	 * @param aRefObject
-	 *            org.eclipse.emf.ecore.EObject
-	 */
-	public EtoolsCopyUtility() {
-	}
-
-	/**
-	 * Create a <code>DeferredManyReferenceCopyAction</code> and add it to the list of deferred
-	 * copy actions.
-	 */
-	protected void addDeferredManyReferenceCopy(EReference reference, List aValue, String idSuffix, EObject aCopyContainer) {
-		getDeferredReferenceCopies().add(new DeferredManyReferenceCopyAction(reference, aValue, idSuffix, aCopyContainer));
-	}
-
-	/**
-	 * Create a <code>DeferredSingleReferenceCopyAction</code> and add it to the list of deferred
-	 * copy actions.
-	 */
-	protected void addDeferredSingleReferenceCopy(EReference reference, EObject aValue, String idSuffix, EObject aCopyContainer) {
-		getDeferredReferenceCopies().add(new DeferredSingleReferenceCopyAction(reference, aValue, idSuffix, aCopyContainer));
-	}
-
-	/**
-	 * Check for an already copied object first.
-	 */
-	protected EObject containmentCopy(EObject anObject, String idSuffix) {
-		EObject copied = getCopy(anObject);
-		if (copied == null)
-			copied = primCopy(anObject, idSuffix);
-		return copied;
-	}
-
-	/**
-	 * Check for an already copied object first.
-	 */
-	protected EObject containmentCopyObject(EObject anObject, String idSuffix) {
-		EObject copied = getCopy(anObject);
-		if (copied == null)
-			copied = primCopyObject(anObject, idSuffix);
-		return copied;
-	}
-
-	protected Resource containmentCopy(Resource aResource, String newUri) {
-		/* copied resources are never cached */
-		return primCopy(aResource, newUri);
-	}
-
-	/**
-	 * Copy all Resources and RefObjects within <code>aGroup</code> and add them to
-	 * <code>aGroup</code>. Non composite references will be deferred until all objects are
-	 * copied from <code>aGroup</code>.
-	 * 
-	 * Copy Resources first and then copy RefObjects.
-	 */
-	public void copy(CopyGroup aGroup) {
-		if (aGroup != null) {
-			EtoolsCopySession session = new EtoolsCopySession(this);
-			session.setPreserveIds(aGroup.getPreserveIds());
-			session.copy(aGroup);
-			session.flush();
-		}
-	}
-
-	public EObject copy(EObject aRefObject) {
-		return copy(aRefObject, null);
-	}
-
-	/**
-	 * This method should be used if you are only going to copy <code>aRefObject</code> in this
-	 * copy execution.
-	 */
-	public EObject copy(EObject aRefObject, String idSuffix) {
-		EtoolsCopySession session = new EtoolsCopySession(this);
-		EObject copied = session.copy(aRefObject, idSuffix);
-		session.flush();
-		return copied;
-	}
-
-	/**
-	 * This method should be used if you are only going to copy <code>aRefObject</code> in this
-	 * copy execution. This method only copies <code>aRefObject</code> with its properties, not
-	 * references.
-	 */
-	public EObject copyObject(EObject aRefObject, String idSuffix) {
-		EtoolsCopySession session = new EtoolsCopySession(this);
-		EObject copied = session.copyObject(aRefObject, idSuffix);
-		session.flush();
-		return copied;
-	}
-
-	/**
-	 * This method should be used if you are only going to copy <code>aResource</code> in this
-	 * copy execution. The copied Resource will have a URI equal to <code>newUri</code>.
-	 */
-	public Resource copy(Resource aResource, String newUri) {
-		EtoolsCopySession session = new EtoolsCopySession(this);
-		Resource copied = session.copy(aResource, newUri);
-		session.flush();
-		return copied;
-	}
-
-	/**
-	 * If an attribute is set and its value is not <code>null</code>, then perform copy
-	 * <code>attribute</code> value from <code>aRefObject</code> to <code>copyRef</code>.
-	 * Null is a valid value if the attribute is set.
-	 */
-
-	protected void copyAttribute(EAttribute attribute, EObject aRefObject, String idSuffix, EObject copyRef) {
-		if (!attribute.isChangeable())
-			return; //ignore
-		if (attribute.isMany()) {
-			List value = (List) aRefObject.eGet(attribute);
-			if (value != null)
-				copyManyAttribute(attribute, value, aRefObject, idSuffix, copyRef);
-		} else if (aRefObject.eIsSet(attribute)) {
-			Object value = aRefObject.eGet(attribute);
-			if (value == null)
-				copyRef.eSet(attribute, value);
-			else
-				copySingleAttribute(attribute, value, aRefObject, idSuffix, copyRef);
-		} else if (attribute == METAENAME) {
-			//set name to the ID (this is computed as a default), only get here if isSetName is
-			// false.
-			copyRef.eSet(attribute, aRefObject.eGet(attribute));
-		}
-	}
-
-	/**
-	 * Iterate over the attributes of the receiver and copy each attribute.
-	 */
-	protected void copyCurrentAttributes(EObject aRefObject, String idSuffix, EObject copyRef) {
-		List attributes = aRefObject.eClass().getEAllAttributes();
-		if (attributes != null) {
-			Iterator it = attributes.iterator();
-			EAttribute ra;
-			while (it.hasNext()) {
-				ra = (EAttribute) it.next();
-				copyAttribute(ra, aRefObject, idSuffix, copyRef);
-			}
-		}
-	}
-
-	/**
-	 * This method will iterate over the references of the receiver. If a reference's value is not
-	 * <code>null</code>, then a series of tests are done before setting the value with the
-	 * copied object, <code>copyRef</code>.
-	 * 
-	 * Tests: 1. Do nothing if the reference equals the metaEContainer or metaEContains references.
-	 */
-
-	protected void copyCurrentReferences(EObject aRefObject, String idSuffix, EObject copyRef) {
-		List references = aRefObject.eClass().getEAllReferences();
-		if (references != null) {
-			Iterator it = references.iterator();
-			EReference rr;
-			while (it.hasNext()) {
-				rr = (EReference) it.next();
-				if (shouldCopyReference(rr))
-					copyReference(rr, aRefObject, idSuffix, copyRef);
-			}
-		}
-	}
-
-	/**
-	 * Iterate over <code>anExtent</code> and copy each element to <code>copyExtent</code>.
-	 */
-	protected void copyExtent(EList anExtent, EList copyExtent) {
-		Iterator it = anExtent.iterator();
-		EObject refObject;
-		while (it.hasNext()) {
-			refObject = (EObject) it.next();
-			copyExtent.add(containmentCopy(refObject, null));
-		}
-	}
-
-	/**
-	 * Copy a many value attribute which is treated as a many valued reference.
-	 * 
-	 * Tests:
-	 * 
-	 * 1. If the type is <bold>not </bold> <code>null</code>, then set the value on
-	 * <code>copyRef</code> without making a copy. 2. If the type is <code>null</code>, then
-	 * obtain the list from <code>copyRef</code> and add a copy of each value from the original
-	 * list to it.
-	 */
-
-	protected void copyManyAttribute(EAttribute attribute, List aValue, EObject aRefObject, String idSuffix, EObject copyRef) {
-		if (attribute.getEType() == null)
-			copyRef.eSet(attribute, aValue);
-		else {
-			List copyList = (List) copyRef.eGet(attribute);
-			Iterator it = aValue.iterator();
-			Object next;
-			while (it.hasNext()) {
-				next = it.next();
-				if (next instanceof EObject)
-					copyList.add(containmentCopy((EObject) next, idSuffix));
-				else
-					copyList.add(next);
-			}
-		}
-	}
-
-	/**
-	 * This method will iterate over the references of the receiver. If a reference's value is not
-	 * <code>null</code>, then a series of tests are done before setting the value with the
-	 * copied object, <code>copyRef</code>.
-	 * 
-	 * Tests: 1. If the reference is many, obtain the list from the receiving object and make a copy
-	 * of each value if the reference is composite before adding to the list; otherwise, just add
-	 * each value to the of the <code>copyRef</code>.
-	 */
-
-	protected void copyManyReference(EReference aReference, List aList, EObject aRefObject, String idSuffix, EObject copyRef) {
-		if (!aList.isEmpty()) {
-			if (aReference.isContainment()) {
-				List copyList = (List) copyRef.eGet(aReference);
-				Iterator it = aList.iterator();
-				EObject targetValue;
-				while (it.hasNext()) {
-					targetValue = (EObject) it.next();
-					copyList.add(containmentCopy(targetValue, idSuffix));
-				}
-			} else
-				addDeferredManyReferenceCopy(aReference, aList, idSuffix, copyRef);
-		}
-	}
-
-	/**
-	 * This method will iterate over the references of the receiver. If a reference's value is not
-	 * <code>null</code>, then perform the copy.
-	 */
-
-	protected void copyReference(EReference aReference, EObject aRefObject, String idSuffix, EObject copyRef) {
-		if (aReference.isMany()) {
-			List value = (List) aRefObject.eGet(aReference);
-			if (value != null)
-				copyManyReference(aReference, value, aRefObject, idSuffix, copyRef);
-		} else if (aRefObject.eIsSet(aReference)) {
-			Object value = aRefObject.eGet(aReference);
-			copySingleReference(aReference, (EObject) value, aRefObject, idSuffix, copyRef);
-		}
-	}
-
-	/**
-	 * Copy all RefObjects from <code>aGroup</code> and add the copy back to <code>aGroup</code>.
-	 */
-	protected void copyRefObjects(CopyGroup aGroup) {
-		Association association;
-		EObject refObject;
-		String idSuffix;
-		if (aGroup.primGetRefObjects() != null) {
-			Iterator it = aGroup.primGetRefObjects().iterator();
-			while (it.hasNext()) {
-				association = (Association) it.next();
-				refObject = (EObject) association.getKey();
-				idSuffix = (String) association.getValue();
-				if (idSuffix == null)
-					idSuffix = aGroup.getDefaultIdSuffix();
-				aGroup.addCopied(containmentCopy(refObject, idSuffix));
-			}
-		}
-	}
-
-	/**
-	 * Copy all Resources from <code>aGroup</code> and add the copy back to <code>aGroup</code>.
-	 */
-	protected void copyResources(CopyGroup aGroup) {
-		Association association;
-		Resource resource;
-		String uri;
-		if (aGroup.primGetResources() != null) {
-			Iterator it = aGroup.primGetResources().iterator();
-			while (it.hasNext()) {
-				association = (Association) it.next();
-				resource = (Resource) association.getKey();
-				uri = (String) association.getValue();
-				Resource copied = containmentCopy(resource, uri);
-				copyModificationFlag(resource, copied);
-				aGroup.addCopied(copied);
-			}
-		}
-	}
-
-	/**
-	 * Copy a single value attribute.
-	 * 
-	 * Tests:
-	 * 
-	 * 1. If an attribute type is not <code>null</code> then it is an object type and it must be
-	 * copied. Do not copy the value if the attribute is an Enumeration type. 2. If an attribute
-	 * type is <bold>not </bold> <code>null</code> then copy the value before setting it on
-	 * <code>copyRef</code>.
-	 */
-
-	protected void copySingleAttribute(EAttribute attribute, Object aValue, EObject aRefObject, String idSuffix, EObject copyRef) {
-		if (attribute.getEType() == null) {
-			copyRef.eSet(attribute, aValue);
-		} else {
-			//MOF108
-			// if (attribute.isObjectType())
-			if (attribute.getEType() instanceof EClass)
-				copyRef.eSet(attribute, containmentCopy((EObject) aValue, idSuffix));
-			else
-				copyRef.eSet(attribute, aValue);
-		}
-	}
-
-	/**
-	 * This method will iterate over the references of the receiver. If a reference's value is not
-	 * <code>null</code>, then a series of tests are done before setting the value with the
-	 * copied object, <code>copyRef</code>.
-	 * 
-	 * Tests: 1. If the reference is <bold>not </bold> many, make a copy of the value if the
-	 * reference is composite before setting the value with <code>copyRef</code>; otherwise, just
-	 * set the value as is.
-	 */
-
-	protected void copySingleReference(EReference aReference, EObject aValue, EObject aRefObject, String idSuffix, EObject copyRef) {
-		//Exceptional case; the relationship is not the container relationship
-		//And is not navigable in the other direction; go ahead and copy
-		if (aValue != aRefObject.eContainer() || aReference.getEOpposite() == null) {
-			if (aReference.isContainment())
-				copyRef.eSet(aReference, containmentCopy(aValue, idSuffix));
-			else
-				addDeferredSingleReferenceCopy(aReference, aValue, idSuffix, copyRef);
-		}
-	}
-
-	/**
-	 * Copy all Resources and RefObjects within <code>aGroup</code> and add them to
-	 * <code>aGroup</code>. Non composite references will be deferred until all objects are
-	 * copied from <code>aGroup</code>.
-	 * 
-	 * Copy Resources first and then copy RefObjects.
-	 */
-	public static void createCopy(CopyGroup aGroup) {
-		EtoolsCopyUtility utility = new EtoolsCopyUtility();
-		utility.copy(aGroup);
-	}
-
-	/**
-	 * Copies attributes
-	 */
-	public static void createAttributeCopy(EObject aRefObject, EObject copyObject) {
-		EtoolsCopyUtility utility = new EtoolsCopyUtility();
-		utility.copyCurrentAttributes(aRefObject, null, copyObject);
-	}
-
-	/**
-	 * Copies all set attributes and references based on containment. Thus, it will copy the entire
-	 * containment tree. Use the idSuffix to define the suffix that will be appended to the existing
-	 * IDs of copied objects.
-	 */
-	public static EObject createCopy(EObject aRefObject) {
-		return createCopy(aRefObject, null);
-	}
-
-	/**
-	 * Copies all set attributes and references based on containment. Thus, it will copy the entire
-	 * containment tree. Use the idSuffix to define the suffix that will be appended to the existing
-	 * IDs of copied objects.
-	 */
-	public static EObject createCopy(EObject aRefObject, String idSuffix) {
-		EtoolsCopyUtility utility = new EtoolsCopyUtility();
-		return utility.copy(aRefObject, idSuffix);
-	}
-
-	/**
-	 * Copy <code>aResource</code> using <code>newUri</code> for the URI.
-	 */
-	public static Resource createCopy(Resource aResource, String newUri) {
-		EtoolsCopyUtility utility = new EtoolsCopyUtility();
-		return utility.copy(aResource, newUri);
-	}
-
-	protected void executeDeferredCopyActions() {
-		if (primGetDeferredReferenceCopies() != null) {
-			Iterator it = primGetDeferredReferenceCopies().iterator();
-			DeferredReferenceUtilityAction action;
-			while (it.hasNext()) {
-				action = (DeferredReferenceUtilityAction) it.next();
-				action.performAction();
-			}
-			primGetDeferredReferenceCopies().clear();
-		}
-	}
-
-	/**
-	 * Insert the method's description here. Creation date: (12/13/2000 9:17:35 PM)
-	 * 
-	 * @return java.util.HashMap
-	 */
-	protected java.util.HashMap getCopiedObjects() {
-		if (copiedObjects == null)
-			copiedObjects = new HashMap(200);
-		return copiedObjects;
-	}
-
-	protected java.util.HashMap getCopiedAdapters() {
-		if (copiedAdapters == null)
-			copiedAdapters = new HashMap(200);
-		return copiedAdapters;
-	}
-
-	/**
-	 * Return a cached copy.
-	 */
-	public EObject getCopy(EObject anObject) {
-		if (anObject == null)
-			return null;
-		return (EObject) getCopiedObjects().get(anObject);
-	}
-
-	/**
-	 * Return a cached copy, if none, return the argument.
-	 */
-	public EObject getCopyIfFound(EObject anObject) {
-		EObject copied = getCopy(anObject);
-		return copied == null ? anObject : copied;
-	}
-
-	/**
-	 * Insert the method's description here. Creation date: (12/16/2000 9:11:32 AM)
-	 * 
-	 * @return java.util.List
-	 */
-	protected java.util.List getDeferredReferenceCopies() {
-		if (deferredReferenceCopies == null)
-			deferredReferenceCopies = new ArrayList(100);
-		return deferredReferenceCopies;
-	}
-
-	/**
-	 * Return an instance of EObject that is the same type as <code>aRefObject</code>.
-	 */
-	public EObject newInstance(EObject aRefObject) {
-		if (aRefObject == null)
-			return null;
-		EPackage epkg = (EPackage) aRefObject.eClass().eContainer();
-		EFactory factory = epkg.getEFactoryInstance();
-		EClass refObj = aRefObject.eClass();
-		return factory.create(refObj);
-	}
-
-	/**
-	 * Return an instance of Resource that uses the same ResourceFactory as the one used by
-	 * <code>aResource</code>. If <code>newUri</code> is <code>null</code> then use the URI
-	 * from <code>aResource</code>.
-	 */
-	public Resource newInstance(Resource aResource, String newUri) {
-		if (aResource == null)
-			return null;
-		Resource newResource;
-		String originalUri = aResource.getURI().toString();
-		newUri = newUri == null ? originalUri : newUri;
-
-		Resource.Factory factory = null;
-		if (aResource.getResourceSet() == null)
-			factory = Resource.Factory.Registry.INSTANCE.getFactory(URI.createURI(originalUri));
-		else
-			factory = aResource.getResourceSet().getResourceFactoryRegistry().getFactory(URI.createURI(originalUri));
-
-
-		newResource = factory.createResource(URI.createURI(newUri));
-		return newResource;
-	}
-
-	/**
-	 * Should the id be copied in the case where no suffix is specified? Defaults to false
-	 */
-	public boolean preserveIds() {
-		return preserveIds;
-	}
-
-	/**
-	 * Copies all set attributes and references based on containment. Thus, it will copy the entire
-	 * containment tree. Use the idSuffix to define the suffix that will be appended to the existing
-	 * IDs of copied objects. If an idSuffix does not exist, do not set an id on the copied object.
-	 */
-	protected EObject primCopy(EObject aRefObject, String idSuffix) {
-		if (aRefObject == null)
-			return null;
-		EObject copyRef = primCopyObject(aRefObject, idSuffix);
-
-		copyCurrentReferences(aRefObject, idSuffix, copyRef);
-		return copyRef;
-	}
-
-	/**
-	 * Copies all set attributes based on containment. Thus, it will copy the entire containment
-	 * tree. Use the idSuffix to define the suffix that will be appended to the existing IDs of
-	 * copied objects. If an idSuffix does not exist, do not set an id on the copied object.
-	 */
-	protected EObject primCopyObject(EObject aRefObject, String idSuffix) {
-		if (aRefObject == null)
-			return null;
-		EObject copyRef = newInstance(aRefObject);
-
-		recordCopy(aRefObject, copyRef);
-		copyCurrentAttributes(aRefObject, idSuffix, copyRef);
-		if (isCopyAdapters())
-			copyAdapters(aRefObject, copyRef);
-		return copyRef;
-	}
-
-	protected void copyAdapters(EObject aRefObject, EObject copyRef) {
-		List adapters = aRefObject.eAdapters();
-		for (int i = 0; i < adapters.size(); i++) {
-			Adapter adapter = (Adapter) adapters.get(i);
-			copyAdapter(aRefObject, copyRef, adapter);
-
-		}
-	}
-
-	protected void copyAdapter(EObject aRefObject, EObject copyRef, Adapter adapter) {
-		if (!(adapter instanceof CloneablePublic))
-			return;
-		CloneablePublic copyAdapter = (CloneablePublic) getCopiedAdapters().get(adapter);
-		if (copyAdapter == null) {
-			copyAdapter = (CloneablePublic) ((CloneablePublic) adapter).clone();
-			getCopiedAdapters().put(adapter, copyAdapter);
-		}
-		if (copyAdapter != null)
-			copyRef.eAdapters().add(copyAdapter);
-	}
-
-	/**
-	 * Copies all set attributes and references based on containment. Thus, it will copy the entire
-	 * containment tree. Use the idSuffix to define the suffix that will be appended to the existing
-	 * IDs of copied objects.
-	 */
-	protected Resource primCopy(Resource aResource, String newUri) {
-		if (aResource == null)
-			return null;
-		Resource copyResource = newInstance(aResource, newUri);
-		copyExtent(aResource.getContents(), copyResource.getContents());
-		return copyResource;
-	}
-
-	protected void copyModificationFlag(Resource aResource, Resource copied) {
-		if (aResource.isModified())
-			copied.setModified(true);
-	}
-
-	/**
-	 * Insert the method's description here. Creation date: (12/16/2000 9:11:32 AM)
-	 * 
-	 * @return java.util.List
-	 */
-	private java.util.List primGetDeferredReferenceCopies() {
-		return deferredReferenceCopies;
-	}
-
-	public void recordCopy(EObject aSource, EObject aCopy) {
-		getCopiedObjects().put(aSource, aCopy);
-	}
-
-	public void recordCopy(Adapter aSource, Adapter aCopy) {
-		getCopiedAdapters().put(aSource, aCopy);
-	}
-
-	/**
-	 * Should the id be copied in the case where no suffix is specified?
-	 */
-	public void setPreserveIds(boolean value) {
-		preserveIds = value;
-	}
-
-	protected boolean shouldCopyReference(EReference aReference) {
-		return aReference.isChangeable();
-	}
-
-	/**
-	 * @return
-	 */
-	public boolean isCopyAdapters() {
-		return copyAdapters;
-	}
-
-	/**
-	 * Flag used to indicate whether adapters should be copied as well. In order for an adapter to
-	 * be copied, it must implement the {@link CloneablePublic}interface.
-	 */
-	public void setCopyAdapters(boolean b) {
-		copyAdapters = b;
-	}
-
-}
-
-
diff --git a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/ExceptionHelper.java b/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/ExceptionHelper.java
deleted file mode 100644
index b5fc133..0000000
--- a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/ExceptionHelper.java
+++ /dev/null
@@ -1,70 +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.internal.emf.utilities;
-
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.wst.common.frameworks.internal.enablement.nonui.IWFTWrappedException;
-
-
-
-/**
- * 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(IWFTWrappedException exception) {
-		List messages = new ArrayList(4);
-		messages.add(exception.getMessage());
-		Exception nested = exception.getNestedException();
-		while (nested != null) {
-			messages.add(nested.getMessage());
-			if (nested instanceof IWFTWrappedException)
-				nested = ((IWFTWrappedException) 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(IWFTWrappedException 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.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/ExtendedEcoreUtil.java b/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/ExtendedEcoreUtil.java
deleted file mode 100644
index 8489833..0000000
--- a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/ExtendedEcoreUtil.java
+++ /dev/null
@@ -1,272 +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.internal.emf.utilities;
-
-import java.io.FileNotFoundException;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.emf.common.notify.Adapter;
-import org.eclipse.emf.common.notify.impl.BasicNotifierImpl.EAdapterList;
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.emf.common.util.WrappedException;
-import org.eclipse.emf.ecore.EAttribute;
-import org.eclipse.emf.ecore.ENamedElement;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.EPackage;
-import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.emf.ecore.InternalEObject;
-import org.eclipse.emf.ecore.resource.Resource;
-import org.eclipse.emf.ecore.util.EcoreUtil;
-import org.eclipse.emf.ecore.xmi.XMLResource;
-
-
-
-public class ExtendedEcoreUtil extends EcoreUtil {
-	private static FileNotFoundDetector FILE_NOT_FOUND_DETECTOR;
-	private static String NAME_ATTRIBUTE_STRING = "name"; //$NON-NLS-1$
-
-
-	public interface FileNotFoundDetector {
-		boolean isFileNotFound(WrappedException wrappedEx);
-	}
-
-	public static void setFileNotFoundDetector(FileNotFoundDetector detector) {
-		FILE_NOT_FOUND_DETECTOR = detector;
-	}
-
-	public static FileNotFoundDetector getFileNotFoundDetector() {
-		if (FILE_NOT_FOUND_DETECTOR == null) {
-			FILE_NOT_FOUND_DETECTOR = new FileNotFoundDetector() {
-				public boolean isFileNotFound(WrappedException wrappedEx) {
-					if (getInnerFileNotFoundException(wrappedEx) != null)
-						return true;
-					return false;
-				}
-			};
-		}
-		return FILE_NOT_FOUND_DETECTOR;
-	}
-
-	public static FileNotFoundException getInnerFileNotFoundException(WrappedException wrappedEx) {
-		if (wrappedEx.exception() instanceof java.io.FileNotFoundException) {
-			return (FileNotFoundException) wrappedEx.exception();
-		} else if (wrappedEx.exception() instanceof WrappedException) {
-			return getInnerFileNotFoundException((WrappedException) wrappedEx.exception());
-		}
-		return null;
-	}
-
-	public static void eSetOrAdd(EObject obj, EStructuralFeature feature, Object value) {
-		eSetOrAdd(obj, feature, value, 0);
-	}
-
-	public static void eSetOrAdd(EObject obj, EStructuralFeature feature, Object value, int newIndex) {
-		if (feature.isMany() && value != null) {
-			if (newIndex >= 0)
-				((List) obj.eGet(feature)).add(newIndex, value);
-			else
-				((List) obj.eGet(feature)).add(value);
-		} else {
-			obj.eSet(feature, value);
-		}
-	}
-
-	public static void eUnsetOrRemove(EObject obj, EStructuralFeature feature, Object value) {
-		if (feature == null || feature.isMany())
-			((List) obj.eGet(feature)).remove(value);
-		else
-			obj.eUnset(feature);
-	}
-
-	public static boolean endsWith(URI sourceUri, URI testUri) {
-		//TODO Waiting on new emf URI API
-		String[] sourceSegments = sourceUri.segments();
-		String[] testSegments = testUri.segments();
-		int i = testSegments.length;
-		int j = sourceSegments.length;
-		if (j >= i) {
-			boolean test = true;
-
-			while (test && i > 0) {
-				i--;
-				j--;
-				test = testSegments[i].equals(sourceSegments[j]);
-			}
-			return test;
-		}
-		return false;
-	}
-
-	public static String getName(EObject obj) {
-		if (obj == null)
-			return null;
-		if (obj instanceof ENamedElement)
-			return ((ENamedElement) obj).getName();
-		List allAtts = obj.eClass().getEAllAttributes();
-		int size = allAtts.size();
-		EAttribute att, nameAttribute = null;
-		for (int i = 0; i < size; i++) {
-			att = (EAttribute) allAtts.get(i);
-			if (NAME_ATTRIBUTE_STRING.equals(att.getName())) {
-				nameAttribute = att;
-				break;
-			}
-		}
-		if (nameAttribute != null)
-			return (String) obj.eGet(nameAttribute);
-		return null;
-	}
-
-	/**
-	 * @deprecated No longer needed.
-	 */
-	public static void addLoadingTag(Resource resource) {
-		//resource.eAdapters().add(IsLoadingDetector.INSTANCE);
-	}
-
-	/**
-	 * @deprecated No longer needed.
-	 */
-	public static void removeLoadingTag(Resource resource) {
-		//resource.eAdapters().remove(IsLoadingDetector.INSTANCE);
-	}
-
-	/**
-	 * Return true if the resource is currently being loaded. This is determined by checking for the
-	 * IsLoadingDector in the list of eAdapters on the resource.
-	 * 
-	 * @param resource
-	 * @return boolean
-	 * 
-	 * @see addLoadingTag(Resource)
-	 * @see removeLoadingTag(Resource)
-	 *  @deprecated use {@link Resource.Internal#isLoading()}
-	 */
-	public static boolean isLoading(Resource resource) {
-		return resource != null ? ((Resource.Internal)resource).isLoading() : false; 
-	}
-
-	public static Adapter createAdapterForLoading(Adapter targetAdapter, EObject targetObject) {
-		Resource res = targetObject.eResource();
-		if (res == null || isLoading(res))
-			return new IsLoadingProxyAdapter(targetAdapter, targetObject);
-		return targetAdapter;
-	}
-
-	public static void preRegisterPackage(String nsPrefix, EPackage.Descriptor descriptor) {
-		if (!EPackage.Registry.INSTANCE.containsKey(nsPrefix))
-			EPackage.Registry.INSTANCE.put(nsPrefix, descriptor);
-	}
-	/**
-	   * Returns the adapter of the specified type.
-	 * @param anObject 
-	   * @param adapters list of adapters to search.
-	   * @param type the type of adapter.
-	   * @return an adapter from the list or null.
-	   */
-	  public static Adapter getAdapter(EObject anObject, List adapters, Object type) {
-
-		  	Object [] adaptArray = ((EAdapterList)adapters).data();
-		  	if (adaptArray == null) return null;
-			for (int i = 0; i < adaptArray.length; i++) {
-				Adapter adapter = (Adapter) adaptArray[i];
-				if (adapter != null && adapter.isAdapterForType(type)) {
-					return adapter;
-				}
-			}
-			return null;
-	}
-
-	/**
-	 * Remove this object from it's container, and make it and all it's children
-	 * proxies
-	 */
-	public static void unload(EObject root) {
-		Resource res = root.eResource();
-		EObject container = root.eContainer();
-		/* Making sure the proxy is created first before unloading */
-		if (root != null && res != null)
-			becomeProxy(root, res);
-		if (container == null)
-			if (res != null)
-				res.getContents().remove(root);
-			else {
-				EStructuralFeature feature = root.eContainmentFeature();
-				if (feature != null)
-					eUnsetOrRemove(container, feature, root);
-			}
-		
-	}
-
-	/**
-	 * Turns this object and all it's children to proxies, and removes adapters precondition: The
-	 * object has been removed from it's container
-	 */
-	public static void becomeProxy(EObject root, Resource res) {
-		Iterator iter = root.eAllContents();
-		while (iter.hasNext()) {
-			doBecomeProxy((InternalEObject) iter.next(), res);
-		}
-		doBecomeProxy((InternalEObject) root, res);
-	}
-
-	protected static void doBecomeProxy(InternalEObject p, Resource res) {
-		String id = res.getURIFragment(p);
-		p.eSetProxyURI(res.getURI().appendFragment(id));
-		if (res instanceof XMLResource) {
-			((XMLResource) res).setID(p,null);
-		}
-		p.eAdapters().clear();
-	}
-
-	public static void removeProxy(EObject root, Resource res) {
-		Iterator iter = root.eAllContents();
-		while (iter.hasNext()) {
-			doRemoveProxy((InternalEObject) iter.next(), res);
-		}
-		doRemoveProxy((InternalEObject) root, res);
-	}
-
-	protected static void doRemoveProxy(InternalEObject p, Resource res) {
-		String id = p.eProxyURI().fragment();
-		if (res instanceof XMLResource) {
-			((XMLResource) res).setID(p, id);
-		}
-		p.eSetProxyURI(null);
-	}
-
-
-	/**
-	 * Ensures the passed object is not a proxy; if it is, throws an exception indicating the bad
-	 * HREF. If the object is null, does nothing.
-	 * 
-	 * @param object
-	 * @throws DanglingHREFException
-	 */
-	public static void checkProxy(EObject object) throws DanglingHREFException {
-		if (object == null || !object.eIsProxy())
-			return;
-		String msg = WFTUtilsResourceHandler.getString(WFTUtilsResourceHandler.DANGLING_HREF_ERROR_, new Object[]{((InternalEObject) object).eProxyURI()});
-		throw new DanglingHREFException(msg);
-	}
-
-	/**
-	 * Return true if o1 and o2 are not the same values. This implementation takes into account that
-	 * either parameter can be null.
-	 * 
-	 * @param o1
-	 * @param o2
-	 * @return
-	 */
-	public static boolean valueChanged(Object o1, Object o2) {
-		return (o1 == null ^ o2 == null) || (o1 == null || !o1.equals(o2));
-	}
-
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/FeatureValueConversionException.java b/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/FeatureValueConversionException.java
deleted file mode 100644
index 0525a1f..0000000
--- a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/FeatureValueConversionException.java
+++ /dev/null
@@ -1,29 +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.internal.emf.utilities;
-
-public class FeatureValueConversionException extends RuntimeException {
-
-	/**
-	 * Constructor for FeatureValueConversionException.
-	 */
-	public FeatureValueConversionException() {
-		super();
-	}
-
-	/**
-	 * Constructor for FeatureValueConversionException.
-	 * 
-	 * @param s
-	 */
-	public FeatureValueConversionException(String s) {
-		super(s);
-	}
-
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/FeatureValueConverter.java b/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/FeatureValueConverter.java
deleted file mode 100644
index 786a687..0000000
--- a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/FeatureValueConverter.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.internal.emf.utilities;
-
-
-
-import org.eclipse.emf.ecore.EStructuralFeature;
-
-/**
- * Insert the type's description here. Creation date: (5/10/2001 2:46:54 PM)
- * 
- * @author: Administrator
- */
-public interface FeatureValueConverter {
-	static final FeatureValueConverter DEFAULT = new DefaultFeatureValueConverter();
-
-	/**
-	 * Convert
-	 * 
-	 * @aValue to the type of
-	 * @aFeature.
-	 */
-	Object convertValue(Object aValue, EStructuralFeature aFeature);
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/ICommand.java b/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/ICommand.java
deleted file mode 100644
index d040995..0000000
--- a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/ICommand.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.internal.emf.utilities;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IResourceDelta;
-import org.eclipse.core.runtime.CoreException;
-
-/**
- * @author John Mourra
- */
-public interface ICommand {
-
-	/*
-	 * This will contain the multi-selection of objects to deploy. This selection could be used to
-	 * filter elements within a Module. Any other setup code should be done here...
-	 */
-	void init(Object[] selection);
-
-	/**
-	 * @param resource
-	 * @param delta
-	 * @param context
-	 * @return
-	 * @throws CoreException
-	 */
-	public boolean execute(IResource resource, IResourceDelta delta, ICommandContext context) throws CoreException;
-
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/ICommandContext.java b/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/ICommandContext.java
deleted file mode 100644
index bee3f61..0000000
--- a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/ICommandContext.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.internal.emf.utilities;
-
-import java.util.Map;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.emf.ecore.resource.ResourceSet;
-
-/**
- * @author John Mourra
- */
-public interface ICommandContext {
-
-	/**
-	 * @return
-	 */
-	public IProgressMonitor getProgressMonitor();
-
-	/**
-	 * @return
-	 */
-	public Map getConfigurationProperties();
-
-	/**
-	 * @return
-	 */
-	public ResourceSet getResourceSet();
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/IDUtil.java b/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/IDUtil.java
deleted file mode 100644
index 374ae13..0000000
--- a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/IDUtil.java
+++ /dev/null
@@ -1,70 +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.internal.emf.utilities;
-
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.resource.Resource;
-import org.eclipse.emf.ecore.xmi.XMLResource;
-
-public class IDUtil {
-
-	/**
-	 * This method is invoked to assign a unique ID to the object. The object must be contained in a
-	 * resource.
-	 */
-	public static void assignID(EObject object) {
-		Resource aResource = object.eResource();
-		if (aResource instanceof XMLResource)
-			assignID(object, (XMLResource) aResource);
-
-	}
-
-	public static String getOrAssignID(EObject object) {
-		Resource aResource = object.eResource();
-		if (aResource instanceof XMLResource)
-			return getOrAssignID(object, (XMLResource) aResource);
-		return null;
-	}
-
-	public static String getOrAssignID(EObject object, XMLResource aResource) {
-		String id = aResource.getID(object);
-		if (id == null)
-			return assignID(object, aResource);
-		return id;
-	}
-
-	public static String assignID(EObject object, XMLResource aResource) {
-		String name = getBaseIDForAssignment(object);
-		if (name == null)
-			return null;
-		String id = ensureUniqueID(aResource, name);
-		aResource.setID(object, id);
-		return id;
-	}
-
-	protected static String ensureUniqueID(XMLResource aResource, String baseIDName) {
-		baseIDName += "_"; //$NON-NLS-1$
-		//Change to use the current time instead of incremental numbers to help
-		//support team development.
-		long currentTime = System.currentTimeMillis();
-		String id = baseIDName + currentTime;
-		while (aResource.getEObject(id) != null) {
-			++currentTime;
-			id = baseIDName + currentTime;
-		}
-		return id;
-	}
-
-	protected static String getBaseIDForAssignment(EObject object) {
-		EClass metaO = object.eClass();
-		return metaO.getName();
-	}
-
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/InvalidPasswordCipherException.java b/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/InvalidPasswordCipherException.java
deleted file mode 100644
index 5ff513b..0000000
--- a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/InvalidPasswordCipherException.java
+++ /dev/null
@@ -1,16 +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.internal.emf.utilities;
-
-
-import org.omg.CORBA.UserException;
-
-public class InvalidPasswordCipherException extends UserException {
-}
-
diff --git a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/InvalidPasswordDecodingException.java b/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/InvalidPasswordDecodingException.java
deleted file mode 100644
index 2e16808..0000000
--- a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/InvalidPasswordDecodingException.java
+++ /dev/null
@@ -1,16 +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.internal.emf.utilities;
-
-
-import org.omg.CORBA.UserException;
-
-public class InvalidPasswordDecodingException extends UserException {
-}
-
diff --git a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/InvalidPasswordEncodingException.java b/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/InvalidPasswordEncodingException.java
deleted file mode 100644
index dd882d7..0000000
--- a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/InvalidPasswordEncodingException.java
+++ /dev/null
@@ -1,16 +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.internal.emf.utilities;
-
-
-import org.omg.CORBA.UserException;
-
-public class InvalidPasswordEncodingException extends UserException {
-}
-
diff --git a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/IsLoadingDetector.java b/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/IsLoadingDetector.java
deleted file mode 100644
index d7d114c..0000000
--- a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/IsLoadingDetector.java
+++ /dev/null
@@ -1,41 +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 Apr 1, 2003
- * 
- * To change the template for this generated file go to Window>Preferences>Java>Code Generation>Code
- * and Comments
- */
-package org.eclipse.wst.common.internal.emf.utilities;
-
-import org.eclipse.emf.common.notify.Adapter;
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.Notifier;
-
-
-public class IsLoadingDetector implements Adapter {
-	public static final IsLoadingDetector INSTANCE = new IsLoadingDetector();
-
-	private IsLoadingDetector() {
-	}
-
-	public void notifyChanged(Notification notification) {
-	}
-
-	public Notifier getTarget() {
-		return null;
-	}
-
-	public void setTarget(Notifier newTarget) {
-	}
-
-	public boolean isAdapterForType(Object type) {
-		return type == this;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/IsLoadingProxyAdapter.java b/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/IsLoadingProxyAdapter.java
deleted file mode 100644
index d90669b..0000000
--- a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/IsLoadingProxyAdapter.java
+++ /dev/null
@@ -1,93 +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 Apr 1, 2003
- *
- * To change the template for this generated file go to
- * Window>Preferences>Java>Code Generation>Code and Comments
- */
-package org.eclipse.wst.common.internal.emf.utilities;
-
-import org.eclipse.emf.common.notify.Adapter;
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.impl.AdapterImpl;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.resource.Resource;
-
-/**
- * @author DABERG
- * 
- * To change the template for this generated type comment go to Window>Preferences>Java>Code
- * Generation>Code and Comments
- */
-public class IsLoadingProxyAdapter extends AdapterImpl {
-	private Resource resource;
-	private Adapter targetAdapter;
-	private EObject targetObject;
-
-	public IsLoadingProxyAdapter(Adapter aTargetAdapter, EObject aTargetObject) {
-		targetAdapter = aTargetAdapter;
-		targetObject = aTargetObject;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.emf.common.notify.impl.AdapterImpl#notifyChanged(org.eclipse.emf.common.notify.Notification)
-	 */
-	public void notifyChanged(Notification msg) {
-		if (resource != null) {
-			//listen for the remove of the loading adapter
-			if (msg.getFeatureID(null) == Resource.RESOURCE__IS_LOADED && msg.getEventType() == Notification.SET) {
-				removeProxySupport();
-				reset();
-			}
-		} else if (cacheResource()) {
-			targetAdapter.notifyChanged(msg);
-			reset();
-		}
-	}
-
-	/**
-	 * Cache the resource variable and return true if we removed the proxy support.
-	 */
-	private boolean cacheResource() {
-		if (getTarget() != null) {
-			EObject eObj = (EObject) getTarget();
-			resource = eObj.eResource();
-			if (resource != null) {
-				eObj.eAdapters().remove(this);
-				if (ExtendedEcoreUtil.isLoading(resource))
-					resource.eAdapters().add(this);
-				else {
-					targetObject.eAdapters().add(targetAdapter);
-					return true;
-				}
-			}
-		}
-		return false;
-	}
-
-	/**
-	 *  
-	 */
-	private void removeProxySupport() {
-		getTarget().eAdapters().remove(this);
-		targetObject.eAdapters().add(targetAdapter);
-	}
-
-	private void reset() {
-		resource = null;
-		targetAdapter = null;
-		targetObject = null;
-	}
-
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/Namespace.java b/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/Namespace.java
deleted file mode 100644
index 1a4a736..0000000
--- a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/Namespace.java
+++ /dev/null
@@ -1,42 +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 Aug 20, 2003
- *  
- */
-package org.eclipse.wst.common.internal.emf.utilities;
-
-
-public class Namespace {
-
-	protected String prefix;
-	protected String nsURI;
-
-
-	public Namespace(String prefix, String uri) {
-		this.prefix = prefix;
-		this.nsURI = uri;
-	}
-
-	public String getNsURI() {
-		return nsURI;
-	}
-
-	public String getPrefix() {
-		return prefix;
-	}
-
-	public void setNsURI(String string) {
-		nsURI = string;
-	}
-
-	public void setPrefix(String string) {
-		prefix = string;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/NamespaceAdapter.java b/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/NamespaceAdapter.java
deleted file mode 100644
index a21a016..0000000
--- a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/NamespaceAdapter.java
+++ /dev/null
@@ -1,205 +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 Aug 20, 2003
- *
- */
-package org.eclipse.wst.common.internal.emf.utilities;
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.emf.common.notify.impl.AdapterImpl;
-import org.eclipse.emf.common.notify.impl.NotificationImpl;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.emf.ecore.impl.EStructuralFeatureImpl;
-import org.eclipse.emf.ecore.util.EcoreUtil;
-
-
-/**
- * Internal class used to hold namespaces parsed from an XML file using the xmlns:prefix="aURI"
- * syntax
- */
-public class NamespaceAdapter extends AdapterImpl implements CloneablePublic {
-
-	protected final static String ADAPTER_TYPE = NamespaceAdapter.class.getName();
-	protected Map prefixesToNS;
-	protected List namespaces;
-
-	public final static EStructuralFeature NOTIFICATION_FEATURE = new EStructuralFeatureImpl() {
-	};
-
-	private static class Notification extends NotificationImpl {
-
-		/**
-		 * @param eventType
-		 * @param oldValue
-		 * @param newValue
-		 */
-		public Notification(int eventType, Object oldValue, Object newValue) {
-			super(eventType, oldValue, newValue);
-		}
-
-		/*
-		 * (non-Javadoc)
-		 * 
-		 * @see org.eclipse.emf.common.notify.impl.NotificationImpl#getFeature()
-		 */
-		public Object getFeature() {
-			return NOTIFICATION_FEATURE;
-		}
-	}
-
-	protected NamespaceAdapter() {
-		super();
-	}
-
-	public static void addNamespace(String prefix, String uri, EObject obj) {
-		if (obj == null)
-			return;
-		NamespaceAdapter adapter = getAdapter(obj);
-		if (adapter != null)
-			adapter.addNamespace(prefix, uri);
-	}
-
-	public static void removeNamespace(String prefix, EObject obj) {
-		if (obj == null)
-			return;
-		NamespaceAdapter adapter = retrieveExistingAdapter(obj);
-		if (adapter != null)
-			adapter.removeNamespace(prefix);
-	}
-
-	/**
-	 * Facade method for resolving prefixes to an actual namespace URI. Used for objects contained
-	 * by instances of {@link com.ibm.etools.emf2xml.TranslatorResource}. Walks up the object
-	 * containment path until a namespace is found, or returns null.
-	 */
-	public static String getResolvedNamespaceURI(String prefix, EObject obj) {
-		if (prefix == null || obj == null)
-			return null;
-		EObject container = obj;
-		String nsURI;
-		while (container != null) {
-			nsURI = getNamespaceURIAtThisLevel(prefix, container);
-			if (nsURI != null)
-				return nsURI;
-			container = container.eContainer();
-		}
-		return null;
-	}
-
-	public static String getNamespaceURIAtThisLevel(String prefix, EObject obj) {
-		if (obj == null)
-			return null;
-		NamespaceAdapter adapter = retrieveExistingAdapter(obj);
-		return adapter == null ? null : adapter.getNamespaceURI(prefix);
-	}
-
-	public static List getNamespaces(EObject obj) {
-		if (obj == null)
-			return Collections.EMPTY_LIST;
-		NamespaceAdapter adapter = retrieveExistingAdapter(obj);
-		return adapter == null ? null : adapter.getNamespaces();
-
-	}
-
-	protected static NamespaceAdapter retrieveExistingAdapter(EObject obj) {
-		return (NamespaceAdapter) EcoreUtil.getExistingAdapter(obj, ADAPTER_TYPE);
-	}
-
-	protected static NamespaceAdapter getAdapter(EObject obj) {
-		NamespaceAdapter adapter = retrieveExistingAdapter(obj);
-		return adapter == null ? createAdapter(obj) : adapter;
-	}
-
-	protected static NamespaceAdapter createAdapter(EObject obj) {
-		NamespaceAdapter adapter = new NamespaceAdapter();
-		adapter.setTarget(obj);
-		obj.eAdapters().add(adapter);
-		return adapter;
-	}
-
-	protected void addNamespace(String prefix, String uri) {
-		Namespace ns = new Namespace(prefix, uri);
-		if (namespaces == null)
-			namespaces = new ArrayList();
-		if (prefixesToNS == null)
-			prefixesToNS = new HashMap();
-
-		prefixesToNS.put(prefix, ns);
-		namespaces.add(ns);
-		fireNotification(org.eclipse.emf.common.notify.Notification.ADD, null, ns);
-
-	}
-
-	protected void removeNamespace(String prefix) {
-		Namespace ns = null;
-		if (prefixesToNS != null)
-			ns = (Namespace) prefixesToNS.get(prefix);
-
-		if (ns != null)
-			namespaces.remove(ns);
-		fireNotification(org.eclipse.emf.common.notify.Notification.REMOVE, ns, null);
-	}
-
-	protected String getNamespaceURI(String prefix) {
-		if (prefixesToNS == null)
-			return null;
-		Namespace ns = (Namespace) prefixesToNS.get(prefix);
-		if (ns != null)
-			return ns.getNsURI();
-		return null;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.emf.common.notify.impl.AdapterImpl#isAdapterForType(java.lang.Object)
-	 */
-	public boolean isAdapterForType(Object type) {
-		return ADAPTER_TYPE.equals(type);
-	}
-
-	public List getNamespaces() {
-		return namespaces == null ? Collections.EMPTY_LIST : Collections.unmodifiableList(namespaces);
-	}
-
-	protected void fireNotification(int type, Object oldValue, Object newValue) {
-		if (target != null)
-			target.eNotify(new Notification(type, oldValue, newValue));
-	}
-
-	public boolean hasNamespaces() {
-		return namespaces != null && !namespaces.isEmpty();
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.etools.emf.ecore.utilities.CloneablePublic#clone()
-	 */
-	public Object clone() {
-		NamespaceAdapter result = new NamespaceAdapter();
-		if (hasNamespaces()) {
-			for (int i = 0; i < namespaces.size(); i++) {
-				Namespace ns = (Namespace) namespaces.get(i);
-				result.addNamespace(ns.getPrefix(), ns.getNsURI());
-			}
-		}
-		return result;
-	}
-
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/PassthruEncoderDecoder.java b/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/PassthruEncoderDecoder.java
deleted file mode 100644
index e684059..0000000
--- a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/PassthruEncoderDecoder.java
+++ /dev/null
@@ -1,41 +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.internal.emf.utilities;
-
-
-/**
- * A passthru EncoderDecoder implementation
- */
-public class PassthruEncoderDecoder extends EncoderDecoderAdapter implements EncoderDecoder {
-	public static final PassthruEncoderDecoder INSTANCE = new PassthruEncoderDecoder();
-	public static final String KEY = PassthruEncoderDecoder.class.getName();
-
-	/**
-	 * EncoderDecoderAdapter constructor comment.
-	 */
-	private PassthruEncoderDecoder() {
-		super();
-	}
-
-	/**
-	 * Returns a decoded version of the value.
-	 */
-	public String decode(String value) {
-		return value;
-	}
-
-	/**
-	 * Returns an encoded version of the value.
-	 */
-	public String encode(String value) {
-		return value;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/PasswordCipherUtil.java b/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/PasswordCipherUtil.java
deleted file mode 100644
index f237158..0000000
--- a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/PasswordCipherUtil.java
+++ /dev/null
@@ -1,66 +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.internal.emf.utilities;
-
-public class PasswordCipherUtil {
-	private static final String DEFAULT_SUPPORTED_CRYPTO_ALGORITHMS[] = {"xor"}; //$NON-NLS-1$
-	private static String _supported_crypto_algorithms[];
-
-	public PasswordCipherUtil() {
-	}
-
-	public static byte[] decipher(byte abyte0[], String s) throws InvalidPasswordCipherException, UnsupportedCryptoAlgorithmException {
-		if (s == null)
-			throw new UnsupportedCryptoAlgorithmException();
-		byte abyte1[] = null;
-		if (s.equalsIgnoreCase(DEFAULT_SUPPORTED_CRYPTO_ALGORITHMS[0]))
-			abyte1 = xor(abyte0);
-		else
-			throw new UnsupportedCryptoAlgorithmException();
-
-		if (abyte1 == null)
-			throw new InvalidPasswordCipherException();
-
-		return abyte1;
-	}
-
-	public static byte[] encipher(byte abyte0[], String s) throws InvalidPasswordCipherException, UnsupportedCryptoAlgorithmException {
-		if (s == null)
-			throw new UnsupportedCryptoAlgorithmException();
-		byte abyte1[] = null;
-		if (s.equalsIgnoreCase(DEFAULT_SUPPORTED_CRYPTO_ALGORITHMS[0]))
-			abyte1 = xor(abyte0);
-		else
-			throw new UnsupportedCryptoAlgorithmException();
-
-		if (abyte1 == null)
-			throw new InvalidPasswordCipherException();
-		return abyte1;
-	}
-
-	public static String[] getSupportedCryptoAlgorithms() {
-		return _supported_crypto_algorithms;
-	}
-
-	private static byte[] xor(byte abyte0[]) {
-		byte abyte1[] = null;
-		if (abyte0 != null) {
-			abyte1 = new byte[abyte0.length];
-			for (int i = 0; i < abyte0.length; i++)
-				abyte1[i] = (byte) (0x5f ^ abyte0[i]);
-		}
-		return abyte1;
-	}
-
-	static {
-		_supported_crypto_algorithms = null;
-		if (_supported_crypto_algorithms == null)
-			_supported_crypto_algorithms = DEFAULT_SUPPORTED_CRYPTO_ALGORITHMS;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/PasswordEncoderDecoder.java b/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/PasswordEncoderDecoder.java
deleted file mode 100644
index 2c82ced..0000000
--- a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/PasswordEncoderDecoder.java
+++ /dev/null
@@ -1,28 +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.internal.emf.utilities;
-
-public class PasswordEncoderDecoder extends EncoderDecoderAdapter implements EncoderDecoder {
-	public static final String KEY = "password-security-coder"; //$NON-NLS-1$
-
-	public PasswordEncoderDecoder() {
-	}
-
-	public String decode(String s) {
-		return PasswordUtil.passwordDecode(s);
-	}
-
-	public String encode(String s) {
-		return PasswordUtil.passwordEncode(s);
-	}
-
-	public Object getKey() {
-		return KEY;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/PasswordUtil.java b/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/PasswordUtil.java
deleted file mode 100644
index 012f2c2..0000000
--- a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/PasswordUtil.java
+++ /dev/null
@@ -1,331 +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.internal.emf.utilities;
-
-
-import java.io.UnsupportedEncodingException;
-
-public class PasswordUtil {
-	public static final String STRING_CONVERSION_CODE = "UTF8"; //$NON-NLS-1$
-	public static final String EMPTY_STRING = ""; //$NON-NLS-1$
-	public static final byte[] EMPTY_BYTE_ARRAY = new byte[0];
-	public static final String DEFAULT_CRYPTO_ALGORITHM;
-	private static final String SUPPORTED_CRYPTO_ALGORITHMS[];
-	private static final byte BASE64_ENCODE_MAP[];
-	private static final byte BASE64_DECODE_MAP[];
-
-	public PasswordUtil() {
-	}
-
-	public static String decode(String s) throws InvalidPasswordDecodingException, UnsupportedCryptoAlgorithmException {
-		if (s == null)
-			throw new InvalidPasswordDecodingException();
-		String s1 = getCryptoAlgorithm(s);
-		if (s1 == null)
-			throw new InvalidPasswordDecodingException();
-
-		if (!isValidCryptoAlgorithm(s1))
-			throw new UnsupportedCryptoAlgorithmException();
-
-		String s2 = decode_password(removeCryptoAlgorithmTag(s), s1);
-		if (s2 == null)
-			throw new InvalidPasswordDecodingException();
-		return s2;
-	}
-
-	public static String encode(String s) throws InvalidPasswordEncodingException, UnsupportedCryptoAlgorithmException {
-		return encode(s, DEFAULT_CRYPTO_ALGORITHM);
-	}
-
-	public static String encode(String s, String s1) throws InvalidPasswordEncodingException, UnsupportedCryptoAlgorithmException {
-		if (!isValidCryptoAlgorithm(s1))
-			throw new UnsupportedCryptoAlgorithmException();
-		if (s == null)
-			throw new InvalidPasswordEncodingException();
-
-		if (getCryptoAlgorithm(s) != null)
-			throw new InvalidPasswordEncodingException();
-
-		String s2 = encode_password(s.trim(), s1.trim());
-		if (s2 == null)
-			throw new InvalidPasswordEncodingException();
-		return s2;
-	}
-
-	public static String getCryptoAlgorithm(String s) {
-		String s1 = null;
-		if (s != null) {
-			s = s.trim();
-			if (s.length() >= 2) {
-				int i = s.indexOf("{"); //$NON-NLS-1$
-				if (i == 0) {
-					int j = s.indexOf("}", ++i); //$NON-NLS-1$
-					if (j > 0)
-						if (i < j)
-							s1 = s.substring(i, j).trim();
-						else
-							s1 = EMPTY_STRING;
-				}
-			}
-		}
-		return s1;
-	}
-
-	public static String getCryptoAlgorithmTag(String s) {
-		String s1 = null;
-		String s2 = getCryptoAlgorithm(s);
-		if (s2 != null) {
-			StringBuffer stringbuffer = new StringBuffer("{"); //$NON-NLS-1$
-			if (s2.length() > 0)
-				stringbuffer.append(s2);
-			stringbuffer.append("}"); //$NON-NLS-1$
-			s1 = stringbuffer.toString();
-		}
-		return s1;
-	}
-
-	public static boolean isValidCryptoAlgorithm(String s) {
-		if (s != null) {
-			s = s.trim();
-			if (s.length() == 0)
-				return true;
-			for (int i = 0; i < SUPPORTED_CRYPTO_ALGORITHMS.length; i++)
-				if (s.equalsIgnoreCase(SUPPORTED_CRYPTO_ALGORITHMS[i]))
-					return true;
-		}
-		return false;
-	}
-
-	public static boolean isValidCryptoAlgorithmTag(String s) {
-		return isValidCryptoAlgorithm(getCryptoAlgorithm(s));
-	}
-
-	public static String passwordDecode(String s) {
-		if (s == null)
-			return null;
-		String s1 = getCryptoAlgorithm(s);
-		if (s1 == null)
-			return s;
-		if (!isValidCryptoAlgorithm(s1))
-			return null;
-		return decode_password(removeCryptoAlgorithmTag(s), s1);
-	}
-
-	public static String passwordEncode(String s) {
-		return passwordEncode(s, DEFAULT_CRYPTO_ALGORITHM);
-	}
-
-	public static String passwordEncode(String s, String s1) {
-		if (!isValidCryptoAlgorithm(s1))
-			return null;
-		if (s == null)
-			return null;
-		String s2 = getCryptoAlgorithm(s);
-		if (s2 != null) {
-			if (s2.equalsIgnoreCase(s1.trim()))
-				return s.trim();
-			return null;
-		}
-		return encode_password(s.trim(), s1.trim());
-	}
-
-	public static String removeCryptoAlgorithmTag(String s) {
-		String s1 = null;
-		if (s != null) {
-			s = s.trim();
-			if (s.length() >= 2) {
-				int i = s.indexOf("{"); //$NON-NLS-1$
-				if (i == 0) {
-					int j = s.indexOf("}", ++i); //$NON-NLS-1$
-					if (j > 0)
-						if (++j < s.length())
-							s1 = s.substring(j).trim();
-						else
-							s1 = EMPTY_STRING;
-				}
-			}
-		}
-		return s1;
-	}
-
-	private static byte[] convert_to_bytes(String s) {
-		byte abyte0[] = null;
-		if (s != null)
-			if (s.length() == 0)
-				abyte0 = EMPTY_BYTE_ARRAY;
-			else
-				try {
-					abyte0 = s.getBytes(STRING_CONVERSION_CODE);
-				} catch (UnsupportedEncodingException unsupportedencodingexception) {
-					abyte0 = null;
-				}
-		return abyte0;
-	}
-
-	private static String convert_to_string(byte abyte0[]) {
-		String s = null;
-		if (abyte0 != null)
-			if (abyte0.length == 0)
-				s = EMPTY_STRING;
-			else
-				try {
-					s = new String(abyte0, STRING_CONVERSION_CODE);
-				} catch (UnsupportedEncodingException unsupportedencodingexception) {
-					s = null;
-				}
-		return s;
-	}
-
-	private static byte[] convert_viewable_to_bytes(String s) {
-		byte abyte0[] = null;
-		if (s != null)
-			if (s.length() == 0)
-				abyte0 = EMPTY_BYTE_ARRAY;
-			else
-				try {
-					abyte0 = base64Decode(convert_to_bytes(s));
-				} catch (Exception exception) {
-					abyte0 = null;
-				}
-		return abyte0;
-	}
-
-	private static byte[] base64Decode(byte abyte0[]) {
-		int i;
-		for (i = abyte0.length; abyte0[--i] == 61;);
-		byte abyte1[] = new byte[(i + 1) - abyte0.length / 4];
-		for (int j = 0; j < abyte0.length; j++)
-			abyte0[j] = BASE64_DECODE_MAP[abyte0[j]];
-		int k = abyte1.length - 2;
-		int l = 0;
-		int i1;
-		for (i1 = 0; l < k; i1 += 4) {
-			abyte1[l] = (byte) (abyte0[i1] << 2 & 0xff | abyte0[i1 + 1] >>> 4 & 0x3);
-			abyte1[l + 1] = (byte) (abyte0[i1 + 1] << 4 & 0xff | abyte0[i1 + 2] >>> 2 & 0xf);
-			abyte1[l + 2] = (byte) (abyte0[i1 + 2] << 6 & 0xff | abyte0[i1 + 3] & 0x3f);
-			l += 3;
-		}
-		if (l < abyte1.length) {
-			abyte1[l++] = (byte) (abyte0[i1] << 2 & 0xff | abyte0[i1 + 1] >>> 4 & 0x3);
-			if (l < abyte1.length)
-				abyte1[l] = (byte) (abyte0[i1 + 1] << 4 & 0xff | abyte0[i1 + 2] >>> 2 & 0xf);
-		}
-		return abyte1;
-	}
-
-	private static String convert_viewable_to_string(byte abyte0[]) {
-		String s = null;
-		if (abyte0 != null)
-			if (abyte0.length == 0)
-				s = EMPTY_STRING;
-			else
-				try {
-					s = convert_to_string(base64Encode(abyte0));
-				} catch (Exception exception) {
-					s = null;
-				}
-		return s;
-	}
-
-	private static byte[] base64Encode(byte abyte0[]) {
-		byte abyte1[] = new byte[((abyte0.length + 2) / 3) * 4];
-		int i = 0;
-		int j = 0;
-		for (; i < abyte0.length - 2; i += 3) {
-			abyte1[j++] = BASE64_ENCODE_MAP[abyte0[i] >>> 2 & 0x3f];
-			abyte1[j++] = BASE64_ENCODE_MAP[abyte0[i + 1] >>> 4 & 0xf | abyte0[i] << 4 & 0x3f];
-			abyte1[j++] = BASE64_ENCODE_MAP[abyte0[i + 2] >>> 6 & 0x3 | abyte0[i + 1] << 2 & 0x3f];
-			abyte1[j++] = BASE64_ENCODE_MAP[abyte0[i + 2] & 0x3f];
-		}
-		if (i < abyte0.length) {
-			abyte1[j++] = BASE64_ENCODE_MAP[abyte0[i] >>> 2 & 0x3f];
-			if (i < abyte0.length - 1) {
-				abyte1[j++] = BASE64_ENCODE_MAP[abyte0[i + 1] >>> 4 & 0xf | abyte0[i] << 4 & 0x3f];
-				abyte1[j++] = BASE64_ENCODE_MAP[abyte0[i + 1] << 2 & 0x3f];
-			} else {
-				abyte1[j++] = BASE64_ENCODE_MAP[abyte0[i] << 4 & 0x3f];
-			}
-		}
-		for (; j < abyte1.length; j++)
-			abyte1[j] = 61;
-		return abyte1;
-	}
-
-	private static String decode_password(String s, String s1) {
-		StringBuffer stringbuffer = new StringBuffer();
-		if (s1.length() == 0) {
-			stringbuffer.append(s);
-		} else {
-			String s2 = null;
-			if (s.length() > 0) {
-				byte abyte0[] = convert_viewable_to_bytes(s);
-				if (abyte0 == null)
-					return null;
-				if (abyte0.length > 0) {
-					byte abyte1[] = null;
-					try {
-						abyte1 = PasswordCipherUtil.decipher(abyte0, s1);
-					} catch (InvalidPasswordCipherException invalidpasswordcipherexception) {
-						return null;
-					} catch (UnsupportedCryptoAlgorithmException unsupportedcryptoalgorithmexception) {
-						return null;
-					}
-					if (abyte1 != null && abyte1.length > 0)
-						s2 = convert_to_string(abyte1);
-				}
-			}
-			if (s2 != null && s2.length() > 0)
-				stringbuffer.append(s2);
-		}
-		return stringbuffer.toString();
-	}
-
-	private static String encode_password(String s, String s1) {
-		StringBuffer stringbuffer = new StringBuffer("{"); //$NON-NLS-1$
-		if (s1.length() == 0) {
-			stringbuffer.append("}").append(s); //$NON-NLS-1$
-		} else {
-			stringbuffer.append(s1).append("}"); //$NON-NLS-1$
-			String s2 = null;
-			if (s.length() > 0) {
-				byte abyte0[] = convert_to_bytes(s);
-				if (abyte0.length > 0) {
-					byte abyte1[] = null;
-					try {
-						abyte1 = PasswordCipherUtil.encipher(abyte0, s1);
-					} catch (InvalidPasswordCipherException invalidpasswordcipherexception) {
-						return null;
-					} catch (UnsupportedCryptoAlgorithmException unsupportedcryptoalgorithmexception) {
-						return null;
-					}
-					if (abyte1 != null && abyte1.length > 0) {
-						s2 = convert_viewable_to_string(abyte1);
-						if (s2 == null)
-							return null;
-					}
-				}
-			}
-			if (s2 != null && s2.length() > 0)
-				stringbuffer.append(s2);
-		}
-		return stringbuffer.toString();
-	}
-
-	static {
-		SUPPORTED_CRYPTO_ALGORITHMS = PasswordCipherUtil.getSupportedCryptoAlgorithms();
-		DEFAULT_CRYPTO_ALGORITHM = SUPPORTED_CRYPTO_ALGORITHMS[0];
-		byte abyte0[] = {65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 43, 47};
-		BASE64_ENCODE_MAP = abyte0;
-		BASE64_DECODE_MAP = new byte[128];
-		for (int i = 0; i < BASE64_DECODE_MAP.length; i++)
-			BASE64_DECODE_MAP[i] = -1;
-		for (int j = 0; j < BASE64_ENCODE_MAP.length; j++)
-			BASE64_DECODE_MAP[BASE64_ENCODE_MAP[j]] = (byte) j;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/PleaseMigrateYourCodeError.java b/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/PleaseMigrateYourCodeError.java
deleted file mode 100644
index 0df81e3..0000000
--- a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/PleaseMigrateYourCodeError.java
+++ /dev/null
@@ -1,25 +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.internal.emf.utilities;
-
-
-
-/**
- * @author mdelder
- *  
- */
-public class PleaseMigrateYourCodeError extends Error {
-
-	//TODO Delete me
-	public PleaseMigrateYourCodeError() {
-		super(WFTUtilsResourceHandler.PleaseMigrateYourCodeError_ERROR_0);
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/ResourceDependencyRegister.java b/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/ResourceDependencyRegister.java
deleted file mode 100644
index 34ff643..0000000
--- a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/ResourceDependencyRegister.java
+++ /dev/null
@@ -1,213 +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.internal.emf.utilities;
-
-
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.Map;
-
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.impl.AdapterImpl;
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.emf.ecore.resource.Resource;
-import org.eclipse.emf.ecore.resource.ResourceSet;
-import org.eclipse.emf.ecore.resource.URIConverter;
-
-public class ResourceDependencyRegister {
-	protected static Map GLOBAL_DEPENDENCIES = new HashMap();
-	private static String RESOURCE_DEPENDENCY_TYPE = "ResourceDependencyAdapter"; //$NON-NLS-1$
-	protected Map localDependencies = new HashMap();
-
-	class ResourceDependencyAdapter extends AdapterImpl {
-		Resource dependentResource;
-
-		ResourceDependencyAdapter(Resource aDependentResource) {
-			dependentResource = aDependentResource;
-			dependentResource.eAdapters().add(this);
-		}
-
-		/*
-		 * (non-Javadoc)
-		 * 
-		 * @see org.eclipse.emf.common.notify.impl.AdapterImpl#isAdapterForType(java.lang.Object)
-		 */
-		public boolean isAdapterForType(Object type) {
-			return RESOURCE_DEPENDENCY_TYPE.equals(type);
-		}
-
-		/*
-		 * (non-Javadoc)
-		 * 
-		 * @see org.eclipse.emf.common.notify.impl.AdapterImpl#notifyChanged(org.eclipse.emf.common.notify.Notification)
-		 */
-		public void notifyChanged(Notification msg) {
-			//Listen for unloads and removes
-			switch (msg.getFeatureID(null)) {
-				case Resource.RESOURCE__IS_LOADED :
-					if (msg.getNotifier() != dependentResource && msg.getOldBooleanValue() && !msg.getNewBooleanValue())
-						dependentResource.unload();
-					break;
-				case Resource.RESOURCE__RESOURCE_SET :
-					if (msg.getOldValue() != null && msg.getNewValue() == null) {
-						if (msg.getNotifier() == dependentResource)
-							((Resource) getTarget()).eAdapters().remove(this);
-						else {
-							ResourceSet set = dependentResource.getResourceSet();
-							if (set != null)
-								set.getResources().remove(dependentResource);
-						}
-					}
-					break;
-			}
-		}
-	}
-
-	class ResourceSetListener extends AdapterImpl {
-		/*
-		 * (non-Javadoc)
-		 * 
-		 * @see org.eclipse.emf.common.notify.impl.AdapterImpl#notifyChanged(org.eclipse.emf.common.notify.Notification)
-		 */
-		public void notifyChanged(Notification msg) {
-			if (msg.getEventType() == Notification.ADD)
-				proccessAddedResource((ResourceSet) msg.getNotifier(), (Resource) msg.getNewValue());
-		}
-	}
-
-	/**
-	 * Register a dependency between two URIs. The first parameter, aURIString, is the one that
-	 * dependentUriString depends on.
-	 * 
-	 * @param aUriString
-	 *            java.lang.String
-	 * @param dependentUriString
-	 *            java.lang.String
-	 */
-	public static void registerDependency(URI targetURI, URI dependentURI) {
-		if (targetURI != null && dependentURI != null) {
-			GLOBAL_DEPENDENCIES.put(dependentURI, targetURI);
-		}
-	}
-
-	public ResourceDependencyRegister(ResourceSet aResourceSet) {
-		initialize(aResourceSet);
-	}
-
-
-	ResourceDependencyRegister() {
-		super();
-	}
-
-	/**
-	 * @param aResourceSet
-	 */
-	protected void initialize(ResourceSet aResourceSet) {
-		if (aResourceSet == null)
-			throw new NullPointerException("The ResourceSet cannot be null."); //$NON-NLS-1$
-		initializeLocalDependencies(aResourceSet);
-		setupDependencyAdapters(aResourceSet);
-		setupResourceSetListener(aResourceSet);
-	}
-
-	/**
-	 * @param aResourceSet
-	 */
-	protected void setupResourceSetListener(ResourceSet aResourceSet) {
-		aResourceSet.eAdapters().add(new ResourceSetListener());
-	}
-
-	/**
-	 * @param aResourceSet
-	 * @return
-	 */
-	protected void setupDependencyAdapters(ResourceSet aResourceSet) {
-		if (!aResourceSet.getResources().isEmpty()) {
-			Iterator it = localDependencies.entrySet().iterator();
-			Map.Entry entry;
-			URI dependentURI, targetURI;
-			while (it.hasNext()) {
-				entry = (Map.Entry) it.next();
-				dependentURI = (URI) entry.getKey();
-				targetURI = (URI) entry.getValue();
-				setupDependencyAdapter(aResourceSet, dependentURI, targetURI);
-			}
-		}
-	}
-
-	/**
-	 * @param aResourceSet
-	 * @param dependentURI
-	 * @param targetURI
-	 * @return
-	 */
-	protected void setupDependencyAdapter(ResourceSet aResourceSet, URI dependentURI, URI targetURI) {
-		Resource dependent = aResourceSet.getResource(dependentURI, false);
-		if (dependent != null)
-			setupDependencyAdapter(dependent, targetURI, aResourceSet);
-	}
-
-	protected void setupDependencyAdapter(Resource dependent, URI targetURI, ResourceSet aResourceSet) {
-		Resource target = aResourceSet.getResource(targetURI, false);
-		if (target == null)
-			target = aResourceSet.createResource(targetURI);
-		target.eAdapters().add(new ResourceDependencyAdapter(dependent));
-	}
-
-	/**
-	 * @param aResourceSet
-	 */
-	protected void initializeLocalDependencies(ResourceSet aResourceSet) {
-		URIConverter converter = aResourceSet.getURIConverter();
-		initializeLocalDependencies(converter);
-	}
-
-	/**
-	 * @param aResourceSet
-	 */
-	protected void initializeLocalDependencies(URIConverter aConverter) {
-		Iterator it = GLOBAL_DEPENDENCIES.entrySet().iterator();
-		Map resolved = new HashMap();
-		Map.Entry entry;
-		URI key, value;
-		while (it.hasNext()) {
-			entry = (Map.Entry) it.next();
-			key = (URI) entry.getKey();
-			value = (URI) entry.getValue();
-			key = normalize(key, aConverter, resolved);
-			value = normalize(value, aConverter, resolved);
-			localDependencies.put(key, value);
-		}
-	}
-
-	/**
-	 * @param relativeURI
-	 * @param converter
-	 * @param resolved
-	 * @return
-	 */
-	protected URI normalize(URI relativeURI, URIConverter converter, Map resolved) {
-		URI result = (URI) resolved.get(relativeURI);
-		if (result == null) {
-			result = converter.normalize(relativeURI);
-			resolved.put(relativeURI, result);
-		}
-		return result;
-	}
-
-	/**
-	 * @param set
-	 * @param resource
-	 */
-	protected void proccessAddedResource(ResourceSet set, Resource resource) {
-		URI targetURI = (URI) localDependencies.get(resource.getURI());
-		if (targetURI != null)
-			setupDependencyAdapter(resource, targetURI, set);
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/ResourceIsLoadingAdapter.java b/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/ResourceIsLoadingAdapter.java
deleted file mode 100644
index 3d47574..0000000
--- a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/ResourceIsLoadingAdapter.java
+++ /dev/null
@@ -1,103 +0,0 @@
-/*
- * Created on Oct 26, 2004
- *
- * TODO To change the template for this generated file go to
- * Window - Preferences - Java - Code Style - Code Templates
- */
-package org.eclipse.wst.common.internal.emf.utilities;
-
-import org.eclipse.emf.common.notify.Adapter;
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.impl.AdapterImpl;
-import org.eclipse.emf.ecore.resource.Resource;
-import org.eclipse.emf.ecore.util.EcoreUtil;
-
-/**
- * @author mdelder
- */
-public class ResourceIsLoadingAdapter extends AdapterImpl implements Adapter {
-
-    private static final Class RESOURCE_IS_LOADING_ADAPTER_CLASS = ResourceIsLoadingAdapter.class;
-
-    public ResourceIsLoadingAdapter() {
-    }
-
-    public static ResourceIsLoadingAdapter findAdapter(Resource aResource) {
-        ResourceIsLoadingAdapter adapter = null;
-        //System.out.println("ResourceIsLoadingAdapter Synchronizing on " + aResource);
-        
-        /* Synchronize on the Resource (which will be the target of 
-         * the ResourceIsLoadingAdapter in the list, if it exists).
-         * 
-         * removeIsLoadingSupport() will coordinate with this 
-         * synchronization.
-         */
-        synchronized (aResource) {
-            adapter = (ResourceIsLoadingAdapter) EcoreUtil.getAdapter(aResource.eAdapters(), ResourceIsLoadingAdapter.class);
-        }
-        return adapter;
-    }
-
-    /*
-     * (non-Javadoc)
-     * 
-     * @see org.eclipse.emf.common.notify.Adapter#notifyChanged(org.eclipse.emf.common.notify.Notification)
-     */
-    public void notifyChanged(Notification notification) {
-
-        if (notification.getNotifier() != null) {
-
-            // listen for the remove of the loading adapter
-            if (isSetLoadedResourceNotification(notification)) removeIsLoadingSupport();
-        }
-    }
-
-    /**
-     * Default implementation is a no-op.
-     */
-    public void waitForResourceToLoad() {
-
-    }
-
-    /**
-     * @param notification
-     * @return
-     */
-    protected boolean isSetLoadedResourceNotification(Notification notification) {
-        return notification.getFeatureID(null) == Resource.RESOURCE__IS_LOADED && notification.getEventType() == Notification.SET;
-    }
-
-    protected void removeIsLoadingSupport() {
-
-        /* Synchronize on the target of the Adapter. If 
-         * the list of adapters is searched for a 
-         * ResourceIsLoadingAdapter using the 
-         * ResourceIsLoadingAdapter.findAdapter() API, then
-         * the access to remove the Adapter using this method 
-         * will be coordinated.  
-         */
-        if (getTarget() != null) {
-            //System.out.println("ResourceIsLoadingAdapter Synchronizing on " + getTarget());
-            synchronized (getTarget()) {
-                getTarget().eAdapters().remove(this);
-            }
-        }
-    }
-
-    /*
-     * (non-Javadoc)
-     * 
-     * @see org.eclipse.emf.common.notify.Adapter#isAdapterForType(java.lang.Object)
-     */
-    public boolean isAdapterForType(Object type) {
-        return type == RESOURCE_IS_LOADING_ADAPTER_CLASS;
-    }
-
-    /**
-     * 
-     */
-    public void forceRelease() {
-
-    }
-
-}
diff --git a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/ResourceIsLoadingAdapterFactory.java b/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/ResourceIsLoadingAdapterFactory.java
deleted file mode 100644
index 0723342..0000000
--- a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/ResourceIsLoadingAdapterFactory.java
+++ /dev/null
@@ -1,22 +0,0 @@
-/*
- * Created on Oct 26, 2004
- *
- * TODO To change the template for this generated file go to
- * Window - Preferences - Java - Code Style - Code Templates
- */
-package org.eclipse.wst.common.internal.emf.utilities;
-
-
-/**
- * @author mdelder
- * 
- */
-public class ResourceIsLoadingAdapterFactory {
-
-    public static ResourceIsLoadingAdapterFactory INSTANCE = new ResourceIsLoadingAdapterFactory();
-         
-    public ResourceIsLoadingAdapter createResourceIsLoadingAdapter() {
-        return new ResourceIsLoadingAdapter();
-    }
-    
-}
diff --git a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/Revisit.java b/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/Revisit.java
deleted file mode 100644
index 2ec67d4..0000000
--- a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/Revisit.java
+++ /dev/null
@@ -1,43 +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.internal.emf.utilities;
-
-
-public class Revisit {
-
-	/**
-	 * Revisit constructor comment.
-	 */
-	public Revisit() {
-		super();
-	}
-
-	public static void revisit() {
-	}
-
-
-	public static void unComment() {
-	}
-
-	public static void toDo() {
-	}
-
-	public static void refactor() {
-	}
-
-	public static void removeDeprecatedMethod() {
-	}
-
-	public static void deleteMe() {
-	}
-
-	public static void reviewDesign() {
-	}
-}
-
diff --git a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/StringUtil.java b/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/StringUtil.java
deleted file mode 100644
index d1f2308..0000000
--- a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/StringUtil.java
+++ /dev/null
@@ -1,39 +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 Mar 18, 2003
- *
- * To change this generated comment go to 
- * Window>Preferences>Java>Code Generation>Code and Comments
- */
-package org.eclipse.wst.common.internal.emf.utilities;
-
-/**
- * @author schacher
- * 
- * To change this generated comment go to Window>Preferences>Java>Code Generation>Code and Comments
- */
-public class StringUtil {
-	/**
-	 * Enhanced equality check for two string parameters, that takes into consideration null values.
-	 * If both values are null, this will return true.
-	 * 
-	 * @param s1
-	 * @param s2
-	 * @return boolean
-	 */
-	public static boolean stringsEqual(String s1, String s2) {
-		if (s1 == null)
-			return s2 == null;
-		return s1.equals(s2);
-	}
-
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/UnsupportedCryptoAlgorithmException.java b/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/UnsupportedCryptoAlgorithmException.java
deleted file mode 100644
index f71c66d..0000000
--- a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/UnsupportedCryptoAlgorithmException.java
+++ /dev/null
@@ -1,16 +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.internal.emf.utilities;
-
-
-import org.omg.CORBA.UserException;
-
-public class UnsupportedCryptoAlgorithmException extends UserException {
-}
-
diff --git a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/WFTUtilsResourceHandler.java b/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/WFTUtilsResourceHandler.java
deleted file mode 100644
index 0ed13f8..0000000
--- a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/WFTUtilsResourceHandler.java
+++ /dev/null
@@ -1,46 +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.internal.emf.utilities;
-
-
-import org.eclipse.osgi.util.NLS;
-
-public class WFTUtilsResourceHandler extends NLS {
-	private static final String BUNDLE_NAME = "wftutils";//$NON-NLS-1$
-
-	private WFTUtilsResourceHandler() {
-		// Do not instantiate
-	}
-
-	public static String DANGLING_HREF_ERROR_;
-	public static String Integer_UI_;
-	public static String Failed_to_convert__0__to___ERROR_;
-	public static String Enumeration_UI_;
-	public static String Short_UI_;
-	public static String Character_UI_;
-	public static String Long_UI_;
-	public static String Double_UI_;
-	public static String ResourceDependencyRegister_ERROR_0;
-	public static String Float_UI_;
-	public static String Byte_UI_;
-	public static String Warning__Could_not_write_b_WARN_;
-	public static String Boolean_UI_;
-	public static String Stack_trace_of_nested_exce_ERROR_;
-	public static String MofObject_UI_;
-	public static String PleaseMigrateYourCodeError_ERROR_0;
-	public static String EMF2DOMAdapterImpl_ERROR_0;
-
-	static {
-		NLS.initializeMessages(BUNDLE_NAME, WFTUtilsResourceHandler.class);
-	}
-
-	public static String getString(String key, Object[] args) {
-		return NLS.bind(key, args);
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/WriteBackHelper.java b/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/WriteBackHelper.java
deleted file mode 100644
index 967e7e4..0000000
--- a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/WriteBackHelper.java
+++ /dev/null
@@ -1,136 +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.internal.emf.utilities;
-
-
-import java.util.Collections;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.Set;
-
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.resource.Resource;
-
-
-/**
- * @deprecated This class will be deleted. If you still need to use this class, please contact the
- *             WCCM team. A class which can be used in conjunction with Encoder/Decoders to save
- *             resources if they are made dirty by automatic encoding support. Usage Example:
- * 
- * <pre>
- * 
- * 
- * // Use the standard WebSphere password value encoder/decoder.
- * EncoderDecoderRegistry.getDefaultRegistry().setDefaultEncoderDecoder(new com.ibm.ejs.security.util.WASEncoderDecoder());
- * // Begin tracking changes...
- * WriteBackHelper.begin();
- * // Load a resource which may have un-encoded values...
- * // Note: The WCCM will attempt to detect un-encoded values.  If unencoded values
- * // are found, the value will be encoded, and the resource will be added to the
- * // WriteBackHelper.
- * Resource res = resourceSet.load(&quot;myResource&quot;);
- * // Ensure that any changes due to encoding are written back out.
- * WriteBackHelper.end();
- * </pre>
- */
-public class WriteBackHelper {
-	private Set dirtyObjects = new HashSet();
-	private boolean trackingChanges = false;
-	private static WriteBackHelper _instance;
-	static {
-		//Deprecated class
-		Revisit.deleteMe();
-	}
-
-	/**
-	 * Private constructor ensures proper usage through singleton.
-	 */
-	private WriteBackHelper() {
-		super();
-	}
-
-	/**
-	 * Adds a resource which is dirty, and needs to be saved.
-	 */
-	public void addDirtyObject(EObject dirtyObject) {
-		dirtyObjects.add(dirtyObject);
-	}
-
-	/**
-	 * Begin collecting objects which have changed.
-	 */
-	public void begin() {
-		trackingChanges = true;
-	}
-
-	/**
-	 * Attempts to save all dirty resources (if possible), then marks the resources as non-dirty.
-	 */
-	public void end() {
-		saveDirtyResources();
-		reset();
-		trackingChanges = false;
-	}
-
-	/**
-	 * Returns true if changes to mof objects are currently being tracked.
-	 */
-	public boolean isActive() {
-		return trackingChanges;
-	}
-
-	/**
-	 * Clears the list of dirty resources.
-	 */
-	protected void reset() {
-		dirtyObjects.clear();
-	}
-
-	/**
-	 * Attempts to save all dirty resources (if possible), then marks the resources as non-dirty.
-	 */
-	protected void saveDirtyResources() {
-		Set dirtyResources = new HashSet();
-		Iterator dirtyObjIter = dirtyObjects.iterator();
-		while (dirtyObjIter.hasNext()) {
-			EObject dirtyObject = (EObject) dirtyObjIter.next();
-			if (dirtyObject.eResource() != null && !dirtyResources.contains(dirtyObject)) {
-				dirtyResources.add(dirtyObject.eResource());
-			}
-		}
-		Iterator dirtyIter = dirtyResources.iterator();
-		while (dirtyIter.hasNext()) {
-			Resource dirtyResource = (Resource) dirtyIter.next();
-			try {
-				dirtyResource.save(Collections.EMPTY_MAP);
-			} catch (Exception e) {
-				warn(dirtyResource, e);
-			}
-		}
-	}
-
-	/**
-	 * Adds a resource which is dirty, and needs to be saved.
-	 */
-	public static WriteBackHelper singleton() {
-		if (_instance == null) {
-			_instance = new WriteBackHelper();
-		}
-		return _instance;
-	}
-
-	/**
-	 * Warn the user of problems during save.
-	 */
-	protected void warn(Resource res, Exception e) {
-		System.err.println(WFTUtilsResourceHandler.getString(WFTUtilsResourceHandler.Warning__Could_not_write_b_WARN_, new Object[]{res.getURI()}));
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/XMLValueEncoderDecoder.java b/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/XMLValueEncoderDecoder.java
deleted file mode 100644
index d9a1d2c..0000000
--- a/plugins/org.eclipse.wst.common.emf/wtpemf/org/eclipse/wst/common/internal/emf/utilities/XMLValueEncoderDecoder.java
+++ /dev/null
@@ -1,111 +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.internal.emf.utilities;
-
-
-/**
- * An XML value escaping EncoderDecoder implementation
- */
-public class XMLValueEncoderDecoder extends EncoderDecoderAdapter implements EncoderDecoder {
-	/**
-	 * Identifies the last printable character in the Unicode range that is supported by the
-	 * encoding used with this serializer. For 8-bit encodings this will be either 0x7E or 0xFF. For
-	 * 16-bit encodings this will be 0xFFFF. Characters that are not printable will be escaped using
-	 * character references.
-	 */
-	private int _lastPrintable = 0x7E;
-	protected static XMLValueEncoderDecoder _singleton;
-
-	/**
-	 * EncoderDecoderAdapter constructor comment.
-	 */
-	public XMLValueEncoderDecoder() {
-		super();
-	}
-
-	/**
-	 * Returns a decoded version of the value.
-	 */
-	public String decode(String value) {
-		// NOT_IMPLEMENTED
-		return value;
-	}
-
-	/**
-	 * Escapes a string so it may be printed as text content or attribute value. Non printable
-	 * characters are escaped using character references. Where the format specifies a deault entity
-	 * reference, that reference is used (e.g. <tt>&amp;lt;</tt>).
-	 * 
-	 * @param source
-	 *            The string to escape
-	 */
-	public String encode(String value) {
-		StringBuffer sbuf = new StringBuffer(value.length());
-		String charRef = null;
-		char ch;
-		for (int i = 0; i < value.length(); ++i) {
-			ch = value.charAt(i);
-			// If there is a suitable entity reference for this
-			// character, print it. The list of available entity
-			// references is almost but not identical between
-			// XML and HTML.
-			charRef = getEntityRef(ch);
-			if (charRef != null) {
-				sbuf.append('&');
-				sbuf.append(charRef);
-				sbuf.append(';');
-			} else if ((ch >= ' ' && ch <= _lastPrintable && ch != 0xF7) || ch == '\n' || ch == '\r' || ch == '\t') {
-				// If the character is not printable, print as character reference.
-				// Non printables are below ASCII space but not tab or line
-				// terminator, ASCII delete, or above a certain Unicode threshold.
-				sbuf.append(ch);
-			} else {
-				sbuf.append("&#");//$NON-NLS-1$
-				sbuf.append(Integer.toString(ch));
-				sbuf.append(';');
-			}
-		}
-		return sbuf.toString();
-	}
-
-	public static String escape(String value) {
-		if (_singleton == null) {
-			_singleton = new XMLValueEncoderDecoder();
-		}
-		return _singleton.encode(value);
-	}
-
-	/**
-	 * Returns the suitable entity reference for this character value, or null if no such entity
-	 * exists. Calling this method with <tt>'&amp;'</tt> will return <tt>"&amp;amp;"</tt>.
-	 * 
-	 * @param ch
-	 *            Character value
-	 * @return Character entity name, or null
-	 */
-	protected String getEntityRef(char ch) {
-		// Encode special XML characters into the equivalent character references.
-		// These five are defined by default for all XML documents.
-		switch (ch) {
-			case '<' :
-				return "lt";//$NON-NLS-1$
-			case '>' :
-				return "gt";//$NON-NLS-1$
-			case '"' :
-				return "quot";//$NON-NLS-1$
-			case '\'' :
-				return "apos";//$NON-NLS-1$
-			case '&' :
-				return "amp";//$NON-NLS-1$
-		}
-		return null;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.emf/wtpemf/wftutils.properties b/plugins/org.eclipse.wst.common.emf/wtpemf/wftutils.properties
deleted file mode 100644
index 8c7b45a..0000000
--- a/plugins/org.eclipse.wst.common.emf/wtpemf/wftutils.properties
+++ /dev/null
@@ -1,28 +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
-###############################################################################
-Warning__Could_not_write_b_WARN_=IWAE0008W Warning: Could not write back {0}
-Stack_trace_of_nested_exce_ERROR_=IWAE0009E Stack trace of nested exception:
-Enumeration_UI_=Enumeration
-Double_UI_=Double
-Float_UI_=Float
-Long_UI_=Long
-Short_UI_=Short
-Boolean_UI_=Boolean
-Integer_UI_=Integer
-Character_UI_=Character
-Byte_UI_=Byte
-Failed_to_convert__0__to___ERROR_=IWAE0014E Failed to convert {0} to {1}.
-DANGLING_HREF_ERROR_=IWAE0001E Unable to resolve HREF {0}. Check the descriptor files and ensure the ids are valid.
-MofObject_UI_=MofObject_UI_
-PleaseMigrateYourCodeError_ERROR_0=PleaseMigrateYourCodeError_ERROR_0
-EMF2DOMAdapterImpl_ERROR_0=EMF2DOMAdapterImpl_ERROR_0
-
-ResourceDependencyRegister_ERROR_0=IWAE0002E The ResourceSet cannot be null.
diff --git a/plugins/org.eclipse.wst.common.environment/.classpath b/plugins/org.eclipse.wst.common.environment/.classpath
deleted file mode 100644
index 751c8f2..0000000
--- a/plugins/org.eclipse.wst.common.environment/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/plugins/org.eclipse.wst.common.environment/.cvsignore b/plugins/org.eclipse.wst.common.environment/.cvsignore
deleted file mode 100644
index 3609926..0000000
--- a/plugins/org.eclipse.wst.common.environment/.cvsignore
+++ /dev/null
@@ -1,6 +0,0 @@
-bin
-build.xml
-temp.folder
-@dot
-src.zip
-javaCompiler...args
diff --git a/plugins/org.eclipse.wst.common.environment/.options b/plugins/org.eclipse.wst.common.environment/.options
deleted file mode 100644
index 07f6325..0000000
--- a/plugins/org.eclipse.wst.common.environment/.options
+++ /dev/null
@@ -1,25 +0,0 @@
-# Debugging options for the org.eclipse.wst.env plugin.
-
-# Turn on debugging master switch for the org.eclipse.wst.common.environment plugin.
-org.eclipse.wst.common.environment/debug=true
-
-# Turn on different tracing level
-org.eclipse.wst.common.environment/trace/info=true
-org.eclipse.wst.common.environment/trace/warning=true
-org.eclipse.wst.common.environment/trace/error=true
-
-# Turn on data flow tracing
-org.eclipse.wst.common.environment/trace/data=true
-
-# Turn on command tracing
-org.eclipse.wst.common.environment/trace/command=true
-
-# Turn on emitter tracing
-org.eclipse.wst.common.environment/trace/emitter=true
-
-# Turn on web service ant tracing
-org.eclipse.wst.common.environment/trace/ws_ant=true
-
-# Turn on web service detailed command engine tracing
-org.eclipse.wst.common.environment/trace/ws_dt_cmd_engine=true
-
diff --git a/plugins/org.eclipse.wst.common.environment/.project b/plugins/org.eclipse.wst.common.environment/.project
deleted file mode 100644
index 557b51d..0000000
--- a/plugins/org.eclipse.wst.common.environment/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.wst.common.enviornment</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.environment/.settings/org.eclipse.jdt.core.prefs b/plugins/org.eclipse.wst.common.environment/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index bd896db..0000000
--- a/plugins/org.eclipse.wst.common.environment/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,57 +0,0 @@
-#Mon Jan 30 10:37:36 EST 2006
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=disabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.4
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=warning
-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=warning
-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=ignore
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=ignore
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
-org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
-org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=ignore
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=ignore
-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=warning
-org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.3
diff --git a/plugins/org.eclipse.wst.common.environment/.settings/org.eclipse.pde.prefs b/plugins/org.eclipse.wst.common.environment/.settings/org.eclipse.pde.prefs
deleted file mode 100644
index 6e43cd0..0000000
--- a/plugins/org.eclipse.wst.common.environment/.settings/org.eclipse.pde.prefs
+++ /dev/null
@@ -1,12 +0,0 @@
-#Mon Jan 30 10:40:26 EST 2006
-compilers.p.deprecated=1
-compilers.p.no-required-att=0
-compilers.p.not-externalized-att=1
-compilers.p.unknown-attribute=0
-compilers.p.unknown-class=0
-compilers.p.unknown-element=1
-compilers.p.unknown-resource=0
-compilers.p.unresolved-ex-points=0
-compilers.p.unresolved-import=0
-compilers.use-project=true
-eclipse.preferences.version=1
diff --git a/plugins/org.eclipse.wst.common.environment/META-INF/MANIFEST.MF b/plugins/org.eclipse.wst.common.environment/META-INF/MANIFEST.MF
deleted file mode 100644
index d2aba54..0000000
--- a/plugins/org.eclipse.wst.common.environment/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,18 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %pluginName
-Bundle-SymbolicName: org.eclipse.wst.common.environment
-Bundle-Version: 1.0.100.qualifier
-Bundle-Activator: org.eclipse.wst.common.internal.environment.plugin.EnvironmentPlugin
-Bundle-Localization: plugin
-Export-Package: org.eclipse.wst.common.environment,
- org.eclipse.wst.common.environment.uri,
- org.eclipse.wst.common.internal.environment.eclipse;x-internal:=true,
- org.eclipse.wst.common.internal.environment.plugin;x-internal:=true,
- org.eclipse.wst.common.internal.environment.relative;x-internal:=true,
- org.eclipse.wst.common.internal.environment.uri.file;x-internal:=true
-Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.2.0,3.3.0)",
- org.eclipse.core.resources;bundle-version="[3.2.0,3.3.0)",
- org.eclipse.osgi.util;bundle-version="[3.1.100,3.2.0)"
-Bundle-Vendor: %providerName
-Eclipse-LazyStart: true 
diff --git a/plugins/org.eclipse.wst.common.environment/about.html b/plugins/org.eclipse.wst.common.environment/about.html
deleted file mode 100644
index 4ec5989..0000000
--- a/plugins/org.eclipse.wst.common.environment/about.html
+++ /dev/null
@@ -1,34 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<HTML>
-
-<head>
-<title>About</title>
-<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
-</head>
-
-<BODY lang="EN-US">
-
-<H3>About This Content</H3>
-
-<P>May 2, 2006</P>
-
-<H3>License</H3>
-
-<P>The Eclipse Foundation makes available all content in this plug-in 
-("Content"). Unless otherwise indicated below, the Content is provided to you 
-under the terms and conditions of the Eclipse Public License Version 1.0 
-("EPL"). A copy of the EPL is available at
-<A href="http://www.eclipse.org/org/documents/epl-v10.php">http://www.eclipse.org/org/documents/epl-v10.php</A>. 
-For purposes of the EPL, "Program" will mean the Content.</P>
-
-<P>If you did not receive this Content directly from the Eclipse Foundation, the 
-Content is being redistributed by another party ("Redistributor") and different 
-terms and conditions may apply to your use of any object code in the Content. 
-Check the Redistributor’s license that was provided with the Content. If no such 
-license exists, contact the Redistributor. Unless otherwise indicated below, the 
-terms and conditions of the EPL still apply to any source code in the Content 
-and such source code may be obtained at
-<A href="http://www.eclipse.org/">http://www.eclipse.org/</A>.</P>
-
-</BODY>
-</HTML>
diff --git a/plugins/org.eclipse.wst.common.environment/build.properties b/plugins/org.eclipse.wst.common.environment/build.properties
deleted file mode 100644
index d3ee390..0000000
--- a/plugins/org.eclipse.wst.common.environment/build.properties
+++ /dev/null
@@ -1,7 +0,0 @@
-source.. = src/
-output.. = bin/
-bin.includes = META-INF/,\
-               .,\
-               about.html,\
-               plugin.properties,\
-               .options
diff --git a/plugins/org.eclipse.wst.common.environment/plugin.properties b/plugins/org.eclipse.wst.common.environment/plugin.properties
deleted file mode 100644
index c41575f..0000000
--- a/plugins/org.eclipse.wst.common.environment/plugin.properties
+++ /dev/null
@@ -1,13 +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
-###############################################################################
-
-pluginName=Enviornment Plug-in
-providerName=Eclipse.org
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.environment/src/org/eclipse/wst/common/environment/Choice.java b/plugins/org.eclipse.wst.common.environment/src/org/eclipse/wst/common/environment/Choice.java
deleted file mode 100644
index 7ec982c..0000000
--- a/plugins/org.eclipse.wst.common.environment/src/org/eclipse/wst/common/environment/Choice.java
+++ /dev/null
@@ -1,103 +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.common.environment;
-
-/**
- * 
- * This class is used by the IStatusHandler interface.
- * It allows code that is reporting status to specify choices to the user
- * which this reporting code can react to. 
- *
- * @since 1.0
- */
-public class Choice {
-
-  private char   shortcut = ' '; 
-  private String label = null;
-  private String description = null;
-  	
-	/**
-	 * Constructor for Choice.
-	 */
-	public Choice() {
-	}
-
-	/**
-	 * Constructor for Choice.
-	 * @param shortcut the single letter shortcut for this choice.
-	 * @param label the label to be displayed to the user for this choice.
-	 */
-	public Choice(char shortcut, String label) {
-		this.shortcut = shortcut;
-		this.label = label;
-	}
-	
-	/**
-	 * Constructor for Choice.
-   * @param shortcut the single letter shortcut for this choice.
-   * @param label the label to be displayed to the user for this choice.
-	 * @param description the description for this choice.
-	 */
-	public Choice(char shortcut, String label, String description) {
-		this.shortcut = shortcut;
-		this.label = label;
-		this.description = description;
-	}
-
-	/**
-	 * Gets the label.
-	 * @return Returns a String
-	 */
-	public String getLabel() {
-		return label;
-	}
-
-	/**
-	 * Sets the label.
-	 * @param label The label to set
-	 */
-	public void setLabel(String label) {
-		this.label = label;
-	}
-
-	/**
-	 * Gets the description.
-	 * @return Returns a String
-	 */
-	public String getDescription() {
-		return description;
-	}
-
-	/**
-	 * Sets the description.
-	 * @param description The description to set
-	 */
-	public void setDescription(String description) {
-		this.description = description;
-	}
-
-	/**
-	 * Gets the shortcut.
-	 * @return Returns a char
-	 */
-	public char getShortcut() {
-		return shortcut;
-	}
-
-	/**
-	 * Sets the shortcut.
-	 * @param shortcut The shortcut to set
-	 */
-	public void setShortcut(char shortcut) {
-		this.shortcut = shortcut;
-	}
-
-}
diff --git a/plugins/org.eclipse.wst.common.environment/src/org/eclipse/wst/common/environment/EnvironmentException.java b/plugins/org.eclipse.wst.common.environment/src/org/eclipse/wst/common/environment/EnvironmentException.java
deleted file mode 100644
index 6e3f70b..0000000
--- a/plugins/org.eclipse.wst.common.environment/src/org/eclipse/wst/common/environment/EnvironmentException.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.common.environment;
-
-import org.eclipse.core.runtime.IStatus;
-
-/**
- * This is the exception class for conditions raised by the IEnvironment.
- * 
- * @since 1.0
- */
-public class EnvironmentException extends Exception
-{
-  /**
-   * Comment for <code>serialVersionUID</code>
-   */
-  private static final long serialVersionUID = 3978983275899402036L;
-  
-  /**
-   * The status for this exception.
-   */
-  protected IStatus status = null;
-  
-  /**
-   * Creates a new EnvironmentException.
-   */
-  public EnvironmentException ()
-  {
-    super();
-  }
-
-  /**
-   * Creates a new EnvironmentException.
-   * 
-   * @param status the status for this exception.
-   */
-  public EnvironmentException ( IStatus status )
-  {
-    super(status == null ? null : status.getMessage());
-    this.status = status;
-  }
-
-  /**
-   * Returns the Status object.
-   * 
-   * @return the status for this exception.
-   */
-  public IStatus getStatus()
-  {
-    return status;
-  }
-}
diff --git a/plugins/org.eclipse.wst.common.environment/src/org/eclipse/wst/common/environment/EnvironmentService.java b/plugins/org.eclipse.wst.common.environment/src/org/eclipse/wst/common/environment/EnvironmentService.java
deleted file mode 100644
index 5663fec..0000000
--- a/plugins/org.eclipse.wst.common.environment/src/org/eclipse/wst/common/environment/EnvironmentService.java
+++ /dev/null
@@ -1,89 +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.environment;
-
-import org.eclipse.wst.common.environment.uri.IURIScheme;
-import org.eclipse.wst.common.environment.uri.URIException;
-import org.eclipse.wst.common.internal.environment.eclipse.ConsoleEclipseEnvironment;
-
-/**
- * 
- * This class creates a console environment.  It also contains static
- * conviences methods for creating an ILog object as well as an Eclipse and
- * File Scheme.
- * 
- * @since 1.0
- *
- */
-public class EnvironmentService
-{
-  static private IEnvironment environment;
-  
-  /**
-   * 
-   * @return returns an Eclipse console environment.
-   */
-  public static IEnvironment getEclipseConsoleEnvironment()
-  {
-    if( environment == null ) environment = new ConsoleEclipseEnvironment();
-    
-    return environment; 
-  }  
-  
-  /**
-   * 
-   * @return returns an Eclipse logger.
-   */
-  public static ILog getEclipseLog()
-  {
-    IEnvironment environment = getEclipseConsoleEnvironment();
-    
-    return environment.getLog();
-  }
-  
-  /**
-   * 
-   * @return returns an Eclipse scheme.
-   */
-  public static IURIScheme getEclipseScheme()
-  {
-    IEnvironment environment = getEclipseConsoleEnvironment();
-    IURIScheme   scheme      = null;
-    
-    try
-    {
-      scheme = environment.getURIFactory().newURIScheme( "platform" );
-    }
-    catch( URIException exc )
-    {    
-    }
-    
-    return scheme;
-  }  
-  
-  /**
-   * 
-   * @return returns a File scheme.
-   */
-  public static IURIScheme getFileScheme()
-  {
-    IEnvironment environment = getEclipseConsoleEnvironment();
-    IURIScheme   scheme      = null;
-    
-    try
-    {
-      scheme = environment.getURIFactory().newURIScheme( "file" );
-    }
-    catch( URIException exc )
-    {    
-    }
-    
-    return scheme;
-  }
-}
diff --git a/plugins/org.eclipse.wst.common.environment/src/org/eclipse/wst/common/environment/IEnvironment.java b/plugins/org.eclipse.wst.common.environment/src/org/eclipse/wst/common/environment/IEnvironment.java
deleted file mode 100644
index 568a4f4..0000000
--- a/plugins/org.eclipse.wst.common.environment/src/org/eclipse/wst/common/environment/IEnvironment.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.common.environment;
-
-import org.eclipse.wst.common.environment.uri.IURIFactory;
-
-
-/**
- * An IEnvironment provides the means for getting a 
- * <ol>
- * <li>A log for writing messages to a logging facility,</li>
- * <li>A progress monitor for receiving progress information,</li>
- * <li>A status handler for receiving and processing status reports,</li>
- * <li>A factory for the handling of URIs (resources).</li>
- * </ol>
- * 
- * @since 1.0
- */
-public interface IEnvironment
-{
-  /**
-   * Returns a logging facility.
-   * 
-   * @return returns a logging facility.
-   */
-  public ILog getLog ();
-
-  /**
-   * Returns a status handler.
-   * 
-   * @return returns a status handler.
-   */
-  public IStatusHandler getStatusHandler ();
-
-  /**
-   * Returns a IURI factory.
-   * Hint: Implementers should insure that the Factory they return
-   * has a reference to this IEnvironment so that IURI objects can
-   * report progress and announce status.
-   * 
-   * @return returns a URI factory.
-   */
-  public IURIFactory getURIFactory ();
-}
diff --git a/plugins/org.eclipse.wst.common.environment/src/org/eclipse/wst/common/environment/ILog.java b/plugins/org.eclipse.wst.common.environment/src/org/eclipse/wst/common/environment/ILog.java
deleted file mode 100644
index 925ed24..0000000
--- a/plugins/org.eclipse.wst.common.environment/src/org/eclipse/wst/common/environment/ILog.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.common.environment;
-
-import org.eclipse.core.runtime.IStatus;
-
-/**
- * ILog objects provide a means for logging information for FFDC etc.
- * 
- * @since 1.0
- */
-public interface ILog
-{
-  /**
-   * This constant indicates that a logging message is Ok.
-   */
-  public static final int OK = 0;
-  
-  /**
-   * This constant indicates that a logging message is informational.
-   */
-  public static final int INFO = 1;
-  
-  /**
-   * This constant indicates that a logging message is warning.
-   */
-  public static final int WARNING = 2;
-  
-  /**
-   * This constant indicates that a logging message is an error.
-   */
-  public static final int ERROR = 4;
-
-  /**
-   * Returns true if logging is enabled.
-   * There is no requirement to call this method before attempting
-   * a call to one of the <code>log</code> methods, as they will
-   * quietly do nothing if logging is disabled. This method can be
-   * useful, however, anywhere the cost of building up the parameters
-   * to a log method might be high and best avoided except when logging
-   * is enabled.
-   * @return True if logging is enabled, and false otherwise.
-   */
-  public boolean isEnabled ();
-  
-  /**
-   * Returns true if this debug option is set to true.
-   * 
-   * @param option this debug option string.
-   * @return returns true if this debug option is set to true.
-   */
-  public boolean isEnabled (String option);
-
-  /**
-   * Logs a <code>Throwable</code>.
-   * @param severity The severity of the logging entry.
-   * @param messageNum  The message number.
-   * @param caller The object (for non-static methods) or class (for
-   * static methods) doing the logging.
-   * @param method The simple name of the method doing the loging.
-   * @param throwable The Throwable to log.
-   */
-  public void log ( int severity, int messageNum, Object caller, String method, Throwable throwable );
-  
-  /**
-   * Logs a <code>Throwable</code>.
-   * @param severity The severity of the logging entry.
-   * @param option this debug option string.
-   * @param messageNum The message number.
-   * @param caller The object (for non-static methods) or class (for
-   * static methods) doing the logging.
-   * @param method The simple name of the method doing the loging.
-   * @param throwable The Throwable to log.
-   */
-  public void log ( int severity, String option, int messageNum, Object caller, String method, Throwable throwable );
-
-  /**
-   * Logs a <code>Status</code>.
-   * @param severity The severity of the logging entry.
-   * @param messageNum  The message number.
-   * @param caller The object (for non-static methods) or class (for
-   * static methods) doing the logging.
-   * @param method The simple name of the method doing the loging.
-   * @param status The Status to log.
-   */
-  public void log ( int severity, int messageNum, Object caller, String method, IStatus status );
-  
-  /**
-   * Logs a <code>Status</code>.
-   * @param severity The severity of the logging entry.
-   * @param option this debug option string.
-   * @param messageNum  The message number.
-   * @param caller The object (for non-static methods) or class (for
-   * static methods) doing the logging.
-   * @param method The simple name of the method doing the loging.
-   * @param status The Status to log.
-   */
-  public void log ( int severity, String option, int messageNum, Object caller, String method, IStatus status );
-
-  /**
-   * Logs an <code>Object</code>.
-   * @param severity The severity of the logging entry.
-   * @param messageNum  The message number.
-   * @param caller The object (for non-static methods) or class (for
-   * static methods) doing the logging.
-   * @param method The simple name of the method doing the loging.
-   * @param object The Object to log.
-   */
-  public void log ( int severity, int messageNum, Object caller, String method, Object object );
-  
-  /**
-   * Logs an <code>Object</code>.
-   * @param severity The severity of the logging entry.
-   * @param option this debug option string.
-   * @param messageNum  The message number.
-   * @param caller The object (for non-static methods) or class (for
-   * static methods) doing the logging.
-   * @param method The simple name of the method doing the loging.
-   * @param object The Object to log.
-   */
-  public void log ( int severity, String option, int messageNum, Object caller, String method, Object object );
-}
diff --git a/plugins/org.eclipse.wst.common.environment/src/org/eclipse/wst/common/environment/IStatusHandler.java b/plugins/org.eclipse.wst.common.environment/src/org/eclipse/wst/common/environment/IStatusHandler.java
deleted file mode 100644
index 9c3aee6..0000000
--- a/plugins/org.eclipse.wst.common.environment/src/org/eclipse/wst/common/environment/IStatusHandler.java
+++ /dev/null
@@ -1,54 +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.common.environment;
-
-import org.eclipse.core.runtime.IStatus;
-
-/**
- * Processes status events raised by the caller and returns an
- * indication of choices made by the recipient of the status and
- * may raise an exception against the caller to have them abort
- * procesing.
- * 
- * @since 1.0
- */
-public interface IStatusHandler
-{
-  /**
-   * Reports the given Status and set of possible responses.
-   * 
-   * @param status the status to report.
-   * @param choices the choices that will be displayed to the user.
-   * @return returns the choice made by the user/handler.
-   */
-  public Choice report ( IStatus status, Choice[] choices );
-  
-  /**
-   * Reports the given Status with implied options to either
-   * continue or abort.
-   * @param status the status to report.
-   * @throws StatusException Throws an exception if the handler decides the caller
-   * should stop processing.
-   */
-  public void report ( IStatus status ) throws StatusException;
-  
-  /**
-   * Report the given Error Status.  No user feedback is provided.
-   * @param status the error status to report.
-   */
-  public void reportError( IStatus status );
-  
-  /**
-   * Report the given Info Status.  No user feedback is provided.
-   * @param status the info status to report.
-   */
-  public void reportInfo( IStatus status );
-}
diff --git a/plugins/org.eclipse.wst.common.environment/src/org/eclipse/wst/common/environment/NullStatusHandler.java b/plugins/org.eclipse.wst.common.environment/src/org/eclipse/wst/common/environment/NullStatusHandler.java
deleted file mode 100644
index 3e22891..0000000
--- a/plugins/org.eclipse.wst.common.environment/src/org/eclipse/wst/common/environment/NullStatusHandler.java
+++ /dev/null
@@ -1,70 +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.common.environment;
-
-import org.eclipse.core.runtime.IStatus;
-
-/**
- * 
- * This class provides a default implementation of the IStatusHandler interface.
- * 
- * @since 1.0
- *
- */
-public class NullStatusHandler implements IStatusHandler
-{
-  
-  /**
-   * @see org.eclipse.env.common.IStatusHandler#report(org.eclipse.core.runtime.IStatus, org.eclipse.env.common.Choice[])
-   */
-  public Choice report(IStatus status, Choice[] choices) 
-  {
-  	Choice result = null;
-  	
-  	// Always take the first choice if available.
-    if( choices != null && choices.length > 0 )
-    {
-    	result = choices[0];
-    }
-    
-    return result;
-  }
-
-  /**
-   * @see org.eclipse.env.common.IStatusHandler#report(org.eclipse.core.runtime.IStatus)
-   */
-  public void report(IStatus status) throws StatusException
-  {
-  }
-  
-  /*
-   * Report and error.
-   */
-  private boolean reportErrorStatus(IStatus status)
-  {
-    return false;
-  }
-  
-  /**
-   * @see org.eclipse.wst.common.environment.IStatusHandler#reportError(org.eclipse.core.runtime.IStatus)
-   */
-  public void reportError(IStatus status)
-  {
-    reportErrorStatus( status );
-  }
-  
-  /**
-   * @see org.eclipse.wst.common.environment.IStatusHandler#reportInfo(org.eclipse.core.runtime.IStatus)
-   */
-  public void reportInfo(IStatus status)
-  {
-  }
-}
diff --git a/plugins/org.eclipse.wst.common.environment/src/org/eclipse/wst/common/environment/StatusException.java b/plugins/org.eclipse.wst.common.environment/src/org/eclipse/wst/common/environment/StatusException.java
deleted file mode 100644
index e747ed0..0000000
--- a/plugins/org.eclipse.wst.common.environment/src/org/eclipse/wst/common/environment/StatusException.java
+++ /dev/null
@@ -1,74 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.common.environment;
-
-import org.eclipse.core.runtime.IStatus;
-
-/**
- * This is the exception class used by StatusHandlers to tell their
- * callers that processing should stop.
- * 
- * @since 1.0
- */
-public class StatusException extends EnvironmentException
-{
-  /**
-   * Comment for <code>serialVersionUID</code>
-   * */
-  private static final long serialVersionUID = 3618141160322119992L;
-
-  /**
-   * The Choice that lead to the exception being thrown,
-   * if any (ie. may be null).
-   */
-  protected Choice choice;
-
-  /**
-   * Creates a new StatusException with the given Status.
-   * @param status the status for this exception.
-   */
-  public StatusException( IStatus status )
-  {
-    super( status );  
-  }
-  
-  /**
-   * Creates a new StatusException with the given Choice.
-   * The Choice may be null.
-   * @param choice the choice for this exception.
-   */
-  public StatusException ( Choice choice )
-  {
-    super();
-    this.choice = choice;
-  }
-
-  /**
-   * Creates a new StatusException with the given Choice
-   * and status object. The Choice may be null.
-   * 
-   * @param status the status for this exception.
-   * @param choice the choice for this exception.
-   */
-  public StatusException ( IStatus status, Choice choice )
-  {
-    super(status);
-    this.choice = choice;
-  }
-
-  /**
-   * @return Returns the Choice object inside this exception.
-   */
-  public Choice getChoice ()
-  {
-    return choice;
-  }
-}
diff --git a/plugins/org.eclipse.wst.common.environment/src/org/eclipse/wst/common/environment/uri/IURI.java b/plugins/org.eclipse.wst.common.environment/src/org/eclipse/wst/common/environment/uri/IURI.java
deleted file mode 100644
index 9352326..0000000
--- a/plugins/org.eclipse.wst.common.environment/src/org/eclipse/wst/common/environment/uri/IURI.java
+++ /dev/null
@@ -1,227 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.common.environment.uri;
-
-import java.io.File;
-import java.io.InputStream;
-import java.io.OutputStream;
-import java.net.URL;
-
-/**
- * A IURI represents a Univeral Resource Identifer.
- * 
- * @since 1.0
- */
-public interface IURI
-{
-  /**
-   * @return Returns the string form of the IURI.
-   * The resource need not exist.
-   */
-  public String toString ();
-
-  /**
-   * @return Returns the IURIScheme for the scheme of this IURI.
-   * The resource need not exist.
-   */
-  public IURIScheme getURIScheme ();
-
-  /**
-   * @return Returns true iff the resource identified by this IURI exists.
-   */
-  public boolean isPresent ();
-
-  /**
-   * @return Returns true iff the resource identified by this IURI exists
-   * and is a leaf. Returns true always for non-hierarchical schemes.
-   */
-  public boolean isLeaf ();
-
-  /**
-   * @return Returns true iff the resource identified by this IURI exists
-   * and is readable. A readable leaf resource indicates that an
-   * input stream can be opened on the resource. A readable folder
-   * resource indicates that the children of the folder, if any,
-   * can be determined via the list() or visit() methods.
-   */
-  public boolean isReadable ();
-
-  /**
-   * @return Returns true iff the resource identified by this IURI exists
-   * and is writable. A writable leaf resource indicates that an
-   * output stream can be opened on the resource. A writable folder
-   * resource indicates that new resources can be created in the folder.
-   */
-  public boolean isWritable ();
-
-  /**
-   * @return Returns true iff this IURI belongs to a hierarchical scheme.
-   * The resource need not exist.
-   * this.isHierarchical() == this.getURIScheme().isHierarchical().
-   */
-  public boolean isHierarchical ();
-
-  /**
-   * @return Returns true iff this IURI is a relative IURI.
-   * The resource need not exist.
-   */
-  public boolean isRelative ();
-
-  /**
-   * @return Returns the IURI of the folder containing this IURI.
-   * The resource need not exist.
-   * @throws URIException if there is no parent URI.
-   */
-  public IURI parent () throws URIException;
-
-  /**
-   * @param relativeURI a relative URI.
-   * @return Returns a new, normalized IURI formed by appending the given
-   * relative IURI to this IURI. Both URIs must be hierarchical.
-   * The resulting IURI will always be hierarchical. The given
-   * IURI must be relative. This IURI can be relative or absolute.
-   * the resulting IURI will be equivalently relative or absolute.
-   * @throws URIException if relativeURI is not relative.
-   */
-  public IURI append ( IURI relativeURI ) throws URIException;
-
-  /**
-   * @return Gets an InputStream for reading from the resource
-   * identified by this leaf or non-hierarchical IURI.
-   * 
-   * @throws URIException if a stream for this URI can not be created.
-   */
-  public InputStream getInputStream () throws URIException;
-
-  /**
-   * @return Gets an OutputStream for writing to the resource
-   * identified by this leaf or non-hierarchical IURI.
-   * @throws URIException if a stream for this URI can not be created.
-   */
-  public OutputStream getOutputStream () throws URIException;
-
-  /**
-   * Creates a new, empty resource at the location identified by
-   * the IURI. On completion, this.isLeaf() == true. If a leaf
-   * resource already exists, this method does nothing. If a
-   * non-leaf resource already exists under this IURI, creation
-   * will fail and an exception will be thrown.
-   * @throws URIException if an error occurs touching this leaf resource.
-   */
-  public void touchLeaf () throws URIException;
-
-  /**
-   * Creates a new folder resource at the location identified by
-   * the IURI. The scheme of the IURI must be hierarchical.
-   * On completion, this.isLeaf() == false. If a folder resource
-   * already exists, this method does nothing. If a leaf resource
-   * already exists under this IURI, creation will fail and an
-   * exception will be thrown.
-   * @throws URIException if an error occurs touching this folder resource.
-   */
-  public void touchFolder () throws URIException;
-
-  /**
-   * Erases the resource identified by this IURI.
-   * @throws URIException if an error occurs erasing this resource.
-   */
-  public void erase () throws URIException;
-
-  /**
-   * Renames or moves the resource identified by this IURI
-   * to the new IURI.
-   * @param newURI the new URI name for this URI.
-   * @throws URIException if an error occurs renaming this resource.
-   */
-  public void rename ( IURI newURI ) throws URIException;
-
-  /**
-   * Visits this resource and its decendants in pre-order fashion.
-   * For each resource, whether a folder or a leaf, the given
-   * IURIVisitor's visit() method is called with the IURI of the
-   * resource. If IURIVisitor.visit() returns false, the visiting
-   * algorithm will "prune" the decendants of the resource and
-   * carry on visiting the rest of the tree. If IURIVisitor.visit()
-   * returns true, the visiting algorithm will continue its walk
-   * down the resource's descendants.
-   * @param uriVisitor the visitor that will be called for each resource visited.
-   * @throws URIException if an error occurs visiting this resource and its children.
-   */
-  public void visit ( IURIVisitor uriVisitor ) throws URIException;
-
-  /**
-   * As for visit(IURIVisitor), except only resource URIs that are
-   * accepted by the given filter are visited. If a folder resource
-   * fails to be accepted by the filter, this will not prevent the
-   * visiting algorithm from walking the resource's descendants.
-   * It remains the job of the visitor to choose whether or not to
-   * prune a branch by returning false or true.
-   * @param uriVisitor the visitor that will be called for each resource visited.
-   * @param uriFilter the resource filter.
-   * @throws URIException if an error occurs visiting this resource and its children.
-   */
-  public void visit ( IURIVisitor uriVisitor, IURIFilter uriFilter ) throws URIException;
-
-  /**
-   * Returns a list of URIs for the immediate children of the given
-   * hierarchical, non-leaf IURI. This method never returns null,
-   * though it may return a zero length array.
-   * @return returns the children for this URI.
-   * @throws URIException if an error occurs locating the children for this URI.
-   */
-  public IURI[] list () throws URIException;
-
-  /**
-   * As for list(), except only URIs that are accepted by the given
-   * filter are returned in the array. This method never returns null,
-   * though it may return a zero length array.
-   * @param uriFilter the child filter.
-   * @return returns the filtered children for this URI.
-   * @throws URIException if an error occurs locating the children for this URI.
-   */
-  public IURI[] list ( IURIFilter uriFilter ) throws URIException;
-
-  /**
-   * @return Returns true if the asURL() method is fair game,
-   * in other words, if this IURI can be converted into a URL.
-   */
-  public boolean isAvailableAsURL ();
-
-  /**
-   * @return Returns a URL object for the resource under this IURI.
-   * There are many URIs and URISchemes for which this method
-   * will fail and throw an exception. It should be used only
-   * in cases where URIs are known to be representable as URLs.
-   * @throws URIException if an error occurs returning this URL.
-   */
-  public URL asURL () throws URIException;
-
-  /**
-   * @return Returns true if the asFile() method is fair game,
-   * in other words, if this IURI can be converted into a File.
-   */
-  public boolean isAvailableAsFile ();
-
-  /**
-   * @return Returns a File object for the resource under this IURI.
-   * There are many URIs and URISchemes for which this method
-   * will fail and throw an exception. It should be used only
-   * in cases where URIs are known to be backed by physical files.
-   * @throws URIException if an error occurs returning this File.
-   */
-  public File asFile () throws URIException;
-
-  /**
-   * @return Returns the IURI as a string.
-   * Equivalent to toString().
-   */
-  public String asString ();
-}
diff --git a/plugins/org.eclipse.wst.common.environment/src/org/eclipse/wst/common/environment/uri/IURIFactory.java b/plugins/org.eclipse.wst.common.environment/src/org/eclipse/wst/common/environment/uri/IURIFactory.java
deleted file mode 100644
index f8a3123..0000000
--- a/plugins/org.eclipse.wst.common.environment/src/org/eclipse/wst/common/environment/uri/IURIFactory.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.common.environment.uri;
-
-import java.net.URL;
-
-/**
- * This is a factory for creating new IURI and IURIScheme objects.
- * 
- * @since 1.0
- */
-public interface IURIFactory
-{
-  /**
-   * Creates and returns a new IURI for the given string.
-   * @param uri the uri to be created.
-   * @return the new URI.
-   * @throws URIException if the uri parameter is not a valid URI.
-   */
-  public IURI newURI ( String uri ) throws URIException;
-
-  /**
-   * Creates and returns a new IURI for the given URL.
-   * @param url the url to use to create this URI
-   * @return the new URI.
-   * @throws URIException if the url parameter is not a valid url.
-   */
-  public IURI newURI ( URL url ) throws URIException;
-
-  /**
-   * Creates and returns a new IURIScheme for the given scheme string.
-   * If the string contains no colons, the entire string is interpretted
-   * as the name of the scheme. If the string contains a colon, then the
-   * substring up to but excluding the first colon is interpretted as the
-   * name of the scheme, meaning the caller can pass in any IURI string in
-   * order to get a IURIScheme object.
-   * 
-   * @param schemeOrURI the scheme or URI from which to create the scheme.
-   * @return the new Scheme.
-   * @throws URIException if schemeOrUri parameter does not contain
-   * a valid scheme or URI name.
-   */
-  public IURIScheme newURIScheme ( String schemeOrURI ) throws URIException;
-}
diff --git a/plugins/org.eclipse.wst.common.environment/src/org/eclipse/wst/common/environment/uri/IURIFilter.java b/plugins/org.eclipse.wst.common.environment/src/org/eclipse/wst/common/environment/uri/IURIFilter.java
deleted file mode 100644
index 3e41c8e..0000000
--- a/plugins/org.eclipse.wst.common.environment/src/org/eclipse/wst/common/environment/uri/IURIFilter.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.common.environment.uri;
-
-/**
- * This interface is implemented by classes that visit or list URIs.
- * Refer to {@link IURI#getChildren}.
- * 
- * @since 1.0
- */
-public interface IURIFilter
-{
-  /**
-   * Filters the given IURI.
-   * @param uri The resource to filter.
-   * @return True if the resource matches the filter,
-   * false if it does not.
-   * @param uri the uri that will be accepted or rejected.
-   * @return returns true if this uri is accepted.
-   * @throws URIException If the filter fails to analyze the resource.
-   */
-  public boolean accepts ( IURI uri ) throws URIException;
-}
diff --git a/plugins/org.eclipse.wst.common.environment/src/org/eclipse/wst/common/environment/uri/IURIScheme.java b/plugins/org.eclipse.wst.common.environment/src/org/eclipse/wst/common/environment/uri/IURIScheme.java
deleted file mode 100644
index 61177ce..0000000
--- a/plugins/org.eclipse.wst.common.environment/src/org/eclipse/wst/common/environment/uri/IURIScheme.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.common.environment.uri;
-
-import java.net.URL;
-import org.eclipse.core.runtime.IStatus;
-
-/**
- * A IURIScheme represents a single scheme for some a family of
- * Univeral Resource Identifiers. Examples include "file", "http"
- * and "platform" (Eclipse).
- * 
- * @since 1.0
- */
-public interface IURIScheme
-{
-  /**
-   * @param uri the URI to be created.
-   * @return Returns a new IURI.
-   * @throws URIException if the uri specified is not valid or
-   * can not be created.
-   */
-  public IURI newURI ( String uri ) throws URIException;
-
-  /**
-   * @param url the url used to create the URI.
-   * @return Returns a new IURI.
-   * @throws URIException if the url specified is not valid or
-   * can not be created.
-   */
-  public IURI newURI ( URL url ) throws URIException;
-
-  /**
-   * @param uri the URI to be created.
-   * @return Returns a new IURI.
-   * @throws URIException if the uri specified is not valid or
-   * can not be created.
-   */
-  public IURI newURI ( IURI uri ) throws URIException;
-
-  /**
-   * @return Returns the proper name of the scheme.
-   */
-  public String toString ();
-
-  /**
-   * @return Returns true if and only if this is a hierarchical scheme.
-   */
-  public boolean isHierarchical ();
-
-  /**
-   * @param uri the uri to check for validity.
-   * @return Returns true if and only if the given IURI satisfies the
-   * grammatical requirements of the scheme. Absolute URIs must
-   * begin with "<scheme>:". Relative URIs must either not contain
-   * a colon, ":", or it must begin with "./".
-   */
-  public boolean isValid ( IURI uri );
-
-  /**
-   * @param uri the uri to check for validity.
-   * @return Returns a Status object indicating whether or not the given
-   * IURI is valid. The severity and message of the Status object
-   * will describe this.
-   */
-  public IStatus validate ( IURI uri );
-}
diff --git a/plugins/org.eclipse.wst.common.environment/src/org/eclipse/wst/common/environment/uri/IURIVisitor.java b/plugins/org.eclipse.wst.common.environment/src/org/eclipse/wst/common/environment/uri/IURIVisitor.java
deleted file mode 100644
index aa752eb..0000000
--- a/plugins/org.eclipse.wst.common.environment/src/org/eclipse/wst/common/environment/uri/IURIVisitor.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.common.environment.uri;
-
-/**
- * This interface is implemented by classes that visit URIs.
- * Refer to {@link IURI#visit}.
- * 
- * @since 1.0
- */
-public interface IURIVisitor
-{
-  /**
-   * Visits the given IURI.
-   * @param uri The resource to visit.
-   * @return True if the resource's descendants should be visited,
-   * or false if they should not be visited.
-   * @throws URIException If the visit method fails.
-   */
-  public boolean visit ( IURI uri ) throws URIException;
-}
diff --git a/plugins/org.eclipse.wst.common.environment/src/org/eclipse/wst/common/environment/uri/SimpleURIFactory.java b/plugins/org.eclipse.wst.common.environment/src/org/eclipse/wst/common/environment/uri/SimpleURIFactory.java
deleted file mode 100644
index 90945ac..0000000
--- a/plugins/org.eclipse.wst.common.environment/src/org/eclipse/wst/common/environment/uri/SimpleURIFactory.java
+++ /dev/null
@@ -1,130 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.common.environment.uri;
-
-import java.net.URL;
-import java.util.Hashtable;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.wst.common.internal.environment.eclipse.Messages;
-import org.eclipse.wst.common.internal.environment.relative.RelativeScheme;
-
-/**
- * 
- * This class provides a default implementation of the IURIFactory interface.
- * 
- * @since 1.0
- */
-public class SimpleURIFactory implements IURIFactory
-{
-  private Hashtable    schemes_ = new Hashtable();  
-  
-  /**
-   * @param uri the uri to be created.
-   * @return Creates and returns a new IURI for the given string.
-   * @throws URIException if an error occurs creating this URI.
-   */
-  public IURI newURI(String uri) throws URIException
-  {
-    IURIScheme scheme = newURIScheme( uri, false );
-    
-    return scheme.newURI( uri );
-  }
-
-  /**
-   * @param url the url to use to create this uri.
-   * @return Creates and returns a new IURI for the given URL.
-   * @throws URIException if an error occurs creating this URI.
-   */
-  public IURI newURI(URL url) throws URIException
-  {
-    IURIScheme scheme = newURIScheme( url.toString(), false );
-    
-    return scheme.newURI( url );
-  }
-
-  /**
-   * @param schemeOrURI the scheme name or URI from which this scheme is 
-   * to be created.
-   * @return Creates and returns a new IURIScheme for the given scheme string.
-   * If the string contains no colons, the entire string is interpretted
-   * as the name of the scheme. If the string contains a colon, then the
-   * substring up to but excluding the first colon is interpretted as the
-   * name of the scheme, meaning the caller can pass in any IURI string in
-   * order to get a IURIScheme object.
-   * @throws URIException if an error occurs creating this URI scheme.
-   */
-  public IURIScheme newURIScheme(String schemeOrURI) throws URIException
-  {
-    return newURIScheme( schemeOrURI, true );
-  }
-  
-  /**
-   * This method registers a scheme for a particular protocol.
-   * 
-   * @param protocol the protocol.
-   * @param scheme the scheme.
-   */
-  public void registerScheme( String protocol, IURIScheme scheme )
-  {
-    schemes_.put( protocol, scheme );
-  }
-  
-  private IURIScheme newURIScheme(String schemeOrURI, boolean checkForScheme ) throws URIException
-  {
-    IURIScheme newScheme = null;
-    
-    if( schemeOrURI == null )
-    {
-      throw new URIException( 
-              new Status( IStatus.ERROR, "id", 0, 
-                 NLS.bind( Messages.MSG_NULL_ARG_SPECIFIED, "newURIScheme"), null ) );
-    }
-    
-    int colon    = schemeOrURI.indexOf(':');
-    int slash    = schemeOrURI.indexOf('/');
-    
-    // A protocol was specified.  Note: a colon appearing after a path is not
-    // considered part of the protocol for this IURI.
-    if( ( checkForScheme && colon == -1 ) ||
-        ( colon != -1 && slash == -1) || 
-        ( colon != -1 && colon < slash ) )
-    {
-      // If colon is -1 then we will treat the entire input parameter as the protocol.
-      if( colon == -1 ) colon = schemeOrURI.length();
-      
-      String protocol = schemeOrURI.substring(0, colon );
-      newScheme       = (IURIScheme)schemes_.get( protocol );
-      
-      if( newScheme == null )
-      {
-        throw new URIException( 
-            new Status( IStatus.ERROR, "id", 0, 
-                NLS.bind( Messages.MSG_SCHEME_NOT_FOUND, schemeOrURI ), null ) );
-                
-      }
-    }
-    else if( schemeOrURI.startsWith( "/") )
-    {
-      throw new URIException( 
-          new Status( IStatus.ERROR, "id", 0,
-              NLS.bind( Messages.MSG_ABSOLUTE_PATH_WITHOUT_SCHEME, schemeOrURI ), null ) );
-      
-    }
-    else
-    {
-      newScheme = new RelativeScheme();
-    }
-    
-    return newScheme;
-  }
-}
diff --git a/plugins/org.eclipse.wst.common.environment/src/org/eclipse/wst/common/environment/uri/URIException.java b/plugins/org.eclipse.wst.common.environment/src/org/eclipse/wst/common/environment/uri/URIException.java
deleted file mode 100644
index e1aee84..0000000
--- a/plugins/org.eclipse.wst.common.environment/src/org/eclipse/wst/common/environment/uri/URIException.java
+++ /dev/null
@@ -1,83 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.common.environment.uri;
-
-import org.eclipse.core.runtime.IStatus;
-
-/**
- * This is the base class for most exceptions thrown by IURI classes.
- * Every URIException carries a IURI and a Status, each of which may
- * be null. The getMessage() method as inherited from Exception will
- * return the message from the URIExceptin's Status object, if any.
- * 
- * @since 1.0
- */
-public class URIException extends Exception
-{
-  /**
-   * Comment for <code>serialVersionUID</code>
-   */
-  private static final long serialVersionUID = 3258130271424756018L;
-
-  /**
-   * A Status object containing details about the exception,
-   * if applicable.
-   */
-  protected IStatus status;
-
-  /**
-   * The IURI for which the exception occured,
-   * if applicable.
-   */
-  protected IURI uri;
-
-  /**
-   * Creates a new URIException with the given Status.
-   * The status may be null.
-   * 
-   * @param status the staus for this exception.
-   */
-  public URIException ( IStatus status )
-  {
-    super();
-    this.status = status;
-  }
-
-  /**
-   * Creates a new URIException for the given Status and IURI,
-   * each of which may be null.
-   * 
-   * @param status the status for this exception.
-   * @param uri the uri that caused this exception.
-   */
-  public URIException ( IStatus status, IURI uri )
-  {
-    super(status != null ? status.getMessage() : null);
-    this.status = status;
-    this.uri = uri;
-  }
-
-  /**
-   * @return returns the Status object inside this exception.
-   */
-  public IStatus getStatus ()
-  {
-    return status;
-  }
-
-  /**
-   * @return returns the IURI inside this exception.
-   */
-  public IURI getURI ()
-  {
-    return uri;
-  }
-}
diff --git a/plugins/org.eclipse.wst.common.environment/src/org/eclipse/wst/common/internal/environment/eclipse/ConsoleEclipseEnvironment.java b/plugins/org.eclipse.wst.common.environment/src/org/eclipse/wst/common/internal/environment/eclipse/ConsoleEclipseEnvironment.java
deleted file mode 100644
index 8e1c1e1..0000000
--- a/plugins/org.eclipse.wst.common.environment/src/org/eclipse/wst/common/internal/environment/eclipse/ConsoleEclipseEnvironment.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.common.internal.environment.eclipse;
-
-import org.eclipse.wst.common.environment.IEnvironment;
-import org.eclipse.wst.common.environment.ILog;
-import org.eclipse.wst.common.environment.NullStatusHandler;
-import org.eclipse.wst.common.environment.IStatusHandler;
-import org.eclipse.wst.common.environment.uri.SimpleURIFactory;
-import org.eclipse.wst.common.environment.uri.IURIFactory;
-import org.eclipse.wst.common.internal.environment.uri.file.FileScheme;
-
-
-/**
- *  This class is intended for use in a headless Eclipse environment.  
- */
-public class ConsoleEclipseEnvironment implements IEnvironment
-{
-	private SimpleURIFactory  uriFactory_      = null;
-	private IStatusHandler     statusHandler_   = null;
-	  
-	public ConsoleEclipseEnvironment()
-	{
-	  this( new NullStatusHandler() );	
-	}
-	
-	public ConsoleEclipseEnvironment( IStatusHandler  statusHandler )
-	{
-	  uriFactory_      = new SimpleURIFactory();
-	  statusHandler_   = statusHandler;
-	    
-	  uriFactory_.registerScheme( "platform", new EclipseScheme( this ) );
-	  uriFactory_.registerScheme( "file", new FileScheme() );
-	}
-			
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.common.environment.IEnvironment#getLog()
-	 */
-	public ILog getLog() 
-	{
-		return new EclipseLog();
-	}
-		
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.common.environment.IEnvironment#getStatusHandler()
-	 */
-	public IStatusHandler getStatusHandler() 
-	{
-		return statusHandler_;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.common.environment.IEnvironment#getURIFactory()
-	 */
-	public IURIFactory getURIFactory() 
-	{
-		return uriFactory_;
-	}
-}
diff --git a/plugins/org.eclipse.wst.common.environment/src/org/eclipse/wst/common/internal/environment/eclipse/EclipseLog.java b/plugins/org.eclipse.wst.common.environment/src/org/eclipse/wst/common/internal/environment/eclipse/EclipseLog.java
deleted file mode 100644
index e1d75e6..0000000
--- a/plugins/org.eclipse.wst.common.environment/src/org/eclipse/wst/common/internal/environment/eclipse/EclipseLog.java
+++ /dev/null
@@ -1,165 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- * yyyymmdd bug      Email and other contact information
- * -------- -------- -----------------------------------------------------------
- * 20060221   100364 pmoogk@ca.ibm.com - Peter Moogk
- *******************************************************************************/
-package org.eclipse.wst.common.internal.environment.eclipse;
-
-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.wst.common.environment.ILog;
-import org.eclipse.wst.common.internal.environment.plugin.EnvironmentPlugin;
-
-public class EclipseLog implements org.eclipse.wst.common.environment.ILog 
-{
-	private org.eclipse.core.runtime.ILog logger;
-	
-	public EclipseLog() 
-	{
-		Plugin plugin = EnvironmentPlugin.getInstance();
-		
-    logger = plugin.getLog();
-	}
-	
-	/**
-	 * @see org.eclipse.wst.common.environment.ILog#isEnabled()
-	 */
-	public boolean isEnabled() 
-  {
-		return Platform.inDebugMode();
-	}
-	
-	/**
-	 * @see org.eclipse.wst.common.Environment.ILog#isEnabled(java.lang.String)
-	 */
-	public boolean isEnabled(String option) {
-		return "true".equals(Platform.getDebugOption("org.eclipse.wst.common.environment/trace/"
-				+ option));
-	}
-	
-	/**
-	 * @see org.eclipse.wst.common.environment.ILog#log(int, int, java.lang.Object, java.lang.String, java.lang.Object)
-	 */
-	public void log(int severity, int messageNum, Object caller,
-			String method, Object object) 
-	{
-		
-		if (isEnabled()) {
-			switch (severity) {
-				case ILog.ERROR :
-				{
-					if (isEnabled("error"))
-					{
-						String message = getMessageNumString(messageNum) + "E "
-							+ caller + "::" + method + ": object="
-							+ object;
-						log( severity, message, null );
-					}
-					break;
-				}
-				
-				case ILog.WARNING :
-				{
-					if (isEnabled("warning"))
-					{
-						String message = getMessageNumString(messageNum)
-								+ "W " + caller + "::" + method
-								+ ": object=" + object;
-						log( severity, message, null );
-					}
-					break;
-				}
-				
-				case ILog.INFO :
-				{
-					if (isEnabled("info"))
-					{
-						String message = getMessageNumString(messageNum) + "I "
-								+ caller + "::" + method + ": object="
-								+ object;
-						log( severity, message, null );
-					}
-					break;
-				}
-			}
-		}
-		
-	}
-	
-	/**
-	 * @see org.eclipse.wst.common.environment.ILog#log(int, int, java.lang.Object, java.lang.String, org.eclipse.core.runtime.IStatus)
-	 */
-	public void log(int severity, int messageNum, Object caller,
-			String method, IStatus status) {
-		log(severity, messageNum, caller, method, (Object)status);
-	}
-	
-	/**
-	 * @see org.eclipse.wst.common.environment.ILog#log(int, int, java.lang.Object, java.lang.String, java.lang.Throwable)
-	 */
-	public void log(int severity, int messageNum, Object caller,
-			String method, Throwable throwable) {
-		log( severity, messageNum, caller, method, (Object)null );
-	}
-	
-	/**
-	 * @see org.eclipse.wst.common.environment.ILog#log(int, java.lang.String, int, java.lang.Object, java.lang.String, java.lang.Object)
-	 */
-	public void log(int severity, String option, int messageNum,
-			Object caller, String method, Object object) 
-	{
-		if (isEnabled(option))
-		{
-			String message = getMessageNumString(messageNum) + "I " + caller
-					+ "::" + method + ": object=" + object;
-			log(severity, message, null );
-		}	
-	}
-	
-	/**
-	 * @see org.eclipse.wst.common.environment.ILog#log(int, java.lang.String, int, java.lang.Object, java.lang.String, java.lang.Throwable)
-	 */
-	public void log(int severity, String option, int messageNum,
-			Object caller, String method, Throwable throwable) 
-	{
-		if (isEnabled(option)) 
-		{
-			String message = getMessageNumString(messageNum) + "I " + caller
-					+ "::" + method;
-			log( severity, message, throwable );
-		}
-	}
-	
-	/**
-	 * @see org.eclipse.wst.common.environment.ILog#log(int, java.lang.String, int, java.lang.Object, java.lang.String, org.eclipse.core.runtime.IStatus)
-	 */
-	public void log(int severity, String option, int messageNum,
-			Object caller, String method, IStatus status) 
-	{
-		logger.log( status );
-	}
-	
-	private String getMessageNumString(int messageNum) {
-		String messageNumString = "IWAB";
-		if (messageNum > 9999 || messageNum < 0)
-			messageNum = 9999; //default message number
-		messageNumString += (new Integer(messageNum)).toString();
-		return messageNumString;
-	}
-	
-	private void log( int severity, String message, Throwable exc )
-	{
-		Status status = new Status( severity, "id", 0, message, exc );
-		logger.log( status );
-	}
-}
diff --git a/plugins/org.eclipse.wst.common.environment/src/org/eclipse/wst/common/internal/environment/eclipse/EclipseScheme.java b/plugins/org.eclipse.wst.common.environment/src/org/eclipse/wst/common/internal/environment/eclipse/EclipseScheme.java
deleted file mode 100644
index 46a30c6..0000000
--- a/plugins/org.eclipse.wst.common.environment/src/org/eclipse/wst/common/internal/environment/eclipse/EclipseScheme.java
+++ /dev/null
@@ -1,197 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.common.internal.environment.eclipse;
-
-import java.net.MalformedURLException;
-import java.net.URL;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.wst.common.environment.IEnvironment;
-import org.eclipse.wst.common.environment.uri.IURI;
-import org.eclipse.wst.common.environment.uri.IURIScheme;
-import org.eclipse.wst.common.environment.uri.URIException;
-import org.eclipse.wst.common.internal.environment.relative.RelativeURI;
-
-
-public class EclipseScheme implements IURIScheme
-{
-  private IEnvironment      environment_;
-  
-  public EclipseScheme( IEnvironment environment )
-  {
-    environment_ = environment;
-  }
-  
-  public String toString()
-  {
-    return "platform";  
-  }
-  
-  /**
-   */
-  public boolean isHierarchical()
-  {
-    return true;
-  }
-
-  /**
-   */
-  public boolean isValid(IURI uri)
-  {
-    boolean result = true;
-    
-    if( uri == null ) return false;
-    
-    try
-    {
-      IURIScheme scheme = uri.getURIScheme();
-      
-      if( scheme.toString().equals( "relative") ) return scheme.isValid( uri );
-        
-      getPathFromPlatformURI( uri.toString() );
-    }
-    catch( URIException exc )
-    {
-      result = false;
-    }
-    
-    return result;
-  }
-
-  /**
-   */
-  public IURI newURI(String uri) throws URIException
-  {
-    String newURI = null;
-    
-    if( uri != null && uri.startsWith( "platform:") )
-    {
-      // The platform has been specified so keep it as is.
-      newURI = uri;
-    }
-    else if( uri == null || uri.indexOf( ":") != -1 )
-    {
-      // The platform uri is not allowed to contain some other protocol. 
-      throw new URIException(
-          new Status( IStatus.ERROR, "id", 0,
-              NLS.bind( Messages.MSG_INVALID_PLATFORM_URL,uri), null ) );
-              
-    }
-    else if( uri.startsWith( "/") )
-    {
-      // The platform scheme has not been specified so we will add it.
-      newURI = "platform:/resource" + uri;
-    }
-    
-    if( newURI == null )
-    {
-      return new RelativeURI( uri );
-    }
-    else
-    {
-      return new EclipseURI( newURI, environment_ );
-    }
-  }
-
-  /**
-   */
-  public IURI newURI(IURI uri) throws URIException
-  {
-    return newURI( uri == null ? null : uri.toString() );
-  }
-
-  /**
-   */
-  public IURI newURI(URL url) throws URIException
-  {
-    return newURI( url == null ? null : url.toString() );
-  }
-
-  /**
-   */
-  public IStatus validate(IURI uri)
-  {
-    IStatus status = null;
-    
-    try
-    {
-      IURIScheme scheme = uri.getURIScheme();
-      
-      if( scheme.toString().equals( "relative") ) return scheme.validate( uri );
-      
-      getPathFromPlatformURI( uri.toString() );
-      status = Status.OK_STATUS;
-    }
-    catch( URIException exc )
-    {
-      status = exc.getStatus(); 
-    }
-    
-    return status;
-  }
-  
-  /**
-   * Gets the "platform:/resource" IPath given a url
-   * 
-   */
-  public String getPathFromPlatformURI(String uri) throws URIException 
-  {
-    String resourceFile = null;
-    URL    url          = null;
-    
-    try
-    {
-      url = new URL( uri ); 
-    }
-    catch( MalformedURLException exc )
-    { 
-      throw new URIException(
-          new Status( IStatus.ERROR, "id", 0,
-              NLS.bind( Messages.MSG_INVALID_PLATFORM_URL, uri ), exc ) );
-    }
-    
-    if( url == null )
-    {
-      throw new URIException(
-          new Status( IStatus.ERROR, "id", 0,
-              NLS.bind( Messages.MSG_INVALID_PLATFORM_URL, uri ), null ) );
-    }
-    if( url.getProtocol().equals("platform") ) 
-    {
-      String resourceURL = url.getFile();
-      
-      if (resourceURL.startsWith("/resource")) 
-      {
-        resourceFile = resourceURL.substring(10);   // omit the "/resource" portion
-      }
-    }
-    else 
-    {
-      throw new URIException(
-          new Status( IStatus.ERROR, "id", 0,
-                      NLS.bind( Messages.MSG_INVALID_PLATFORM_URL,url.getFile() ), null ) );
-    }
-    
-    return resourceFile;
-  }
-  
-  /**
-   * 
-   * @param absolutePath an absolute IPath
-   * @return returns the platform IURI for this path.
-   */
-  public String getURLFromPath( IPath absolutePath )
-  {
-    return "platform:/resource" + absolutePath;
-  }
-}
diff --git a/plugins/org.eclipse.wst.common.environment/src/org/eclipse/wst/common/internal/environment/eclipse/EclipseURI.java b/plugins/org.eclipse.wst.common.environment/src/org/eclipse/wst/common/internal/environment/eclipse/EclipseURI.java
deleted file mode 100644
index feb22d4..0000000
--- a/plugins/org.eclipse.wst.common.environment/src/org/eclipse/wst/common/internal/environment/eclipse/EclipseURI.java
+++ /dev/null
@@ -1,518 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.common.internal.environment.eclipse;
-
-import java.io.File;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStream;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.Vector;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IFolder;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.wst.common.environment.IEnvironment;
-import org.eclipse.wst.common.environment.uri.IURI;
-import org.eclipse.wst.common.environment.uri.IURIFilter;
-import org.eclipse.wst.common.environment.uri.IURIScheme;
-import org.eclipse.wst.common.environment.uri.URIException;
-import org.eclipse.wst.common.internal.environment.relative.RelativeURI;
-
-
-public class EclipseURI extends RelativeURI
-{
-  private IEnvironment   environment_;
-  private EclipseScheme  scheme_;
-  private File           file_;
-  
-  public EclipseURI( String uri, IEnvironment environment )
-  {
-    super( uri );
-    
-    environment_  = environment;
-    scheme_       = new EclipseScheme( environment );
-    file_         = getFile();
-  }
-  
-  public String toString()
-  {
-    return uri_;
-  }
-  
-  /**
-   * @see org.eclipse.env.uri.IURI#erase()
-   */
-  public void erase() throws URIException
-  {
-    try 
-    {
-      IResource file = getResource();
-      
-      if( file != null && file.exists() ) 
-      {
-        if( file instanceof IFile )
-        {
-          FileResourceUtils.deleteFile( (IFile)file,
-                                        environment_.getStatusHandler() );
-        }
-        else if( file instanceof IFolder )
-        {
-          FileResourceUtils.deleteFolder( (IFolder)file,
-                                          environment_.getStatusHandler() );          
-        }
-      }
-      
-    }
-    catch( Exception exc ) 
-    {      
-      throw new URIException( new Status( IStatus.ERROR, "id", 0, exc.getMessage(), exc ), this );
-    }
-  }
-
-  /**
-   * @see org.eclipse.env.uri.IURI#getInputStream()
-   */
-  public InputStream getInputStream() throws URIException
-  {
-    try 
-    {
-      // If a class cast exception is throw it will be propogated as
-      // a URIException.
-      IFile file = (IFile)getResource();
-
-      //call getContents on the eclipse File object
-      if( file != null ) 
-      {
-        return file.getContents();
-      }
-    }
-    catch( Throwable exc ) 
-    {
-      throw new URIException( new Status( IStatus.ERROR, "id", 0, exc.getMessage(), exc ), this );
-    }
-    
-    return null;
-  }
-
-  /**
-   * @see org.eclipse.env.uri.IURI#getOutputStream()
-   */
-  public OutputStream getOutputStream() throws URIException
-  {
-    // Ensure that the parent folder exists.
-    IURI parent = parent();
-    
-    if( !parent.isPresent() )
-    {
-      parent().touchFolder();
-    }
-    
-    return getOutStream();
-  }
-
-  /**
-   * @see org.eclipse.env.uri.IURI#getURIScheme()
-   */
-  public IURIScheme getURIScheme()
-  {
-    return scheme_;
-  }
-
-  /**
-   * @see org.eclipse.env.uri.IURI#isLeaf()
-   */
-  public boolean isLeaf()
-  {
-    boolean result = false;
-  
-    try
-    {
-      IResource resource = getResource();
-      
-      if( resource != null && 
-          resource.exists() && 
-          resource.getType() == IResource.FILE )
-      {  
-        result = true;
-      }
-    }
-    catch( URIException exc )
-    {
-      // This IURI does not exist.
-      result = false;
-    }
-   
-    return result;
-  }
-
-  /**
-   * @see org.eclipse.env.uri.IURI#isPresent()
-   */
-  public boolean isPresent()
-  {
-    boolean result = false;
-    
-    try
-    {
-      IResource resource = getResource();
-      
-      if( resource != null && resource.exists() )
-       {  
-        result = true;
-      }
-    }
-    catch( URIException exc )
-    {
-      // This IURI does not exist.
-      result = false;
-    }
-    
-    return result;
-  }
-
-  /**
-   * @see org.eclipse.env.uri.IURI#isReadable()
-   */
-  public boolean isReadable()
-  {
-    boolean result = false;
-    
-    try
-    {
-      IResource resource = getResource();
-      
-      if( resource != null && resource.isAccessible() )
-       {  
-        result = true;
-      }
-    }
-    catch( URIException exc )
-    {
-      // This IURI does not exist.
-      result = false;
-    }
-    
-    return result;
-   }
-
-  /**
-   * @see org.eclipse.env.uri.IURI#isRelative()
-   */
-  public boolean isRelative()
-  { 
-    return false;
-  }
-
-  /**
-   * @see org.eclipse.env.uri.IURI#isWritable()
-   */
-  public boolean isWritable()
-  {
-    boolean result = false;
-    
-    try
-    {
-      IResource resource = getResource();
-      
-      if( resource != null && 
-          resource.isAccessible() && 
-          !resource.getResourceAttributes().isReadOnly() )
-       {  
-        result = true;
-      }
-    }
-    catch( URIException exc )
-    {
-      // This IURI does not exist.
-      result = false;
-    }
-    
-    return result;
-  }
-
-  /**
-   * @see org.eclipse.env.uri.IURI#list()
-   */
-  public IURI[] list() throws URIException
-  {
-    IResource resource    = getResource();
-    IURI[]     uriChildren = new IURI[0];
-    
-    if( resource.getType() == IResource.FOLDER )
-    {
-      IFolder     folder   = (IFolder)resource;
-      
-      try
-      {
-        IResource[] children    = folder.members();  
-  
-        uriChildren = new IURI[children.length];
-        
-        for( int index = 0; index < children.length; index++ )
-        {
-          IPath path = children[index].getFullPath();
-          uriChildren[index] = new EclipseURI( scheme_.getURLFromPath(path), environment_  );
-        }
-      }
-      catch( CoreException exc )
-      {
-      }
-    }
-    
-    return uriChildren;
-  }
-
-  /**
-   * @see org.eclipse.env.uri.IURI#list(org.eclipse.env.uri.IURIFilter)
-   */
-  public IURI[] list(IURIFilter uriFilter) throws URIException
-  {
-    IResource resource = getResource();
-    IURI[]     result   = new IURI[0];
-    
-    if( resource.getType() == IResource.FOLDER )
-     {
-      IFolder     folder   = (IFolder)resource;
-      
-      try
-      {
-        IResource[] children    = folder.members();       
-        Vector      uriChildren = new Vector();
-        
-        for( int index = 0; index < children.length; index++ )
-         {
-          IPath path = children[index].getFullPath();
-          IURI   uri  = new EclipseURI( scheme_.getURLFromPath(path), environment_ );
-          
-          if( uriFilter.accepts( uri ) )
-          {
-            uriChildren.add( uri );
-          }
-        }
-        
-        result = (IURI[])uriChildren.toArray( new IURI[0] );
-      }
-      catch( CoreException exc )
-      {
-      }
-    }
-    
-    return result;
-  }
-   
-  /**
-   * @see org.eclipse.env.uri.IURI#rename(org.eclipse.env.uri.IURI)
-   */
-  public void rename(IURI newURI ) throws URIException
-  {
-    if( newURI == null || !(newURI instanceof EclipseURI) ) return;
-    
-    try
-    {
-      EclipseURI newEclipseURI = (EclipseURI)newURI;
-      IPath      newPath       = new Path( scheme_.getPathFromPlatformURI( newEclipseURI.uri_ ) ).makeAbsolute();
-      IResource  resource      = getResource();
-      
-      if( resource != null )
-      {
-        resource.move( newPath, true, null );
-      }
-    }
-    catch( CoreException exc )
-    {
-      exc.printStackTrace();
-      throw new URIException( new Status( IStatus.ERROR, "id", 0, exc.getMessage(), exc ) );
-    }
-  }
-
-  /**
-   * @see org.eclipse.env.uri.IURI#touchFolder()
-   */
-  public void touchFolder() throws URIException
-  {
-    IResource resource = getResource();
-    
-    if( resource != null )
-    { 
-      if( resource.getType() == IResource.FOLDER )
-      {
-        IFolder folder = (IFolder)resource;
-        
-        try
-        {
-          if( folder.members().length > 0 )
-          {
-            throw new URIException( 
-                new Status( IStatus.ERROR, "id", 0, 
-                    NLS.bind( Messages.MSG_ERROR_FOLDER_HAS_CHILDREN, folder.toString() ), null ),
-                this );
-								
-          }
-        }
-        catch( CoreException exc )
-        {        
-          throw new URIException( new Status( IStatus.ERROR, "id", 0, exc.getMessage(), exc ), this );
-        }
-      }
-      else
-      {
-         //??? Not sure what to do if touching a folder and the IURI exists and it is not a folder.
-      }
-    }
-    else
-    {
-      IPath newPath = new Path( scheme_.getPathFromPlatformURI( uri_ ) ).makeAbsolute();
-      
-      try
-      {
-        FileResourceUtils.makeFolderPath( newPath,
-			  	                                environment_.getStatusHandler() );
-      }
-      catch( CoreException exc )
-      {
-        throw new URIException( new Status( IStatus.ERROR, "id", 0, exc.getMessage(), exc ), this );
-      }
-    }
-  }
-
-  /**
-   * @see org.eclipse.env.uri.IURI#touchLeaf()
-   */
-  public void touchLeaf() throws URIException
-  {
-    IResource resource = getResource();
-    
-    if( resource != null )
-    {
-      // The resource already exists so do nothing.
-    }    
-    else
-    {
-      // Get the parent for this leaf and create it if required.
-      IURI parent = parent();
-      
-      if( !parent.isPresent() )
-      {  
-        parent().touchFolder();
-      }
-      
-      try
-      {
-        // Get an output stream to the specified file and immediately close it.
-        // This should create a 0 byte file.
-        getOutStream().close();
-      }
-      catch( IOException exc )
-      {
-        throw new URIException( new Status( IStatus.ERROR, "id", 0, exc.getMessage(), exc ), this );
-      }
-    }
-
-  }
-
-  private IResource getResource() throws URIException
-  {    
-    IPath  path             = new Path( scheme_.getPathFromPlatformURI(uri_) );
-    String absolutePathname = path.makeAbsolute().toString();
-   
-    return FileResourceUtils.findResource(absolutePathname);
-  }
-  
-  /**
-   * @see org.eclipse.env.uri.IURI#getOutputStream()
-   */
-  private OutputStream getOutStream() throws URIException
-  {
-    IPath        file   = new Path( scheme_.getPathFromPlatformURI( uri_ ) ).makeAbsolute();
-    OutputStream stream = null;
-    
-    stream = FileResourceUtils.newFileOutputStream ( file,
- 			                                               environment_.getStatusHandler() );    
-    return stream;
-  }
-  
-  /**
-   * Returns a File object for the resource under this IURI.
-   * There are many URIs and URISchemes for which this method
-   * will fail and throw an exception. It should be used only
-   * in cases where URIs are known to be backed by physical files.
-   */
-  public File asFile ()
-  {
-  	return file_;
-  }
-  
-  /* (non-Javadoc)
-   * @see org.eclipse.wst.common.environment.uri.IURI#isAvailableAsFile()
-   */
-  public boolean isAvailableAsFile() 
-  {
-  	return file_ != null;
-  }
-  
-  /* (non-Javadoc)
-   * @see org.eclipse.env.uri.URI#asURL()
-   */
-  public URL asURL() throws URIException
-  {
-    URL url = null;
-    
-    try
-    {
-      url = new URL( uri_ );
-    }
-    catch( MalformedURLException exc )
-    {
-      throw new URIException( new Status( IStatus.ERROR, "id", 0, exc.getMessage(), exc ), this ); 
-    }
-    
-    return url;
-  }
-  
-  /* (non-Javadoc)
-   * @see org.eclipse.env.uri.URI#isAvailableAsURL()
-   */
-  public boolean isAvailableAsURL()
-  {
-    URL theURL = null;
-    
-    try
-    {
-      theURL = asURL();  
-    }
-    catch( URIException exc )
-    {  
-    }
-    
-    return theURL != null ;
-  }
-
-  private File getFile()
-  {
-    String platformRes = "platform:/resource";
-    File   result      = null;
-    
-    if (uri_.startsWith(platformRes))
-    {
-      result = new File(ResourcesPlugin.getWorkspace().getRoot().getLocation().removeTrailingSeparator().append(uri_.substring(platformRes.length(), uri_.length())).toString());
-    }
-    
-    return result;
-  }
-}
diff --git a/plugins/org.eclipse.wst.common.environment/src/org/eclipse/wst/common/internal/environment/eclipse/FileResourceOutputStream.java b/plugins/org.eclipse.wst.common.environment/src/org/eclipse/wst/common/internal/environment/eclipse/FileResourceOutputStream.java
deleted file mode 100644
index d1a21f1..0000000
--- a/plugins/org.eclipse.wst.common.environment/src/org/eclipse/wst/common/internal/environment/eclipse/FileResourceOutputStream.java
+++ /dev/null
@@ -1,145 +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.common.internal.environment.eclipse;
-
-import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
-import java.io.IOException;
-import java.io.OutputStream;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.wst.common.environment.IStatusHandler;
-
-
-
-/**
-* This class defines an output stream that writes to an
-* {@link org.eclipse.core.resources.IFile IFile}.
-*/
-public class FileResourceOutputStream extends OutputStream
-{
-
-  IPath                 fFilePath;
-  IStatusHandler         fStatusHandler;
-  ByteArrayOutputStream fByteArrayOutputStream;
-  boolean               fOpen;
-
-  /**
-  * Constructs an output stream that can be used to write to the
-  * given <code>file</code>. The workspace is neither examined nor
-  * altered during construction. All resource creation is deferred
-  * until later in the stream's lifecycle, such as during writing
-  * or closure.
-  * <b>Note:</b> The preferred mechanism for creating a stream that
-  * writes to an IFile is to call the static factory method
-  * {@link FileResourceUtils#newFileOutputStream FileResourceUtils.newFileOutputStream()}
-  * and work with the resulting <code>OutputStream</code>.
-  * Direct construction of a FileResourceOutputStream is not recommended.
-  * @param file The {@link org.eclipse.core.resources.IFile IFile}
-  * handle of the file resource to create. The project implied by the
-  * pathname of the file must already exist,
-  * that is, this method cannot be used to create projects.
-  * @param progressMonitor The progress monitor for the operation, or null.
-  */
-  public FileResourceOutputStream ( 
-  			IPath           filePath, 
-  			IStatusHandler   statusHandler
-  			)
-  {
-    fFilePath = filePath;
-    fStatusHandler = statusHandler;
-    fByteArrayOutputStream = new ByteArrayOutputStream();
-    fOpen = true;
-  }
-
-  /**
-  * Closes the stream.
-  * @throws IOException If an error occurs while closing the stream.
-  * For example, if this stream was constructed with overwriteFile = false
-  * and a file of the same name already exists, then an IOException will
-  * be thrown either now or during an earlier {@link #write write}.
-  */
-  public void close ()
-  throws IOException
-  {
-    if (!fOpen) return;
-    fOpen = false;
-    fByteArrayOutputStream.close();
-    byte[] buffer = fByteArrayOutputStream.toByteArray();
-    ByteArrayInputStream tempInputStream = new ByteArrayInputStream(buffer);
-    try
-    {
-      FileResourceUtils.createFile(fFilePath, tempInputStream, fStatusHandler);
-    }
-    catch (CoreException e)
-    {
-      throw new IOException(e.getMessage());
-    }
-  }
-
-  /**
-  * Flushes the stream. This does not imply the File resource
-  * will be created or become visible within the workbench.
-  * @throws IOException If an error occurs. For example, if this
-  * stream was constructed with overwriteFile = false and a file of the
-  * same name already exists, then an IOException may be thrown at
-  * this point.
-  */
-  public void flush ()
-  throws IOException
-  {
-    fByteArrayOutputStream.flush();
-  }
-
-  /**
-  * Writes all bytes from the given array to the stream.
-  * @param b The array of bytes to write.
-  * @throws IOException If an error occurs. For example, if this
-  * stream was constructed with overwriteFile = false and a file of the
-  * same name already exists, then an IOException may be thrown at
-  * this point.
-  */
-  public void write ( byte[] b )
-  throws IOException
-  {
-    fByteArrayOutputStream.write(b);
-  }
-
-  /**
-  * Writes bytes from the given array beginning at some offset
-  * and continuing for some number of bytes (len) to the stream.
-  * @param b The array of bytes to write.
-  * @param off The offset into the array to begin writing.
-  * @param len The number of bytes to write.
-  * @throws IOException If an error occurs. For example, if this
-  * stream was constructed with overwriteFile = false and a file of the
-  * same name already exists, then an IOException may be thrown at
-  * this point.
-  */
-  public void write ( byte[] b, int off, int len )
-  {
-    fByteArrayOutputStream.write(b,off,len);
-  }
-
-  /**
-  * Writes a single byte to the stream.
-  * @param b The byte to write.
-  * @throws IOException If an error occurs. For example, if this
-  * stream was constructed with overwriteFile = false and a file of the
-  * same name already exists, then an IOException may be thrown at
-  * this point.
-  */
-  public void write ( int b )
-  {
-    fByteArrayOutputStream.write(b);
-  }
-}
-
diff --git a/plugins/org.eclipse.wst.common.environment/src/org/eclipse/wst/common/internal/environment/eclipse/FileResourceUtils.java b/plugins/org.eclipse.wst.common.environment/src/org/eclipse/wst/common/internal/environment/eclipse/FileResourceUtils.java
deleted file mode 100644
index cde954f..0000000
--- a/plugins/org.eclipse.wst.common.environment/src/org/eclipse/wst/common/internal/environment/eclipse/FileResourceUtils.java
+++ /dev/null
@@ -1,550 +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.common.internal.environment.eclipse;
-
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStream;
-import java.util.Vector;
-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.IWorkspace;
-import org.eclipse.core.resources.IWorkspaceRoot;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.Plugin;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.wst.common.environment.Choice;
-import org.eclipse.wst.common.environment.StatusException;
-import org.eclipse.wst.common.environment.IStatusHandler;
-
-
-
-/**
-* This class contains useful methods for working with Eclipse resources.
-*/
-public final class FileResourceUtils
-{
-  //
-  // Keeps the IWorkspace hanging around. See getWorkspace().
-  //
-  private static IWorkspace workspace_ = null;
-  //
-  // Keeps the IWorkspaceRoot hanging around. See getWorkspaceRoot().
-  //
-  private static IWorkspaceRoot root_ = null;
-
- /**
-  * Returns the IWorkspaceRoot object.
-  * @return The IWorkspaceRoot object.
-  */
-  public static IWorkspaceRoot getWorkspaceRoot ()
-  {
-    if (root_ == null)
-    {
-      root_ = ResourcesPlugin.getWorkspace().getRoot();
-    }
-    return root_;
-  }
-
- /**
-  * Returns the IWorkspace object.
-  * @return The IWorkspace object.
-  */
-  public static IWorkspace getWorkspace ()
-  {
-    if (workspace_ == null)
-    {
-      if (root_ == null)
-      {
-        root_ = ResourcesPlugin.getWorkspace().getRoot();
-      }
-      
-      workspace_ = root_.getWorkspace();
-    }
-    
-    return workspace_;
-  }
-  
-  /**
-   * 
-   * @return returns an array of three common choices. (ie. Yes, yes all, and cancel )
-   */
-  public static Choice[] getThreeStateFileOptions() 
-  {
-    Vector choices = new Vector();
-    
-    choices.add(new Choice( 'Y', Messages.LABEL_YES ));
-    choices.add(new Choice( 'A', Messages.LABEL_YES_TO_ALL ));
-    choices.add(new Choice( 'C', Messages.LABEL_CANCEL ));
-    
-    return (Choice[])choices.toArray(new Choice[choices.size()]);
-  }
-  
-  /**
-  * Returns an
-  * {@link org.eclipse.core.resources.IResource IResource}
-  * of the given absolute pathname or null if no such resource exists.
-  * @param absolutePathname The absolute path of the resource.
-  * @return The <code>IResource</code>.
-  */
-  public static IResource findResource ( String absolutePathname )
-  {
-    if (absolutePathname == null)
-    {
-      return null;
-    }
-    
-    return findResource(new Path(absolutePathname));
-  }
-
-  /**
-  * Returns an
-  * {@link org.eclipse.core.resources.IResource IResource}
-  * of the given absolute path or null if no such resource exists.
-  * @param absolutePath The absolute <code>IPath</code> of the resource.
-  * @return The <code>IResource</code>.
-  */
-  public static IResource findResource ( IPath absolutePath )
-  {
-    if (absolutePath == null)
-    {
-      return null;
-    }
-    
-    return FileResourceUtils.getWorkspaceRoot().findMember(absolutePath);
-  }
-  
-  /**
-   * Copies a file from a plugin's installation location
-   * to an Eclipse folder.
-   * @param plugin The plugin containing the files to copy.
-   * Must not be null.
-   * @param sourcePath The path, relative to the <code>plugin</code>
-   * install location, containing the files to copy.
-   * If null, then the plugin install location is the source path
-   * (ie. null is equivalent to ".").
-   * @param pathname The pathname of the file to copy.
-   * The pathname is relative to the <code>plugin sourcePath</code>.
-   * Must not be null.
-   * @param targetPath The absolute Eclipse path of the folder to
-   * which the file will be copied. The relative pathname of the
-   * file is preserved.
-   * Must not be null.
-   * @param createFolders The intermediate folder creation policy, one of
-   * {@link #CREATE CREATE} or {@link #DONT_CREATE DONT_CREATE}.
-   * <ul>
-   * <li><code>CREATE</code> -
-   * If any intermediate folders in the given <code>absolutePath</code>
-   * do not exist, they will be created.
-   * <li><code>DONT_CREATE</code> -
-   * If any intermediate folders in the given <code>absolutePath</code>
-   * do not exist, the method will throw a <code>CoreException</code>.
-   * </ul>
-   * @param overwriteFile The policy for existing files, one of
-   * {@link #OVERWRITE OVERWRITE} or {@link #DONT_OVERWRITE DONT_OVERWRITE}.
-   * <ul>
-   * <li><code>OVERWRITE</code> -
-   * If a resource of the same name as the given
-   * <code>absolutePath</code> already exists and is a file,
-   * it will be replaced.
-   * If the resource already exists and it is not a file,
-   * then no file will be created and
-   * a <code>CoreException</code> will be thrown.
-   * <li><code>DONT_OVERWRITE</code> -
-   * If any resource of the same name as the given
-   * <code>absolutePath</code> already exists,
-   * then no file will be created and
-   * a <code>CoreException</code> will be thrown.
-   * </ul>
-   * @param progressMonitor The progress monitor for the operation, or null.
-   * @throws CoreException An exception containing an
-   * {@link org.eclipse.core.runtime.IStatus IStatus}
-   * with a severity of <code>IStatus.ERROR</code> and a
-   * locale-specific description of the cause.
-   */
-   static public void copyFile( Plugin plugin,
-                                IPath sourcePath,
-                                IPath pathname,
-                                IPath targetPath,
-                                IStatusHandler statusMonitor )
-     throws CoreException
-   {
-     try
-     {
-       IPath target = targetPath.append(pathname);
-       IPath source = sourcePath == null ? pathname : sourcePath.append(pathname);
-       InputStream input = plugin.openStream(source);
-       createFile(target, input, statusMonitor);
-     }
-     catch (IOException e)
-     {
-       throw new CoreException(new Status(IStatus.ERROR,
-                               plugin.getBundle().getSymbolicName(),
-                               0,
-                               Messages.MSG_ERROR_IO,e));
-     }
-   }
-   
-  /**
-   * Deletes a file under a container.
-   * The container must already exist.
-   * @param file - the IFile to be deleted
-   * @param progressMonitor
-   * @param statusMonitor
-   * @return True if the file does not exist or if it exists and is successfully deleted. False otherwise.
-   */
-  public static boolean deleteFile( IFile file,
-                                    IStatusHandler statusMonitor)
-    throws CoreException
-  {
-    if (file.exists())
-    {      
-      //We have permission to overwrite so check if file is read-only
-      if (file.isReadOnly())
-      {        
-        IFile[] files = new IFile[1];
-        files[0] = file;
-        IStatus status = getWorkspace().validateEdit(files, null);
-        
-        if( status.getSeverity() == IStatus.ERROR )
-        {
-          statusMonitor.reportError( status );
-          return false;
-        }
-      }
-      
-      file.delete(true, null);
-    }
-    //At this point, either the file did not exist or we successfully deleted
-    // it. Return success.
-    return true;
-  }
-
-  /**
-   * Deletes a folder under a container.
-   * @param folder - the IFolder to be deleted
-   * @param progressMonitor
-   * @param statusMonitor
-   * @return True if the folder does not exist or if it exists and is successfully deleted along with its members. False otherwise.
-   */
-   public static boolean deleteFolder( IFolder folder,
-                                       IStatusHandler statusMonitor )
-     throws CoreException
-   {
-     if (!folder.exists()) return true;
-
-     boolean     deleted   = true;
-     IResource[] resources = folder.members();
-     
-     for (int i=0; i<resources.length; i++)
-     {
-       IResource resource = resources[i];
-       if (resource instanceof IFile)
-       {
-         deleted = deleteFile((IFile)resource, statusMonitor);
-       }
-       if (resource instanceof IFolder)
-       {
-         deleted = deleteFolder( (IFolder)resource, statusMonitor);
-       }
-
-       if( !deleted ) break;
-     }
-     
-     if( deleted )
-     {
-       folder.delete(true, true, null);
-       return true;
-     }
-     else
-       return false;
-   }
-
-  /**
-  * Creates a file of the given <code>absolutePath</code>
-  * and returns its handle as an <code>IFile</code>.
-  * If the file cannot be created, a
-  * <code>CoreException</code> containing an
-  * <code>IStatus</code> object is thrown.
-  * @param absolutePath The absolute path of the file to create.
-  * The project at the beginning of the path must already exist,
-  * that is, this method cannot be used to create projects.
-  * @param progressMonitor The progress monitor for the operation, or null.
-  * @return The {@link org.eclipse.core.resources.IFile IFile}
-  * handle of the file.
-  * @throws CoreException An exception containing an
-  * {@link org.eclipse.core.runtime.IStatus IStatus}
-  * with a severity of <code>IStatus.ERROR</code> and a
-  * locale-specific description of the cause.
-  */
-  public static IFile createFile (
-    IPath           absolutePath,
-    InputStream     inputStream,
-    IStatusHandler   statusHandler )
-
-    throws CoreException 
-  {    
-    if (!absolutePath.isAbsolute())
-    {
-      throw new CoreException(new Status(IStatus.ERROR, "ResourceUtils",0, NLS.bind( Messages.MSG_ERROR_PATH_NOT_ABSOLUTE, absolutePath.toString() ),null));
-    }
-    if (absolutePath.segmentCount() < 1)
-    {
-      throw new CoreException(new Status(IStatus.ERROR,"ResourceUtils",0,NLS.bind( Messages.MSG_ERROR_PATH_EMPTY, absolutePath.toString() ),null));
-    }
-    if (absolutePath.segmentCount() < 2)
-    {
-      throw new CoreException(new Status(IStatus.ERROR,"ResourceUtils",0,NLS.bind( Messages.MSG_ERROR_PATH_NOT_FOLDER, absolutePath.toString() ),null));
-    }
-    IContainer parent   = makeFolderPath(absolutePath.removeLastSegments(1), statusHandler);
-    String     fileName = absolutePath.lastSegment();
-    
-    return makeFile(parent, fileName, inputStream, statusHandler);
-  }
-
-  /**
-  * Creates under the given <code>project</code>
-  * a file of the given <code>relativePath</code>
-  * and returns its handle as an <code>IFile</code>.
-  * If the file cannot be created, a
-  * <code>CoreException</code> containing an
-  * <code>IStatus</code> object is thrown.
-  * @param absolutePath The absolute path of the file to create.
-  * The project at the beginning of the path must already exist,
-  * that is, this method cannot be used to create projects.
-  * @param createFolders The intermediate folder creation policy, one of
-  * {@link #CREATE CREATE} or {@link #DONT_CREATE DONT_CREATE}.
-  * <ul>
-  * <li><code>CREATE</code> -
-  * If any intermediate folders in the given <code>absolutePath</code>
-  * do not exist, they will be created.
-  * <li><code>DONT_CREATE</code> -
-  * If any intermediate folders in the given <code>absolutePath</code>
-  * do not exist, the method will throw a <code>CoreException</code>.
-  * </ul>
-  * @param overwriteFile The policy for existing files, one of
-  * {@link #OVERWRITE OVERWRITE} or {@link #DONT_OVERWRITE DONT_OVERWRITE}.
-  * <ul>
-  * <li><code>OVERWRITE</code> -
-  * If a resource of the same name as the given
-  * <code>absolutePath</code> already exists and is a file,
-  * it will be replaced.
-  * If the resource already exists and it is not a file,
-  * then no file will be created and
-  * a <code>CoreException</code> will be thrown.
-  * <li><code>DONT_OVERWRITE</code> -
-  * If any resource of the same name as the given
-  * <code>absolutePath</code> already exists,
-  * then no file will be created and
-  * a <code>CoreException</code> will be thrown.
-  * </ul>
-  * @param progressMonitor The progress monitor for the operation, or null.
-  * @return The {@link org.eclipse.core.resources.IFile IFile}
-  * handle of the file.
-  * @throws CoreException An exception containing an
-  * {@link org.eclipse.core.runtime.IStatus IStatus}
-  * with a severity of <code>IStatus.ERROR</code> and a
-  * locale-specific description of the cause.
-  */
-  public static IFile createFile (
-    IProject        project,
-    IPath           relativePath,
-    InputStream     inputStream,
-    IStatusHandler   statusMonitor )
- 
-    throws CoreException 
-  {
-    IPath absolutePath = project.getFullPath().append(relativePath);
-    return createFile(absolutePath, inputStream, statusMonitor);
-  }
-
-  /**
-  * Creates an output stream that can be used to write to the
-  * given <code>file</code>. Actual changes to the workspace
-  * may occur during creation of the stream, while writing to
-  * the stream, or when the stream is closed.
-  * A <code>CoreException</code> containing
-  * an <code>IStatus</code> will be thrown
-  * at some point in the lifecycle of the stream
-  * if the file resource cannot be created.
-  * @param file The {@link org.eclipse.core.resources.IFile IFile}
-  * handle of the file resource to create. The project implied by the
-  * pathname of the file must already exist,
-  * that is, this method cannot be used to create projects.
-  * @param progressMonitor The progress monitor for the operation, or null.
-  * @return An <code>OutputStream</code> tied to the file resource.
-  * Actual checks of or changes to the workspace may occur as early during
-  * stream creation, closure, or any time in between.
-  * @throws CoreException An exception containing an
-  * {@link org.eclipse.core.runtime.IStatus IStatus}
-  * with a severity of <code>IStatus.ERROR</code> and a
-  * locale-specific description of the cause.
-  * Reasons include:
-  * <ol>
-  * <li>The project of the given file's path does not exist.
-  * <li>A non-file resource of the same name of the given file
-  * already exists.
-  * <li>A file resource of the same name of the given file
-  * already exists, and <code>overwriteFile</code> is false.
-  * <li>One or more intermediate folders to the given file
-  * do not exist, and <code>createFolders</code> is false.
-  * </ol>
-  */
-
-  public static OutputStream newFileOutputStream (
-       IPath            file,
-       IStatusHandler    statusHandler )
- 
-  {
-    return new FileResourceOutputStream(file, statusHandler);
-  }
-
-  //----------------------------------------------------------------------
-  // Naughty bits...
-  //----------------------------------------------------------------------
-
-  //
-  // Creates a path of folders.
-  // Do not call with an absolutePath of less than one segment.
-  //
-  /**
-   * Creates a path of folders.
-   * Do not call with an absolutePath of less than one segment.
-   * @param resourceContext the resource context for making folders.
-   * @param absolutePath the path of folders that will be created.
-   * @param progressMonitor the progress monitor to be used.
-   * @param statusHandler the status handler.
-   * @return returns the IContainer of the created folder.
-   */
-  public static IContainer makeFolderPath (
-    IPath            absolutePath,
-    IStatusHandler    statusHandler )
-  
-    throws CoreException
-  {
-    if (absolutePath.segmentCount() <= 1)
-    {
-      return getWorkspaceRoot().getProject(absolutePath.segment(0));
-    }
-    else
-    {
-      IContainer parent = makeFolderPath(absolutePath.removeLastSegments(1), statusHandler );
-      String folderName = absolutePath.lastSegment();
-      
-      return makeFolder(parent,folderName, statusHandler );
-    }
-  }
-  //
-  // Creates a folder under a container.
-  // The container must already exist.
-  //
- private static IFolder makeFolder (
-    IContainer       parent,
-    String           folderName,
-    IStatusHandler    statusHandler )
-  
-  throws CoreException
-  {
-    IResource child  = parent.findMember(folderName);
-    
-    if( child == null )
-    {      
-      IFolder folder = parent.getFolder(new Path(folderName));
-      folder.create(true,true,null);
-      return folder;
-    }
-    else if( child.getType() == IResource.FOLDER )
-    {
-      return (IFolder)child;
-    }
-    else
-    {
-      throw new CoreException(
-        new Status( IStatus.ERROR, 
-                    "ResourceUtils",
-                    0, 
-					NLS.bind( Messages.MSG_ERROR_RESOURCE_NOT_FOLDER, parent.getFullPath().append(folderName).toString()),
-			null ) );
-    }
-  }
-
-  //
-  // Creates a file under a container.
-  // The container must already exist.
-  //
- private static IFile makeFile (
-    IContainer       parent,
-    String           fileName,
-    InputStream      inputStream,
-    IStatusHandler    statusHandler )
- 
-    throws CoreException
-  {
-    IResource child  = parent.findMember(fileName);
-    
-    if( child != null )
-    {
-      if( child.getType() == IResource.FILE )
-      {        
-        //We have permission to overwrite so check if file is read-only
-        if( child.getResourceAttributes().isReadOnly() )
-        {
-          IFile[] files = new IFile[1];
-          files[0] = (IFile)child;
-          
-          IStatus status = getWorkspace().validateEdit(files,null);
-          
-          try
-          {
-            statusHandler.report( status );
-          }
-          catch( StatusException exc )
-          {
-            return null;
-          }
-        }
-
-        //Change the contents of the existing file.
-        IFile file = parent.getFile( new Path(fileName) );
-        file.setContents( inputStream, true, true, null );
-        
-        return file;
-      
-      }
-      else
-      {
-        throw new CoreException( 
-          new Status( IStatus.ERROR,
-                      "ResourceUtils",
-                      0, 
-				      NLS.bind( Messages.MSG_ERROR_RESOURCE_NOT_FILE, parent.getFullPath().append(fileName)),
-					  null ) );
-      }
-    }
-    else
-    {
-      //Create a new file.
-      IFile file = parent.getFile( new Path(fileName) );
-      file.create( inputStream, true, null);
-      
-      return file;
-    }
-  }
-}
diff --git a/plugins/org.eclipse.wst.common.environment/src/org/eclipse/wst/common/internal/environment/eclipse/Messages.java b/plugins/org.eclipse.wst.common.environment/src/org/eclipse/wst/common/internal/environment/eclipse/Messages.java
deleted file mode 100644
index 4c08ea1..0000000
--- a/plugins/org.eclipse.wst.common.environment/src/org/eclipse/wst/common/internal/environment/eclipse/Messages.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/***************************************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others. All rights reserved. This program and the
- * accompanying materials are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: IBM Corporation - initial API and implementation
- **************************************************************************************************/
-package org.eclipse.wst.common.internal.environment.eclipse;
-
-import org.eclipse.osgi.util.NLS;
-
-public class Messages extends NLS
-{
-  private static final String BUNDLE_NAME = "org.eclipse.wst.common.internal.environment.eclipse.environment";
-  
-  public static String MSG_NULL_ARG_SPECIFIED;
-  public static String MSG_SCHEME_NOT_FOUND;
-  public static String MSG_ABSOLUTE_PATH_WITHOUT_SCHEME;
-  public static String MSG_URI_NOT_RELATIVE; 
-  public static String MSG_ERROR_UNEXPECTED_ERROR; 
-  public static String MSG_INVALID_PLATFORM_URL; 
-  public static String MSG_INVALID_FILE_URL;
-  public static String MSG_ERROR_PATH_NOT_ABSOLUTE; 
-  public static String MSG_ERROR_PATH_EMPTY; 
-  public static String MSG_ERROR_PATH_NOT_FOLDER; 
-  public static String MSG_ERROR_RESOURCE_NOT_FOLDER; 
-  public static String MSG_ERROR_RESOURCE_NOT_FILE; 
-  public static String MSG_ERROR_FOLDER_HAS_CHILDREN; 
-  public static String MSG_ERROR_IO; 
-  public static String LABEL_YES; 
-  public static String LABEL_YES_TO_ALL; 
-  public static String LABEL_CANCEL; 
-  
-  static
-  {
-    NLS.initializeMessages( BUNDLE_NAME, Messages.class );
-  }
-}
diff --git a/plugins/org.eclipse.wst.common.environment/src/org/eclipse/wst/common/internal/environment/eclipse/environment.properties b/plugins/org.eclipse.wst.common.environment/src/org/eclipse/wst/common/internal/environment/eclipse/environment.properties
deleted file mode 100644
index 6fb49d6..0000000
--- a/plugins/org.eclipse.wst.common.environment/src/org/eclipse/wst/common/internal/environment/eclipse/environment.properties
+++ /dev/null
@@ -1,40 +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
-###############################################################################
-
-#
-# Messages for SimpleURIFactory
-#
-MSG_NULL_ARG_SPECIFIED=Null specified as argument to {0}.
-MSG_SCHEME_NOT_FOUND=Scheme not found for URI {0}.
-MSG_ABSOLUTE_PATH_WITHOUT_SCHEME=Absolute path specified without a scheme for URI {0}.
-
-#
-# Common Messages
-#
-MSG_URI_NOT_RELATIVE=URL: {0} is not relative.
-MSG_ERROR_UNEXPECTED_ERROR=Unexpected exception occured.
-MSG_INVALID_PLATFORM_URL=Invalid URL: {0} for an Eclipse platform.
-MSG_INVALID_FILE_URL=Invalid URL: {0} for the file protocol
-
-#
-# Messages for ResouceUtils
-#
-MSG_ERROR_PATH_NOT_ABSOLUTE=Path {0} is not absolute for creating a file.
-MSG_ERROR_PATH_EMPTY=Path {0} is empty while creating a file.
-MSG_ERROR_PATH_NOT_FOLDER=Path {0} is not a folder for creating a file.
-MSG_ERROR_RESOURCE_NOT_FOLDER=Resource {0} is not a folder.
-MSG_ERROR_RESOURCE_NOT_FILE=The following path is not a resource: {0}.
-MSG_ERROR_FOLDER_HAS_CHILDREN=Can not create folder: {0} that already has children.
-MSG_ERROR_IO=An input/output error occurred while processing the resource "{0}".
-
-LABEL_YES=Yes
-LABEL_YES_TO_ALL=Yes All
-LABEL_CANCEL=Cancel
diff --git a/plugins/org.eclipse.wst.common.environment/src/org/eclipse/wst/common/internal/environment/plugin/EnvironmentPlugin.java b/plugins/org.eclipse.wst.common.environment/src/org/eclipse/wst/common/internal/environment/plugin/EnvironmentPlugin.java
deleted file mode 100644
index 4330459..0000000
--- a/plugins/org.eclipse.wst.common.environment/src/org/eclipse/wst/common/internal/environment/plugin/EnvironmentPlugin.java
+++ /dev/null
@@ -1,45 +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
- * yyyymmdd bug      Email and other contact information
- * -------- -------- -----------------------------------------------------------
- * 20060221   100364 pmoogk@ca.ibm.com - Peter Moogk
- *******************************************************************************/
-package org.eclipse.wst.common.internal.environment.plugin;
-
-
-import org.eclipse.core.runtime.Plugin;
-
-/**
-* This is the plugin class for the org.eclipse.wst.common.internal.environment.plugin.EnvironmentPlugin.
-*/
-public class EnvironmentPlugin extends Plugin
-{	
-	/**
-	 * The instance of this plugin.
-	 */
-	private static EnvironmentPlugin instance;
-
-	/**
-	 * Constructor for use by the Eclipse platform only.
-	 */
-	public EnvironmentPlugin()
-	{
-		super();
-		instance = this;
-	}
-	
-	/**
-	 * Returns the instance of this plugin.
-	 */
-	static public EnvironmentPlugin getInstance ()
-	{
-		return instance;
-	}
-}
diff --git a/plugins/org.eclipse.wst.common.environment/src/org/eclipse/wst/common/internal/environment/relative/RelativeScheme.java b/plugins/org.eclipse.wst.common.environment/src/org/eclipse/wst/common/internal/environment/relative/RelativeScheme.java
deleted file mode 100644
index b993a11..0000000
--- a/plugins/org.eclipse.wst.common.environment/src/org/eclipse/wst/common/internal/environment/relative/RelativeScheme.java
+++ /dev/null
@@ -1,87 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.common.internal.environment.relative;
-
-import java.net.URL;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.wst.common.environment.uri.IURI;
-import org.eclipse.wst.common.environment.uri.IURIScheme;
-import org.eclipse.wst.common.environment.uri.URIException;
-
-
-public class RelativeScheme implements IURIScheme
-{
-
-  public String toString()
-  {
-    return "relative";  
-  }
-  
-  /* (non-Javadoc)
-   * @see org.eclipse.env.uri.URIScheme#isHierarchical()
-   */
-  public boolean isHierarchical()
-  {
-    return true;
-  }
-
-  /* (non-Javadoc)
-   * @see org.eclipse.env.uri.URIScheme#isValid(org.eclipse.env.uri.URI)
-   */
-  public boolean isValid(IURI uri)
-  {
-    return !uri.toString().startsWith( "/" );
-  }
-
-  /* (non-Javadoc)
-   * @see org.eclipse.env.uri.URIScheme#newURI(java.lang.String)
-   */
-  public IURI newURI(String uri) throws URIException
-  {
-    return new RelativeURI( uri );
-  }
-
-  /* (non-Javadoc)
-   * @see org.eclipse.env.uri.URIScheme#newURI(org.eclipse.env.uri.URI)
-   */
-  public IURI newURI(IURI uri) throws URIException
-  {
-    return new RelativeURI( uri.toString() );
-  }
-
-  /* (non-Javadoc)
-   * @see org.eclipse.env.uri.URIScheme#newURI(java.net.URL)
-   */
-  public IURI newURI(URL url) throws URIException
-  {
-    return new RelativeURI( url.toString() );
-  }
-
-  /* (non-Javadoc)
-   * @see org.eclipse.env.uri.URIScheme#validate(org.eclipse.env.uri.URI)
-   */
-  public IStatus validate(IURI uri)
-  {
-    IStatus result = null;
-    
-    if( isValid( uri ) )
-    {
-      result = Status.OK_STATUS;
-    }
-    else
-    {
-      result = new Status( IStatus.ERROR, "id", 0, "",null );      
-    }
-    
-    return result;
-  }
-}
diff --git a/plugins/org.eclipse.wst.common.environment/src/org/eclipse/wst/common/internal/environment/relative/RelativeURI.java b/plugins/org.eclipse.wst.common.environment/src/org/eclipse/wst/common/internal/environment/relative/RelativeURI.java
deleted file mode 100644
index 1196111..0000000
--- a/plugins/org.eclipse.wst.common.environment/src/org/eclipse/wst/common/internal/environment/relative/RelativeURI.java
+++ /dev/null
@@ -1,271 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.common.internal.environment.relative;
-
-import java.io.File;
-import java.io.InputStream;
-import java.io.OutputStream;
-import java.net.URL;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.wst.common.environment.uri.IURI;
-import org.eclipse.wst.common.environment.uri.IURIFilter;
-import org.eclipse.wst.common.environment.uri.IURIScheme;
-import org.eclipse.wst.common.environment.uri.IURIVisitor;
-import org.eclipse.wst.common.environment.uri.URIException;
-import org.eclipse.wst.common.internal.environment.eclipse.Messages;
-
-
-public class RelativeURI implements IURI
-{
-  protected String uri_;
-  
-  public RelativeURI( String uri )
-  {
-    uri_ = uri;   
-  }
-  
-  /* (non-Javadoc)
-   * @see org.eclipse.env.uri.URI#append(org.eclipse.env.uri.URI)
-   */
-  public IURI append(IURI relativeURI) throws URIException
-  {
-    if( !relativeURI.isRelative()) 
-     {      
-      throw new URIException( 
-          new Status( IStatus.ERROR, "id", 0,
-              NLS.bind( Messages.MSG_URI_NOT_RELATIVE, relativeURI.toString() ), null ) );
-      
-    }
-    
-    String newURI = uri_ + "/" + relativeURI.toString();
-    
-    return getURIScheme().newURI( newURI );
-  }
-
-  /* (non-Javadoc)
-   * @see org.eclipse.env.uri.URI#asFile()
-   */
-  public File asFile() 
-  {
-    return null;
-  }
-
-  /* (non-Javadoc)
-   * @see org.eclipse.env.uri.URI#asString()
-   */
-  public String asString()
-  {
-    return uri_;
-  }
-  
-  /* (non-Javadoc)
-   * @see org.eclipse.env.uri.URI#toString()
-   */
-  public String toString()
-  {
-    return uri_;
-  }
-  
-  /* (non-Javadoc)
-   * @see org.eclipse.env.uri.URI#asURL()
-   */
-  public URL asURL() throws URIException
-  {
-    return null;
-  }
-
-  /* (non-Javadoc)
-   * @see org.eclipse.env.uri.URI#erase()
-   */
-  public void erase() throws URIException
-  {
-  }
-
-  /* (non-Javadoc)
-   * @see org.eclipse.env.uri.URI#getInputStream()
-   */
-  public InputStream getInputStream() throws URIException
-  {
-    return null;
-  }
-
-  /* (non-Javadoc)
-   * @see org.eclipse.env.uri.URI#getOutputStream()
-   */
-  public OutputStream getOutputStream() throws URIException
-  {
-    return null;
-  }
-
-  /* (non-Javadoc)
-   * @see org.eclipse.env.uri.URI#getURIScheme()
-   */
-  public IURIScheme getURIScheme()
-  {
-    return new RelativeScheme();
-  }
-
-  /* (non-Javadoc)
-   * @see org.eclipse.env.uri.URI#isAvailableAsFile()
-   */
-  public boolean isAvailableAsFile()
-  {
-    return false;
-  }
-
-  /* (non-Javadoc)
-   * @see org.eclipse.env.uri.URI#isAvailableAsURL()
-   */
-  public boolean isAvailableAsURL()
-  {
-    return false;
-  }
-
-  /* (non-Javadoc)
-   * @see org.eclipse.env.uri.URI#isHierarchical()
-   */
-  public boolean isHierarchical()
-  {
-    return true;
-  }
-
-  /* (non-Javadoc)
-   * @see org.eclipse.env.uri.URI#isLeaf()
-   */
-  public boolean isLeaf()
-  {
-    return false;
-  }
-
-  /* (non-Javadoc)
-   * @see org.eclipse.env.uri.URI#isPresent()
-   */
-  public boolean isPresent()
-  {
-    return false;
-  }
-
-  /* (non-Javadoc)
-   * @see org.eclipse.env.uri.URI#isReadable()
-   */
-  public boolean isReadable()
-  {
-    return false;
-  }
-
-  /* (non-Javadoc)
-   * @see org.eclipse.env.uri.URI#isRelative()
-   */
-  public boolean isRelative()
-  {
-    return true;
-  }
-
-  /* (non-Javadoc)
-   * @see org.eclipse.env.uri.URI#isWritable()
-   */
-  public boolean isWritable()
-  {
-    return false;
-  }
-
-  /* (non-Javadoc)
-   * @see org.eclipse.env.uri.URI#list()
-   */
-  public IURI[] list() throws URIException
-  {
-    return new IURI[0];
-  }
-
-  /* (non-Javadoc)
-   * @see org.eclipse.env.uri.URI#list(org.eclipse.env.uri.URIFilter)
-   */
-  public IURI[] list(IURIFilter uriFilter) throws URIException
-  {
-    return new IURI[0];
-  }
-
-  /* (non-Javadoc)
-   * @see org.eclipse.env.uri.URI#parent()
-   */
-  public IURI parent() throws URIException
-  {
-    int lastSlash  = uri_.lastIndexOf( '/' );
-    int firstSlash = uri_.indexOf( '/' );
-    
-    // If there is a parent, then it must start with a slash
-    // and end with a slash.
-    if( lastSlash == -1 || firstSlash == -1 ) return null;
-        
-    return getURIScheme().newURI( uri_.substring(0, lastSlash ) );
-  }
-
-  /* (non-Javadoc)
-   * @see org.eclipse.env.uri.URI#rename(org.eclipse.env.uri.URI)
-   */
-  public void rename(IURI newURI) throws URIException
-  {
-    uri_ = newURI.toString();
-  }
-
-  /* (non-Javadoc)
-   * @see org.eclipse.env.uri.URI#touchFolder()
-   */
-  public void touchFolder() throws URIException
-  {
-  }
-
-  /* (non-Javadoc)
-   * @see org.eclipse.env.uri.URI#touchLeaf()
-   */
-  public void touchLeaf() throws URIException
-  {
-  }
-
-  /* (non-Javadoc)
-   * @see org.eclipse.env.uri.URI#visit(org.eclipse.env.uri.URIVisitor, org.eclipse.env.uri.URIFilter)
-   */
-  public void visit(IURIVisitor uriVisitor, IURIFilter uriFilter)
-    throws URIException
-  {
-    boolean continueVisit = true;
-    
-    // If the filter accepts this we will visit it.
-    if( uriFilter.accepts( this ) )
-    {
-      continueVisit = uriVisitor.visit( this );  
-    }
-       
-    IURI[] children  = list();
-    
-    for( int index = 0; index < children.length && continueVisit; index++ )
-    {
-      children[index].visit( uriVisitor, uriFilter );
-    }  
-  }
-
-  /* (non-Javadoc)
-   * @see org.eclipse.env.uri.URI#visit(org.eclipse.env.uri.URIVisitor)
-   */
-  public void visit(IURIVisitor uriVisitor) throws URIException
-  {
-    boolean continueVisit = uriVisitor.visit( this );  
-    
-    IURI[] children  = list();
-    
-    for( int index = 0; index < children.length && continueVisit; index++ )
-     {
-      children[index].visit( uriVisitor );
-    }  
-  }
-}
diff --git a/plugins/org.eclipse.wst.common.environment/src/org/eclipse/wst/common/internal/environment/uri/file/FileScheme.java b/plugins/org.eclipse.wst.common.environment/src/org/eclipse/wst/common/internal/environment/uri/file/FileScheme.java
deleted file mode 100644
index 7655f52..0000000
--- a/plugins/org.eclipse.wst.common.environment/src/org/eclipse/wst/common/internal/environment/uri/file/FileScheme.java
+++ /dev/null
@@ -1,106 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.common.internal.environment.uri.file;
-
-import java.net.URL;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.wst.common.environment.uri.IURI;
-import org.eclipse.wst.common.environment.uri.IURIScheme;
-import org.eclipse.wst.common.environment.uri.URIException;
-import org.eclipse.wst.common.internal.environment.eclipse.Messages;
-import org.eclipse.wst.common.internal.environment.relative.RelativeScheme;
-import org.eclipse.wst.common.internal.environment.relative.RelativeURI;
-
-
-public class FileScheme extends RelativeScheme
-{
-  public String toString()
-  {
-    return "file";  
-  }
-  
-  /* (non-Javadoc)
-   * @see org.eclipse.env.uri.URIScheme#isValid(org.eclipse.env.uri.URI)
-   */
-  public boolean isValid(IURI uri)
-  { 
-    boolean result = false;
-    
-    if( uri == null ) return false;
-    
-    IURIScheme scheme = uri.getURIScheme();
-      
-    if( scheme.toString().equals( "relative") ) return scheme.isValid( uri );
-        
-    String uriString = uri.toString();
-      
-    if( uriString != null && uriString.startsWith( "file:" ) )
-    {
-      result = true;
-    }  
-    
-    return result;
-  }
-
-  /* (non-Javadoc)
-   * @see org.eclipse.env.uri.URIScheme#newURI(java.lang.String)
-   */
-  public IURI newURI(String uri) throws URIException
-  {
-    String newURI = null;
-    
-    if( uri != null && uri.startsWith( "file:") )
-    {
-      // The file protocol has been specified so keep it as is.
-      newURI = uri;
-    }
-    else if( uri == null || uri.indexOf( ":") != -1 )
-    {
-      // The file uri is not allowed to contain some other protocol. 
-      throw new URIException(
-          new Status( IStatus.ERROR, "id", 0,
-              NLS.bind( Messages.MSG_INVALID_FILE_URL,uri), null ) );
-              
-    }
-    else if( uri.startsWith( "/") )
-    {
-      // The file scheme has not been specified so we will add it.
-      newURI = "file:" + uri;
-    }
-    
-    if( newURI == null )
-    {
-      return new RelativeURI( uri );
-    }
-    else
-    {
-      return new FileURI( newURI );
-    }
-  }
-
-  /* (non-Javadoc)
-   * @see org.eclipse.env.uri.URIScheme#newURI(org.eclipse.env.uri.URI)
-   */
-  public IURI newURI(IURI uri) throws URIException
-  {
-    return newURI( uri == null ? null : uri.toString() );
-  }
-
-  /* (non-Javadoc)
-   * @see org.eclipse.env.uri.URIScheme#newURI(java.net.URL)
-   */
-  public IURI newURI(URL url) throws URIException
-  {
-    return newURI( url == null ? null : url.toString() );
-  }
-}
diff --git a/plugins/org.eclipse.wst.common.environment/src/org/eclipse/wst/common/internal/environment/uri/file/FileURI.java b/plugins/org.eclipse.wst.common.environment/src/org/eclipse/wst/common/internal/environment/uri/file/FileURI.java
deleted file mode 100644
index 5d95b0b..0000000
--- a/plugins/org.eclipse.wst.common.environment/src/org/eclipse/wst/common/internal/environment/uri/file/FileURI.java
+++ /dev/null
@@ -1,297 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.common.internal.environment.uri.file;
-
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStream;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.Vector;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.wst.common.environment.uri.IURI;
-import org.eclipse.wst.common.environment.uri.URIException;
-import org.eclipse.wst.common.environment.uri.IURIFilter;
-import org.eclipse.wst.common.environment.uri.IURIScheme;
-import org.eclipse.wst.common.internal.environment.relative.RelativeURI;
-
-
-public class FileURI extends RelativeURI 
-{
-  private File file_ = null;
-  
-  public FileURI( String uri )
-  {
-    super( uri );
-    
-    if( getURIScheme().isValid( this ) )
-    {
-      file_ = new File( uri.substring( 5, uri.length() ) );
-    }
-  }
-  
-  /* (non-Javadoc)
-   * @see org.eclipse.env.uri.URI#asFile()
-   */
-  public File asFile() 
-  {
-    return file_;
-  }
-  
-  /* (non-Javadoc)
-   * @see org.eclipse.env.uri.URI#erase()
-   */
-  public void erase() throws URIException
-  {
-    deleteFile( file_ );
-  }
-
-  private void deleteFile( File file )
-  {
-    if( file.isDirectory() )
-    {
-      File[] children = file.listFiles();
-      
-      for( int index = 0; index < children.length; index++ )
-      {
-        File child = children[index];
-        
-        if( child.isDirectory() )
-        {
-          deleteFile( child );
-        }
-        else
-        {
-          child.delete();
-        }
-      }
-    }
-    
-    file.delete();
-  }
-  
-  /* (non-Javadoc)
-   * @see org.eclipse.env.uri.URI#getInputStream()
-   */
-  public InputStream getInputStream() throws URIException
-  {
-    FileInputStream stream = null;
-    
-    try
-    {
-      File parent = file_.getParentFile();
-      parent.mkdirs();
-      
-      stream = new FileInputStream( file_ );  
-    }
-    catch( IOException exc )
-    {
-      throw new URIException( new Status( IStatus.ERROR, "id", 0, exc.getMessage(), exc ), this );
-    }
-    
-    return stream;
-  }
-
-  /* (non-Javadoc)
-   * @see org.eclipse.env.uri.URI#getOutputStream()
-   */
-  public OutputStream getOutputStream() throws URIException
-  {
-    FileOutputStream stream = null;
-    
-    try
-    {
-      File parent = file_.getParentFile();
-      parent.mkdirs();
-      
-      stream = new FileOutputStream( file_ );  
-    }
-    catch( IOException exc )
-    {
-      throw new URIException( new Status( IStatus.ERROR, "id", 0, exc.getMessage(), exc ), this );
-    }
-    
-    return stream;
-  }
-
-  /* (non-Javadoc)
-   * @see org.eclipse.env.uri.URI#getURIScheme()
-   */
-  public IURIScheme getURIScheme()
-  {
-    return new FileScheme();
-  }
-
-  /* (non-Javadoc)
-   * @see org.eclipse.env.uri.URI#isAvailableAsFile()
-   */
-  public boolean isAvailableAsFile()
-  {
-    return file_ != null;
-  }
-
-  /* (non-Javadoc)
-   * @see org.eclipse.env.uri.URI#isAvailableAsURL()
-   */
-  public boolean isAvailableAsURL()
-  {
-    return file_ != null;
-  }
-  
-  /* (non-Javadoc)
-   * @see org.eclipse.env.uri.URI#asURL()
-   */
-  public URL asURL() throws URIException
-  {
-    URL url = null;
-    
-    try
-    {
-      url = file_ == null ? null : file_.toURL();
-    }
-    catch( MalformedURLException exc )
-    {
-      throw new URIException( new Status( IStatus.ERROR, "id", 0, exc.getMessage(), exc ), this );      
-    }
-    
-    return url;
-  }
-
-  /* (non-Javadoc)
-   * @see org.eclipse.env.uri.URI#isLeaf()
-   */
-  public boolean isLeaf()
-  {
-    return file_.isFile();
-  }
-
-  /* (non-Javadoc)
-   * @see org.eclipse.env.uri.URI#isPresent()
-   */
-  public boolean isPresent()
-  {
-    return file_.exists();
-  }
-
-  /* (non-Javadoc)
-   * @see org.eclipse.env.uri.URI#isReadable()
-   */
-  public boolean isReadable()
-  {
-    return file_.canRead();
-  }
-
-  /* (non-Javadoc)
-   * @see org.eclipse.env.uri.URI#isWritable()
-   */
-  public boolean isWritable()
-  {
-    return file_.canWrite();
-  }
-
-  /* (non-Javadoc)
-   * @see org.eclipse.env.uri.URI#list()
-   */
-  public IURI[] list() throws URIException
-  {
-    File[] children = file_.listFiles();
-    IURI[]  URIs     = new IURI[0];
-    
-    if( children != null )
-    {
-      int   length   = children.length;
-      
-      URIs = new IURI[length];
-    
-      for( int index = 0; index < length; index++ )
-      {
-        URIs[index] = new FileURI( "file:" + children[index].getAbsolutePath() );
-      }
-    }
-    
-    return URIs;
-  }
-
-  /* (non-Javadoc)
-   * @see org.eclipse.env.uri.URI#list(org.eclipse.env.uri.URIFilter)
-   */
-  public IURI[] list(IURIFilter uriFilter) throws URIException
-  {
-    File[]   children = file_.listFiles();
-    int      length   = children == null ? 0 : children.length;
-    Vector   URIs     = new Vector();
-    
-    for( int index = 0; index < length; index++ )
-    {
-      IURI newURI = new FileURI( "file:" + children[index].getAbsolutePath() );
-      
-      if( uriFilter.accepts( newURI) )
-      {
-        URIs.add( newURI );
-      } 
-    }
-    
-    return (IURI[])URIs.toArray( new IURI[0] );
-  }
-
-  /* (non-Javadoc)
-   * @see org.eclipse.env.uri.URI#rename(org.eclipse.env.uri.URI)
-   */
-  public void rename(IURI newURI) throws URIException
-  {
-    try
-    {
-      uri_ = newURI.toString();
-      URL newURL = new URL( uri_ );
-      file_.renameTo( new File( newURL.getPath() ) );
-    }
-    catch( MalformedURLException exc )
-    {
-      throw new URIException( new Status( IStatus.ERROR, "id", 0, exc.getMessage(), exc ), this );      
-    }
-  }
-
-  /* (non-Javadoc)
-   * @see org.eclipse.env.uri.URI#touchFolder()
-   */
-  public void touchFolder() throws URIException
-  {
-    file_.mkdirs();
-  }
-
-  /* (non-Javadoc)
-   * @see org.eclipse.env.uri.URI#touchLeaf()
-   */
-  public void touchLeaf() throws URIException
-  {
-    try
-    {
-      // Ensure that the parent folders are created.
-      File parent = file_.getParentFile();
-      parent.mkdirs();
-      
-      file_.createNewFile();
-    }
-    catch( IOException exc )
-    {
-      throw new URIException( new Status( IStatus.ERROR, "id", 0, exc.getMessage(), exc ), this );      
-    }
-  }
-
-  public boolean isRelative()
-  {
-    return false;
-  }    
-}
diff --git a/plugins/org.eclipse.wst.common.frameworks.ui/.classpath b/plugins/org.eclipse.wst.common.frameworks.ui/.classpath
deleted file mode 100644
index 014fb18..0000000
--- a/plugins/org.eclipse.wst.common.frameworks.ui/.classpath
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="wtp_ui/"/>
-	<classpathentry kind="src" path="property_files"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/plugins/org.eclipse.wst.common.frameworks.ui/.cvsignore b/plugins/org.eclipse.wst.common.frameworks.ui/.cvsignore
deleted file mode 100644
index a1a7a15..0000000
--- a/plugins/org.eclipse.wst.common.frameworks.ui/.cvsignore
+++ /dev/null
@@ -1,7 +0,0 @@
-bin
-temp.folder
-build.xml
-wtp_ui.jar
-@dot
-src.zip
-javaCompiler...args
diff --git a/plugins/org.eclipse.wst.common.frameworks.ui/.project b/plugins/org.eclipse.wst.common.frameworks.ui/.project
deleted file mode 100644
index 47885fd..0000000
--- a/plugins/org.eclipse.wst.common.frameworks.ui/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.wst.common.frameworks.ui</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-		<nature>org.eclipse.pde.PluginNature</nature>
-	</natures>
-</projectDescription>
diff --git a/plugins/org.eclipse.wst.common.frameworks.ui/META-INF/MANIFEST.MF b/plugins/org.eclipse.wst.common.frameworks.ui/META-INF/MANIFEST.MF
deleted file mode 100644
index 41fd953..0000000
--- a/plugins/org.eclipse.wst.common.frameworks.ui/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,21 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %pluginName
-Bundle-Vendor: %providerName
-Bundle-SymbolicName: org.eclipse.wst.common.frameworks.ui; singleton:=true
-Bundle-Version: 1.1.0.qualifier
-Bundle-Activator: org.eclipse.wst.common.frameworks.internal.ui.WTPUIPlugin
-Bundle-Localization: plugin
-Export-Package: org.eclipse.wst.common.frameworks.internal.datamodel.ui;x-internal:=true,
- org.eclipse.wst.common.frameworks.internal.dialog.ui;x-internal:=true,
- org.eclipse.wst.common.frameworks.internal.eclipse.ui;x-internal:=true,
- org.eclipse.wst.common.frameworks.internal.operation.extensionui;x-internal:=true,
- org.eclipse.wst.common.frameworks.internal.ui;x-internal:=true
-Require-Bundle: org.eclipse.ui.ide;bundle-version="[3.2.0,3.3.0)",
- org.eclipse.core.resources;bundle-version="[3.2.0,3.3.0)",
- org.eclipse.ui;bundle-version="[3.2.0,3.3.0)",
- org.eclipse.wst.common.frameworks;visibility:=reexport;bundle-version="[1.1.0,1.2.0)",
- org.eclipse.core.runtime;bundle-version="[3.2.0,3.3.0)",
- org.eclipse.jem.util;bundle-version="[1.2.0,1.3.0)",
- org.eclipse.wst.common.environment;bundle-version="[1.0.100,1.1.0)"
-Eclipse-AutoStart: true
diff --git a/plugins/org.eclipse.wst.common.frameworks.ui/about.html b/plugins/org.eclipse.wst.common.frameworks.ui/about.html
deleted file mode 100644
index 4ec5989..0000000
--- a/plugins/org.eclipse.wst.common.frameworks.ui/about.html
+++ /dev/null
@@ -1,34 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<HTML>
-
-<head>
-<title>About</title>
-<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
-</head>
-
-<BODY lang="EN-US">
-
-<H3>About This Content</H3>
-
-<P>May 2, 2006</P>
-
-<H3>License</H3>
-
-<P>The Eclipse Foundation makes available all content in this plug-in 
-("Content"). Unless otherwise indicated below, the Content is provided to you 
-under the terms and conditions of the Eclipse Public License Version 1.0 
-("EPL"). A copy of the EPL is available at
-<A href="http://www.eclipse.org/org/documents/epl-v10.php">http://www.eclipse.org/org/documents/epl-v10.php</A>. 
-For purposes of the EPL, "Program" will mean the Content.</P>
-
-<P>If you did not receive this Content directly from the Eclipse Foundation, the 
-Content is being redistributed by another party ("Redistributor") and different 
-terms and conditions may apply to your use of any object code in the Content. 
-Check the Redistributor’s license that was provided with the Content. If no such 
-license exists, contact the Redistributor. Unless otherwise indicated below, the 
-terms and conditions of the EPL still apply to any source code in the Content 
-and such source code may be obtained at
-<A href="http://www.eclipse.org/">http://www.eclipse.org/</A>.</P>
-
-</BODY>
-</HTML>
diff --git a/plugins/org.eclipse.wst.common.frameworks.ui/build.properties b/plugins/org.eclipse.wst.common.frameworks.ui/build.properties
deleted file mode 100644
index feb73fb..0000000
--- a/plugins/org.eclipse.wst.common.frameworks.ui/build.properties
+++ /dev/null
@@ -1,20 +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
-###############################################################################
-output.. = bin/
-bin.includes = plugin.xml,\
-               .,\
-               META-INF/,\
-               plugin.properties,\
-               about.html
-source.. = wtp_ui/,\
-                    property_files/
-src.includes = schema/,\
-               plugin.properties
diff --git a/plugins/org.eclipse.wst.common.frameworks.ui/plugin.properties b/plugins/org.eclipse.wst.common.frameworks.ui/plugin.properties
deleted file mode 100644
index 16df5dc..0000000
--- a/plugins/org.eclipse.wst.common.frameworks.ui/plugin.properties
+++ /dev/null
@@ -1,19 +0,0 @@
-###############################################################################
-# Copyright (c) 2003, 2005 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-# IBM Corporation - initial API and implementation
-###############################################################################
-Cut=Cut
-FLEXIBLE_PROJECT_PREFERENCE=J2EE Project Modules
-providerName=Eclipse.org
-pluginName=WTP UI Plug-in
-WTP_UI_Action=WTP UI Action
-Extended_Viewers=Extended Viewers
-Extendable_Wizard=Extendable Wizard
-Extendable_Wizard_Page=Extendable Wizard Page
-DataModelWizard=DataModelWizard
diff --git a/plugins/org.eclipse.wst.common.frameworks.ui/plugin.xml b/plugins/org.eclipse.wst.common.frameworks.ui/plugin.xml
deleted file mode 100644
index e98a3bc..0000000
--- a/plugins/org.eclipse.wst.common.frameworks.ui/plugin.xml
+++ /dev/null
@@ -1,53 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin>
-
-     <extension-point id="wtpuiAction" name="%WTP_UI_Action" schema="schema/wtpuiAction.exsd"/>
-   <extension-point id="extendedViewer" name="%Extended_Viewers" schema="schema/extendedViewer.exsd"/>
-   <extension-point id="extendableWizard" name="%Extendable_Wizard" schema="schema/extendableWizard.exsd"/>
-   <extension-point id="wizardPageGroup" name="%Extendable_Wizard_Page" schema="schema/extendableWizardPage.exsd"/>
-   <extension-point id="DataModelWizardExtension" name="%DataModelWizard" schema="schema/DataModelWizardExtension.exsd"/>
-
-   <extension
-         id="UITester"
-         point="org.eclipse.jem.util.uiTester">
-      <uiTester
-            className="org.eclipse.wst.common.frameworks.internal.ui.UITesterImpl">
-      </uiTester>
-   </extension>
-   <extension
-         id="context.Sensitive.Class.saveHandler"
-         name="Save Handler - Headless Context Class"
-         point="org.eclipse.jem.util.uiContextSensitiveClass">
-      <uiContextSensitiveClass
-            key="saveHandler"
-            context="UI"
-            className="org.eclipse.wst.common.frameworks.internal.ui.SaveHandlerUI">
-      </uiContextSensitiveClass>
-   </extension>
-   <extension
-         id="org.eclipse.wst.common.frameworks.internal.ui.EnablementDetermination"
-         name="UI Enablement Determination"
-         point="org.eclipse.jem.util.uiContextSensitiveClass">
-      <uiContextSensitiveClass
-            key="org.eclipse.wst.common.frameworks.internal.EnablementDetermination"
-            context="UI"
-            className="org.eclipse.wst.common.frameworks.internal.ui.UIEnablementManager">
-      </uiContextSensitiveClass>
-   </extension>
-   <extension
-         point="org.eclipse.wst.common.frameworks.WTPActivityBridgeHelper">
-      <WTPActivityBridgeHelper
-            class="org.eclipse.wst.common.frameworks.internal.ui.WTPActivityBridgeHelperImpl">
-      </WTPActivityBridgeHelper>
-   </extension>
-   <!--
-   <extension
-         point="org.eclipse.wst.common.frameworks.internals.OperationExtension">
-      <operationExtension
-            postOperationClass="org.eclipse.wst.common.frameworks.internal.operation.extension.ui.PostPasteActionOperation"
-            id="org.eclipse.wst.common.frameworks.internal.operation.extension.ui.PasteActionOperation"/>
-   </extension>
-   -->
-   
-</plugin>
diff --git a/plugins/org.eclipse.wst.common.frameworks.ui/prepareforpii.xml b/plugins/org.eclipse.wst.common.frameworks.ui/prepareforpii.xml
deleted file mode 100644
index d2dca48..0000000
--- a/plugins/org.eclipse.wst.common.frameworks.ui/prepareforpii.xml
+++ /dev/null
@@ -1,38 +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.ui"/>
-		<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}/property_files" >
-			 <fileset dir="${plugindir}/property_files">
-           	  <include name="**/*.properties"/>
-  			 </fileset>
-  		</copy>
-  		
-  		<copy file="${plugindir}/plugin.properties" todir="${outputDir}"/>
-  		
-	</target>
-</project>
diff --git a/plugins/org.eclipse.wst.common.frameworks.ui/property_files/wtpcommonui.properties b/plugins/org.eclipse.wst.common.frameworks.ui/property_files/wtpcommonui.properties
deleted file mode 100644
index aea4095..0000000
--- a/plugins/org.eclipse.wst.common.frameworks.ui/property_files/wtpcommonui.properties
+++ /dev/null
@@ -1,37 +0,0 @@
-###############################################################################
-# Copyright (c) 2003, 2005 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-# IBM Corporation - initial API and implementation
-###############################################################################
-IActionWTPOperation_UI_0=No action available for execution.
-WTPActionDialog_UI_0=Select the optional dependent actions you would like to execute.
-WTPOptionalOperationDataModel_UI_0=Root tree can not be selected.
-WTPOptionalOperationDataModel_UI_1=No operations are selected.
-MasterDescriptor_ERROR_2=IWAE0005E WTPUIOperation elements require exactly one <selectionEnablement />.
-WTPOperationAction_UI_0=Operation Status
-WTPOperationAction_UI_1=Problem executing operation.
-TimerQueue_ERROR_0=IWAE0006E Can't start a TimerQueue that is already running
-ExtendedWizardPage_ERROR_0=IWAE0007E Cannot modify id after it has already been set.
-ExtendedWizardPage_ERROR_1=IWAE0008E The id cannot be null
-MasterDescriptor_UI_1=No \" {0} \" attribute defined
-Timer_UI_0=Invalid delay: {0}
-Timer_UI_1=Invalid initial delay: {0}
-WTPWizard_UI_0=Wizard Error: {0}
-WTPWizard_UI_1=An error has occurred when {0} finished.
-WTPWizard_UI_2=Wizard Warning: {0}
-ExtendableWizard_UI_0=Wizard page failed to be created in {0} {1}
-WizardPageExtensionManager_UI_0=Element: {0} does not allow page insertion after.
-WizardPageExtensionManager_UI_1={0} will not be created
-WizardPageExtensionManager_UI_2=Circular dependancy, element: {0} check: {1}
-WizardPageExtensionManager_UI_3=Editor does not allow page insertions
-WizardPageExtensionManager_UI_4=Parent Class Not Found Error: {0} \r\n for attribute: {1} in plugin {2} \r\nPage not created
-Delete_UI_0=Delete
-Name_=Project name:
-Browse_=Browse...
-Project_location_=Project Location:
-MULTIPLE_MODULE_PREF_TEXT=Allow Multiple modules per project
diff --git a/plugins/org.eclipse.wst.common.frameworks.ui/schema/DataModelWizardExtension.exsd b/plugins/org.eclipse.wst.common.frameworks.ui/schema/DataModelWizardExtension.exsd
deleted file mode 100644
index 40c75b4..0000000
--- a/plugins/org.eclipse.wst.common.frameworks.ui/schema/DataModelWizardExtension.exsd
+++ /dev/null
@@ -1,113 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.wst.common.frameworks.ui">
-<annotation>
-      <appInfo>
-         <meta.schema plugin="org.eclipse.wst.common.frameworks.ui" id="DataModelWizardExtension" name="Data Model Wizard Extension"/>
-      </appInfo>
-      <documentation>
-         An extension to a specific Data Model Wizard.
-      </documentation>
-   </annotation>
-
-   <element name="extension">
-      <complexType>
-         <sequence>
-            <element ref="DataModelWizard"/>
-         </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="DataModelWizard">
-      <complexType>
-         <attribute name="id" type="string">
-            <annotation>
-               <documentation>
-                  an optional identifier of the data model wizard extension instance
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="class" type="string">
-            <annotation>
-               <documentation>
-                  the fully qualified classname of the data model wizard class implementation
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="since"/>
-      </appInfo>
-      <documentation>
-         &lt;b&gt;This extension point is part of an interim API that is still under development and expected to change significantly before reaching stability. It is being made available at this early stage to solicit feedback from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken (repeatedly) as the API evolves.&lt;/b&gt;
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="examples"/>
-      </appInfo>
-      <documentation>
-         
-      </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.ui/schema/extendableWizard.exsd b/plugins/org.eclipse.wst.common.frameworks.ui/schema/extendableWizard.exsd
deleted file mode 100644
index 9749927..0000000
--- a/plugins/org.eclipse.wst.common.frameworks.ui/schema/extendableWizard.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.ui">

-<annotation>

-      <appInfo>

-         <meta.schema plugin="org.eclipse.wst.common.frameworks.ui" id="extendableWizard" name="Extendable Wizard"/>

-      </appInfo>

-      <documentation>

-         This declares a data model wizard as a valid extendable wizard.

-      </documentation>

-   </annotation>

-

-   <element name="extension">

-      <complexType>

-         <sequence>

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

-      <complexType>

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

-            <annotation>

-               <documentation>

-                  A required id for the data model wizard instance to be extended

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

-         

-      </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.ui/schema/extendableWizardPage.exsd b/plugins/org.eclipse.wst.common.frameworks.ui/schema/extendableWizardPage.exsd
deleted file mode 100644
index 504c8f6..0000000
--- a/plugins/org.eclipse.wst.common.frameworks.ui/schema/extendableWizardPage.exsd
+++ /dev/null
@@ -1,143 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>

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

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

-<annotation>

-      <appInfo>

-         <meta.schema plugin="org.eclipse.wst.common.frameworks.ui" id="wizardPageGroup" name="Extendable Wizard Page"/>

-      </appInfo>

-      <documentation>

-         This allows you to add an data model wizard page to a predefined extensable data model wizard.

-      </documentation>

-   </annotation>

-

-   <element name="extension">

-      <complexType>

-         <sequence>

-            <choice>

-               <element ref="wizardPageGroup"/>

-            </choice>

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

-      <complexType>

-         <sequence>

-            <choice>

-               <element ref="factory"/>

-            </choice>

-         </sequence>

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

-            <annotation>

-               <documentation>

-                  This must match the id defined in the extendableWizard element in the extendableWizard extension point

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  optional setting to specify whether this page allows extended pages after itself, default it true

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  If this page is to immediately after another page, this must match the pageID of the page to insert after.

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  optional setting for the page group ID

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <element name="factory">

-      <complexType>

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

-            <annotation>

-               <documentation>

-                  This class is an instancof com.ibm.wtp.common.ui.wizard.extensions.WizardExtensionFactory

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

-         

-      </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.ui/schema/extendedViewer.exsd b/plugins/org.eclipse.wst.common.frameworks.ui/schema/extendedViewer.exsd
deleted file mode 100644
index aa8908a..0000000
--- a/plugins/org.eclipse.wst.common.frameworks.ui/schema/extendedViewer.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.frameworks.ui">

-<annotation>

-      <appInfo>

-         <meta.schema plugin="org.eclipse.wst.common.frameworks.ui" id="extendedViewer" name="Extended Viewers"/>

-      </appInfo>

-      <documentation>

-         The extendedViewer extension point allows the contribution of new function to an existing viewer.

-      </documentation>

-   </annotation>

-

-   <element name="extension">

-      <complexType>

-         <sequence>

-            <element ref="extendedViewer"/>

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

-      <complexType>

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

-            <annotation>

-               <documentation>

-                  a required id for the extendedViewer instance

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  an optional id used to specify a parent viewer

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  the fully qualified name of the associated factory class

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  the optional path to an icon image

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  a required label description for the extended viewer

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  an optional setting to associate the extended viewer with a specific function group 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="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.ui/schema/wtpuiAction.exsd b/plugins/org.eclipse.wst.common.frameworks.ui/schema/wtpuiAction.exsd
deleted file mode 100644
index 1f8861b..0000000
--- a/plugins/org.eclipse.wst.common.frameworks.ui/schema/wtpuiAction.exsd
+++ /dev/null
@@ -1,367 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>

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

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

-<annotation>

-      <appInfo>

-         <meta.schema plugin="org.eclipse.wst.common.frameworks.ui" id="wtpuiAction" name="WTP UI Action"/>

-      </appInfo>

-      <documentation>

-         This extension point is for WTP Operations which need to be tied to a generic UI action, such as CUT, COPY, PASTE, DELETE, and RENAME.

-      </documentation>

-   </annotation>

-

-   <element name="extension">

-      <complexType>

-         <sequence>

-            <choice>

-               <element ref="masterOperation"/>

-               <element ref="slaveOperation"/>

-            </choice>

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

-      <annotation>

-         <documentation>

-            A masterOperation enables an existing WTP Operation to be used in a UI action. Generic Ids aggregate a set of masterOperations for the same Abstract action (like a &quot;CUT&quot; operation). WTP Operations are themselves extendible, so for any masterOperation defined, there may be any number of pre|post operations. These pre|post operation can have slaveOperation elements defined which indicate the pre|post operation may be run independently.

-         </documentation>

-      </annotation>

-      <complexType>

-         <sequence>

-            <element ref="selectionEnablement"/>

-         </sequence>

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

-            <annotation>

-               <documentation>

-                  The ID of the Generic Action you would like to contribute to. (e.g. The id for CUT, COPY, PASTE, DELETE, RENAME).

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  The fully qualified class of your operation. Your operation must be a WTPOperation and must provide a no-arguments default constructor. If this attribute is not provided, the getDefaultOperation() returned by the dataModel will be used.

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  A name to display in the dialog for your action (if the operation is optional). You can use the standard &quot;%key&quot; for translatable text stored in plugin.properties.

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  A description to display in the dialog for your action (if the operation is optional). You can use the standard &quot;%key&quot; for translatable text stored in plugin.properties.

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  The populatorClass knows how to provide a WTP Operation Data Model based on a given selection. The getDefaultOperation() method of the data model will be ignored if the operationClass is provided.

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  optional setting to determine execution context

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  optional setting to define an overridable id

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  optional identification for operation instance

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <element name="selectionEnablement">

-      <annotation>

-         <documentation>

-            The selectionEnablement element allows you to filter which kinds of selection your object is applicable to using Standard Eclipse Action Expresions.

-         </documentation>

-      </annotation>

-      <complexType>

-         <choice>

-            <element ref="objectClass"/>

-            <element ref="or"/>

-         </choice>

-      </complexType>

-   </element>

-

-   <element name="slaveOperation">

-      <annotation>

-         <documentation>

-            The slaveOperation element defines display information for operations which extend a declared master operation. If a pre|post operation of a master does not have a corresponding slaveOperation element, then the pre|post operation will be consider required, and not be displayed to the user.

-         </documentation>

-      </annotation>

-      <complexType>

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

-            <annotation>

-               <documentation>

-                  The fully qualified class of your operation. Your operation must be a WTPOperation and must provide a no-arguments default constructor. For slave operations, the data model of the master operation will be provided. Therefore, slaves cannot override the data model using a seperate populatorClass.

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  A name to display in the dialog for your action (if the operation is optional). You can use the standard &quot;%key&quot; for translatable text stored in plugin.properties.

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  A description to display in the dialog for your action (if the operation is optional). You can use the standard &quot;%key&quot; for translatable text stored in plugin.properties.

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <element name="or">

-      <complexType>

-         <choice>

-            <element ref="objectClass"/>

-            <element ref="and"/>

-            <element ref="objectState"/>

-         </choice>

-      </complexType>

-   </element>

-

-   <element name="objectClass">

-      <complexType>

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

-            <annotation>

-               <documentation>

-                  fully qualified name of the object class

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  optional setting to specify the object class as adaptable

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <element name="and">

-      <complexType>

-         <choice>

-            <element ref="objectClass"/>

-            <element ref="or"/>

-         </choice>

-      </complexType>

-   </element>

-

-   <element name="objectState">

-      <complexType>

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

-            <annotation>

-               <documentation>

-                  optional setting for the value of a specific object state

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  optional setting for an object state name to check the selected object&apos;s value is matching with

-               </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;!-- The examples in this section have been commented out because they reference only extension point IDs. These examples must be corrected before being included in the documentation. --&gt;

-&lt;!--

-The following example declares two Master Operations (&lt;code&gt;com.acme.ui.operation.MasterOperationA&lt;/code&gt; and &lt;code&gt;com.acme.ui.operation.MasterOperationB&lt;/code&gt;) which are attached to the Generic ID &lt;code&gt;com.acme.ui.WTPOptionalOperationTest&lt;/code&gt;. 

-The scenario has Master A which has as a pre-operation of Slave A and a post-operation of Slave C. Slave A is made optional by the &lt;code&gt;slaveOperation&lt;/code&gt; element, while Slave C will always be run (no &lt;code&gt;slaveOperation&lt;/code&gt; is given to run it seperately). Slave A further has an optional pre-operation (Slave B) that can be executed indepently of either Slave A or Master A.

---&gt;

-&lt;!--

-&lt;pre&gt;

-   &lt;extension

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

-      &lt;masterOperation

-            populatorClass=&quot;com.acme.ui.operation.AcmeOperationPopulator&quot;

-            name=&quot;%master_a_name&quot;

-            operationClass=&quot;com.acme.ui.operation.MasterOperationA&quot;

-            extendedGenericId=&quot;com.acme.ui.WTPOptionalOperationTest&quot;

-            description=&quot;%master_a_description&quot;&gt;

-      &lt;/masterOperation&gt; 

-   &lt;slaveOperation

-            name=&quot;Slave A&quot;

-            operationClass=&quot;com.acme.ui.operation.SlaveOperationA&quot;&gt;

-      &lt;/slaveOperation&gt; 

-      &lt;slaveOperation

-            name=&quot;Slave B&quot;

-            operationClass=&quot;com.acme.ui.operation.SlaveOperationB&quot;&gt;

-      &lt;/slaveOperation&gt;      

-      &lt;masterOperation

-            populatorClass=&quot;com.acme.ui.operation.AcmeOperationPopulator&quot;

-            name=&quot;EAR Project Action&quot;

-            operationClass=&quot;com.acme.ui.operation.MasterOperationB&quot;

-            extendedGenericId=&quot;com.acme.ui.WTPOptionalOperationTest&quot;&gt;

-            &lt;selectionEnablement&gt; 

-             &lt;objectState name=&quot;projectNature&quot; value=&quot;org.eclipse.jst.j2ee.EARNature&quot; /&gt;

-            &lt;/selectionEnablement&gt;

-      &lt;/masterOperation&gt;   

-   &lt;/extension&gt;

-&lt;/pre&gt;   

---&gt;

-&lt;!--

-For each of the slaveOperations referenced above, you must have a corresponding WTP Operation Extension declared similar to the following:

---&gt;

-&lt;!--

-&lt;pre&gt; 

-   &lt;extension

-         id=&quot;wtpuiAciton.Acme.Extensions&quot;

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

-      &lt;extendableOperation

-            class=&quot;com.acme.ui.operation.MasterOperationA&quot;

-            id=&quot;com.acme.ui.operation.MasterOperationA&quot;&gt;

-      &lt;/extendableOperation&gt;

-      &lt;extendableOperation

-            class=&quot;com.acme.ui.operation.SlaveOperationA&quot;

-            id=&quot;com.acme.ui.operation.SlaveOperationA&quot;&gt;

-      &lt;/extendableOperation&gt;

-   &lt;/extension&gt;

-   &lt;extension

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

-      &lt;!-- Made optional by the above declaration --&gt;

-      &lt;!--&lt;operationExtension

-            preOperationClass=&quot;com.acme.ui.operation.SlaveOperationA&quot;

-            id=&quot;com.acme.ui.operation.MasterOperationA&quot;&gt;

-      &lt;/operationExtension&gt;--&gt;

-      &lt;!-- Made optional by the above declaration --&gt;

-      &lt;!--&lt;operationExtension

-            postOperationClass=&quot;com.acme.ui.operation.SlaveOperationB&quot;

-            id=&quot;com.acme.ui.operation.SlaveOperationA&quot;&gt;

-      &lt;/operationExtension&gt;--&gt;   

-      &lt;!-- Non-optional operation, will always run --&gt;

-      &lt;!--&lt;operationExtension

-            postOperationClass=&quot;com.acme.ui.operation.SlaveOperationC&quot;

-            id=&quot;com.acme.ui.operation.MasterOperationA&quot;&gt;

-      &lt;/operationExtension&gt;  

-   &lt;/extension&gt; 

-&lt;/pre&gt;

---&gt;

-&lt;!--

-In general, users extending existing actions only need to declare the following: 

---&gt;

-&lt;!--

-&lt;pre&gt;

- &lt;extension

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

- &lt;!-- The action referenced must be declared as extensible by the   org.eclipse.wst.common.frameworks.ExtendableOperation extension point --&gt;         

-      &lt;!--&lt;operationExtension

-            preOperationClass=&quot;...YOUR CLASS...&quot;            

-            id=&quot;...ID OF EXISTING OPERATION...&quot;&gt; 

-      &lt;/operationExtension&gt; 

- &lt;/extension&gt;      

-&lt;/pre&gt;      

---&gt;

-&lt;!--

-And if your operation is optional declare the slaveOperation:

---&gt;

-&lt;!--

-&lt;pre&gt; 

-   &lt;extension

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

-   &lt;slaveOperation

-            name=&quot;..NAME OF YOUR OPERATION...&quot;

-            description=&quot;...DESCRIPTION OF YOUR ACTION...&quot;

-            operationClass=&quot;...YOUR CLASS...&quot;&gt;

-      &lt;/slaveOperation&gt; 

-   &lt;/extension&gt;      

-&lt;/pre&gt;

---&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.ui/wtp_ui/org/eclipse/wst/common/frameworks/internal/datamodel/ui/AddablePageGroup.java b/plugins/org.eclipse.wst.common.frameworks.ui/wtp_ui/org/eclipse/wst/common/frameworks/internal/datamodel/ui/AddablePageGroup.java
deleted file mode 100644
index 53c3360..0000000
--- a/plugins/org.eclipse.wst.common.frameworks.ui/wtp_ui/org/eclipse/wst/common/frameworks/internal/datamodel/ui/AddablePageGroup.java
+++ /dev/null
@@ -1,16 +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.ui;
-
-import org.eclipse.jface.wizard.IWizardPage;
-
-public interface AddablePageGroup extends  IDMPageGroup
-{
-  public void addPage( IWizardPage page );
-}
diff --git a/plugins/org.eclipse.wst.common.frameworks.ui/wtp_ui/org/eclipse/wst/common/frameworks/internal/datamodel/ui/DataModelSynchHelper.java b/plugins/org.eclipse.wst.common.frameworks.ui/wtp_ui/org/eclipse/wst/common/frameworks/internal/datamodel/ui/DataModelSynchHelper.java
deleted file mode 100644
index f634a6e..0000000
--- a/plugins/org.eclipse.wst.common.frameworks.ui/wtp_ui/org/eclipse/wst/common/frameworks/internal/datamodel/ui/DataModelSynchHelper.java
+++ /dev/null
@@ -1,569 +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.ui;
-
-import java.awt.event.ActionEvent;
-import java.awt.event.ActionListener;
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.Map;
-
-import org.eclipse.jface.viewers.CheckStateChangedEvent;
-import org.eclipse.jface.viewers.CheckboxTableViewer;
-import org.eclipse.jface.viewers.CheckboxTreeViewer;
-import org.eclipse.jface.viewers.ICheckStateListener;
-import org.eclipse.jface.viewers.StructuredViewer;
-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.widgets.Button;
-import org.eclipse.swt.widgets.Combo;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.List;
-import org.eclipse.swt.widgets.Table;
-import org.eclipse.swt.widgets.TableItem;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.swt.widgets.Tree;
-import org.eclipse.swt.widgets.TreeItem;
-import org.eclipse.swt.widgets.Widget;
-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.internal.ui.TimedModifyListener;
-
-/**
- * This class is EXPERIMENTAL and is subject to substantial changes.
- */
-public class DataModelSynchHelper implements IDataModelListener {
-	protected static final boolean isLinux = System.getProperty("os.name").equals("Linux"); //$NON-NLS-1$ //$NON-NLS-2$
-
-	protected IDataModel dataModel;
-	protected Map widgetToPropertyHash;
-	protected Map propertyToWidgetHash;
-	protected Map widgetToDepControls;
-
-	protected String currentProperty;
-	protected Widget currentWidget;
-	protected Widget currentWidgetFromEvent; // TODO M4 see if this should be set with for
-	// listeners
-	protected boolean ignoreModifyEvent = false;
-
-	private class ModifyTextListener implements ModifyListener {
-		public void modifyText(ModifyEvent e) {
-			if (ignoreModifyEvent)
-				return;
-			Text text = (Text) e.getSource();
-			if (currentWidget == text)
-				return;
-			String propertyName = (String) widgetToPropertyHash.get(text);
-			setProperty(propertyName, text.getText());
-		}
-	}
-
-	private ModifyTextListener modifyTextListener;
-	private TimedModifyListener timedModifyListener;
-
-	private class ComboListener implements SelectionListener, ModifyListener {
-
-		public void modifyText(ModifyEvent e) {
-			if (ignoreModifyEvent)
-				return;
-			Combo combo = (Combo) e.getSource();
-			if (currentWidget == combo)
-				return;
-
-			try {
-				currentWidgetFromEvent = combo;
-				String propertyName = (String) widgetToPropertyHash.get(combo);
-				DataModelPropertyDescriptor[] descriptors = dataModel.getValidPropertyDescriptors(propertyName);
-				String description = combo.getText();
-				// On a combo selection linux fires 2 events;
-				// the first clears the value which needs to be ignored when the type is not String
-				// the second sets the new value
-				if (isLinux && description.length() == 0 && descriptors.length != 0 && !(descriptors[0].getPropertyValue() instanceof String)) {
-					return;
-				}
-				for (int i = 0; i < descriptors.length; i++) {
-					if (description.equals(descriptors[i].getPropertyDescription())) {
-						setProperty(propertyName, descriptors[i].getPropertyValue());
-						return;
-					}
-				}
-				setProperty(propertyName, combo.getText());
-			} finally {
-				currentWidgetFromEvent = null;
-			}
-		}
-
-		public void widgetSelected(SelectionEvent e) {
-			Combo combo = (Combo) e.getSource();
-			if (currentWidget == combo)
-				return;
-			String propertyName = (String) widgetToPropertyHash.get(combo);
-			if (combo.getSelectionIndex() >= 0) {
-				DataModelPropertyDescriptor[] descriptors = dataModel.getValidPropertyDescriptors(propertyName);
-				String description = combo.getItem(combo.getSelectionIndex());
-				for (int i = 0; i < descriptors.length; i++) {
-					if (description.equals(descriptors[i].getPropertyDescription())) {
-						setProperty(propertyName, descriptors[i].getPropertyValue());
-						return;
-					}
-				}
-				setProperty(propertyName, combo.getItem(combo.getSelectionIndex()));
-			}
-		}
-
-		public void widgetDefaultSelected(SelectionEvent e) {
-		}
-	}
-
-	private ComboListener comboListener;
-
-	private class CheckboxSelectionListener implements SelectionListener {
-		public void widgetSelected(SelectionEvent e) {
-			Button button = (Button) e.getSource();
-			if (currentWidget == button)
-				return;
-			String propertyName = (String) widgetToPropertyHash.get(button);
-			setProperty(propertyName, new Boolean(button.getSelection()));
-		}
-
-		public void widgetDefaultSelected(SelectionEvent e) {
-		}
-	}
-
-	private CheckboxSelectionListener checkboxSelectionListener;
-
-	public DataModelSynchHelper(IDataModel model) {
-		this.dataModel = model;
-		dataModel.addListener(this);
-	}
-
-	private CheckBoxViewerListener checkBoxViewerStateListener;
-
-	private class CheckBoxViewerListener implements ICheckStateListener {
-		public void checkStateChanged(CheckStateChangedEvent event) {
-			StructuredViewer viewer = (StructuredViewer) event.getSource();
-			CheckboxTableViewer checkBoxTableViewer;
-			CheckboxTreeViewer checkBoxTreeViewer;
-			Object[] items = null;
-			if (viewer instanceof CheckboxTableViewer) {
-				checkBoxTableViewer = (CheckboxTableViewer) viewer;
-				items = checkBoxTableViewer.getCheckedElements();
-			} else if (viewer instanceof CheckboxTreeViewer) {
-				checkBoxTreeViewer = (CheckboxTreeViewer) viewer;
-				items = checkBoxTreeViewer.getCheckedElements();
-			}
-			String propertyName = (String) widgetToPropertyHash.get(viewer.getControl());
-			setPropertyItems(propertyName, items);
-		}
-	}
-
-	public void propertyChanged(DataModelEvent event) {
-		String propertyName = event.getPropertyName();
-		int flag = event.getFlag();
-		if (flag == DataModelEvent.ENABLE_CHG)
-			setEnablement(propertyName, event.isPropertyEnabled());
-		else
-			synchUIWithModel(propertyName, flag);
-	}
-
-	protected void setProperty(String propertyName, Object value) {
-		currentProperty = propertyName;
-		try {
-			dataModel.setProperty(propertyName, value);
-		} finally {
-			currentProperty = null;
-		}
-	}
-
-	protected void setPropertyItems(String propertyName, Object[] items) {
-		currentProperty = propertyName;
-		try {
-			dataModel.setProperty(propertyName, items);
-		} finally {
-			currentProperty = null;
-		}
-	}
-
-	/**
-	 * Sets the UI to have the property value defined in the model
-	 * 
-	 * @param propertyName
-	 * @link IDataModelListener for the flag values.
-	 */
-	public void synchUIWithModel(final String propertyName, final int flag) {
-		if (null != propertyToWidgetHash && propertyToWidgetHash.containsKey(propertyName)) {
-			Display.getDefault().syncExec(new Runnable() {
-				public void run() {
-					try {
-						currentWidget = (Widget) propertyToWidgetHash.get(propertyName);
-						if (currentWidget != null && currentWidget != currentWidgetFromEvent) {
-							//We must hold a copy in a temp variable because setting the widget value
-							//may trigger an event that will cause this method to be called again.
-							Widget widget = currentWidget;
-							try {
-								ignoreModifyEvent = true;
-								if (currentWidget instanceof Text)
-									setWidgetValue(propertyName, flag, (Text) currentWidget);
-								else if (currentWidget instanceof Combo) {
-									setWidgetValue(propertyName, flag, (Combo) currentWidget);
-								} else if (currentWidget instanceof Button)
-									setWidgetValue(propertyName, flag, (Button) currentWidget);
-								else if (currentWidget instanceof Label)
-									setWidgetValue(propertyName, flag, (Label) currentWidget);
-								else if (currentWidget instanceof List)
-									setWidgetValue(propertyName, flag, (List) currentWidget);
-								else if (currentWidget instanceof Table)
-									setWidgetValue(propertyName, flag, (Table) currentWidget);
-								else if (currentWidget instanceof Tree)
-									setWidgetValue(propertyName, flag, (Tree) currentWidget);
-							} finally {
-								ignoreModifyEvent = false;
-							}
-							//Pass the copy of the currentWidget
-							setEnablement((Control) widget, dataModel.isPropertyEnabled(propertyName));
-						}
-					} finally {
-						currentWidget = null;
-					}
-				}
-			});
-		}
-	}
-
-	/**
-	 * @param control
-	 * @param enabled
-	 */
-	protected void setEnablement(Control control, boolean enabled) {
-		if (control.isEnabled() != enabled)
-			control.setEnabled(enabled);
-		setDependentControlEnablement(control, enabled);
-	}
-
-	private void setEnablement(final String propertyName, final boolean enabled) {
-		if (propertyToWidgetHash != null) {
-			Display.getDefault().syncExec(new Runnable() {
-				public void run() {
-					Control control = (Control) propertyToWidgetHash.get(propertyName);
-					if (control != null) {
-						setEnablement(control, enabled);
-					}
-				}
-			});
-		}
-	}
-
-	/**
-	 * @param control
-	 * @param enabled
-	 */
-	private void setDependentControlEnablement(Control control, boolean enabled) {
-		if (widgetToDepControls != null) {
-			Control[] dependents = (Control[]) widgetToDepControls.get(control);
-			if (dependents != null) {
-				Control dep = null;
-				for (int i = 0; i < dependents.length; i++) {
-					dep = dependents[i];
-					if (dep.isEnabled() != enabled)
-						dep.setEnabled(enabled);
-				}
-			}
-		}
-	}
-
-	protected void setWidgetValue(String propertyName, int flag, Button button) {
-		if ((button.getStyle() & SWT.CHECK) == SWT.CHECK || (button.getStyle() & SWT.RADIO) == SWT.RADIO) {
-			boolean checked = dataModel.getBooleanProperty(propertyName);
-			if (button.getSelection() != checked) {
-				button.setSelection(checked);
-			}
-		}
-	}
-
-	protected void setWidgetValue(String propertyName, int flag, Combo combo) {
-		if (flag == DataModelEvent.VALID_VALUES_CHG || combo.getItemCount() == 0) {
-			// Display properties should only fire if the contents change.
-			DataModelPropertyDescriptor[] descriptors = dataModel.getValidPropertyDescriptors(propertyName);
-			String[] items = new String[descriptors.length];
-			for (int i = 0; i < descriptors.length; i++) {
-				items[i] = descriptors[i].getPropertyDescription();
-			}
-			combo.setItems(items);
-		}
-		String newText = dataModel.getPropertyDescriptor(propertyName).getPropertyDescription();
-		int selIndex = combo.getSelectionIndex();
-		if (selIndex < 0 || !newText.equals(combo.getItem(selIndex))) {
-			String[] items = combo.getItems();
-			for (int i = 0; i < items.length; i++) {
-				if (items[i].equals(newText)) {
-					combo.select(i);
-					return;
-				}
-			}
-		}
-		combo.setText(newText);
-	}
-
-	protected void setWidgetValue(String propertyName, int flag, Text text) {
-		String newText = dataModel.getStringProperty(propertyName);
-		if (!newText.equals(text.getText())) {
-			text.setText(newText);
-		}
-	}
-
-	protected void setWidgetValue(String propertyName, int flag, Table table) {
-		Object[] elements = (Object[]) dataModel.getProperty(propertyName);
-		if (elements == null || elements.length == 0) {
-			setTableItemsChecked(table.getItems(), false);
-			return;
-		}
-		java.util.List elementList = Arrays.asList(elements);
-		TableItem[] tableItems = table.getItems();
-		for (int i = 0; i < tableItems.length; i++) {
-			TableItem item = tableItems[i];
-			if (elementList.contains(item.getData()))
-				item.setChecked(true);
-			else
-				item.setChecked(false);
-		}
-	}
-
-	protected void setTableItemsChecked(TableItem[] tableItems, boolean b) {
-		for (int i = 0; i < tableItems.length; i++)
-			tableItems[i].setChecked(b);
-	}
-
-	protected void setWidgetValue(String propertyName, int flag, Tree tree) {
-		Object[] elements = (Object[]) dataModel.getProperty(propertyName);
-		if (elements == null)
-			return;
-		java.util.List elementList = Arrays.asList(elements);
-		TreeItem[] treeItems = tree.getItems();
-		if (elementList.size() == 0) {
-			setTreeItemsGrey(treeItems, false);
-			return;
-		}
-		if (treeItems.length > 0)
-			setTreeItemChecked(treeItems, elementList);
-	}
-
-	public void setTreeItemsGrey(TreeItem[] treeItems, boolean b) {
-		for (int i = 0; i < treeItems.length; i++) {
-			TreeItem item = treeItems[i];
-			item.setGrayed(b);
-			setTreeItemsGrey(treeItems[i].getItems(), b);
-		}
-	}
-
-	protected void setTreeItemChecked(TreeItem[] treeItems, java.util.List items) {
-		for (int i = 0; i < treeItems.length; i++) {
-			if (items.contains(treeItems[i].getData())){
-				treeItems[i].setChecked(true);
-				treeItems[i].setGrayed(false);
-			}else{
-				treeItems[i].setGrayed(true);
-			}
-			TreeItem[] childernItems = treeItems[i].getItems();
-			if (childernItems.length > 0) {
-				treeItems[i].setExpanded(true);
-				setTreeItemChecked(childernItems, items);
-			}
-		}
-	}
-
-	protected void setWidgetValue(String propertyName, int flag, Label label) {
-		String newText = dataModel.getStringProperty(propertyName);
-		if (!newText.equals(label.getText())) {
-			label.setText(newText);
-		}
-	}
-
-	protected void setWidgetValue(String propertyName, int flag, List list) {
-		Object newContents = dataModel.getProperty(propertyName);
-		if (newContents == null) {
-			list.setItems(new String[0]);
-			return;
-		}
-		if (newContents instanceof java.util.List) {
-			java.util.List modelContents = (java.util.List) newContents;
-			String[] items = new String[modelContents.size()];
-			for (int i = 0; i < modelContents.size(); i++) {
-				items[i] = modelContents.get(i).toString();
-			}
-			list.setItems(items);
-		} else if (newContents instanceof String[]) {
-			list.setItems((String[]) newContents);
-		}
-	}
-
-	public void synchAllUIWithModel() {
-		if (null != propertyToWidgetHash) {
-			Collection keys = propertyToWidgetHash.keySet();
-			if (!keys.isEmpty()) {
-				Iterator propertyNames = keys.iterator();
-				String propertyName = null;
-				while (propertyNames.hasNext()) {
-					propertyName = (String) propertyNames.next();
-					synchUIWithModel(propertyName, DataModelEvent.VALUE_CHG);
-				}
-			}
-		}
-	}
-
-	protected void synchComposite(Widget widget, String propertyName, Control[] depControls) {
-		if (null == widgetToPropertyHash)
-			widgetToPropertyHash = new HashMap();
-		if (propertyToWidgetHash == null)
-			propertyToWidgetHash = new HashMap();
-		widgetToPropertyHash.put(widget, propertyName);
-		propertyToWidgetHash.put(propertyName, widget);
-		if (depControls != null) {
-			if (widgetToDepControls == null)
-				widgetToDepControls = new HashMap();
-			widgetToDepControls.put(widget, depControls);
-		}
-		synchUIWithModel(propertyName, DataModelEvent.VALUE_CHG);
-	}
-
-	public void synchText(Text text, String propertyName, Control[] dependentControls) {
-		synchText(text, propertyName, false, dependentControls);
-	}
-
-	public void synchText(Text text, String propertyName, boolean isTimeModified, Control[] dependentControls) {
-		synchComposite(text, propertyName, dependentControls);
-		if (isTimeModified)
-			text.addModifyListener(getTimedListener());
-		else
-			text.addModifyListener(getModifyTextListener());
-	}
-
-	public void synchLabel(Label label, String propertyName, Control[] dependentControls) {
-		synchComposite(label, propertyName, dependentControls);
-	}
-
-	/**
-	 * Use this to synch the contents of the <code>list</code> to the List elements returned from
-	 * the <code>propertyName</code>.
-	 */
-	public void synchList(List list, String propertyName, Control[] dependentControls) {
-		synchComposite(list, propertyName, dependentControls);
-	}
-
-	/**
-	 * Use this to synch the value of the specified Combo with the specified propertyName. The
-	 * possible values displayed to the user are determined by return of
-	 * IDataModel.getValidPropertyDescriptors(String).
-	 * 
-	 * @param combo
-	 * @param propertyName
-	 * @param dependentControls
-	 */
-	public void synchCombo(Combo combo, String propertyName, Control[] dependentControls) {
-		synchComposite(combo, propertyName, dependentControls);
-		if (null == comboListener) {
-			comboListener = new ComboListener();
-		}
-		combo.addSelectionListener(comboListener);
-		combo.addModifyListener(comboListener);
-	}
-
-	/**
-	 * Use this to sync the state of the specified checkbox with the value of the specified
-	 * propertyName. The specified propertyName must contain a java.lang.Boolean typed Object.
-	 * 
-	 * @param checkbox
-	 * @param propertyName
-	 * @param dependentControls
-	 */
-	public void synchCheckbox(Button checkbox, String propertyName, Control[] dependentControls) {
-		synchComposite(checkbox, propertyName, dependentControls);
-		if (null == checkboxSelectionListener) {
-			checkboxSelectionListener = new CheckboxSelectionListener();
-		}
-		checkbox.addSelectionListener(checkboxSelectionListener);
-	}
-
-	public void synchCheckBoxTableViewer(CheckboxTableViewer tableViewer, String propertyName, Control[] dependentControls) {
-		synchComposite(tableViewer.getControl(), propertyName, dependentControls);
-		if (null == checkBoxViewerStateListener) {
-			checkBoxViewerStateListener = new CheckBoxViewerListener();
-		}
-		tableViewer.addCheckStateListener(checkBoxViewerStateListener);
-	}
-
-	public void synchCheckBoxTreeViewer(CheckboxTreeViewer treeViewer, String propertyName, Control[] dependentControls) {
-		treeViewer.expandAll();
-		synchComposite(treeViewer.getControl(), propertyName, dependentControls);
-		if (null == checkBoxViewerStateListener) {
-			checkBoxViewerStateListener = new CheckBoxViewerListener();
-		}
-		treeViewer.addCheckStateListener(checkBoxViewerStateListener);
-	}
-
-	public void synchRadio(Button radio, String propertyName, Control[] dependentControls) {
-		// Uses checkbox syncher
-		synchCheckbox(radio, propertyName, dependentControls);
-	}
-
-	private TimedModifyListener getTimedListener() {
-		if (timedModifyListener == null)
-			timedModifyListener = new TimedModifyListener(new ActionListener() {
-				public void actionPerformed(ActionEvent e) {
-					Widget w = (Widget) e.getSource();
-					if (currentWidget == w || w.isDisposed())
-						return;
-					String propertyName = (String) widgetToPropertyHash.get(w);
-					setTextProperty(propertyName, (Text) w);
-				}
-			}) {
-				public void modifyText(ModifyEvent e) {
-					if (ignoreModifyEvent)
-						return;
-					super.modifyText(e);
-				}
-			};
-		return timedModifyListener;
-	}
-
-	protected void setTextProperty(String propertyName, Text text) {
-		setProperty(propertyName, text.getText());
-	}
-
-	private ModifyTextListener getModifyTextListener() {
-		if (null == modifyTextListener)
-			modifyTextListener = new ModifyTextListener();
-		return modifyTextListener;
-	}
-
-	public IDataModel getDataModel() {
-		return dataModel;
-	}
-
-	public void dispose() {
-		dataModel.removeListener(this);
-		checkboxSelectionListener = null;
-		currentWidget = null;
-		modifyTextListener = null;
-		propertyToWidgetHash = null;
-		timedModifyListener = null;
-		widgetToDepControls = null;
-		widgetToPropertyHash = null;
-	}
-}
diff --git a/plugins/org.eclipse.wst.common.frameworks.ui/wtp_ui/org/eclipse/wst/common/frameworks/internal/datamodel/ui/DataModelWizard.java b/plugins/org.eclipse.wst.common.frameworks.ui/wtp_ui/org/eclipse/wst/common/frameworks/internal/datamodel/ui/DataModelWizard.java
deleted file mode 100644
index 418f06d..0000000
--- a/plugins/org.eclipse.wst.common.frameworks.ui/wtp_ui/org/eclipse/wst/common/frameworks/internal/datamodel/ui/DataModelWizard.java
+++ /dev/null
@@ -1,356 +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.ui;
-
-import java.lang.reflect.InvocationTargetException;
-
-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.jem.util.logger.proxy.Logger;
-import org.eclipse.jface.operation.IRunnableWithProgress;
-import org.eclipse.jface.wizard.IWizardPage;
-import org.eclipse.jface.wizard.Wizard;
-import org.eclipse.wst.common.environment.IEnvironment;
-import org.eclipse.wst.common.frameworks.datamodel.DataModelFactory;
-import org.eclipse.wst.common.frameworks.datamodel.IDataModel;
-import org.eclipse.wst.common.frameworks.datamodel.IDataModelProvider;
-import org.eclipse.wst.common.frameworks.internal.datamodel.IDataModelPausibleOperation;
-import org.eclipse.wst.common.frameworks.internal.dialog.ui.WarningDialog;
-import org.eclipse.wst.common.frameworks.internal.eclipse.ui.EclipseEnvironment;
-import org.eclipse.wst.common.frameworks.internal.ui.ErrorDialog;
-import org.eclipse.wst.common.frameworks.internal.ui.PageGroupManager;
-import org.eclipse.wst.common.frameworks.internal.ui.WTPCommonUIResourceHandler;
-import org.eclipse.wst.common.frameworks.internal.ui.WTPUIPlugin;
-
-
-/**
- * This class is EXPERIMENTAL and is subject to substantial changes.
- */
-public abstract class DataModelWizard extends Wizard implements IDMPageHandler {
-	private PageGroupManager pageGroupManager;
-	private IDataModel dataModel;
-	private AddablePageGroup rootPageGroup;
-	private IDataModelPausibleOperation rootOperation;
-
-	// private IWizardPage firstpage;
-
-	public DataModelWizard(IDataModel dataModel) {
-		this.dataModel = dataModel;
-	}
-
-	public DataModelWizard() {
-	}
-
-	protected abstract IDataModelProvider getDefaultProvider();
-
-	/**
-	 * @return the wizard ID that clients should extend to add to this wizard
-	 */
-	public final String getWizardID() {
-		return getDataModel().getID();
-	}
-
-	/**
-	 * 
-	 * @return returns the root operation for this wizard.
-	 */
-	protected IDataModelPausibleOperation getRootOperation() {
-		return (IDataModelPausibleOperation)getDataModel().getDefaultOperation();
-	}
-
-	/**
-	 * This is finalized to handle the adding of extended pages. Clients should override
-	 * doAddPages() to add their pages.
-	 */
-	public final void addPages() {
-		init();
-		doAddPages();
-	}
-
-	/**
-	 * Subclasses should override this method to add pages.
-	 */
-	protected void doAddPages() {
-	}
-
-	// TODO make this final
-	public IWizardPage getStartingPage() {
-		pageGroupManager.reset();
-		return getNextPage(null);
-	}
-
-	/**
-	 * Subclasses wishing to control the page ordering should do so by overriding
-	 * getNextPage(String, String) and getPreviousPage(String, String)
-	 * 
-	 * @link #getNextPage(String, String)
-	 * @link #getPreviousPage(String, String)
-	 */
-	// TODO make this final
-	public IWizardPage getNextPage(IWizardPage page) {
-
-		IWizardPage currentPage = pageGroupManager.getCurrentPage();
-
-		pageGroupManager.moveForwardOnePage();
-
-		IWizardPage nextPage = pageGroupManager.getCurrentPage();
-
-		// If an error occured then the current page and the next page will be the same.
-		if (currentPage != nextPage && nextPage != null) {
-			nextPage.setWizard(this);
-			nextPage.setPreviousPage(currentPage);
-		}
-
-		return currentPage == nextPage ? null : nextPage;
-	}
-
-	public String getNextPage(String currentPageName, String expectedNextPageName) {
-		return expectedNextPageName;
-	}
-
-	/**
-	 * Subclasses wishing to control the page ordering should do so by overriding
-	 * getNextPage(String, String) and getPreviousPage(String, String)
-	 * 
-	 * @link #getNextPage(String, String)
-	 * @link #getPreviousPage(String, String)
-	 */
-	// TODO make this final
-	public IWizardPage getPreviousPage(IWizardPage page) {
-		return page != null ? page.getPreviousPage() : null;
-	}
-
-	public String getPreviousPage(String currentPageName, String expectedPreviousPageName) {
-		return expectedPreviousPageName;
-	}
-
-	public boolean canFinish() {
-		if (!super.canFinish() || !getDataModel().isValid()) {
-			return false;
-		}
-
-		return true;
-	}
-
-	public PageGroupManager getPageGroupManager() {
-		return pageGroupManager;
-	}
-
-	// TODO need to implement this. Perhaps in the PageGroupManager
-	//
-	protected void resetAfterFinishError() {
-		// IWizardPage[] pages = getPages();
-		// for (int i = 0; i < pages.length; i++) {
-		// DataModelWizardPage wtpPage = (DataModelWizardPage) pages[i];
-		// wtpPage.validatePage(true);
-		// }
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.wizard.IWizard#performFinish()
-	 */
-	public final boolean performFinish() {
-		try {
-			if (prePerformFinish()) {
-				storeDefaultSettings();
-
-				final IStatus st = runOperations();
-
-				if (st.getSeverity() == IStatus.ERROR) {
-					WTPUIPlugin.log(st);
-					ErrorDialog.openError(getShell(), WTPCommonUIResourceHandler.getString(WTPCommonUIResourceHandler.WTPWizard_UI_0, new Object[]{getWindowTitle()}), WTPCommonUIResourceHandler.getString(WTPCommonUIResourceHandler.WTPWizard_UI_1, new Object[]{getWindowTitle()}), new CoreException(st), 0, false);
-				} else if(st.getSeverity() == IStatus.WARNING){
-					WarningDialog.openWarning(getShell(), WTPCommonUIResourceHandler.getString(WTPCommonUIResourceHandler.WTPWizard_UI_2, new Object[]{getWindowTitle()}), st.getMessage(), st, IStatus.WARNING);
-				}
-
-				postPerformFinish();
-			}
-		} catch (Throwable exc) {
-			WTPUIPlugin.log(exc);
-			ErrorDialog.openError(getShell(), WTPCommonUIResourceHandler.getString(WTPCommonUIResourceHandler.WTPWizard_UI_0, new Object[]{getWindowTitle()}), WTPCommonUIResourceHandler.getString(WTPCommonUIResourceHandler.WTPWizard_UI_1, new Object[]{getWindowTitle()}), exc, 0, false);
-		}
-
-		return true;
-	}
-
-	private IStatus runOperations() {
-		final IStatus[] status = new IStatus[1];
-		class CatchThrowableRunnableWithProgress implements IRunnableWithProgress {
-			public Throwable caught = null;
-
-			public void run(IProgressMonitor pm) {
-				try {
-					if (rootOperation == null) {
-						//This will be the typical case because most wizards will
-						//not initialize the root operation during init.
-						rootOperation = getRootOperation();
-					}
-					status[0] = rootOperation.execute(pm, null);
-				} catch (Throwable e) {
-					caught = e;
-				}
-			}
-		}
-		CatchThrowableRunnableWithProgress runnable = new CatchThrowableRunnableWithProgress();
-
-		try {
-			getContainer().run(runForked(), isCancelable(), runnable);
-		} catch (Throwable e) {
-			runnable.caught = e;
-		}
-		if (runnable.caught != null) {
-			Logger.getLogger().logError(runnable.caught);
-			status[0] = new Status(IStatus.ERROR, "id", 0, runnable.caught.getMessage(), runnable.caught); //$NON-NLS-1$
-			ErrorDialog.openError(getShell(), WTPCommonUIResourceHandler.getString(WTPCommonUIResourceHandler.WTPWizard_UI_0, new Object[]{getWindowTitle()}), WTPCommonUIResourceHandler.getString(WTPCommonUIResourceHandler.WTPWizard_UI_1, new Object[]{getWindowTitle()}), runnable.caught, 0, false);
-		}
-		return status[0];
-	}
-
-	public boolean performCancel() {
-		pageGroupManager.undoAllCurrentOperations();
-
-		return true;
-	}
-
-	/**
-	 * Subclass can override to perform any tasks prior to running the operation. Return true to
-	 * have the operation run and false to stop the execution of the operation.
-	 * 
-	 * @return
-	 */
-	protected boolean prePerformFinish() {
-		return true;
-	}
-
-	/**
-	 * Subclasses should override to perform any actions necessary after performing Finish.
-	 */
-	protected void postPerformFinish() throws InvocationTargetException {
-	}
-
-	protected void storeDefaultSettings() {
-		pageGroupManager.storeDefaultSettings(this);
-	}
-
-	public void storeDefaultSettings(IWizardPage page) {
-		if (page instanceof DataModelWizardPage)
-			((DataModelWizardPage) page).storeDefaultSettings();
-	}
-
-
-	/**
-	 * Subclasses may override if they need to do something special when storing the default
-	 * settings for a particular page.
-	 * 
-	 * @param page
-	 * @param pageIndex
-	 */
-	protected void storeDefaultSettings(IWizardPage page, int pageIndex) {
-		storeDefaultSettings(page);
-	}
-
-	/**
-	 * Subclasses should override if the running operation is allowed to be cancelled. The default
-	 * is false.
-	 * 
-	 * @return
-	 */
-	protected boolean isCancelable() {
-		return false;
-	}
-
-	/**
-	 * Subclasses should override to return false if the running operation cannot be run forked.
-	 * 
-	 * @return
-	 */
-	protected boolean runForked() {
-		return true;
-	}
-
-	public void setDataModel(IDataModel model) {
-		this.dataModel = model;
-	}
-
-	/**
-	 * @return Returns the model.
-	 */
-	public IDataModel getDataModel() {
-		if (null == dataModel) {
-			dataModel = DataModelFactory.createDataModel(getDefaultProvider());
-		}
-
-		return dataModel;
-	}
-
-	public void dispose() {
-		super.dispose();
-		if (null != dataModel) {
-			dataModel.dispose();
-		}
-	}
-
-	/**
-	 * The default is to return a SimplePageGroup. Subclasses may want to overrided this method to
-	 * return a different root page group for the wizard.
-	 * 
-	 * @return
-	 */
-	protected AddablePageGroup createRootPageGroup() {
-		String id = getWizardID();
-		// For the root page group the wizard id and the group id are the same.
-		SimplePageGroup pageGroup = new SimplePageGroup(id, id);
-		pageGroup.setPageHandler(this);
-		return pageGroup;
-	}
-
-	/**
-	 * Creates the default environment for this wizard.
-	 * 
-	 * @return
-	 */
-	protected IEnvironment createEnvironment() {
-		return new EclipseEnvironment();
-	}
-
-	public void addPage(IWizardPage page) {
-		rootPageGroup.addPage(page);
-	}
-
-	private void init() {
-		rootPageGroup = createRootPageGroup();
-		if (needsToRunOperationsBeforeFinish()) {
-			rootOperation = getRootOperation();
-			pageGroupManager = new PageGroupManager(rootOperation, rootPageGroup);
-		} else {
-			pageGroupManager = new PageGroupManager(getDataModel(), rootPageGroup);
-		}
-	}
-	
-	/**
-	 * Subclasses should override to return true if they require the running
-	 * of the operation during page turning.
-	 * 
-	 * @return A boolean defaulted to false.
-	 */
-	protected boolean needsToRunOperationsBeforeFinish() {
-		return false;
-	}
-
-	public boolean needsPreviousAndNextButtons() {
-		return super.needsPreviousAndNextButtons() || getPageGroupManager().hasMultiplePages();
-	}
-
-}
diff --git a/plugins/org.eclipse.wst.common.frameworks.ui/wtp_ui/org/eclipse/wst/common/frameworks/internal/datamodel/ui/DataModelWizardFactory.java b/plugins/org.eclipse.wst.common.frameworks.ui/wtp_ui/org/eclipse/wst/common/frameworks/internal/datamodel/ui/DataModelWizardFactory.java
deleted file mode 100644
index eec76f6..0000000
--- a/plugins/org.eclipse.wst.common.frameworks.ui/wtp_ui/org/eclipse/wst/common/frameworks/internal/datamodel/ui/DataModelWizardFactory.java
+++ /dev/null
@@ -1,65 +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.ui;
-
-import org.eclipse.wst.common.frameworks.datamodel.DataModelFactory;
-import org.eclipse.wst.common.frameworks.datamodel.IDataModel;
-import org.eclipse.wst.common.frameworks.internal.operation.extensionui.DataModelWizardExtensionReader;
-
-public class DataModelWizardFactory {
-
-	private static DataModelWizardExtensionReader reader;
-
-	/**
-	 * Looks up the appropriate DataModelWizard by the specified id and
-	 * constructs a new DataModelWizard using a new instance of the IDataModel
-	 * looked up with the same id. If the DataModelWizard is not found then a
-	 * RuntimeException is thrown.
-	 * 
-	 * @param id
-	 *            the id of the DataModelWizard
-	 * @return a new DataModelWizard
-	 */
-	public static DataModelWizard createWizard(String id) {
-		return createWizard(DataModelFactory.createDataModel(id));
-	}
-
-	/**
-	 * Looks up the appropriate DataModelWizard using the id retured from
-	 * <code>dataModel.getID()</code>.
-	 * 
-	 * @param dataModel
-	 * @return a new DataModelWizard
-	 */
-	public static DataModelWizard createWizard(IDataModel dataModel) {
-		return loadWizard(dataModel);
-	}
-
-	private static DataModelWizard loadWizard(IDataModel dataModel) {
-		if (null == reader) {
-			reader = new DataModelWizardExtensionReader();
-		}
-		return reader.getWizard(dataModel);
-	}
-
-	/**
-	 * Looks up the appropriate DataModelWizard using the name of the specified
-	 * class as the id. This method is equavalent to
-	 * <code>createWizard(classID.getName())</code>.
-	 * 
-	 * @param classID
-	 *            the class whose name is the id of the DataModelWizard
-	 * @return a new DataModelWizard
-	 */
-	public static DataModelWizard createWizard(Class dataModelProviderID) {
-		return createWizard(dataModelProviderID.getName());
-	}
-}
diff --git a/plugins/org.eclipse.wst.common.frameworks.ui/wtp_ui/org/eclipse/wst/common/frameworks/internal/datamodel/ui/DataModelWizardPage.java b/plugins/org.eclipse.wst.common.frameworks.ui/wtp_ui/org/eclipse/wst/common/frameworks/internal/datamodel/ui/DataModelWizardPage.java
deleted file mode 100644
index d49ae43..0000000
--- a/plugins/org.eclipse.wst.common.frameworks.ui/wtp_ui/org/eclipse/wst/common/frameworks/internal/datamodel/ui/DataModelWizardPage.java
+++ /dev/null
@@ -1,446 +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.datamodel.ui;
-
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.Map;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.jface.dialogs.IMessageProvider;
-import org.eclipse.jface.wizard.IWizard;
-import org.eclipse.jface.wizard.IWizardPage;
-import org.eclipse.jface.wizard.WizardPage;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Listener;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.wst.common.frameworks.datamodel.DataModelEvent;
-import org.eclipse.wst.common.frameworks.datamodel.IDataModel;
-import org.eclipse.wst.common.frameworks.datamodel.IDataModelListener;
-import org.eclipse.wst.common.frameworks.internal.ui.ValidationStatus;
-
-/**
- * This class is EXPERIMENTAL and is subject to substantial changes.
- */
-public abstract class DataModelWizardPage extends WizardPage implements Listener, IDataModelListener {
-	protected static final int NEXT = 1;
-	protected static final int PREVIOUS = 2;
-	protected static final int COMPOSITE_BORDER = SWT.NULL;
-	private ValidationStatus status = new ValidationStatus();
-	private boolean isValidating = false;
-	protected boolean isFirstTimeToPage = true;
-	protected IDataModel model;
-	private Map validationMap;
-	private String[] validationPropertyNames;
-	protected DataModelSynchHelper synchHelper;
-	private String infopopID;
-	private DataModelWizard wizard;
-	private IWizardPage previousPage;
-
-	/**
-	 * J2EEWizardPage constructor comment.
-	 * 
-	 * @param pageName
-	 *            java.lang.String
-	 */
-	protected DataModelWizardPage(IDataModel model, String pageName) {
-		super(pageName);
-		this.model = model;
-		model.addListener(this);
-		synchHelper = initializeSynchHelper(model);
-	}
-
-	/**
-	 * @return
-	 */
-	public DataModelSynchHelper initializeSynchHelper(IDataModel dm) {
-		return new DataModelSynchHelper(dm);
-	}
-
-	/**
-	 * J2EEWizardPage constructor comment.
-	 * 
-	 * @param pageName
-	 *            java.lang.String
-	 * @param title
-	 *            java.lang.String
-	 * @param titleImage
-	 *            org.eclipse.jface.resource.ImageDescriptor
-	 */
-	protected DataModelWizardPage(IDataModel model, String pageName, String title, org.eclipse.jface.resource.ImageDescriptor titleImage) {
-		super(pageName, title, titleImage);
-		this.model = model;
-		model.addListener(this);
-		synchHelper = initializeSynchHelper(model);
-	}
-
-	/**
-	 * Creates the top level control for this dialog page under the given parent composite. This
-	 * method has been abstract and it uses the template pattern to get the correct items setup in
-	 * the correct order. See the set of methods below that are called in this method.
-	 * <p>
-	 * Implementors are responsible for ensuring that the created control can be accessed via
-	 * <code>getControl</code>
-	 * </p>
-	 * 
-	 * @param parent
-	 *            the parent composite
-	 */
-	public final void createControl(org.eclipse.swt.widgets.Composite parent) {
-		Composite top = createTopLevelComposite(parent);
-		setControl(top);
-		setupInfopop(top);
-		setDefaults();
-		addListeners();
-		initializeValidationProperties();
-	}
-
-	private void initializeValidationProperties() {
-		validationPropertyNames = getValidationPropertyNames();
-		if (validationPropertyNames == null || validationPropertyNames.length == 0)
-			validationMap = Collections.EMPTY_MAP;
-		else {
-			validationMap = new HashMap(validationPropertyNames.length);
-			for (int i = 0; i < validationPropertyNames.length; i++)
-				validationMap.put(validationPropertyNames[i], new Integer(i));
-		}
-	}
-
-	public boolean canFlipToNextPage() {
-		// TODO why is that last getNextPage() call here???
-		return isPageComplete() && ((null != wizard && wizard.getPageGroupManager().hasNextPage() || null != getNextPage()));
-	}
-
-	/*
-	 * (non-Javadoc) Method declared on IWizardPage.
-	 */
-	public void setWizard(IWizard newWizard) {
-		super.setWizard(newWizard);
-		if (newWizard instanceof DataModelWizard) {
-			wizard = (DataModelWizard) newWizard;
-		}
-	}
-
-	public IWizardPage getPreviousPage() {
-		return previousPage;
-	}
-
-	public void setPreviousPage(IWizardPage page) {
-		super.setPreviousPage(page);
-		previousPage = page;
-	}
-
-	/**
-	 * Subclass should return the model property names that need to be validated on this page in the
-	 * order that they should present their messages.
-	 * 
-	 * @return
-	 */
-	protected abstract String[] getValidationPropertyNames();
-
-	/**
-	 * Return the top level Composite for this page.
-	 */
-	protected abstract Composite createTopLevelComposite(Composite parent);
-
-	/**
-	 * Set up info pop hooks if set.
-	 */
-	protected void setupInfopop(Control parent) {
-		if (getInfopopID() != null)
-			PlatformUI.getWorkbench().getHelpSystem().setHelp(parent, getInfopopID());
-	}
-
-	/**
-	 * Setup the default values for this page. Subclasses should override to provide appropriate
-	 * defaults.
-	 */
-	protected void setDefaults() {
-		restoreDefaultSettings();
-	}
-
-	/**
-	 * Subclasses should implement this method if they have default settings that have been stored
-	 * and need to be restored.
-	 * 
-	 * @see storeDefaultSettings()
-	 */
-	protected void restoreDefaultSettings() {
-	}
-
-	/**
-	 * Add Listeners to controls at this point to avoid unnecessary events. Subclasses should
-	 * override to add listeners to its controls.
-	 */
-	protected void addListeners() {
-	}
-
-	/**
-	 * The page is being made current and visible. Subclasses may extend.
-	 */
-	protected void enter() {
-		try {
-			// Check to see if we are moving back one page.
-			if (null != wizard && wizard.getPreviousPage(wizard.getPageGroupManager().getCurrentPage()) == this) {
-				wizard.getPageGroupManager().moveBackOnePage();
-			}
-
-			validatePage(showValidationErrorsOnEnter());
-		} finally {
-			isFirstTimeToPage = false;
-		}
-	}
-
-	/**
-	 * The default behavior is to return true unless it is the first time entering this page in
-	 * which case we check to see if there is a previous page and return true if there is not.
-	 * Subclasses should override if they do not want this default behavior.
-	 */
-	protected boolean showValidationErrorsOnEnter() {
-		return !isFirstTimeToPage();
-	}
-
-	/**
-	 * The default behavior is to return true unless it is the first time entering this page in
-	 * which case we check to see if there is a previous page and return true if there is not.
-	 * Subclasses should override if they do not want this default behavior.
-	 * 
-	 * @deprecated - use showValidatoinErrorsOnEnter instead
-	 */
-	protected boolean shouldValidateOnEnter() {
-		return showValidationErrorsOnEnter();
-	}
-
-	/**
-	 * Exiting the page. Subclasses may extend.
-	 */
-	protected void exit() {
-	}
-
-	protected boolean getStatus(Integer key) {
-		return status.hasError(key);
-	}
-
-	/**
-	 * Sent when an event that the receiver has registered for occurs. If a subclass overrides this
-	 * method, it must call super.
-	 * 
-	 * @param event
-	 *            the event which occurred
-	 */
-	public void handleEvent(org.eclipse.swt.widgets.Event event) {
-	}
-
-	/**
-	 * Set the error message for this page based on the last error in the ValidationStatus.
-	 */
-	protected void setErrorMessage() {
-		String error = status.getLastErrMsg();
-		if (error == null) {
-			if (getErrorMessage() != null)
-				setErrorMessage((String) null);
-			String warning = status.getLastWarningMsg();
-			if (warning == null) {
-				if (getMessage() != null && getMessageType() == IMessageProvider.WARNING)
-					setMessage(null, IMessageProvider.WARNING);
-				else {
-					String info = status.getLastInfoMsg();
-					if (info == null) {
-						if (getMessage() != null && getMessageType() == IMessageProvider.INFORMATION)
-							setMessage(null, IMessageProvider.INFORMATION);
-					} else if (!info.equals(getMessage())) {
-						setMessage(info, IMessageProvider.INFORMATION);
-					}
-				}
-			} else if (!warning.equals(getMessage()))
-				setMessage(warning, IMessageProvider.WARNING);
-		} else if (!error.equals(getErrorMessage()))
-							setErrorMessage(error);
-						}
-
-	protected void setErrorStatus(Integer key, String errorMessage) {
-		status.setErrorStatus(key, errorMessage);
-	}
-
-	protected void setWarningStatus(Integer key, String warningMessage) {
-		status.setWarningStatus(key, warningMessage);
-	}
-	
-	protected void setInfoStatus(Integer key, String infoMessage) {
-		status.setInfoStatus(key, infoMessage);
-	}
-
-	protected void setOKStatus(Integer key) {
-		status.setOKStatus(key);
-	}
-
-	/**
-	 * The <code>DialogPage</code> implementation of this <code>IDialogPage</code> method sets
-	 * the control to the given visibility state. Subclasses may extend.
-	 */
-
-	public void setVisible(boolean visible) {
-		super.setVisible(visible);
-		if (visible) {
-			enter();
-		} else
-			exit();
-	}
-
-	/**
-	 * This should be called by the Wizard just prior to running the performFinish operation.
-	 * Subclasses should override to store their default settings.
-	 */
-	public void storeDefaultSettings() {
-	}
-
-	/**
-	 * The page is now being validated. At this time, each control is validated and then the
-	 * controls are updated based on the results in the ValidationStatus which was updated during
-	 * <code>validateControls()</code>. Finally, it will display the last error message and it
-	 * will set the page complete. Subclasses will not typically override this method.
-	 */
-	protected void validatePage() {
-		validatePage(true);
-	}
-
-	protected void validatePage(boolean showMessage) {
-		if (!isValidating) {
-			isValidating = true;
-			try {
-				validateControlsBase();
-				updateControls();
-				if (showMessage)
-					setErrorMessage();
-				setPageComplete(status.getLastErrMsg() == null);
-			} finally {
-				isValidating = false;
-			}
-		}
-	}
-
-	/**
-	 * Validate individual controls. Use validation keys to keep track of errors.
-	 * 
-	 * @see setOKStatus(Integer) and setErrorMessage(Integer, String)
-	 */
-	protected final String validateControlsBase() {
-		if (!validationMap.isEmpty()) {
-			String propName;
-			for (int i = 0; i < validationPropertyNames.length; i++) {
-				propName = validationPropertyNames[i];
-				Integer valKey = (Integer) validationMap.get(propName);
-				if (valKey != null)
-					validateProperty(propName, valKey);
-				if (!getStatus(valKey))
-					return propName;
-			}
-		}
-		return null;
-	}
-
-	/**
-	 * @param propertyName
-	 * @param validationkey
-	 */
-	private void validateProperty(String propertyName, Integer validationKey) {
-		setOKStatus(validationKey);
-		IStatus status1 = model.validateProperty(propertyName);
-		if (!status1.isOK()) {
-			String message = status1.isMultiStatus() ? status1.getChildren()[0].getMessage() : status1.getMessage();
-			switch (status1.getSeverity()) {
-				case IStatus.ERROR :
-					setErrorStatus(validationKey, message);
-					break;
-				case IStatus.WARNING :
-					setWarningStatus(validationKey, message);
-					break;
-				case IStatus.INFO :
-					setInfoStatus(validationKey, message);
-					break;
-			}
-		}
-	}
-
-	/**
-	 * Update the enablement of controls after validation. Sublcasses should check the status of
-	 * validation keys to determine enablement.
-	 */
-	protected void updateControls() {
-	}
-
-	/**
-	 * Gets the isFirstTimeToPage.
-	 * 
-	 * @return Returns a boolean
-	 */
-	protected boolean isFirstTimeToPage() {
-		return isFirstTimeToPage;
-	}
-
-	// protected void setJavaStatusMessage(IStatus javaStatus, Integer statusKey, String message) {
-	// if (javaStatus.getSeverity() == IStatus.WARNING)
-	// setWarningStatus(statusKey, message);
-	// else
-	// setErrorStatus(statusKey, message);
-	// }
-
-	/**
-	 * @param b
-	 */
-	public void setFirstTimeToPage(boolean b) {
-		isFirstTimeToPage = b;
-	}
-
-	/*
-	 * If a property changes that we want to validate, force validation on this page.
-	 * 
-	 * @see org.eclipse.wst.common.frameworks.internal.operation.WTPOperationDataModelListener#propertyChanged(java.lang.String,
-	 *      java.lang.Object, java.lang.Object)
-	 */
-	public void propertyChanged(DataModelEvent event) {
-		String propertyName = event.getPropertyName();
-		if (validationPropertyNames != null && (event.getFlag() == DataModelEvent.VALUE_CHG || (!isPageComplete() && event.getFlag() == DataModelEvent.VALID_VALUES_CHG))) {
-			for (int i = 0; i < validationPropertyNames.length; i++) {
-				if (validationPropertyNames[i].equals(propertyName)) {
-					validatePage(showValidationErrorsOnEnter());
-					break;
-				}
-			}
-		}
-	}
-
-	/**
-	 * @return Returns the model.
-	 */
-	protected IDataModel getDataModel() {
-		return model;
-	}
-
-	public void dispose() {
-		super.dispose();
-		if (synchHelper != null) {
-			synchHelper.dispose();
-			synchHelper = null;
-		}
-	}
-
-	protected String getInfopopID() {
-		return infopopID;
-	}
-
-	public void setInfopopID(String infopopID) {
-		this.infopopID = infopopID;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.frameworks.ui/wtp_ui/org/eclipse/wst/common/frameworks/internal/datamodel/ui/IDMPageGroup.java b/plugins/org.eclipse.wst.common.frameworks.ui/wtp_ui/org/eclipse/wst/common/frameworks/internal/datamodel/ui/IDMPageGroup.java
deleted file mode 100644
index 8f2f412..0000000
--- a/plugins/org.eclipse.wst.common.frameworks.ui/wtp_ui/org/eclipse/wst/common/frameworks/internal/datamodel/ui/IDMPageGroup.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.datamodel.ui;
-
-import java.util.List;
-
-import org.eclipse.wst.common.frameworks.datamodel.IDataModel;
-
-public interface IDMPageGroup 
-{
-  public String getWizardID();
-  
-  public String getPageGroupID();
-  
-  public String getPageGroupInsertionID();
-  
-  public boolean getAllowsExtendedPages();
-  
-  public String getRequiredDataOperationToRun();
-  
-  public List getPages(IDataModel dataModel);
-  
-  public IDMPageHandler getPageHandler( IDataModel dataModel );
-  
-  public IDMPageGroupHandler getPageGroupHandler( IDataModel dataModel );
-}
diff --git a/plugins/org.eclipse.wst.common.frameworks.ui/wtp_ui/org/eclipse/wst/common/frameworks/internal/datamodel/ui/IDMPageGroupHandler.java b/plugins/org.eclipse.wst.common.frameworks.ui/wtp_ui/org/eclipse/wst/common/frameworks/internal/datamodel/ui/IDMPageGroupHandler.java
deleted file mode 100644
index c170e5c..0000000
--- a/plugins/org.eclipse.wst.common.frameworks.ui/wtp_ui/org/eclipse/wst/common/frameworks/internal/datamodel/ui/IDMPageGroupHandler.java
+++ /dev/null
@@ -1,63 +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.ui;
-
-/**
- * 
- * The wizard framework allows page groups to be inserted after other page group.
- * If more than one page group inserts itself after a particular page group it may
- * not be deterministic which page group should follow each other.  This class
- * allows a particular page group to determine the order in which subsequent page
- * groups should be ordered.
- * 
- * For example: A page group T has three page groups X, Y, and Z that have registered
- *              via the wizardPageGroup extension point to follow it.
- *              The wizard framework will call getNextGroup with:
- *              
- *                 T.getNextGroup( null, { "X", "Y", "Z" } )
- *                 
- *              This method should return either "X", "Y", "Z", or null if no page group
- *              should follow.  If "Y" was returned then a subequent call
- *              will be made by the framework with:
- *              
- *                 T.getNextGroup( "Y", { "X", "Y", "Z" } )
- *                 
- *              Again this method should return either "X", "Y", "Z", or null if no page
- *              group should follow this page group "Y".
- *              
- * Note: any page group can have a page group handler associated with it so this method
- *       call is recursive in nature.  For example: the page group Y might have page
- *       groups Y1, Y2, and Y3 following it.  This would result in the following calls:
- *       
- *                 T.getNextGroup( null, { "X", "Y", "Z" } )  // "Y" is selected using Ts handler.
- *                 Y.getNextGroup( null, { "Y1", "Y2", "Y3" } ) // "Y1" is selected using Ys handler.
- *                 
- *                 For this example Y1 has no page groups following it.
- *                 
- *                 T.getNextGroup( "Y", { "X", "Y", "Z" } )  // null is selected using Ts handler.
- *                 
- *                 For this example, the T handler decided that no page group followed Y not even X or Z.
- *
- */
-public interface IDMPageGroupHandler 
-{
-  /**
-   * 
-   * @param currentPageGroupID the current page group ID.  This value will be null the first time 
-   *                           this method is called.
-   * @param pageGroupIDs a list of page group IDs that follow the page group for this handler.
-   * @return returns the page group id that should follow currentPageGroupID, or it
-   * should return null if no page group follows currentPageGroupID.
-   * 
-   */
-  public String getNextPageGroup( String currentPageGroupID, String[] pageGroupIDs );
-}
diff --git a/plugins/org.eclipse.wst.common.frameworks.ui/wtp_ui/org/eclipse/wst/common/frameworks/internal/datamodel/ui/IDMPageHandler.java b/plugins/org.eclipse.wst.common.frameworks.ui/wtp_ui/org/eclipse/wst/common/frameworks/internal/datamodel/ui/IDMPageHandler.java
deleted file mode 100644
index a4419a3..0000000
--- a/plugins/org.eclipse.wst.common.frameworks.ui/wtp_ui/org/eclipse/wst/common/frameworks/internal/datamodel/ui/IDMPageHandler.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.common.frameworks.internal.datamodel.ui;
-
-/**
- * This interface is EXPERIMENTAL and is subject to substantial changes.
- */
-public interface IDMPageHandler {
-
-	/**
-	 * return this as the page name if the expectedNextPageName or expectedPreviousPageName should
-	 * be skipped
-	 */
-	public static final String SKIP_PAGE = "IDMExtendedPageHandler.SKIP_PAGE"; //$NON-NLS-1$
-
-	/**
-	 * prefix this string with the name of the page which occurs before the page that should be
-	 * returned. E.G. suppose your page contributions know about pages A, B and C, and you want the
-	 * to skip pages B and C, when going to the next page from A. To do this, return PAGE_AFTER+C.
-	 * The framework will then ask the wizard for the page that normally comes after page C.
-	 * PAGE_BEFORE works similarly.
-	 */
-	public static final String PAGE_AFTER = "IDMExtendedPageHandler.PAGE_AFTER"; //$NON-NLS-1$
-
-	/**
-	 * same as PAGE_AFTER, except for returing the page before.
-	 */
-	public static final String PAGE_BEFORE = "IDMExtendedPageHandler.PAGE_BEFORE"; //$NON-NLS-1$
-
-	/**
-	 * Return the name of the page that should be next
-	 * 
-	 * @param currentPageName
-	 *            the page the wizard is currently on
-	 * @param expectedNextPageName
-	 *            the page that would normally be next
-	 * @return
-	 */
-	public String getNextPage(String currentPageName, String expectedNextPageName);
-
-	/**
-	 * Return the name of the page that should be previous
-	 * 
-	 * @param currentPageName
-	 *            the page the wizard is currently on
-	 * @param expectedNextPageName
-	 *            the page that would normally be previous
-	 * @return
-	 */
-	public String getPreviousPage(String currentPageName, String expectedPreviousPageName);
-}
diff --git a/plugins/org.eclipse.wst.common.frameworks.ui/wtp_ui/org/eclipse/wst/common/frameworks/internal/datamodel/ui/SimplePageGroup.java b/plugins/org.eclipse.wst.common.frameworks.ui/wtp_ui/org/eclipse/wst/common/frameworks/internal/datamodel/ui/SimplePageGroup.java
deleted file mode 100644
index 0e936ef..0000000
--- a/plugins/org.eclipse.wst.common.frameworks.ui/wtp_ui/org/eclipse/wst/common/frameworks/internal/datamodel/ui/SimplePageGroup.java
+++ /dev/null
@@ -1,102 +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.ui;
-
-import java.util.List;
-import java.util.Set;
-import java.util.Vector;
-
-import org.eclipse.jface.wizard.IWizardPage;
-import org.eclipse.wst.common.frameworks.datamodel.IDataModel;
-
-public class SimplePageGroup implements AddablePageGroup {
-	private String groupID;
-	private String wizardID;
-	private boolean allowExtendedPages;
-	private String requiredDataOperation;
-	private Set    dataModelIDs;
-
-	private IDMPageHandler pageHandler;
-	private IDMPageGroupHandler pageGroupHandler;
-	private Vector pages;
-
-	public SimplePageGroup(String groupID, String wizardID, boolean allowExtendedPages, String requireDataOperation) {
-		this.groupID = groupID;
-		this.wizardID = wizardID;
-		this.allowExtendedPages = allowExtendedPages;
-		this.requiredDataOperation = requireDataOperation;
-		pages = new Vector();
-	}
-
-	public SimplePageGroup(String groupID, String wizardID) {
-		this(groupID, wizardID, true, null);
-	}
-
-	public void addPage(IWizardPage page) {
-		pages.add(page);
-	}
-
-	public void addPages(IWizardPage[] newPages) {
-		for (int index = 0; index < newPages.length; index++) {
-			pages.add(newPages[index]);
-		}
-	}
-
-	public boolean getAllowsExtendedPages() {
-		return allowExtendedPages;
-	}
-
-	public void setPageGroupHandler(IDMPageGroupHandler handler) {
-		pageGroupHandler = handler;
-	}
-
-	public IDMPageGroupHandler getPageGroupHandler(IDataModel dataModel) {
-		return pageGroupHandler;
-	}
-
-	public void setPageHandler(IDMPageHandler handler) {
-		pageHandler = handler;
-	}
-
-	public IDMPageHandler getPageHandler(IDataModel dataModel) {
-		return pageHandler;
-	}
-
-	public List getPages(IDataModel dataModel) {
-		return pages;
-	}
-	
-	public IWizardPage[] getExtendedPages(IDataModel dataModel) {
-		return (IWizardPage[]) pages.toArray(new IWizardPage[0]);
-	}
-
-	public String getPageGroupID() {
-		return groupID;
-	}
-
-	public String getPageGroupInsertionID() {
-		return null;
-	}
-
-	public String getRequiredDataOperationToRun() {
-		return requiredDataOperation;
-	}
-
-	public String getWizardID() {
-		return wizardID;
-	}
-
-	public Set getDataModelIDs() {
-		return dataModelIDs;
-	}
-
-	public void setDataModelIDs(Set dataModelIDs) {
-		this.dataModelIDs = dataModelIDs;
-	}
-}
diff --git a/plugins/org.eclipse.wst.common.frameworks.ui/wtp_ui/org/eclipse/wst/common/frameworks/internal/dialog/ui/ErrorDialog.java b/plugins/org.eclipse.wst.common.frameworks.ui/wtp_ui/org/eclipse/wst/common/frameworks/internal/dialog/ui/ErrorDialog.java
deleted file mode 100644
index 620d136..0000000
--- a/plugins/org.eclipse.wst.common.frameworks.ui/wtp_ui/org/eclipse/wst/common/frameworks/internal/dialog/ui/ErrorDialog.java
+++ /dev/null
@@ -1,99 +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.dialog.ui;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.PlatformUI;
-
-
-/**
- * A dialog to display one or more errors to the user, as contained in an
- * <code>Status</code> object. If an error contains additional detailed
- * information then a Details button is automatically supplied, which shows or
- * hides an error details viewer when pressed by the user.
- *  
- */
-public class ErrorDialog extends MessageDialog
-{
-
-  /**
-   * Creates an error dialog. Note that the dialog will have no visual
-   * representation (no widgets) until it is told to open.
-   * <p>
-   * Normally one should use <code>openError</code> to create and open one of
-   * these. This constructor is useful only if the error object being displayed
-   * contains child items <it>and</it> you need to specify a mask which will
-   * be used to filter the displaying of these children.
-   * </p>
-   * 
-   * @param parentShell
-   *            the shell under which to create this dialog
-   * @param dialogTitle
-   *            the title to use for this dialog, or <code>null</code> to
-   *            indicate that the default title should be used
-   * @param message
-   *            the message to show in this dialog, or <code>null</code> to
-   *            indicate that the error's message should be shown as the
-   *            primary message
-   * @param status
-   *            the error to show to the user
-   * @param displayMask
-   *            the mask to use to filter the displaying of child items, as per
-   *            <code>Status.matches</code>
-   */
-  public ErrorDialog(
-    Shell parentShell,
-    String dialogTitle,
-    String message,
-    IStatus status,
-    int displayMask)
-  {
-    super(parentShell, dialogTitle, message, status, displayMask);
-  }
-
-  /*
-   * (non-Javadoc) This should also be overwritten Method declared on Dialog.
-   */
-  protected void createButtonsForButtonBar(Composite parent)
-  {
-    // create OK and Details buttons
-    createButton(
-      parent,
-      StatusDialogConstants.OK_ID,
-      IDialogConstants.OK_LABEL,
-      true);
-    if (status.isMultiStatus() || status.getException() != null )
-    {
-      detailsButton =
-        createButton(
-          parent,
-          StatusDialogConstants.DETAILS_ID,
-          IDialogConstants.SHOW_DETAILS_LABEL,
-          false);
-    }
-  }
-
-  /*
-   * This is one of the few methods that needs to be overwritten by the
-   * subclasses. The image names can be found in the Dialog class
-   */
-  protected Image getDialogImage()
-  {
-    // create image
-    return PlatformUI.getWorkbench().getDisplay().getSystemImage(SWT.ICON_ERROR);
-  }
-
-}
diff --git a/plugins/org.eclipse.wst.common.frameworks.ui/wtp_ui/org/eclipse/wst/common/frameworks/internal/dialog/ui/InfoDialog.java b/plugins/org.eclipse.wst.common.frameworks.ui/wtp_ui/org/eclipse/wst/common/frameworks/internal/dialog/ui/InfoDialog.java
deleted file mode 100644
index cfc565a..0000000
--- a/plugins/org.eclipse.wst.common.frameworks.ui/wtp_ui/org/eclipse/wst/common/frameworks/internal/dialog/ui/InfoDialog.java
+++ /dev/null
@@ -1,98 +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.dialog.ui;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.PlatformUI;
-
-
-/**
- * A dialog to display one or more errors to the user, as contained in an
- * <code>Status</code> object. If an error contains additional detailed
- * information then a Details button is automatically supplied, which shows or
- * hides an error details viewer when pressed by the user.
- *  
- */
-public class InfoDialog extends MessageDialog
-{
-  /**
-   * Creates an error dialog. Note that the dialog will have no visual
-   * representation (no widgets) until it is told to open.
-   * <p>
-   * Normally one should use <code>openError</code> to create and open one of
-   * these. This constructor is useful only if the error object being displayed
-   * contains child items <it>and</it> you need to specify a mask which will
-   * be used to filter the displaying of these children.
-   * </p>
-   * 
-   * @param parentShell
-   *            the shell under which to create this dialog
-   * @param dialogTitle
-   *            the title to use for this dialog, or <code>null</code> to
-   *            indicate that the default title should be used
-   * @param message
-   *            the message to show in this dialog, or <code>null</code> to
-   *            indicate that the error's message should be shown as the
-   *            primary message
-   * @param status
-   *            the error to show to the user
-   * @param displayMask
-   *            the mask to use to filter the displaying of child items, as per
-   *            <code>Status.matches</code>
-   */
-  public InfoDialog(
-    Shell parentShell,
-    String dialogTitle,
-    String message,
-    IStatus status,
-    int displayMask)
-  {
-    super(parentShell, dialogTitle, message, status, displayMask);
-  }
-
-  /*
-   * (non-Javadoc) This should also be overwritten Method declared on Dialog.
-   */
-  protected void createButtonsForButtonBar(Composite parent)
-  {
-    // create OK and Details buttons
-    createButton(
-      parent,
-      StatusDialogConstants.OK_ID,
-      IDialogConstants.OK_LABEL,
-      true);
-    if (status.isMultiStatus() )
-    {
-      detailsButton =
-        createButton(
-          parent,
-          StatusDialogConstants.DETAILS_ID,
-          IDialogConstants.SHOW_DETAILS_LABEL,
-          false);
-    }
-  }
-
-  /*
-   * This is one of the few methods that needs to be overwritten by the
-   * subclasses. The image names can be found in the Dialog class
-   */
-  protected Image getDialogImage()
-  {
-    // create image
-    return PlatformUI.getWorkbench().getDisplay().getSystemImage(SWT.ICON_INFORMATION);
-  }
-
-}
diff --git a/plugins/org.eclipse.wst.common.frameworks.ui/wtp_ui/org/eclipse/wst/common/frameworks/internal/dialog/ui/MessageDialog.java b/plugins/org.eclipse.wst.common.frameworks.ui/wtp_ui/org/eclipse/wst/common/frameworks/internal/dialog/ui/MessageDialog.java
deleted file mode 100644
index a1915e5..0000000
--- a/plugins/org.eclipse.wst.common.frameworks.ui/wtp_ui/org/eclipse/wst/common/frameworks/internal/dialog/ui/MessageDialog.java
+++ /dev/null
@@ -1,636 +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.dialog.ui;
-
-import java.io.BufferedReader;
-import java.io.PrintWriter;
-import java.io.StringReader;
-import java.io.StringWriter;
-import java.util.Arrays;
-import java.util.Iterator;
-import java.util.Vector;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.resource.JFaceResources;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.List;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.wst.common.environment.Choice;
-
-
-/**
- * A dialog to display one or more errors to the user, as contained in an
- * <code>Status</code> object. If an error contains additional detailed
- * information then a Details button is automatically supplied, which shows or
- * hides an error details viewer when pressed by the user.
- *  
- */
-public class MessageDialog extends Dialog
-{
-  protected Composite parent;
-
-  /**
-   * Reserve room for this many list items.
-   */
-  protected static final int LIST_ITEM_COUNT = 7;
-
-  /**
-   * The Details button.
-   */
-  protected Button detailsButton;
-
-  /**
-   * The title of the dialog.
-   */
-  protected String title;
-
-  /**
-   * The message to display.
-   */
-  protected String message;
-
-  /**
-   * The SWT list control that displays the error details.
-   */
-  protected List list;
-  protected Text details;
-
-  /**
-   * Indicates whether the error details viewer is currently created.
-   */
-  protected boolean listCreated = false;
-  protected boolean detailsCreated = false;
-
-  /**
-   * Filter mask for determining which status items to display.
-   */
-  protected int displayMask = 0xFFFF;
-
-  /**
-   * The main status object.
-   */
-  protected IStatus status;
-  
-  private Point savedSize = null;
-
-  /**
-   * List of the main error object's detailed errors (element type: <code>Status</code>).
-   */
-  protected java.util.List statusList;
-  /**
-   * Creates an error dialog. Note that the dialog will have no visual
-   * representation (no widgets) until it is told to open.
-   * <p>
-   * Normally one should use <code>openError</code> to create and open one of
-   * these. This constructor is useful only if the error object being displayed
-   * contains child items <it>and</it> you need to specify a mask which will
-   * be used to filter the displaying of these children.
-   * </p>
-   * 
-   * @param parentShell
-   *            the shell under which to create this dialog
-   * @param dialogTitle
-   *            the title to use for this dialog, or <code>null</code> to
-   *            indicate that the default title should be used
-   * @param message
-   *            the message to show in this dialog, or <code>null</code> to
-   *            indicate that the error's message should be shown as the
-   *            primary message
-   * @param status
-   *            the error to show to the user
-   * @param displayMask
-   *            the mask to use to filter the displaying of child items, as per
-   *            <code>Status.matches</code>
-   */
-  public MessageDialog(
-    Shell parentShell,
-    String dialogTitle,
-    String message,
-    IStatus status,
-    int displayMask)
-  {
-    super(parentShell);
-      this.title = dialogTitle == null ? JFaceResources.getString("Problem_Occurred") : //$NON-NLS-1$
-  dialogTitle;
-    this.message = message == null ? status.getMessage() : JFaceResources.format("Reason", new Object[] { message, status.getMessage()}); //$NON-NLS-1$
-    this.status = status;
-    statusList = Arrays.asList(status.getChildren());
-    this.displayMask = displayMask;
-    setShellStyle(SWT.DIALOG_TRIM | SWT.RESIZE | SWT.APPLICATION_MODAL);
-  }
-  /*
-   * (non-Javadoc) Method declared on Dialog. Handles the pressing of the Ok or
-   * Details button in this dialog. If the Ok button was pressed then close
-   * this dialog. If the Details button was pressed then toggle the displaying
-   * of the error details area. Note that the Details button will only be
-   * visible if the error being displayed specifies child details.
-   */
-  protected void buttonPressed(int id)
-  {
-    if (id == StatusDialogConstants.DETAILS_ID)
-    { // was the details button pressed?
-      toggleDetailsArea();
-    }
-    else
-    {
-      super.buttonPressed(id);
-    }
-  }
-  /*
-   * (non-Javadoc) Method declared in Window.
-   */
-  protected void configureShell(Shell shell)
-  {
-    super.configureShell(shell);
-    shell.setText(title);
-  }
-  /*
-   * (non-Javadoc) This should also be overwritten Method declared on Dialog.
-   */
-  protected void createButtonsForButtonBar(Composite parent)
-  {
-    // create OK and Details buttons
-    createButton(
-      parent,
-      StatusDialogConstants.OK_ID,
-      IDialogConstants.OK_LABEL,
-      true);
-    if (status.isMultiStatus() || status.getException() != null )
-    {
-      detailsButton =
-        createButton(
-          parent,
-          StatusDialogConstants.DETAILS_ID,
-          IDialogConstants.SHOW_DETAILS_LABEL,
-          false);
-    }
-    
-    parent.setLayoutData( new GridData( GridData.FILL_HORIZONTAL ));
-  }
-
-  /*
-   * This is one of the few methods that needs to be overwritten by the
-   * subclasses. The image names can be found in the Dialog class
-   */
-  protected Image getDialogImage()
-  {
-    // create image
-    return PlatformUI.getWorkbench().getDisplay().getSystemImage(SWT.ICON_INFORMATION);
-  }
-
-  /*
-   * (non-Javadoc) Method declared on Dialog. Creates and returns the contents
-   * of the upper part of the dialog (above the button bar).
-   */
-  protected Control createDialogArea(Composite parent)
-  {
-    this.parent = parent;
-
-    // create composite
-    Composite composite = (Composite) super.createDialogArea(parent);
-    Composite imageAndLabel = new Composite(composite, SWT.NONE);
-    GridLayout gl = new GridLayout();
-    gl.numColumns = 2;
-    imageAndLabel.setLayout(gl);
-    composite.setLayoutData( new GridData( GridData.FILL_HORIZONTAL ));
-    
-    // create image
-    Image image = getDialogImage();
-    if (image != null)
-    {
-      Label label = new Label(imageAndLabel, 0);
-      image.setBackground(label.getBackground());
-      label.setImage(image);
-      label.setLayoutData(
-        new GridData(
-          GridData.HORIZONTAL_ALIGN_CENTER
-            | GridData.VERTICAL_ALIGN_BEGINNING));
-    }
-
-    // create message
-    if (message != null)
-    {
-      Text text = new Text(imageAndLabel, SWT.READ_ONLY|SWT.WRAP);
-      text.setText(message);
-      GridData data =
-        new GridData(
-          GridData.GRAB_HORIZONTAL
-            | GridData.GRAB_VERTICAL
-            | GridData.HORIZONTAL_ALIGN_FILL
-            | GridData.VERTICAL_ALIGN_CENTER);
-      data.widthHint =
-        convertHorizontalDLUsToPixels(
-          IDialogConstants.MINIMUM_MESSAGE_AREA_WIDTH);
-     
-      text.setLayoutData(data);
-      text.setFont(parent.getFont());
-    }
-
-    return composite;
-  }
-
-  protected List createDropDownList(Composite parent)
-  {
-    // create the list
-    list = new List(parent, SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL);
-
-    // fill the list
-    populateList(list);
-
-    GridData data =
-      new GridData(
-        GridData.HORIZONTAL_ALIGN_FILL
-          | GridData.GRAB_HORIZONTAL
-          | GridData.VERTICAL_ALIGN_FILL
-          | GridData.GRAB_VERTICAL);
-    data.heightHint = list.getItemHeight() * LIST_ITEM_COUNT;
-    list.setLayoutData(data);
-    listCreated = true;
-    return list;
-  }
-  protected Text createDropDownDetails(Composite parent)
-  {
-    details = new Text(parent, SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL | SWT.READ_ONLY);
-    //details.setEditable(false);
-    Color color = new Color(parent.getShell().getDisplay(), 255, 255, 255);
-    details.setBackground(color);
-    populateDetails(details, status, 0);
-    GridData data =
-      new GridData(
-        GridData.HORIZONTAL_ALIGN_FILL
-          | GridData.GRAB_HORIZONTAL
-          | GridData.VERTICAL_ALIGN_FILL
-          | GridData.GRAB_VERTICAL);
-    details.setLayoutData(data);
-    details.setSelection(0);
-    detailsCreated = true;
-    return details;
-  }
-  /*
-   * (non-Javadoc) Method declared on Window.
-   */
-  /**
-   * Extends <code>Window.open()</code>. Opens an error dialog to display
-   * the error. If you specified a mask to filter the displaying of these
-   * children, the error dialog will only be displayed if there is at least one
-   * child status matching the mask.
-   */
-  public int open()
-  {
-    if (shouldDisplay(status, displayMask))
-    {
-      return super.open();
-    }
-    return 0;
-  }
-  /**
-   * This essentially does the work of a factory Opens an error dialog to
-   * display the given error. Use this method if the error object being
-   * displayed does not contain child items, or if you wish to display all such
-   * items without filtering.
-   * 
-   * @param parent
-   *            the parent shell of the dialog, or <code>null</code> if none
-   * @param dialogTitle
-   *            the title to use for this dialog, or <code>null</code> to
-   *            indicate that the default title should be used
-   * @param message
-   *            the message to show in this dialog, or <code>null</code> to
-   *            indicate that the error's message should be shown as the
-   *            primary message
-   * @param status
-   *            the error to show to the user
-   * @return the code of the button that was pressed that resulted in this
-   *         dialog closing. This will be <code>Dialog.OK</code> if the OK
-   *         button was pressed, or <code>Dialog.CANCEL</code> if this
-   *         dialog's close window decoration or the ESC key was used.
-   */
-  public static int openMessage(
-    Shell parent,
-    String dialogTitle,
-    String message,
-    IStatus status)
-  {
-
-    switch (status.getSeverity())
-    {
-      case IStatus.INFO :
-        return openInfo(
-          parent,
-          dialogTitle,
-          message,
-          status,
-          IStatus.OK | IStatus.INFO | IStatus.WARNING | IStatus.ERROR);
-      case IStatus.WARNING :
-        return openWarning(
-          parent,
-          dialogTitle,
-          message,
-          status,
-          IStatus.OK | IStatus.INFO | IStatus.WARNING | IStatus.ERROR);
-      default :
-        return openError(
-          parent,
-          dialogTitle,
-          message,
-          status,
-          IStatus.OK | IStatus.INFO | IStatus.WARNING | IStatus.ERROR);
-    }
-
-  }
-
-  public static int openMessage(
-    Shell parent,
-    String dialogTitle,
-    String message,
-    IStatus status,
-    Choice[] options)
-  {
-
-    return openOptions(
-      parent,
-      dialogTitle,
-      message,
-      status,
-      IStatus.OK | IStatus.INFO | IStatus.WARNING | IStatus.ERROR,
-      options);
-  }
-
-  /**
-   * Opens an error dialog to display the given error. Use this method if the
-   * error object being displayed contains child items <it>and</it> you wish
-   * to specify a mask which will be used to filter the displaying of these
-   * children. The error dialog will only be displayed if there is at least one
-   * child status matching the mask.
-   * 
-   * @param parentShell
-   *            the parent shell of the dialog, or <code>null</code> if none
-   * @param dialogTitle
-   *            the title to use for this dialog, or <code>null</code> to
-   *            indicate that the default title should be used
-   * @param message
-   *            the message to show in this dialog, or <code>null</code> to
-   *            indicate that the error's message should be shown as the
-   *            primary message
-   * @param status
-   *            the error to show to the user
-   * @param displayMask
-   *            the mask to use to filter the displaying of child items, as per
-   *            <code>Status.matches</code>
-   * @return the code of the button that was pressed that resulted in this
-   *         dialog closing. This will be <code>Dialog.OK</code> if the OK
-   *         button was pressed, or <code>Dialog.CANCEL</code> if this
-   *         dialog's close window decoration or the ESC key was used.
-   */
-  public static int openError(
-    Shell parentShell,
-    String title,
-    String message,
-    IStatus status,
-    int displayMask)
-  {
-    ErrorDialog dialog =
-      new ErrorDialog(parentShell, title, message, status, displayMask);
-    return dialog.open();
-  }
-
-  public static int openInfo(
-    Shell parentShell,
-    String title,
-    String message,
-    IStatus status,
-    int displayMask)
-  {
-    InfoDialog dialog =
-      new InfoDialog(parentShell, title, message, status, displayMask);
-    return dialog.open();
-  }
-
-  public static int openWarning(
-    Shell parentShell,
-    String title,
-    String message,
-    IStatus status,
-    int displayMask)
-  {
-    WarningDialog dialog =
-      new WarningDialog(parentShell, title, message, status, displayMask);
-    return dialog.open();
-  }
-
-  public static int openOptions(
-    Shell parentShell,
-    String title,
-    String message,
-    IStatus status,
-    int displayMask,
-    Choice[] options)
-  {
-    OptionsDialog dialog =
-      new OptionsDialog(
-        parentShell,
-        title,
-        message,
-        status,
-        displayMask,
-        options);
-    dialog.open();
-    return dialog.getReturnCode();
-  }
-
-  /**
-   * Populates the list using this error dialog's status object. This walks the
-   * child stati of the status object and displays them in a list. The format
-   * for each entry is status_path : status_message If the status's path was
-   * null then it (and the colon) are omitted.
-   */
-  private void populateList(List list)
-  {
-    Iterator enumeration = statusList.iterator();
-    while (enumeration.hasNext())
-    {
-      IStatus childStatus = (IStatus) enumeration.next();
-      populateList(list, childStatus, 0);
-    }
-  }
-  private void populateList(List list, IStatus status, int nesting)
-  {
-    if (!status.matches(displayMask))
-    {
-      return;
-    }
-    StringBuffer sb = new StringBuffer();
-    for (int i = 0; i < nesting; i++)
-    {
-      sb.append("  "); //$NON-NLS-1$
-    }
-    sb.append(status.getMessage());
-    list.add(sb.toString());
-    IStatus[] children = status.getChildren();
-    for (int i = 0; i < children.length; i++)
-    {
-      populateList(list, children[i], nesting + 1);
-    }
-  }
-  private void populateDetails(Text text, IStatus status, int nesting)
-  {
-    if (!status.matches(displayMask))
-    {
-      return;
-    }
-        
-    String    tabChars    = repeat( ' ', nesting * 2 );
-    String    messageLine = tabChars + status.getMessage() + System.getProperty("line.separator"); //$NON-NLS-1$
-    Throwable except      = status.getException();
-    
-    text.append( messageLine );
-    
-    if( except != null )
-    {
-      String[] trace = getStackTrace( except );
-      
-      for( int index = 0; index < trace.length; index++ )
-      {
-        text.append( tabChars + "    " + trace[index] + System.getProperty("line.separator") ); //$NON-NLS-1$ //$NON-NLS-2$
-      }
-    }
-    
-    IStatus[] children = status.getChildren();
-    for (int i = 0; i < children.length; i++)
-    {
-      populateDetails(text, children[i], nesting + 1);
-    }
-  }
-  /**
-   * Returns whether the given status object should be displayed.
-   * 
-   * @param status
-   *            a status object
-   * @param mask
-   *            a mask as per <code>Status.matches</code>
-   * @return <code>true</code> if the given status should be displayed, and
-   *         <code>false</code> otherwise
-   */
-  protected static boolean shouldDisplay(IStatus status, int mask)
-  {
-    IStatus[] children = status.getChildren();
-    if (children == null || children.length == 0)
-    {
-      return status.matches(mask);
-    }
-    for (int i = 0; i < children.length; i++)
-    {
-      if (children[i].matches(mask))
-        return true;
-    }
-    return false;
-  }
-  /**
-   * Toggles the unfolding of the details area. This is triggered by the user
-   * pressing the details button.
-   */
-  private void toggleDetailsArea()
-  {
-    Point windowSize = getShell().getSize();
-    int   newHeight  = -1;
-    
-    if (detailsCreated)
-    {
-      details.dispose();
-      detailsCreated = false;
-      detailsButton.setText(IDialogConstants.SHOW_DETAILS_LABEL);
-      
-      // Without the following computeSize call the setSize call below throws an array out of bounds exception.
-      // Very weird.
-      getContents().computeSize(SWT.DEFAULT, SWT.DEFAULT);
-      
-      newHeight = savedSize.y;
-    }
-    else
-    {
-      if( savedSize == null ) savedSize = windowSize;
-        
-      details = createDropDownDetails((Composite) getContents());
-      detailsButton.setText(IDialogConstants.HIDE_DETAILS_LABEL);
-      newHeight = getContents().computeSize(SWT.DEFAULT, SWT.DEFAULT).y;
-    }
-
-
-    newHeight = newHeight > 400 ? 400 : newHeight;
-    
-    getShell().setSize( new Point(windowSize.x, newHeight) );
-  }
-  
-  private String[] getStackTrace( Throwable exc )
-  {
-    Vector       lines        = new Vector();
-    StringWriter stringWriter = new StringWriter();
-    PrintWriter  printWriter  = new PrintWriter( stringWriter );
-    
-    exc.printStackTrace( printWriter );
-    
-    try
-    {
-      printWriter.close();
-      stringWriter.close();
-    }
-    catch( Exception nestedExc )
-    {
-      return new String[0];
-    }
-    
-    StringReader stringReader = new StringReader( stringWriter.toString() );
-    BufferedReader reader     = new BufferedReader( stringReader );
-    String         line       = null;
-    
-    try
-    {
-      line = reader.readLine();
-    
-      while( line != null )
-      {
-        lines.add( line.trim() );
-        line = reader.readLine();
-      }
-    }
-    catch( Exception nestedExc )
-    {
-      return new String[0];
-    }
-    
-    return (String[])lines.toArray( new String[0] );
-  }
-  
-  private String repeat( char the_char, int count )
-  {
-    StringBuffer buf = new StringBuffer( count );
-
-    for( int index = 0; index < count; index++ )
-    {
-      buf.append( the_char );
-    }
-
-    return buf.toString();
-  }
-  
-}
diff --git a/plugins/org.eclipse.wst.common.frameworks.ui/wtp_ui/org/eclipse/wst/common/frameworks/internal/dialog/ui/OptionsDialog.java b/plugins/org.eclipse.wst.common.frameworks.ui/wtp_ui/org/eclipse/wst/common/frameworks/internal/dialog/ui/OptionsDialog.java
deleted file mode 100644
index 21869b2..0000000
--- a/plugins/org.eclipse.wst.common.frameworks.ui/wtp_ui/org/eclipse/wst/common/frameworks/internal/dialog/ui/OptionsDialog.java
+++ /dev/null
@@ -1,107 +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.dialog.ui;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.wst.common.environment.Choice;
-
-
-/**
- * A dialog to display one or more errors to the user, as contained in an
- * <code>Status</code> object. If an error contains additional detailed
- * information then a Details button is automatically supplied, which shows or
- * hides an error details viewer when pressed by the user.
- *  
- */
-public class OptionsDialog extends MessageDialog
-{
-  private Choice[] choices;
-  private int returnCode_;
-
-  public OptionsDialog(
-    Shell parentShell,
-    String dialogTitle,
-    String message,
-    IStatus status,
-    int displayMask,
-    Choice[] choices)
-  {
-    super(parentShell, dialogTitle, message, status, displayMask);
-    this.choices = choices;
-  }
-
-  /*
-   * (non-Javadoc) This should also be overwritten Method declared on Dialog.
-   */
-  protected void createButtonsForButtonBar(Composite parent)
-  {
-    // create a button for each options
-    for (int i = 0; i < choices.length; i++)
-    {
-      createButton(parent, choices[i].getShortcut(), choices[i].getLabel(), true);
-    }
-    if (status.isMultiStatus() )
-    {
-      detailsButton =
-        createButton(
-          parent,
-          StatusDialogConstants.DETAILS_ID,
-          IDialogConstants.SHOW_DETAILS_LABEL,
-          false);
-    }
-  }
-
-  protected void buttonPressed(int id)
-  {
-    if (id == StatusDialogConstants.DETAILS_ID)
-      // was the Details button pressed?
-      super.buttonPressed(id);
-    else
-    {
-      setReturnCode(id);
-      close();
-    }
-  }
-
-  protected void setReturnCode(int id)
-  {
-    returnCode_ = id;
-  }
-
-  public int getReturnCode()
-  {
-    return returnCode_;
-  }
-  /*
-   * This is one of the few methods that needs to be overwritten by the
-   * subclasses. The image names can be found in the Dialog class
-   */
-  protected Image getDialogImage()
-  {
-    // create image
-    switch (status.getSeverity())
-    {
-      case IStatus.INFO :
-        return PlatformUI.getWorkbench().getDisplay().getSystemImage(SWT.ICON_INFORMATION);
-      case IStatus.WARNING :
-        return PlatformUI.getWorkbench().getDisplay().getSystemImage(SWT.ICON_WARNING);
-      default :
-        return PlatformUI.getWorkbench().getDisplay().getSystemImage(SWT.ICON_ERROR);
-    }
-  }
-
-}
diff --git a/plugins/org.eclipse.wst.common.frameworks.ui/wtp_ui/org/eclipse/wst/common/frameworks/internal/dialog/ui/StatusDialogConstants.java b/plugins/org.eclipse.wst.common.frameworks.ui/wtp_ui/org/eclipse/wst/common/frameworks/internal/dialog/ui/StatusDialogConstants.java
deleted file mode 100644
index e3ca36b..0000000
--- a/plugins/org.eclipse.wst.common.frameworks.ui/wtp_ui/org/eclipse/wst/common/frameworks/internal/dialog/ui/StatusDialogConstants.java
+++ /dev/null
@@ -1,51 +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.dialog.ui;
-
-/**
-* Constants for status dialogs
-*/
-public interface StatusDialogConstants {
-
-  /*
-  * Button ID for the "Yes" button
-  */
-  public static final int YES_ID = 2;
-  /*
-  * Button ID for the "Yes to all" button
-  */
-  public static final int YES_TO_ALL_ID = 4;
-  /*
-  * Button ID for the "Cancel" button
-  */
-  public static final int CANCEL_ID = 1;
-  /*
-  * Button ID for the "OK" button
-  */
-  public static final int OK_ID = 0;
-  /*
-  * Button ID for the "Details" button
-  */
-  public static final int DETAILS_ID = 13;
-
-  /*
-  * Button label for the "Yes" button
-  */
- // public static final String YES_LABEL = EnvironmentPlugin.getInstance().getMessage("%STATUS_DIALOG_YES_LABEL");
-  /*
-  * Button label for the "Yes to all" button
-  */
- // public static final String YES_TO_ALL_LABEL = EnvironmentPlugin.getInstance().getMessage("%STATUS_DIALOG_YES_TO_ALL_LABEL");
-  /*
-  * Button label for the "Cancel" button
-  */
- // public static final String CANCEL_LABEL = EnvironmentPlugin.getInstance().getMessage("%STATUS_DIALOG_CANCEL_LABEL");
-}
diff --git a/plugins/org.eclipse.wst.common.frameworks.ui/wtp_ui/org/eclipse/wst/common/frameworks/internal/dialog/ui/WarningDialog.java b/plugins/org.eclipse.wst.common.frameworks.ui/wtp_ui/org/eclipse/wst/common/frameworks/internal/dialog/ui/WarningDialog.java
deleted file mode 100644
index 6c66d82..0000000
--- a/plugins/org.eclipse.wst.common.frameworks.ui/wtp_ui/org/eclipse/wst/common/frameworks/internal/dialog/ui/WarningDialog.java
+++ /dev/null
@@ -1,103 +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.dialog.ui;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.PlatformUI;
-
-
-/**
- * A dialog to display one or more errors to the user, as contained in an
- * <code>Status</code> object. If an error contains additional detailed
- * information then a Details button is automatically supplied, which shows or
- * hides an error details viewer when pressed by the user.
- *  
- */
-public class WarningDialog extends MessageDialog
-{
-  /**
-   * Creates an error dialog. Note that the dialog will have no visual
-   * representation (no widgets) until it is told to open.
-   * <p>
-   * Normally one should use <code>openError</code> to create and open one of
-   * these. This constructor is useful only if the error object being displayed
-   * contains child items <it>and</it> you need to specify a mask which will
-   * be used to filter the displaying of these children.
-   * </p>
-   * 
-   * @param parentShell
-   *            the shell under which to create this dialog
-   * @param dialogTitle
-   *            the title to use for this dialog, or <code>null</code> to
-   *            indicate that the default title should be used
-   * @param message
-   *            the message to show in this dialog, or <code>null</code> to
-   *            indicate that the error's message should be shown as the
-   *            primary message
-   * @param status
-   *            the error to show to the user
-   * @param displayMask
-   *            the mask to use to filter the displaying of child items, as per
-   *            <code>Status.matches</code>
-   */
-  public WarningDialog(
-    Shell parentShell,
-    String dialogTitle,
-    String message,
-    IStatus status,
-    int displayMask)
-  {
-    super(parentShell, dialogTitle, message, status, displayMask);
-  }
-
-  /*
-   * (non-Javadoc) This should also be overwritten Method declared on Dialog.
-   */
-  protected void createButtonsForButtonBar(Composite parent)
-  {
-    // create OK, Cancel and Details buttons
-    createButton(
-      parent,
-      StatusDialogConstants.OK_ID,
-      IDialogConstants.OK_LABEL,
-      true);
-    createButton(
-      parent,
-      StatusDialogConstants.CANCEL_ID,
-      IDialogConstants.CANCEL_LABEL,
-      false);
-    if (status.isMultiStatus())
-    {
-      detailsButton =
-        createButton(
-          parent,
-          StatusDialogConstants.DETAILS_ID,
-          IDialogConstants.SHOW_DETAILS_LABEL,
-          false);
-    }
-  }
-
-  /*
-   * This is one of the few methods that needs to be overwritten by the
-   * subclasses. The image names can be found in the Dialog class
-   */
-  protected Image getDialogImage()
-  {
-    // create image
-    return PlatformUI.getWorkbench().getDisplay().getSystemImage(SWT.ICON_WARNING);
-  }
-
-}
diff --git a/plugins/org.eclipse.wst.common.frameworks.ui/wtp_ui/org/eclipse/wst/common/frameworks/internal/eclipse/ui/EclipseEnvironment.java b/plugins/org.eclipse.wst.common.frameworks.ui/wtp_ui/org/eclipse/wst/common/frameworks/internal/eclipse/ui/EclipseEnvironment.java
deleted file mode 100644
index f9562a9..0000000
--- a/plugins/org.eclipse.wst.common.frameworks.ui/wtp_ui/org/eclipse/wst/common/frameworks/internal/eclipse/ui/EclipseEnvironment.java
+++ /dev/null
@@ -1,79 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.common.frameworks.internal.eclipse.ui;
-
-import org.eclipse.wst.common.environment.EnvironmentService;
-import org.eclipse.wst.common.environment.IEnvironment;
-import org.eclipse.wst.common.environment.ILog;
-import org.eclipse.wst.common.environment.IStatusHandler;
-import org.eclipse.wst.common.environment.uri.IURIFactory;
-import org.eclipse.wst.common.environment.uri.IURIScheme;
-import org.eclipse.wst.common.environment.uri.SimpleURIFactory;
-
-
-/**
- * This class implements an IEnvironment class for the Eclipse IEnvironment.
- * This IEnvironment currently supports the "platform" protocol and the "file"
- * protocol.
- *
- */
-public class EclipseEnvironment implements IEnvironment
-{
-  private SimpleURIFactory uriFactory_      = null;
-  private IStatusHandler    statusHandler_   = null;
-  private ILog              logger_          = null;
-  
-  public EclipseEnvironment()
-  {
-    this( new EclipseStatusHandler() );  
-  }
-  
-  public EclipseEnvironment( IStatusHandler   statusHandler )
-  {
-    IURIScheme eclipseScheme = EnvironmentService.getEclipseScheme();
-    IURIScheme fileScheme    = EnvironmentService.getFileScheme();
-    
-    uriFactory_      = new SimpleURIFactory();
-    statusHandler_   = statusHandler;
-    
-    uriFactory_.registerScheme( "platform", eclipseScheme ); //$NON-NLS-1$
-    uriFactory_.registerScheme( "file", fileScheme ); //$NON-NLS-1$
-  }
-  
-  /**
-   * @see org.eclipse.wst.common.environment.IEnvironment#getLog()
-   */
-  public ILog getLog()
-  {
-	  if( logger_ == null )
-    {  
-      logger_ = EnvironmentService.getEclipseLog(); 
-    };
-	
-    return logger_;
-  }
-   
-  /**
-   * @see org.eclipse.wst.common.environment.IEnvironment#getStatusHandler()
-   */
-  public IStatusHandler getStatusHandler()
-  {
-    return statusHandler_;
-  }
-
-  /** (non-Javadoc)
-   * @see org.eclipse.wst.common.environment.IEnvironment#getURIFactory()
-   */
-  public IURIFactory getURIFactory()
-  {
-    return uriFactory_;
-  }
-}
diff --git a/plugins/org.eclipse.wst.common.frameworks.ui/wtp_ui/org/eclipse/wst/common/frameworks/internal/eclipse/ui/EclipseStatusHandler.java b/plugins/org.eclipse.wst.common.frameworks.ui/wtp_ui/org/eclipse/wst/common/frameworks/internal/eclipse/ui/EclipseStatusHandler.java
deleted file mode 100644
index a8dc82e..0000000
--- a/plugins/org.eclipse.wst.common.frameworks.ui/wtp_ui/org/eclipse/wst/common/frameworks/internal/eclipse/ui/EclipseStatusHandler.java
+++ /dev/null
@@ -1,133 +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.eclipse.ui;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.wst.common.environment.Choice;
-import org.eclipse.wst.common.environment.StatusException;
-import org.eclipse.wst.common.environment.IStatusHandler;
-import org.eclipse.wst.common.frameworks.internal.dialog.ui.MessageDialog;
-import org.eclipse.wst.common.frameworks.internal.dialog.ui.StatusDialogConstants;
-
-
-/**
- * This is the Eclipse UI version of the IStatusHandler
- */
-public class EclipseStatusHandler implements IStatusHandler
-{
-  private Shell        shell_;
-  
-  public EclipseStatusHandler()
-  {
-    this( new Shell() );
-  }
-
-  public EclipseStatusHandler(Shell shell)
-  {
-    shell_ = shell;
-  }
-  
-  /**
-   * @see org.eclipse.env.common.IStatusHandler#report(org.eclipse.env.common.Status, org.eclipse.env.common.Choice[])
-   */
-  public Choice report(IStatus status, Choice[] choices) 
-  {
-    int result =
-    MessageDialog.openMessage(
-        shell_,
-        Messages.TITLE_WARNING,
-				null,
-				status,
-				choices);
-    for (int i = 0; i < choices.length; i++)
-     {
-      if (choices[i].getShortcut() == result)
-        return choices[i];
-    }
-    
-    return null;
-  }
-
-  /**
-   * @see org.eclipse.env.common.IStatusHandler#report(org.eclipse.env.common.Status)
-   */
-  public void report(IStatus status) throws StatusException
-  {
-    boolean userOk = false;
-    
-    switch (status.getSeverity())
-    {
-      // an error has been reported and we need to stop executing the comming
-      // commands
-      case Status.ERROR :
-      {
-        userOk = reportErrorStatus(status);
-        break;
-      }
-      case Status.WARNING :
-      {
-        userOk = reportWarning(status);
-        break;
-      }     
-      case Status.INFO :
-      {
-        userOk = true;
-        reportInfo(status);
-        break;
-      }
-    }
-    
-    if( !userOk ) throw new StatusException( status );
-  }
-  
-  private boolean reportWarning(IStatus status)
-  {
-    int userResponse =
-      MessageDialog.openMessage(
-        shell_,
-        Messages.TITLE_WARNING,
-        null,
-        status);
-    return (userResponse == StatusDialogConstants.OK_ID);
-  }
-
-  private boolean reportErrorStatus(IStatus status)
-  {
-    MessageDialog.openMessage(
-      shell_,
-      Messages.TITLE_ERROR,
-      null,
-      status);
-    return false;
-  }
-  
-  /**
-   * @see org.eclipse.wst.common.environment.IStatusHandler#reportError(org.eclipse.core.runtime.IStatus)
-   */
-  public void reportError(IStatus status)
-  {
-    reportErrorStatus( status );
-  }
-  
-  /**
-   * @see org.eclipse.wst.common.environment.IStatusHandler#reportInfo(org.eclipse.core.runtime.IStatus)
-   */
-  public void reportInfo(IStatus status)
-  {
-    MessageDialog.openMessage(
-        shell_,
-        Messages.TITLE_INFO,
-        null,
-        status);
-  }
-}
diff --git a/plugins/org.eclipse.wst.common.frameworks.ui/wtp_ui/org/eclipse/wst/common/frameworks/internal/eclipse/ui/Messages.java b/plugins/org.eclipse.wst.common.frameworks.ui/wtp_ui/org/eclipse/wst/common/frameworks/internal/eclipse/ui/Messages.java
deleted file mode 100644
index f5d1103..0000000
--- a/plugins/org.eclipse.wst.common.frameworks.ui/wtp_ui/org/eclipse/wst/common/frameworks/internal/eclipse/ui/Messages.java
+++ /dev/null
@@ -1,25 +0,0 @@
-/***************************************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others. All rights reserved. This program and the
- * accompanying materials are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: IBM Corporation - initial API and implementation
- **************************************************************************************************/
-package org.eclipse.wst.common.frameworks.internal.eclipse.ui;
-
-import org.eclipse.osgi.util.NLS;
-
-public class Messages extends NLS
-{
-  private static final String BUNDLE_NAME = "org.eclipse.wst.common.frameworks.internal.eclipse.ui.environment"; //$NON-NLS-1$
-  
-  public static String TITLE_WARNING;
-  public static String TITLE_ERROR;
-  public static String TITLE_INFO;
-  
-  static
-  {
-    NLS.initializeMessages( BUNDLE_NAME, Messages.class );
-  }
-}
diff --git a/plugins/org.eclipse.wst.common.frameworks.ui/wtp_ui/org/eclipse/wst/common/frameworks/internal/eclipse/ui/environment.properties b/plugins/org.eclipse.wst.common.frameworks.ui/wtp_ui/org/eclipse/wst/common/frameworks/internal/eclipse/ui/environment.properties
deleted file mode 100644
index eefde94..0000000
--- a/plugins/org.eclipse.wst.common.frameworks.ui/wtp_ui/org/eclipse/wst/common/frameworks/internal/eclipse/ui/environment.properties
+++ /dev/null
@@ -1,17 +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
-###############################################################################
-
-TITLE_WARNING=Warning:
-TITLE_ERROR=Error:
-TITLE_INFO=Info:
-
-
-
diff --git a/plugins/org.eclipse.wst.common.frameworks.ui/wtp_ui/org/eclipse/wst/common/frameworks/internal/operation/extensionui/CommonUIPluginConstants.java b/plugins/org.eclipse.wst.common.frameworks.ui/wtp_ui/org/eclipse/wst/common/frameworks/internal/operation/extensionui/CommonUIPluginConstants.java
deleted file mode 100644
index 60b55eb..0000000
--- a/plugins/org.eclipse.wst.common.frameworks.ui/wtp_ui/org/eclipse/wst/common/frameworks/internal/operation/extensionui/CommonUIPluginConstants.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-/*
- * Created on Jan 16, 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.operation.extensionui;
-
-/**
- * @author blancett
- * 
- * To change the template for this generated type comment go to Window - Preferences - Java - Code
- * Generation - Code and Comments
- */
-public interface CommonUIPluginConstants {
-	public static final String PLUGIN_ID = "org.eclipse.wst.common.frameworks.ui"; //$NON-NLS-1$
-
-}
diff --git a/plugins/org.eclipse.wst.common.frameworks.ui/wtp_ui/org/eclipse/wst/common/frameworks/internal/operation/extensionui/DMWizardExtensionFactory.java b/plugins/org.eclipse.wst.common.frameworks.ui/wtp_ui/org/eclipse/wst/common/frameworks/internal/operation/extensionui/DMWizardExtensionFactory.java
deleted file mode 100644
index b9f0cff..0000000
--- a/plugins/org.eclipse.wst.common.frameworks.ui/wtp_ui/org/eclipse/wst/common/frameworks/internal/operation/extensionui/DMWizardExtensionFactory.java
+++ /dev/null
@@ -1,44 +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.operation.extensionui;
-
-import org.eclipse.wst.common.frameworks.datamodel.IDataModel;
-import org.eclipse.wst.common.frameworks.internal.datamodel.ui.DataModelWizardPage;
-import org.eclipse.wst.common.frameworks.internal.datamodel.ui.IDMPageGroupHandler;
-import org.eclipse.wst.common.frameworks.internal.datamodel.ui.IDMPageHandler;
-
-/**
- * This interface is EXPERIMENTAL and is subject to substantial changes.
- */
-public abstract class DMWizardExtensionFactory {
-
-	public DMWizardExtensionFactory() {
-		super();
-	}
-
-	public abstract DataModelWizardPage[] createPageGroup(IDataModel dataModel, String pageGroupID);
-
-	/*
-	 * this is optional
-	 */
-	public IDMPageHandler createPageHandler(IDataModel dataModel, String pageGroupID) 
-	{
-	  return null;
-	}
-		
-	/**
-	 * This page group handler can be optionally overriden.
-	 */
-	public IDMPageGroupHandler createPageGroupHandler( IDataModel dataModel, String pageGroupID )
-	{
-	  return null;
-	}
-}
diff --git a/plugins/org.eclipse.wst.common.frameworks.ui/wtp_ui/org/eclipse/wst/common/frameworks/internal/operation/extensionui/DMWizardPageElement.java b/plugins/org.eclipse.wst.common.frameworks.ui/wtp_ui/org/eclipse/wst/common/frameworks/internal/operation/extensionui/DMWizardPageElement.java
deleted file mode 100644
index ac041c2..0000000
--- a/plugins/org.eclipse.wst.common.frameworks.ui/wtp_ui/org/eclipse/wst/common/frameworks/internal/operation/extensionui/DMWizardPageElement.java
+++ /dev/null
@@ -1,270 +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.operation.extensionui;
-
-import java.util.HashSet;
-import java.util.Set;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.jem.util.logger.proxy.Logger;
-import org.eclipse.wst.common.frameworks.datamodel.IDataModel;
-import org.eclipse.wst.common.frameworks.internal.AbstractRegistryDescriptor;
-import org.eclipse.wst.common.frameworks.internal.datamodel.ui.DataModelWizardPage;
-import org.eclipse.wst.common.frameworks.internal.datamodel.ui.IDMPageGroupHandler;
-import org.eclipse.wst.common.frameworks.internal.datamodel.ui.IDMPageHandler;
-import org.eclipse.wst.common.frameworks.internal.enablement.IdentifiableComparator;
-
-public class DMWizardPageElement extends AbstractRegistryDescriptor implements Comparable {
-	static final String ELEMENT_PAGE_GROUP = "wizardPageGroup"; //$NON-NLS-1$
-	static final String ATT_PAGE_ID = "pageGroupID"; //$NON-NLS-1$
-	static final String ATT_WIZARD_ID = "wizardID"; //$NON-NLS-1$
-	static final String ATT_REQUIRES_DATA_OPERATION_ID = "requiresDataOperationId"; //$NON-NLS-1$
-	static final String ATT_DATA_MODEL_IDS = "dataModelIds"; //$NON-NLS-1$
-	static final String ATT_ALLOWS_EXTENDED_PAGES_AFTER = "allowsExtendedPagesAfter"; //$NON-NLS-1$
-	static final String ATT_PAGE_INSERTION_ID = "pageGroupInsertionID"; //$NON-NLS-1$
-	static final String ELEMENT_FACTORY = "factory"; //$NON-NLS-1$
-
-	protected DMWizardPageFactoryElement wizardPageFactoryElement;
-	protected String pluginID;
-	protected String wizardID;
-	public String pageGroupID;
-	protected String wizardFactoryElement;
-	protected boolean allowsExtendedPagesAfter;
-	protected String requiresDataOperationId;
-	protected Set dataModelIDs;
-	protected String pageInsertionID;
-	private int loadOrder;
-	private static int loadOrderCounter;
-
-
-	private int type;
-
-	public DMWizardPageElement(IConfigurationElement element1) {
-		super(element1);
-		pluginID = element1.getDeclaringExtension().getNamespace();
-		wizardID = element1.getAttribute(ATT_WIZARD_ID);
-		pageGroupID = element1.getAttribute(ATT_PAGE_ID);
-		requiresDataOperationId = element1.getAttribute(ATT_REQUIRES_DATA_OPERATION_ID);
-		dataModelIDs = getDataModelIds( element1 );
-		readAllowsExtendedPageAfter(element1);
-		pageInsertionID = element1.getAttribute(ATT_PAGE_INSERTION_ID);
-		readFactory(element1);
-		validateSettings();
-		loadOrder = loadOrderCounter++;
-	}
-
-  private Set getDataModelIds(IConfigurationElement element )
-  {
-    HashSet ids    = new HashSet();
-    String  idList = element.getAttribute(ATT_DATA_MODEL_IDS);
-    
-    if( idList != null )
-    {
-      String[] dataModelIDs = idList.split( " *"); //$NON-NLS-1$
-    
-      for( int index = 0; index < dataModelIDs.length; index++ )
-      {
-        ids.add( dataModelIDs[index] );  
-      }
-    }
-    
-    return ids;
-  }
-  
-	private void validateSettings() {
-		if (wizardID == null || wizardPageFactoryElement == null) {
-			Logger.getLogger().logError("Incomplete page extension specification."); //$NON-NLS-1$
-		}
-	}
-
-
-	private void readAllowsExtendedPageAfter(IConfigurationElement element1) {
-		String allowsPageAfterValue = element1.getAttribute(ATT_ALLOWS_EXTENDED_PAGES_AFTER);
-		allowsExtendedPagesAfter = allowsPageAfterValue == null ? false : Boolean.valueOf(allowsPageAfterValue).booleanValue();
-	}
-
-	private void readFactory(IConfigurationElement element1) {
-		IConfigurationElement[] factories = element1.getChildren(ELEMENT_FACTORY);
-		if (factories != null && factories.length > 0) {
-			wizardPageFactoryElement = new DMWizardPageFactoryElement(factories[0], pageGroupID);
-		}
-	}
-
-	public IDMPageHandler createPageHandler(IDataModel dataModel) {
-		if (wizardPageFactoryElement != null)
-			return wizardPageFactoryElement.createPageHandler(dataModel);
-		return null;
-	}
-
-	public DataModelWizardPage[] createPageGroup(IDataModel dataModel) {
-		if (wizardPageFactoryElement != null)
-			return wizardPageFactoryElement.createPageGroup(dataModel);
-		return null;
-	}
-
-	public IDMPageGroupHandler createPageGroupHandler(IDataModel dataModel) {
-		return wizardPageFactoryElement == null ? null : wizardPageFactoryElement.createPageGroupHandler(dataModel);
-	}
-
-	public int compareTo(Object o) {
-		return IdentifiableComparator.getInstance().compare(this, o);
-		/*
-		 * if (o == null) return GREATER_THAN; WizardPageElement element = (WizardPageElement) o; if
-		 * (getID() == null && element.getID() == null) return compareLoadOrder(element); if
-		 * (getID() == null) return GREATER_THAN; else if (element.getID() == null) return
-		 * LESS_THAN;
-		 * 
-		 * int priority = getPriority(); int elementPriority =element.getPriority();
-		 * 
-		 * if (priority == elementPriority) return compareLoadOrder(element); if (priority <
-		 * elementPriority) return GREATER_THAN; if (priority > elementPriority) return LESS_THAN;
-		 * return EQUAL;
-		 */
-	}
-
-	/**
-	 * @return
-	 */
-	public boolean allowsExtendedPagesAfter() {
-		return allowsExtendedPagesAfter;
-	}
-
-	/**
-	 * @return
-	 */
-	public String getPluginID() {
-		return pluginID;
-	}
-
-	/**
-	 * @return
-	 */
-	public String getPageID() {
-		return pageGroupID;
-	}
-
-	/**
-	 * @return
-	 */
-	public String getPageInsertionID() {
-		return pageInsertionID;
-	}
-
-	/**
-	 * @return
-	 */
-	public int getType() {
-		return type;
-	}
-
-	/**
-	 * @return
-	 */
-	public int getLoadOrder() {
-		return loadOrder;
-	}
-
-
-	/**
-	 * @return Returns the allowsExtendedPagesAfter.
-	 */
-	public boolean isAllowsExtendedPagesAfter() {
-		return allowsExtendedPagesAfter;
-	}
-
-	/**
-	 * @param allowsExtendedPagesAfter
-	 *            The allowsExtendedPagesAfter to set.
-	 */
-	public void setAllowsExtendedPagesAfter(boolean allowsExtendedPagesAfter) {
-		this.allowsExtendedPagesAfter = allowsExtendedPagesAfter;
-	}
-
-	public String getRequiresDataOperationId() {
-		return requiresDataOperationId;
-	}
-
-
-	public void setRequiresDataOperationId(String dataOperationId) {
-		requiresDataOperationId = dataOperationId;
-	}
-
-	public Set getDataModelIDs() {
-		return dataModelIDs;
-	}
-
-	public void setDataModelID(Set newDataModelIDs) {
-		dataModelIDs = newDataModelIDs;
-	}
-
-	/**
-	 * @return Returns the wizardFactoryElement.
-	 */
-	public String getWizardFactoryElement() {
-		return wizardFactoryElement;
-	}
-
-	/**
-	 * @param wizardFactoryElement
-	 *            The wizardFactoryElement to set.
-	 */
-	public void setWizardFactoryElement(String wizardFactoryElement) {
-		this.wizardFactoryElement = wizardFactoryElement;
-	}
-
-	/**
-	 * @return Returns the wizardID.
-	 */
-	public String getWizardID() {
-		return wizardID;
-	}
-
-	/**
-	 * @param wizardID
-	 *            The wizardID to set.
-	 */
-	public void setWizardID(String wizardID) {
-		this.wizardID = wizardID;
-	}
-
-	/**
-	 * @return Returns the wizardPageFactoryElement.
-	 */
-	public DMWizardPageFactoryElement getWizardPageFactoryElement() {
-		return wizardPageFactoryElement;
-	}
-
-	/**
-	 * @param wizardPageFactoryElement
-	 *            The wizardPageFactoryElement to set.
-	 */
-	public void setWizardPageFactoryElement(DMWizardPageFactoryElement wizardPageFactoryElement) {
-		this.wizardPageFactoryElement = wizardPageFactoryElement;
-	}
-
-
-	/**
-	 * @param pageID
-	 *            The pageID to set.
-	 */
-	public void setPageID(String pageID) {
-		this.pageGroupID = pageID;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.common.frameworks.internal.AbstractRegistryDescriptor#getID()
-	 */
-	public String getID() {
-		return getPageID();
-	}
-
-}
diff --git a/plugins/org.eclipse.wst.common.frameworks.ui/wtp_ui/org/eclipse/wst/common/frameworks/internal/operation/extensionui/DMWizardPageExtensionManager.java b/plugins/org.eclipse.wst.common.frameworks.ui/wtp_ui/org/eclipse/wst/common/frameworks/internal/operation/extensionui/DMWizardPageExtensionManager.java
deleted file mode 100644
index 1e633c5..0000000
--- a/plugins/org.eclipse.wst.common.frameworks.ui/wtp_ui/org/eclipse/wst/common/frameworks/internal/operation/extensionui/DMWizardPageExtensionManager.java
+++ /dev/null
@@ -1,279 +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.operation.extensionui;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Set;
-import java.util.TreeMap;
-import java.util.TreeSet;
-
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IExtensionPoint;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jem.util.RegistryReader;
-import org.eclipse.jem.util.logger.proxy.Logger;
-import org.eclipse.wst.common.frameworks.internal.enablement.EnablementManager;
-import org.eclipse.wst.common.frameworks.internal.ui.WTPCommonUIResourceHandler;
-
-public class DMWizardPageExtensionManager {
-
-	public static final String ORG_ECLIPSE_UI = "org.eclipse.ui"; //$NON-NLS-1$
-
-	protected static DMWizardPageExtensionManager instance = null;
-
-	HashMap wizardPluginIDMap = null;
-
-	TreeMap wizardPageElements = null;
-
-	// private TreeSet wizardExtPageElements = null;
-	List nonSyncedPageElementList = null;
-
-	private WizardPageExtensionReader reader = null;
-
-	private DMWizardPageExtensionManager() {
-		setupWizardPluginIDMap();
-		readFromRegistry();
-		postReadFromRegistry();
-	}
-
-	private void setupWizardPluginIDMap() {
-		wizardPluginIDMap = new HashMap();
-		// get editor plugin and save it to a hash map
-		// Note: editors extension id is different from editor id
-
-		IExtensionPoint[] point = new IExtensionPoint[]{Platform.getExtensionRegistry().getExtensionPoint(ORG_ECLIPSE_UI, "exportWizards"), //$NON-NLS-1$
-					Platform.getExtensionRegistry().getExtensionPoint(ORG_ECLIPSE_UI, "importWizards"), //$NON-NLS-1$
-					Platform.getExtensionRegistry().getExtensionPoint(ORG_ECLIPSE_UI, "newWizards"), //$NON-NLS-1$
-					Platform.getExtensionRegistry().getExtensionPoint("org.eclipse.wst.common.frameworks.ui", "extendableWizard")}; //$NON-NLS-1$ //$NON-NLS-2$
-
-		for (int x = 0; x < point.length; x++) {
-			IConfigurationElement[] elements = point[x].getConfigurationElements();
-			for (int i = 0; i < elements.length; i++) {
-				String wizardID = elements[i].getAttribute("id"); //$NON-NLS-1$
-				String pluginID = elements[i].getDeclaringExtension().getNamespace();
-				wizardPluginIDMap.put(wizardID, pluginID);
-			}
-		}
-	}
-
-	private void readFromRegistry() {
-		wizardPageElements = new TreeMap();
-		// wizardExtPageElements = new TreeSet();
-		nonSyncedPageElementList = new ArrayList();
-		// Read all page extensions into editorPageElements
-		reader = new WizardPageExtensionReader();
-		reader.readRegistry();
-
-	}
-
-	protected class WizardPageExtensionReader extends RegistryReader {
-
-		public WizardPageExtensionReader() {
-			super(CommonUIPluginConstants.PLUGIN_ID, DMWizardPageElement.ELEMENT_PAGE_GROUP);
-		}
-
-		public boolean readElement(IConfigurationElement element) {
-			if (!DMWizardPageElement.ELEMENT_PAGE_GROUP.equals(element.getName()))
-				return false;
-			DMWizardPageElement newElement = new DMWizardPageElement(element);
-
-			// put the element into a hashmap, wizardID as key,
-			// list of page elements as object
-			String wizardID = newElement.getWizardID();
-			if (!wizardPageElements.containsKey(wizardID)) {
-				wizardPageElements.put(wizardID, createPageMapEntry(newElement));
-			} else {
-				TreeMap pageMap = (TreeMap) wizardPageElements.get(wizardID);
-				insertPageElement(pageMap, newElement);
-			}
-
-			return true;
-		}
-
-		public void insertPageElement(TreeMap pageMap, DMWizardPageElement newElement) {
-			if (newElement.pageInsertionID == null) {
-				pageMap.put(newElement, new TreeSet());
-			} else {
-				String elementName = newElement.pageInsertionID;
-				DMWizardPageElement parentElement = getPageElement(elementName, pageMap);
-				insertExtPageElement(pageMap, parentElement, newElement);
-			}
-
-			newElement.getPageInsertionID();
-
-		}
-
-		private void insertExtPageElement(TreeMap pageMap, DMWizardPageElement parentElement, DMWizardPageElement newElement) {
-			if (parentElement == null) {
-				nonSyncedPageElementList.add(newElement);
-				return;
-			}
-			if (!parentElement.allowsExtendedPagesAfter()) {
-				Logger.getLogger().logError(WTPCommonUIResourceHandler.getString(WTPCommonUIResourceHandler.WizardPageExtensionManager_UI_0, new Object[]{parentElement.getPageID()}));
-				Logger.getLogger().logError(WTPCommonUIResourceHandler.getString(WTPCommonUIResourceHandler.WizardPageExtensionManager_UI_1, new Object[]{newElement.getPageID()}));
-				return;
-			}
-			TreeSet set = (TreeSet) pageMap.get(parentElement);
-			set.add(newElement);
-
-			if (newElement.allowsExtendedPagesAfter)
-				pageMap.put(newElement, new TreeSet());
-
-			if (nonSyncedPageElementList.contains(newElement))
-				nonSyncedPageElementList.remove(newElement);
-		}
-
-		private DMWizardPageElement getPageElement(String elementName, TreeMap map) {
-			Set keySet = map.keySet();
-			for (Iterator iter = keySet.iterator(); iter.hasNext();) {
-				DMWizardPageElement element = (DMWizardPageElement) iter.next();
-				if (element.getPageID().equals(elementName))
-					return element;
-			}
-			return null;
-
-		}
-
-		private TreeMap createPageMapEntry(DMWizardPageElement newElement) {
-			TreeMap pageMap = new TreeMap();
-			TreeSet pageExtensionSet = new TreeSet();
-			pageMap.put(newElement, pageExtensionSet);
-			return pageMap;
-
-		}
-
-	}
-
-	public boolean hasExtensionElements(String wizardID) {
-		TreeMap treeMap = (TreeMap) wizardPageElements.get(wizardID);
-		return treeMap.isEmpty();
-	}
-
-	public DMWizardPageElement[] getPageElements(String wizardID) {
-		TreeMap elementMap = (TreeMap) wizardPageElements.get(wizardID);
-		if (elementMap == null || elementMap.isEmpty()) {
-			return new DMWizardPageElement[0];
-		}
-		ArrayList alreadyVistedList = new ArrayList(elementMap.size());
-		Set allPageElementsList = elementMap.keySet();
-		ArrayList orderedPageList = new ArrayList(elementMap.size());
-
-		for (Iterator iter = allPageElementsList.iterator(); iter.hasNext();) {
-			DMWizardPageElement element = (DMWizardPageElement) iter.next();
-			if (alreadyVistedList.contains(element))
-				continue;
-			if (EnablementManager.INSTANCE.getIdentifier(element.getID(), null).isEnabled()) {
-				orderedPageList.add(element);
-				TreeSet treeSet = (TreeSet) elementMap.get(element);
-				if (treeSet != null && !treeSet.isEmpty())
-					flatenTreeSet(treeSet, allPageElementsList, alreadyVistedList, orderedPageList, elementMap);
-			}
-		}
-		return getPageArray(orderedPageList);
-
-	}
-
-	private DMWizardPageElement[] getPageArray(ArrayList orderedPageList) {
-		DMWizardPageElement[] pageElements = new DMWizardPageElement[orderedPageList.size()];
-		for (int i = 0; i < orderedPageList.size(); i++) {
-			pageElements[i] = (DMWizardPageElement) orderedPageList.get(i);
-		}
-		return pageElements;
-	}
-
-	private void flatenTreeSet(TreeSet treeSet, Set allPageElementsList, ArrayList alreadyVistedList, ArrayList orderedPageList, TreeMap elementMap) {
-		for (Iterator iter = treeSet.iterator(); iter.hasNext();) {
-			DMWizardPageElement element = (DMWizardPageElement) iter.next();
-			if (alreadyVistedList.contains(element)) {
-				Logger.getLogger().logError(WTPCommonUIResourceHandler.getString(WTPCommonUIResourceHandler.WizardPageExtensionManager_UI_2, new Object[]{element.getPageID(), DMWizardPageElement.ATT_PAGE_INSERTION_ID})); 
-				return;
-			}
-			if (allPageElementsList.contains(element)) {
-				TreeSet set = (TreeSet) elementMap.get(element);
-				orderedPageList.add(element);
-				alreadyVistedList.add(element);
-				flatenTreeSet(set, allPageElementsList, alreadyVistedList, orderedPageList, elementMap);
-			} else {
-				orderedPageList.add(element);
-				alreadyVistedList.add(element);
-			}
-
-		}
-
-	}
-
-	// if child elements are read in before parent element. Do post read.
-	protected ArrayList listRemoveObjects;
-
-	private void postReadFromRegistry() {
-		listRemoveObjects = new ArrayList(nonSyncedPageElementList.size());
-		for (int i = 0; i < nonSyncedPageElementList.size(); i++) {
-			DMWizardPageElement element = (DMWizardPageElement) nonSyncedPageElementList.get(i);
-			TreeMap pageMap = (TreeMap) wizardPageElements.get(element.wizardID);
-			if (element.pageInsertionID == null) {
-				addToFirstAvialiable(pageMap, element);
-			} else if (reader != null && pageMap != null)
-				reader.insertPageElement(pageMap, element);
-		}
-		nonSyncedPageElementList.removeAll(listRemoveObjects);
-		if (!nonSyncedPageElementList.isEmpty())
-			logMissingClassError();
-		nonSyncedPageElementList.clear();
-
-	}
-
-	/**
-	 * @param pageMap
-	 * @param element
-	 */
-	private void addToFirstAvialiable(TreeMap pageMap, DMWizardPageElement newElement) {
-		boolean insertNotFound = true;
-		for (Iterator iter = pageMap.keySet().iterator(); iter.hasNext();) {
-			DMWizardPageElement element = (DMWizardPageElement) iter.next();
-			if (element.allowsExtendedPagesAfter) {
-				TreeSet set = (TreeSet) pageMap.get(element);
-				set.add(newElement);
-				listRemoveObjects.add(newElement);
-				return;
-			}
-		}
-		if (insertNotFound) {
-			Logger logger = Logger.getLogger();
-			logger.logError(WTPCommonUIResourceHandler.WizardPageExtensionManager_UI_3);
-		}
-
-	}
-
-	private void logMissingClassError() {
-		Logger logger = Logger.getLogger();
-		for (int i = 0; i < nonSyncedPageElementList.size(); i++) {
-			DMWizardPageElement element = (DMWizardPageElement) nonSyncedPageElementList.get(i);
-			logger.logError(WTPCommonUIResourceHandler.getString(WTPCommonUIResourceHandler.WizardPageExtensionManager_UI_4, new Object[]{element.pageInsertionID, element.getPageID(), element.pluginID}));
-		}
-		nonSyncedPageElementList.clear();
-
-	}
-
-	/**
-	 * Gets the instance.
-	 * 
-	 * @return Returns a EjbPageExtensionRegistry
-	 */
-	public static DMWizardPageExtensionManager getInstance() {
-		if (instance == null) {
-			instance = new DMWizardPageExtensionManager();
-		}
-		return instance;
-	}
-}
diff --git a/plugins/org.eclipse.wst.common.frameworks.ui/wtp_ui/org/eclipse/wst/common/frameworks/internal/operation/extensionui/DMWizardPageFactoryElement.java b/plugins/org.eclipse.wst.common.frameworks.ui/wtp_ui/org/eclipse/wst/common/frameworks/internal/operation/extensionui/DMWizardPageFactoryElement.java
deleted file mode 100644
index 17a766c..0000000
--- a/plugins/org.eclipse.wst.common.frameworks.ui/wtp_ui/org/eclipse/wst/common/frameworks/internal/operation/extensionui/DMWizardPageFactoryElement.java
+++ /dev/null
@@ -1,96 +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 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.operation.extensionui;
-
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.jem.util.logger.proxy.Logger;
-import org.eclipse.wst.common.frameworks.datamodel.IDataModel;
-import org.eclipse.wst.common.frameworks.internal.ConfigurationElementWrapper;
-import org.eclipse.wst.common.frameworks.internal.datamodel.ui.DataModelWizardPage;
-import org.eclipse.wst.common.frameworks.internal.datamodel.ui.IDMPageGroupHandler;
-import org.eclipse.wst.common.frameworks.internal.datamodel.ui.IDMPageHandler;
-
-/**
- * @author schacher
- * 
- * To change the template for this generated type comment go to Window>Preferences>Java>Code
- * Generation>Code and Comments
- */
-public class DMWizardPageFactoryElement extends ConfigurationElementWrapper {
-
-	static final String ATT_CLASS_NAME = "className"; //$NON-NLS-1$
-
-	protected String className;
-	protected DMWizardExtensionFactory wizardPageFactory;
-	protected boolean isPageFactoryInitialized;
-	protected String pageGroupID;
-
-	/**
-	 * @param element
-	 */
-	public DMWizardPageFactoryElement(IConfigurationElement element, String pageGroupID) {
-		super(element);
-		className = element.getAttribute(ATT_CLASS_NAME);
-		this.pageGroupID = pageGroupID;
-	}
-
-	public IDMPageHandler createPageHandler(IDataModel dataModel) {
-		if (!isPageFactoryInitialized)
-			initPageFactory();
-		if (wizardPageFactory == null)
-			return null;
-
-		IDMPageHandler handler = wizardPageFactory.createPageHandler(dataModel, pageGroupID);
-		return handler;
-	}
-
-	public DataModelWizardPage[] createPageGroup(IDataModel dataModel) {
-		if (!isPageFactoryInitialized)
-			initPageFactory();
-
-		if (wizardPageFactory == null)
-			return null;
-
-		DataModelWizardPage[] pages = wizardPageFactory.createPageGroup(dataModel, pageGroupID);
-		
-		return pages;
-	}
-
-	public IDMPageGroupHandler createPageGroupHandler( IDataModel dataModel )
-	{
-	  if (!isPageFactoryInitialized) initPageFactory();
-		
-	  if( wizardPageFactory == null ) return null;
-	  
-	  return wizardPageFactory.createPageGroupHandler( dataModel, pageGroupID );
-	}
-		
-	private void initPageFactory() {
-		try {
-			wizardPageFactory = (DMWizardExtensionFactory) element.createExecutableExtension(ATT_CLASS_NAME);
-		} catch (CoreException e) {
-			Logger.getLogger().logError("Error getting page factory: " + className); //$NON-NLS-1$ 
-			Logger.getLogger().logError(e);
-		} finally {
-			isPageFactoryInitialized = true;
-		}
-	}
-
-
-}
diff --git a/plugins/org.eclipse.wst.common.frameworks.ui/wtp_ui/org/eclipse/wst/common/frameworks/internal/operation/extensionui/DataModelWizardExtensionReader.java b/plugins/org.eclipse.wst.common.frameworks.ui/wtp_ui/org/eclipse/wst/common/frameworks/internal/operation/extensionui/DataModelWizardExtensionReader.java
deleted file mode 100644
index 5ce7b73..0000000
--- a/plugins/org.eclipse.wst.common.frameworks.ui/wtp_ui/org/eclipse/wst/common/frameworks/internal/operation/extensionui/DataModelWizardExtensionReader.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.operation.extensionui;
-
-import java.util.HashMap;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.jem.util.RegistryReader;
-import org.eclipse.jem.util.logger.proxy.Logger;
-import org.eclipse.wst.common.frameworks.datamodel.IDataModel;
-import org.eclipse.wst.common.frameworks.internal.datamodel.ui.DataModelWizard;
-import org.eclipse.wst.common.frameworks.internal.ui.WTPUIPlugin;
-
-public class DataModelWizardExtensionReader extends RegistryReader {
-
-	private static final String EXTENSION = "DataModelWizardExtension"; //$NON-NLS-1$
-	private static final String ELEMENT = "DataModelWizard"; //$NON-NLS-1$
-	private static final String ATTRIBUTE_ID = "id"; //$NON-NLS-1$
-	private static final String ATTRIBUTE_CLASS = "class"; //$NON-NLS-1$
-
-	private HashMap extensions;
-
-	public DataModelWizardExtensionReader() {
-		super(WTPUIPlugin.PLUGIN_ID, EXTENSION);
-	}
-
-	public boolean readElement(IConfigurationElement element) {
-		if (!element.getName().equals(ELEMENT))
-			return false;
-		String id = element.getAttribute(ATTRIBUTE_ID);
-		if (null == id || id.trim().length() == 0) {
-			Logger.getLogger().logError(new RuntimeException("Extension:" + EXTENSION + " Element:" + 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) {
-			Logger.getLogger().logError(new RuntimeException("Extension:" + EXTENSION + " Element:" + ELEMENT + " is missing " + ATTRIBUTE_CLASS)); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-		}
-		addExtension(id, element);
-		return true;
-	}
-
-	private void addExtension(String id, IConfigurationElement element) {
-		if (extensions.containsKey(id)) {
-			Logger.getLogger().logError(new RuntimeException("Duplicate " + ELEMENT + " " + ATTRIBUTE_ID + " " + id)); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-		}
-		extensions.put(id, element);
-	}
-
-	protected IConfigurationElement getExtension(String id) {
-		if (extensions == null) {
-			extensions = new HashMap();
-			readRegistry();
-		}
-		IConfigurationElement element = (IConfigurationElement) extensions.get(id);
-		if (null == element) {
-			throw new RuntimeException("Extension:" + EXTENSION + " Element:" + ELEMENT + " not found for " + ATTRIBUTE_ID + ": " + id); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
-		}
-		return element;
-	}
-
-	public DataModelWizard getWizard(IDataModel dataModel) {
-		DataModelWizard wizard = null;
-		IConfigurationElement element = getExtension(dataModel.getID());
-
-		try {
-			wizard = (DataModelWizard) element.createExecutableExtension(ATTRIBUTE_CLASS);
-			wizard.setDataModel(dataModel);
-		} catch (CoreException e) {
-			// TODO Auto-generated catch block
-			e.printStackTrace();
-		}
-
-		return wizard;
-	}
-}
diff --git a/plugins/org.eclipse.wst.common.frameworks.ui/wtp_ui/org/eclipse/wst/common/frameworks/internal/operation/extensionui/ExtensibleViewRegistry.java b/plugins/org.eclipse.wst.common.frameworks.ui/wtp_ui/org/eclipse/wst/common/frameworks/internal/operation/extensionui/ExtensibleViewRegistry.java
deleted file mode 100644
index c6aee2c..0000000
--- a/plugins/org.eclipse.wst.common.frameworks.ui/wtp_ui/org/eclipse/wst/common/frameworks/internal/operation/extensionui/ExtensibleViewRegistry.java
+++ /dev/null
@@ -1,177 +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.operation.extensionui;
-
-import java.util.HashMap;
-import java.util.Map;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.jem.util.RegistryReader;
-import org.eclipse.wst.common.frameworks.internal.ui.WTPUIPlugin;
-
-
-/**
- * @author mdelder
- */
-public class ExtensibleViewRegistry extends RegistryReader {
-
-	private static ExtensibleViewRegistry INSTANCE = null;
-	private Map extendedViewerMap = null;
-	private Map descriptorMap = null;
-
-	protected interface Elements {
-		public static final String EXTENDED_VIEWER = "extendedViewer"; //$NON-NLS-1$
-		public static final String VIEWER_ID = "viewerID"; //$NON-NLS-1$
-		public static final String PARENT_VIEWER_ID = "parentViewerID"; //$NON-NLS-1$
-		public static final String FACTORY_CLASS = "factoryClass"; //$NON-NLS-1$
-		public static final String ICON = "icon"; //$NON-NLS-1$
-		public static final String LABEL = "label"; //$NON-NLS-1$
-		public static final String FUNCTION_GROUP_ID = "functionGroupID"; //$NON-NLS-1$
-	}
-
-	/**
-	 *  
-	 */
-	private ExtensibleViewRegistry() {
-		super(WTPUIPlugin.PLUGIN_ID, WTPUIPlugin.EXTENDED_VIEWER_REGISTRY_EXTENSION_POINT);
-	}
-
-	public static ExtensibleViewRegistry getInstance() {
-		if (INSTANCE == null) {
-			INSTANCE = new ExtensibleViewRegistry();
-			INSTANCE.readRegistry();
-		}
-		return INSTANCE;
-	}
-
-	public Descriptor getDescriptor(String viewerID) {
-		return (Descriptor) getDescriptorMap().get(viewerID);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.internal.registry.RegistryReader#readElement(org.eclipse.core.runtime.IConfigurationElement)
-	 */
-	public boolean readElement(IConfigurationElement element) {
-		if (element.getName().equals(Elements.EXTENDED_VIEWER)) {
-			Descriptor descriptor = new Descriptor(element);
-			getDescriptorMap().put(descriptor.getViewerID(), descriptor);
-			return true;
-		}
-		return false;
-	}
-
-	/**
-	 * @return Returns the extendedViewerMap.
-	 */
-	protected Map getExtendedViewerMap() {
-		if (extendedViewerMap == null)
-			extendedViewerMap = new HashMap();
-		return extendedViewerMap;
-	}
-
-	/**
-	 * @return Returns the descriptorMap.
-	 */
-	protected Map getDescriptorMap() {
-		if (descriptorMap == null)
-			descriptorMap = new HashMap();
-		return descriptorMap;
-	}
-
-	public class Descriptor {
-
-		private String viewerID = null;
-		private String parentViewerID = null;
-		private String factoryClass = null;
-		private String icon = null;
-		private String label = null;
-		private String functionGroupID = null;
-
-		private String toStringCache = null;
-		private IConfigurationElement element = null;
-
-		/**
-		 *  
-		 */
-		public Descriptor(IConfigurationElement element) {
-			this.element = element;
-
-			this.viewerID = this.element.getAttribute(ExtensibleViewRegistry.Elements.VIEWER_ID);
-			this.parentViewerID = this.element.getAttribute(ExtensibleViewRegistry.Elements.PARENT_VIEWER_ID);
-			this.factoryClass = this.element.getAttribute(ExtensibleViewRegistry.Elements.FACTORY_CLASS);
-			this.icon = this.element.getAttribute(ExtensibleViewRegistry.Elements.ICON);
-			this.label = this.element.getAttribute(ExtensibleViewRegistry.Elements.LABEL);
-			this.functionGroupID = this.element.getAttribute(ExtensibleViewRegistry.Elements.FUNCTION_GROUP_ID);
-		}
-
-		public IExtensibleViewFactory createFactoryInstance() {
-			IExtensibleViewFactory factoryInstance = null;
-			try {
-				factoryInstance = (IExtensibleViewFactory) this.element.createExecutableExtension(getFactoryClass());
-			} catch (CoreException e) {
-				WTPUIPlugin.getLogger().logError(e);
-			}
-			return factoryInstance;
-		}
-
-		/**
-		 * @return Returns the factoryClass.
-		 */
-		public String getFactoryClass() {
-			return factoryClass;
-		}
-
-		/**
-		 * @return Returns the functionGroupID.
-		 */
-		public String getFunctionGroupID() {
-			return functionGroupID;
-		}
-
-		/**
-		 * @return Returns the icon.
-		 */
-		public String getIcon() {
-			return icon;
-		}
-
-		/**
-		 * @return Returns the label.
-		 */
-		public String getLabel() {
-			return label;
-		}
-
-		/**
-		 * @return Returns the parentViewerID.
-		 */
-		public String getParentViewerID() {
-			return parentViewerID;
-		}
-
-		/**
-		 * @return Returns the viewerID.
-		 */
-		public String getViewerID() {
-			return viewerID;
-		}
-
-		public String toString() {
-			if (toStringCache == null)
-				toStringCache = "ExtensibleViewRegistry.Info [viewerID=\"" + getViewerID() + "\",parentViewerID=\"" + getParentViewerID() + "\",factoryClass=" + getFactoryClass() + "\",functionGroupID=\"" + getFunctionGroupID() + "\"]"; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$
-			return toStringCache;
-		}
-	}
-
-}
diff --git a/plugins/org.eclipse.wst.common.frameworks.ui/wtp_ui/org/eclipse/wst/common/frameworks/internal/operation/extensionui/IExtensibleViewFactory.java b/plugins/org.eclipse.wst.common.frameworks.ui/wtp_ui/org/eclipse/wst/common/frameworks/internal/operation/extensionui/IExtensibleViewFactory.java
deleted file mode 100644
index 261938b..0000000
--- a/plugins/org.eclipse.wst.common.frameworks.ui/wtp_ui/org/eclipse/wst/common/frameworks/internal/operation/extensionui/IExtensibleViewFactory.java
+++ /dev/null
@@ -1,21 +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.operation.extensionui;
-
-/**
- * @author mdelder
- */
-public interface IExtensibleViewFactory {
-
-
-
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.frameworks.ui/wtp_ui/org/eclipse/wst/common/frameworks/internal/operation/extensionui/IOperationNode.java b/plugins/org.eclipse.wst.common.frameworks.ui/wtp_ui/org/eclipse/wst/common/frameworks/internal/operation/extensionui/IOperationNode.java
deleted file mode 100644
index 747b5ca..0000000
--- a/plugins/org.eclipse.wst.common.frameworks.ui/wtp_ui/org/eclipse/wst/common/frameworks/internal/operation/extensionui/IOperationNode.java
+++ /dev/null
@@ -1,48 +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 5, 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.operation.extensionui;
-
-/**
- * @author mdelder
- * 
- * TODO To change the template for this generated type comment go to Window - Preferences - Java -
- * Code Generation - Code and Comments
- */
-public interface IOperationNode {
-
-	public IOperationNode[] getChildren();
-
-	public boolean isChecked();
-
-	/**
-	 * Same as calling setChecked(checked, true)
-	 * 
-	 * @param checked
-	 */
-	public void setChecked(boolean checked);
-
-	public String getName();
-
-	public String getDescription();
-
-	public IOperationNode getParent();
-
-	/**
-	 * @return
-	 */
-	public boolean isAlwaysExecute();
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.frameworks.ui/wtp_ui/org/eclipse/wst/common/frameworks/internal/ui/AbstractWTPUIPlugin.java b/plugins/org.eclipse.wst.common.frameworks.ui/wtp_ui/org/eclipse/wst/common/frameworks/internal/ui/AbstractWTPUIPlugin.java
deleted file mode 100644
index 583f298..0000000
--- a/plugins/org.eclipse.wst.common.frameworks.ui/wtp_ui/org/eclipse/wst/common/frameworks/internal/ui/AbstractWTPUIPlugin.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-/*
- * Created on Dec 10, 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.ui;
-
-import java.util.ResourceBundle;
-
-import org.eclipse.jem.util.logger.proxy.Logger;
-import org.eclipse.jem.util.logger.proxyrender.DefaultPluginTraceRenderer;
-import org.eclipse.jem.util.logger.proxyrender.IMsgLogger;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-import org.osgi.framework.BundleContext;
-
-public abstract class AbstractWTPUIPlugin extends AbstractUIPlugin implements IMsgLogger {
-	protected static Logger logger = null;
-	public ResourceBundle resourceBundle;
-	protected static AbstractWTPUIPlugin instance = null; 
-
-	/**
-	 * @param descriptor
-	 */
-	public AbstractWTPUIPlugin() {
-		super();
-		instance = this;
-	}
-
-	public Logger getMsgLogger() {
-		if (logger == null) {
-			logger = Logger.getLogger(getPluginID());
-			setRenderer(logger);
-		}
-		return logger;
-	}
-
-	public abstract String getPluginID();
-
-	/**
-	 * @param aLogger
-	 */
-	protected void setRenderer(Logger aLogger) {
-		new DefaultPluginTraceRenderer(aLogger);
-	}
-	
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.core.runtime.Plugin#startup()
-	 */
-	public void start(BundleContext context) throws Exception  {
-		super.start(context);
-	}
-}
diff --git a/plugins/org.eclipse.wst.common.frameworks.ui/wtp_ui/org/eclipse/wst/common/frameworks/internal/ui/ClosableWizardDialog.java b/plugins/org.eclipse.wst.common.frameworks.ui/wtp_ui/org/eclipse/wst/common/frameworks/internal/ui/ClosableWizardDialog.java
deleted file mode 100644
index 7316c8b..0000000
--- a/plugins/org.eclipse.wst.common.frameworks.ui/wtp_ui/org/eclipse/wst/common/frameworks/internal/ui/ClosableWizardDialog.java
+++ /dev/null
@@ -1,41 +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 Mar 24, 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.ui;
-
-import org.eclipse.jface.wizard.IWizard;
-import org.eclipse.jface.wizard.WizardDialog;
-import org.eclipse.swt.widgets.Shell;
-
-/**
- * @author DABERG
- * 
- * To change the template for this generated type comment go to Window>Preferences>Java>Code
- * Generation>Code and Comments
- */
-public class ClosableWizardDialog extends WizardDialog {
-	/**
-	 * @param parentShell
-	 * @param newWizard
-	 */
-	public ClosableWizardDialog(Shell parentShell, IWizard newWizard) {
-		super(parentShell, newWizard);
-	}
-
-	public void finishAndClose() {
-		super.finishPressed();
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.frameworks.ui/wtp_ui/org/eclipse/wst/common/frameworks/internal/ui/DMPageGroupElementImpl.java b/plugins/org.eclipse.wst.common.frameworks.ui/wtp_ui/org/eclipse/wst/common/frameworks/internal/ui/DMPageGroupElementImpl.java
deleted file mode 100644
index 22caa6d..0000000
--- a/plugins/org.eclipse.wst.common.frameworks.ui/wtp_ui/org/eclipse/wst/common/frameworks/internal/ui/DMPageGroupElementImpl.java
+++ /dev/null
@@ -1,67 +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.ui;
-
-import java.util.Arrays;
-import java.util.List;
-import java.util.Set;
-
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.wst.common.frameworks.datamodel.IDataModel;
-import org.eclipse.wst.common.frameworks.internal.datamodel.ui.IDMPageGroup;
-import org.eclipse.wst.common.frameworks.internal.datamodel.ui.IDMPageGroupHandler;
-import org.eclipse.wst.common.frameworks.internal.datamodel.ui.IDMPageHandler;
-import org.eclipse.wst.common.frameworks.internal.operation.extensionui.DMWizardPageElement;
-
-public class DMPageGroupElementImpl implements IDMPageGroup {
-	private DMWizardPageElement pageElement;
-
-	public DMPageGroupElementImpl(IConfigurationElement element) {
-		pageElement = new DMWizardPageElement(element);
-	}
-
-	public boolean getAllowsExtendedPages() {
-		return pageElement.allowsExtendedPagesAfter();
-	}
-
-	public String getRequiredDataOperationToRun() {
-		return pageElement.getRequiresDataOperationId();
-	}
-
-	public Set getDataModelIDs() {
-		return pageElement.getDataModelIDs();
-	}
-
-	public IDMPageGroupHandler getPageGroupHandler(IDataModel dataModel) {
-		return pageElement.createPageGroupHandler(dataModel);
-	}
-
-	public List getPages(IDataModel dataModel){
-		return Arrays.asList(pageElement.createPageGroup(dataModel));
-	}
-	
-	public IDMPageHandler getPageHandler(IDataModel dataModel) {
-		return pageElement.createPageHandler(dataModel);
-	}
-
-	public String getPageGroupID() {
-		return pageElement.getPageID();
-	}
-
-	public String getPageGroupInsertionID() {
-		return pageElement.getPageInsertionID();
-	}
-
-	public String getWizardID() {
-		return pageElement.getWizardID();
-	}
-
-}
diff --git a/plugins/org.eclipse.wst.common.frameworks.ui/wtp_ui/org/eclipse/wst/common/frameworks/internal/ui/DisplayUtility.java b/plugins/org.eclipse.wst.common.frameworks.ui/wtp_ui/org/eclipse/wst/common/frameworks/internal/ui/DisplayUtility.java
deleted file mode 100644
index 647f58e..0000000
--- a/plugins/org.eclipse.wst.common.frameworks.ui/wtp_ui/org/eclipse/wst/common/frameworks/internal/ui/DisplayUtility.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 Apr 19, 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.ui;
-
-import org.eclipse.swt.widgets.Display;
-
-/**
- * @author mdelder
- */
-public class DisplayUtility {
-
-	public static void asyncExec(Runnable runnable) {
-
-		Display d = Display.getCurrent();
-		if (d == null)
-			Display.getDefault().asyncExec(runnable);
-		else
-			runnable.run();
-
-	}
-
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.frameworks.ui/wtp_ui/org/eclipse/wst/common/frameworks/internal/ui/ErrorDialog.java b/plugins/org.eclipse.wst.common.frameworks.ui/wtp_ui/org/eclipse/wst/common/frameworks/internal/ui/ErrorDialog.java
deleted file mode 100644
index 6c24426..0000000
--- a/plugins/org.eclipse.wst.common.frameworks.ui/wtp_ui/org/eclipse/wst/common/frameworks/internal/ui/ErrorDialog.java
+++ /dev/null
@@ -1,191 +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.ui;
-
-import java.io.ByteArrayOutputStream;
-import java.io.IOException;
-import java.io.PrintStream;
-
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.SWTError;
-import org.eclipse.swt.SWTException;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Text;
-
-/**
- * Added a Details button to the MessageDialog to show the exception stack trace.
- * 
- * Borrowed from an eclipse InternalErrorDialog
- */
-public class ErrorDialog extends MessageDialog {
-	protected static final String[] LABELS_OK = {IDialogConstants.OK_LABEL};
-	protected static final String[] LABELS_OK_CANCEL = {IDialogConstants.OK_LABEL, IDialogConstants.CANCEL_LABEL};
-	protected static final String[] LABELS_OK_DETAILS = {IDialogConstants.OK_LABEL, IDialogConstants.SHOW_DETAILS_LABEL};
-	protected static final String[] LABELS_OK_CANCEL_DETAILS = {IDialogConstants.OK_LABEL, IDialogConstants.CANCEL_LABEL, IDialogConstants.SHOW_DETAILS_LABEL};
-	private Throwable detail;
-	private int detailButtonID = -1;
-	private Text text;
-	private String message;
-	//Workaround. SWT does not seem to set the default button if
-	//there is not control with focus. Bug: 14668
-	private int defaultButtonIndex = 0;
-	/**
-	 * Size of the text in lines.
-	 */
-	private static final int TEXT_LINE_COUNT = 15;
-
-	public ErrorDialog(Shell parentShell, String dialogTitle, Image dialogTitleImage, String dialogMessage, Throwable detail, int dialogImageType, String[] dialogButtonLabels, int defaultIndex) {
-		super(parentShell, dialogTitle, dialogTitleImage, dialogMessage, dialogImageType, dialogButtonLabels, defaultIndex);
-		defaultButtonIndex = defaultIndex;
-		this.detail = detail;
-		message = dialogMessage;
-		setShellStyle(getShellStyle() | SWT.APPLICATION_MODAL | SWT.RESIZE);
-	}
-
-	//Workaround. SWT does not seem to set rigth the default button if
-	//there is not control with focus. Bug: 14668
-	public int open() {
-		create();
-		Button b = getButton(defaultButtonIndex);
-		b.setFocus();
-		b.getShell().setDefaultButton(b);
-		return super.open();
-	}
-
-	/**
-	 * Set the detail button;
-	 */
-	public void setDetailButton(int index) {
-		detailButtonID = index;
-	}
-
-	/*
-	 * (non-Javadoc) Method declared on Dialog.
-	 */
-	protected void buttonPressed(int buttonId) {
-		if (buttonId == detailButtonID) {
-			toggleDetailsArea();
-		} else {
-			setReturnCode(buttonId);
-			close();
-		}
-	}
-
-	/**
-	 * Toggles the unfolding of the details area. This is triggered by the user pressing the details
-	 * button.
-	 */
-	private void toggleDetailsArea() {
-		Point windowSize = getShell().getSize();
-		Point oldSize = getContents().computeSize(SWT.DEFAULT, SWT.DEFAULT);
-		if (text != null) {
-			text.dispose();
-			text = null;
-			getButton(detailButtonID).setText(IDialogConstants.SHOW_DETAILS_LABEL);
-		} else {
-			createDropDownText((Composite) getContents());
-			getButton(detailButtonID).setText(IDialogConstants.HIDE_DETAILS_LABEL);
-		}
-		Point newSize = getContents().computeSize(SWT.DEFAULT, SWT.DEFAULT);
-		getShell().setSize(new Point(windowSize.x, windowSize.y + (newSize.y - oldSize.y)));
-	}
-
-	/**
-	 * Create this dialog's drop-down list component.
-	 * 
-	 * @param parent
-	 *            the parent composite
-	 * @return the drop-down list component
-	 */
-	protected void createDropDownText(Composite parent) {
-		// create the list
-		text = new Text(parent, SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL);
-		// print the stacktrace in the text field
-		try {
-			ByteArrayOutputStream baos = new ByteArrayOutputStream();
-			PrintStream ps = new PrintStream(baos);
-			detail.printStackTrace(ps);
-			if ((detail instanceof SWTError) && (((SWTError) detail).throwable != null)) {
-				ps.println("\n*** Stack trace of contained exception ***"); //$NON-NLS-1$
-				((SWTError) detail).throwable.printStackTrace(ps);
-			} else if ((detail instanceof SWTException) && (((SWTException) detail).throwable != null)) {
-				ps.println("\n*** Stack trace of contained exception ***"); //$NON-NLS-1$
-				((SWTException) detail).throwable.printStackTrace(ps);
-			}
-			ps.flush();
-			baos.flush();
-			text.setText(baos.toString());
-		} catch (IOException e) {
-		}
-		GridData data = new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.GRAB_HORIZONTAL | GridData.VERTICAL_ALIGN_FILL | GridData.GRAB_VERTICAL);
-		data.heightHint = text.getLineHeight() * TEXT_LINE_COUNT;
-		text.setLayoutData(data);
-	}
-
-	public static boolean openError(Shell parent, String title, String message, Throwable detail, int defaultIndex, boolean showCancel) {
-		String[] labels;
-		if (detail == null)
-			labels = showCancel ? LABELS_OK_CANCEL : LABELS_OK;
-		else
-			labels = showCancel ? LABELS_OK_CANCEL_DETAILS : LABELS_OK_DETAILS;
-		ErrorDialog dialog = new ErrorDialog(parent, title, null, // accept
-					// the
-					// default
-					// window
-					// icon
-					message, detail, ERROR, labels, defaultIndex);
-		if (detail != null)
-			dialog.setDetailButton(labels.length - 1);
-		return dialog.open() == 0;
-	}
-
-	protected Control createDialogArea(Composite parent) {
-		// create a composite with standard margins and spacing
-		Composite composite = new Composite(parent, SWT.NONE);
-		GridLayout layout = new GridLayout();
-		layout.marginHeight = convertVerticalDLUsToPixels(IDialogConstants.VERTICAL_MARGIN);
-		layout.marginWidth = convertHorizontalDLUsToPixels(IDialogConstants.HORIZONTAL_MARGIN);
-		layout.verticalSpacing = convertVerticalDLUsToPixels(IDialogConstants.VERTICAL_SPACING);
-		layout.horizontalSpacing = convertHorizontalDLUsToPixels(IDialogConstants.HORIZONTAL_SPACING);
-		composite.setLayout(layout);
-		composite.setLayoutData(new GridData(GridData.FILL_BOTH));
-		composite.setFont(parent.getFont());
-		((GridLayout) composite.getLayout()).numColumns = 2;
-		// create image
-		Image image = composite.getDisplay().getSystemImage(SWT.ICON_ERROR);
-		if (image != null) {
-			Label label = new Label(composite, 0);
-			image.setBackground(label.getBackground());
-			label.setImage(image);
-			label.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_CENTER | GridData.VERTICAL_ALIGN_BEGINNING));
-		}
-		// create message
-		if (message != null) {
-			Label label = new Label(composite, SWT.WRAP);
-			label.setText(message);
-			GridData data = new GridData(GridData.GRAB_HORIZONTAL | GridData.GRAB_VERTICAL | GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_CENTER);
-			data.widthHint = convertHorizontalDLUsToPixels(IDialogConstants.MINIMUM_MESSAGE_AREA_WIDTH);
-			label.setLayoutData(data);
-			label.setFont(parent.getFont());
-		}
-		return composite;
-	}
-}
diff --git a/plugins/org.eclipse.wst.common.frameworks.ui/wtp_ui/org/eclipse/wst/common/frameworks/internal/ui/ExecutionListener.java b/plugins/org.eclipse.wst.common.frameworks.ui/wtp_ui/org/eclipse/wst/common/frameworks/internal/ui/ExecutionListener.java
deleted file mode 100644
index 2cc778a..0000000
--- a/plugins/org.eclipse.wst.common.frameworks.ui/wtp_ui/org/eclipse/wst/common/frameworks/internal/ui/ExecutionListener.java
+++ /dev/null
@@ -1,18 +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.ui;
-
-import org.eclipse.core.runtime.IStatus;
-
-public interface ExecutionListener
-{
-  public IStatus execute();
-  
-  public void undoExecute();
-}
diff --git a/plugins/org.eclipse.wst.common.frameworks.ui/wtp_ui/org/eclipse/wst/common/frameworks/internal/ui/GenericWizardNode.java b/plugins/org.eclipse.wst.common.frameworks.ui/wtp_ui/org/eclipse/wst/common/frameworks/internal/ui/GenericWizardNode.java
deleted file mode 100644
index 60769c2..0000000
--- a/plugins/org.eclipse.wst.common.frameworks.ui/wtp_ui/org/eclipse/wst/common/frameworks/internal/ui/GenericWizardNode.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002, 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.ui;
-
-import org.eclipse.jface.wizard.IWizard;
-import org.eclipse.jface.wizard.IWizardNode;
-import org.eclipse.swt.graphics.Point;
-
-/**
- * @version 1.0
- * @author
- */
-public abstract class GenericWizardNode implements IWizardNode {
-
-	protected IWizard wizard;
-
-	/**
-	 * Constructor for GenericWizardNode.
-	 */
-	public GenericWizardNode() {
-		super();
-	}
-
-	/*
-	 * @see IWizardNode#dispose()
-	 */
-	public void dispose() {
-		if (wizard != null)
-			wizard.dispose();
-	}
-
-	/*
-	 * @see IWizardNode#getContents()
-	 */
-	public Point getContents() {
-		return null;
-	}
-
-	public final IWizard getWizard() {
-		if (wizard == null)
-			wizard = createWizard();
-		return wizard;
-	}
-
-	/**
-	 * Subclasses must override to create the wizard
-	 */
-	protected abstract IWizard createWizard();
-
-	/*
-	 * @see IWizardNode#isContentCreated()
-	 */
-	public boolean isContentCreated() {
-		return wizard != null;
-	}
-
-	/**
-	 * @see org.eclipse.jface.wizard.IWizardNode#getExtent()
-	 */
-	public Point getExtent() {
-		return null;
-	}
-
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.frameworks.ui/wtp_ui/org/eclipse/wst/common/frameworks/internal/ui/ListMessageDialog.java b/plugins/org.eclipse.wst.common.frameworks.ui/wtp_ui/org/eclipse/wst/common/frameworks/internal/ui/ListMessageDialog.java
deleted file mode 100644
index aed38af..0000000
--- a/plugins/org.eclipse.wst.common.frameworks.ui/wtp_ui/org/eclipse/wst/common/frameworks/internal/ui/ListMessageDialog.java
+++ /dev/null
@@ -1,217 +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 Aug 5, 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.ui;
-
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.List;
-import org.eclipse.swt.widgets.Shell;
-
-/**
- * @author dfholt
- * 
- * TODO To change the template for this generated type comment go to Window - Preferences - Java -
- * Code Generation - Code and Comments
- */
-public class ListMessageDialog extends MessageDialog {
-	protected String[] listItems;
-	protected List list;
-
-	/**
-	 * EJBSelectiveImportDialog constructor comment.
-	 * 
-	 * @param parentShell
-	 *            org.eclipse.swt.widgets.Shell
-	 * @param dialogTitle
-	 *            java.lang.String
-	 * @param dialogTitleImage
-	 *            org.eclipse.swt.graphics.Image
-	 * @param dialogMessage
-	 *            java.lang.String
-	 * @param dialogImageType
-	 *            int
-	 * @param dialogButtonLabels
-	 *            java.lang.String[]
-	 * @param defaultIndex
-	 *            int
-	 */
-	public ListMessageDialog(org.eclipse.swt.widgets.Shell parentShell, String dialogTitle, org.eclipse.swt.graphics.Image dialogTitleImage, String dialogMessage, int dialogImageType, java.lang.String[] dialogButtonLabels, int defaultIndex) {
-		super(parentShell, dialogTitle, dialogTitleImage, dialogMessage, dialogImageType, dialogButtonLabels, defaultIndex);
-	}
-
-	/**
-	 * ListMessageDialog constructor comment.
-	 * 
-	 * @param parentShell
-	 *            org.eclipse.swt.widgets.Shell
-	 * @param dialogTitle
-	 *            java.lang.String
-	 * @param dialogTitleImage
-	 *            org.eclipse.swt.graphics.Image
-	 * @param dialogMessage
-	 *            java.lang.String
-	 * @param dialogImageType
-	 *            int
-	 * @param dialogButtonLabels
-	 *            java.lang.String[]
-	 * @param defaultIndex
-	 *            int
-	 */
-	public ListMessageDialog(org.eclipse.swt.widgets.Shell parentShell, String dialogTitle, org.eclipse.swt.graphics.Image dialogTitleImage, String dialogMessage, int dialogImageType, java.lang.String[] dialogButtonLabels, int defaultIndex, String[] names) {
-		super(parentShell, dialogTitle, dialogTitleImage, dialogMessage, dialogImageType, dialogButtonLabels, defaultIndex);
-		listItems = names;
-	}
-
-	/**
-	 * Creates and returns the contents of an area of the dialog which appears below the message and
-	 * above the button bar.
-	 * <p>
-	 * The default implementation of this framework method returns <code>null</code>. Subclasses
-	 * may override.
-	 * </p>
-	 * 
-	 * @param the
-	 *            parent composite to contain the custom area
-	 * @return the custom area control, or <code>null</code>
-	 */
-	protected Control createCustomArea(Composite parent) {
-
-		Composite composite = new Composite(parent, 0);
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 1;
-		layout.marginHeight = convertVerticalDLUsToPixels(IDialogConstants.VERTICAL_MARGIN);
-		layout.marginWidth = convertHorizontalDLUsToPixels(IDialogConstants.HORIZONTAL_MARGIN);
-		layout.horizontalSpacing = convertHorizontalDLUsToPixels(IDialogConstants.HORIZONTAL_SPACING);
-		composite.setLayout(layout);
-		composite.setLayoutData(new GridData(GridData.FILL_BOTH));
-
-		if (listItems != null) {
-			list = new List(composite, SWT.BORDER);
-			GridData data = new GridData(GridData.GRAB_HORIZONTAL | GridData.GRAB_VERTICAL | GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_CENTER);
-			list.setLayoutData(data);
-			list.setItems(listItems);
-		}
-
-		return composite;
-
-	}
-
-	/**
-	 * Convenience method to open a simple confirm (OK/Cancel) dialog.
-	 * 
-	 * @param parent
-	 *            the parent shell of the dialog, or <code>null</code> if none
-	 * @param title
-	 *            the dialog's title, or <code>null</code> if none
-	 * @param message
-	 *            the message
-	 * @return <code>true</code> if the user presses the OK button, <code>false</code> otherwise
-	 */
-	public static boolean openConfirm(Shell parent, String title, String message, String[] items) {
-		ListMessageDialog dialog = new ListMessageDialog(parent, title, null, // accept the default
-					// window icon
-					message, QUESTION, new String[]{IDialogConstants.OK_LABEL, IDialogConstants.CANCEL_LABEL}, 0, items); // OK
-		// is
-		// the
-		// default
-		return dialog.open() == 0;
-	}
-
-	/**
-	 * Convenience method to open a standard error dialog.
-	 * 
-	 * @param parent
-	 *            the parent shell of the dialog, or <code>null</code> if none
-	 * @param title
-	 *            the dialog's title, or <code>null</code> if none
-	 * @param message
-	 *            the message
-	 */
-	public static void openError(Shell parent, String title, String message, String[] items) {
-		ListMessageDialog dialog = new ListMessageDialog(parent, title, null, // accept the default
-					// window icon
-					message, ERROR, new String[]{IDialogConstants.OK_LABEL}, 0, items); // ok is the
-		// default
-		dialog.open();
-		return;
-	}
-
-	/**
-	 * Convenience method to open a standard information dialog.
-	 * 
-	 * @param parent
-	 *            the parent shell of the dialog, or <code>null</code> if none
-	 * @param title
-	 *            the dialog's title, or <code>null</code> if none
-	 * @param message
-	 *            the message
-	 */
-	public static void openInformation(Shell parent, String title, String message, String[] items) {
-		ListMessageDialog dialog = new ListMessageDialog(parent, title, null, // accept the default
-					// window icon
-					message, INFORMATION, new String[]{IDialogConstants.OK_LABEL}, 0, items);
-		// ok is the default
-		dialog.open();
-		return;
-	}
-
-	/**
-	 * Convenience method to open a simple Yes/No question dialog.
-	 * 
-	 * @param parent
-	 *            the parent shell of the dialog, or <code>null</code> if none
-	 * @param title
-	 *            the dialog's title, or <code>null</code> if none
-	 * @param message
-	 *            the message
-	 * @return <code>true</code> if the user presses the OK button, <code>false</code> otherwise
-	 */
-	public static boolean openQuestion(Shell parent, String title, String message, String[] items) {
-		ListMessageDialog dialog = new ListMessageDialog(parent, title, null, // accept the default
-					// window icon
-					message, QUESTION, new String[]{IDialogConstants.YES_LABEL, IDialogConstants.NO_LABEL}, 0, items); // yes
-		// is
-		// the
-		// default
-		return dialog.open() == 0;
-	}
-
-	/**
-	 * Convenience method to open a standard warning dialog.
-	 * 
-	 * @param parent
-	 *            the parent shell of the dialog, or <code>null</code> if none
-	 * @param title
-	 *            the dialog's title, or <code>null</code> if none
-	 * @param message
-	 *            the message
-	 */
-	public static void openWarning(Shell parent, String title, String message, String[] items) {
-		ListMessageDialog dialog = new ListMessageDialog(parent, title, null, // accept the default
-					// window icon
-					message, WARNING, new String[]{IDialogConstants.OK_LABEL}, 0, items); // ok is
-		// the
-		// default
-		dialog.open();
-		return;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.frameworks.ui/wtp_ui/org/eclipse/wst/common/frameworks/internal/ui/ListenerList.java b/plugins/org.eclipse.wst.common.frameworks.ui/wtp_ui/org/eclipse/wst/common/frameworks/internal/ui/ListenerList.java
deleted file mode 100644
index db72ea5..0000000
--- a/plugins/org.eclipse.wst.common.frameworks.ui/wtp_ui/org/eclipse/wst/common/frameworks/internal/ui/ListenerList.java
+++ /dev/null
@@ -1,81 +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.ui;
-
-import java.awt.event.ActionListener;
-
-public class ListenerList {
-	private final static ActionListener[] NULL_ARRAY = new ActionListener[0];
-	protected transient ActionListener[] listenerList = NULL_ARRAY;
-
-	/**
-	 * Add the listener as a listener of the specified type.
-	 * 
-	 * @param t
-	 *            the type of the listener to be added
-	 * @param l
-	 *            the listener to be added
-	 */
-	public synchronized void add(ActionListener l) {
-		if (l == null)
-			return;
-		if (listenerList == NULL_ARRAY) {
-			// if this is the first listener added,
-			// initialize the lists
-			listenerList = new ActionListener[]{l};
-		} else {
-			// Otherwise copy the array and add the new listener
-			int i = listenerList.length;
-			ActionListener[] tmp = new ActionListener[i + 1];
-			System.arraycopy(listenerList, 0, tmp, 0, i);
-
-			tmp[i + 1] = l;
-
-			listenerList = tmp;
-		}
-	}
-
-	/**
-	 * Return the total number of listeners for this listenerlist
-	 */
-	public int getListenerCount() {
-		return listenerList.length;
-	}
-
-	public ActionListener[] getListenerList() {
-		return listenerList;
-	}
-
-	public synchronized void remove(ActionListener l) {
-		if (l == null)
-			return;
-		int index = -1;
-		for (int i = listenerList.length - 1; i >= 0; i -= 1) {
-			if (listenerList[i].equals(l)) {
-				index = i;
-				break;
-			}
-		}
-		if (index != -1) {
-			ActionListener[] tmp = new ActionListener[listenerList.length - 1];
-			// Copy the list up to index
-			System.arraycopy(listenerList, 0, tmp, 0, index);
-			// Copy from two past the index, up to
-			// the end of tmp (which is two elements
-			// shorter than the old list)
-			if (index < tmp.length)
-				System.arraycopy(listenerList, index + 1, tmp, index, tmp.length - index);
-			// set the listener array to the new array or null
-			listenerList = (tmp.length == 0) ? NULL_ARRAY : tmp;
-		}
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.frameworks.ui/wtp_ui/org/eclipse/wst/common/frameworks/internal/ui/NewProjectGroup.java b/plugins/org.eclipse.wst.common.frameworks.ui/wtp_ui/org/eclipse/wst/common/frameworks/internal/ui/NewProjectGroup.java
deleted file mode 100644
index ea0004c..0000000
--- a/plugins/org.eclipse.wst.common.frameworks.ui/wtp_ui/org/eclipse/wst/common/frameworks/internal/ui/NewProjectGroup.java
+++ /dev/null
@@ -1,215 +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.ui;
-
-import java.io.File;
-
-import org.eclipse.core.runtime.Path;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.ModifyEvent;
-import org.eclipse.swt.events.ModifyListener;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.DirectoryDialog;
-import org.eclipse.swt.widgets.Group;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.internal.ide.IDEWorkbenchMessages;
-import org.eclipse.wst.common.frameworks.datamodel.DataModelEvent;
-import org.eclipse.wst.common.frameworks.datamodel.IDataModel;
-import org.eclipse.wst.common.frameworks.datamodel.IDataModelListener;
-import org.eclipse.wst.common.frameworks.internal.datamodel.ui.DataModelSynchHelper;
-import org.eclipse.wst.common.frameworks.internal.operations.IProjectCreationPropertiesNew;
-
-public class NewProjectGroup implements IProjectCreationPropertiesNew {
-	private IDataModel model;
-	public Text projectNameField = null;
-	protected Text locationPathField = null;
-	protected Button browseButton = null;
-	// constants
-	private static final int SIZING_TEXT_FIELD_WIDTH = 305;
-	// default values
-	private String defProjectNameLabel = WTPCommonUIResourceHandler.Name_;
-	private String defBrowseButtonLabel = WTPCommonUIResourceHandler.Browse_;
-	private static final String defDirDialogLabel = "Directory"; //$NON-NLS-1$
-
-	private DataModelSynchHelper synchHelper;
-
-	public NewProjectGroup(Composite parent, IDataModel model) {
-		this.model = model;
-		synchHelper = new DataModelSynchHelper(model);
-		buildComposites(parent);
-	}
-
-	/**
-	 * Create the controls within this composite
-	 */
-	public void buildComposites(Composite parent) {
-		createProjectNameGroup(parent);
-		createProjectLocationGroup(parent);
-		projectNameField.setFocus();
-	}
-
-	private final void createProjectNameGroup(Composite parent) {
-		Font font = parent.getFont();
-		// project specification group
-		Composite projectGroup = new Composite(parent, SWT.NONE);
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 2;
-		projectGroup.setLayout(layout);
-		projectGroup.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-
-		// new project label
-		Label projectLabel = new Label(projectGroup, SWT.NONE);
-		projectLabel.setFont(font);
-		projectLabel.setText(defProjectNameLabel);
-
-		// new project name entry field
-		projectNameField = new Text(projectGroup, SWT.BORDER);
-		GridData data = new GridData(GridData.FILL_HORIZONTAL);
-		data.widthHint = SIZING_TEXT_FIELD_WIDTH;
-		projectNameField.setLayoutData(data);
-		projectNameField.setFont(font);
-		synchHelper.synchText(projectNameField, PROJECT_NAME, new Control[]{projectLabel});
-	}
-
-	/**
-	 * Creates the project location specification controls.
-	 * 
-	 * @param parent
-	 *            the parent composite
-	 */
-	private final void createProjectLocationGroup(Composite parent) {
-
-		Font font = parent.getFont();
-		// project specification group
-		Group projectGroup = new Group(parent, SWT.NONE);
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 3;
-		projectGroup.setLayout(layout);
-		projectGroup.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		projectGroup.setFont(font);
-		projectGroup.setText(IDEWorkbenchMessages.WizardNewProjectCreationPage_projectContentsLabel);
-
-		final Button useDefaultsButton = new Button(projectGroup, SWT.CHECK | SWT.RIGHT);
-		useDefaultsButton.setText(IDEWorkbenchMessages.WizardNewProjectCreationPage_useDefaultLabel);
-		useDefaultsButton.setFont(font);
-		synchHelper.synchCheckbox(useDefaultsButton, USE_DEFAULT_LOCATION, null);
-
-		GridData buttonData = new GridData();
-		buttonData.horizontalSpan = 3;
-		useDefaultsButton.setLayoutData(buttonData);
-
-		createUserSpecifiedProjectLocationGroup(projectGroup);
-	}
-
-	private void createUserSpecifiedProjectLocationGroup(Composite projectGroup) {
-		Font font = projectGroup.getFont();
-		// location label
-		final Label locationLabel = new Label(projectGroup, SWT.NONE);
-		locationLabel.setFont(font);
-		locationLabel.setText(IDEWorkbenchMessages.WizardNewProjectCreationPage_locationLabel);
-
-		// project location entry field
-		locationPathField = new Text(projectGroup, SWT.BORDER);
-		GridData data = new GridData(GridData.FILL_HORIZONTAL);
-		data.widthHint = SIZING_TEXT_FIELD_WIDTH;
-		locationPathField.setLayoutData(data);
-		locationPathField.setFont(font);
-
-		// browse button
-		browseButton = new Button(projectGroup, SWT.PUSH);
-		browseButton.setFont(font);
-		browseButton.setText(defBrowseButtonLabel);
-		browseButton.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent event) {
-				handleLocationBrowseButtonPressed();
-			}
-		});
-
-		final IDataModel localModel = model;
-
-		class LocationListener implements ModifyListener, IDataModelListener {
-			private boolean typing = false;
-
-			public void modifyText(ModifyEvent e) {
-				if (!localModel.getBooleanProperty(USE_DEFAULT_LOCATION)) {
-					try {
-						typing = true;
-						localModel.setProperty(USER_DEFINED_LOCATION, locationPathField.getText());
-					} finally {
-						typing = false;
-					}
-				}
-			}
-
-			public void propertyChanged(DataModelEvent event) {
-				boolean useDefault = localModel.getBooleanProperty(USE_DEFAULT_LOCATION);
-				if (USE_DEFAULT_LOCATION.equals(event.getPropertyName())) {
-					locationLabel.setEnabled(!useDefault);
-					locationPathField.setEnabled(!useDefault);
-					browseButton.setEnabled(!useDefault);
-					if (useDefault) {
-						locationPathField.setText(localModel.getStringProperty(DEFAULT_LOCATION));
-					} else {
-						locationPathField.setText(localModel.getStringProperty(USER_DEFINED_LOCATION));
-					}
-				} else if (!typing) {
-					if ((useDefault && DEFAULT_LOCATION.equals(event.getPropertyName())) || (!useDefault && USER_DEFINED_LOCATION.equals(event.getPropertyName()))) {
-						locationPathField.setText((String) event.getProperty());
-					}
-				}
-			}
-		}
-
-		LocationListener listener = new LocationListener();
-
-		listener.propertyChanged(new DataModelEvent(model, USE_DEFAULT_LOCATION, IDataModel.VALUE_CHG));
-
-		locationPathField.addModifyListener(listener);
-		model.addListener(listener);
-	}
-
-	/**
-	 * Open an appropriate directory browser
-	 */
-	protected void handleLocationBrowseButtonPressed() {
-		DirectoryDialog dialog = new DirectoryDialog(locationPathField.getShell());
-		dialog.setMessage(defDirDialogLabel);
-		String dirName = model.getStringProperty(USER_DEFINED_LOCATION);
-		if (dirName.trim().length() == 0) {
-			dirName = new Path(model.getStringProperty(DEFAULT_LOCATION)).removeLastSegments(1).toOSString();
-		}
-
-		if ((dirName != null) && (dirName.length() != 0)) {
-			File path = new File(dirName);
-			if (path.exists()) {
-				dialog.setFilterPath(dirName);
-			}
-		}
-		String selectedDirectory = dialog.open();
-		if (selectedDirectory != null) {
-			model.setProperty(USER_DEFINED_LOCATION, selectedDirectory);
-		}
-	}
-
-	public void dispose() {
-		model.removeListener(synchHelper);
-		synchHelper.dispose();
-		model = null;
-	}
-}
diff --git a/plugins/org.eclipse.wst.common.frameworks.ui/wtp_ui/org/eclipse/wst/common/frameworks/internal/ui/OverlayIcon.java b/plugins/org.eclipse.wst.common.frameworks.ui/wtp_ui/org/eclipse/wst/common/frameworks/internal/ui/OverlayIcon.java
deleted file mode 100644
index 8ff7b0a..0000000
--- a/plugins/org.eclipse.wst.common.frameworks.ui/wtp_ui/org/eclipse/wst/common/frameworks/internal/ui/OverlayIcon.java
+++ /dev/null
@@ -1,121 +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.ui;
-
-
-
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.swt.graphics.ImageData;
-import org.eclipse.swt.graphics.Point;
-
-public class OverlayIcon extends org.eclipse.jface.resource.CompositeImageDescriptor {
-	// //$NON-NLS-1$
-	static final int DEFAULT_WIDTH = 16;
-	static final int DEFAULT_HEIGHT = 16;
-	private Point fSize = null;
-	private ImageDescriptor fBase;
-	private ImageDescriptor fOverlays[][];
-
-	public OverlayIcon(ImageDescriptor base, ImageDescriptor[][] overlays) {
-		fBase = base;
-		if (fBase == null)
-			fBase = ImageDescriptor.getMissingImageDescriptor();
-		fOverlays = overlays;
-		fSize = new Point(DEFAULT_WIDTH, DEFAULT_HEIGHT);
-	}
-
-	public OverlayIcon(ImageDescriptor base, ImageDescriptor[][] overlays, Point size) {
-		fBase = base;
-		if (fBase == null)
-			fBase = ImageDescriptor.getMissingImageDescriptor();
-		fOverlays = overlays;
-		fSize = size;
-	}
-
-	protected void drawBottomLeft(ImageDescriptor[] overlays) {
-		if (overlays == null)
-			return;
-		int length = overlays.length;
-		int x = 0;
-		for (int i = 0; i < 3; i++) {
-			if (i < length && overlays[i] != null) {
-				ImageData id = overlays[i].getImageData();
-				drawImage(id, x, getSize().y - id.height);
-				x += id.width;
-			}
-		}
-	}
-
-	protected void drawBottomRight(ImageDescriptor[] overlays) {
-		if (overlays == null)
-			return;
-		int length = overlays.length;
-		int x = getSize().x;
-		for (int i = 2; i >= 0; i--) {
-			if (i < length && overlays[i] != null) {
-				ImageData id = overlays[i].getImageData();
-				x -= id.width;
-				drawImage(id, x, getSize().y - id.height);
-			}
-		}
-	}
-
-	protected void drawCompositeImage(int width, int height) {
-		ImageData bg = fBase.getImageData();
-		drawImage(bg, 0, 0);
-
-		if (fOverlays != null) {
-			if (fOverlays.length > 0)
-				drawTopRight(fOverlays[0]);
-
-			if (fOverlays.length > 1)
-				drawBottomRight(fOverlays[1]);
-
-			if (fOverlays.length > 2)
-				drawBottomLeft(fOverlays[2]);
-
-			if (fOverlays.length > 3)
-				drawTopLeft(fOverlays[3]);
-		}
-	}
-
-	protected void drawTopLeft(ImageDescriptor[] overlays) {
-		if (overlays == null)
-			return;
-		int length = overlays.length;
-		int x = 0;
-		for (int i = 0; i < 3; i++) {
-			if (i < length && overlays[i] != null) {
-				ImageData id = overlays[i].getImageData();
-				drawImage(id, x, 0);
-				x += id.width;
-			}
-		}
-	}
-
-	protected void drawTopRight(ImageDescriptor[] overlays) {
-		if (overlays == null)
-			return;
-		int length = overlays.length;
-		int x = getSize().x;
-		for (int i = 2; i >= 0; i--) {
-			if (i < length && overlays[i] != null) {
-				ImageData id = overlays[i].getImageData();
-				x -= id.width;
-				drawImage(id, x, 0);
-			}
-		}
-	}
-
-	protected Point getSize() {
-		return fSize;
-	}
-}
diff --git a/plugins/org.eclipse.wst.common.frameworks.ui/wtp_ui/org/eclipse/wst/common/frameworks/internal/ui/PageGroupManager.java b/plugins/org.eclipse.wst.common.frameworks.ui/wtp_ui/org/eclipse/wst/common/frameworks/internal/ui/PageGroupManager.java
deleted file mode 100644
index 620c43e..0000000
--- a/plugins/org.eclipse.wst.common.frameworks.ui/wtp_ui/org/eclipse/wst/common/frameworks/internal/ui/PageGroupManager.java
+++ /dev/null
@@ -1,561 +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.ui;
-
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Stack;
-import java.util.Vector;
-
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IExtensionPoint;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jem.util.logger.proxy.Logger;
-import org.eclipse.jface.wizard.IWizardPage;
-import org.eclipse.wst.common.frameworks.datamodel.IDataModel;
-import org.eclipse.wst.common.frameworks.internal.datamodel.IDataModelPausibleOperation;
-import org.eclipse.wst.common.frameworks.internal.datamodel.IDataModelPausibleOperationEvent;
-import org.eclipse.wst.common.frameworks.internal.datamodel.IDataModelPausibleOperationListener;
-import org.eclipse.wst.common.frameworks.internal.datamodel.ui.DataModelWizard;
-import org.eclipse.wst.common.frameworks.internal.datamodel.ui.IDMPageGroup;
-import org.eclipse.wst.common.frameworks.internal.datamodel.ui.IDMPageGroupHandler;
-import org.eclipse.wst.common.frameworks.internal.datamodel.ui.IDMPageHandler;
-import org.eclipse.wst.common.frameworks.internal.operation.extensionui.CommonUIPluginConstants;
-
-public class PageGroupManager {
-	private IDataModelPausibleOperation rootOperation;
-	private IDMPageGroup rootPageGroup;
-	private HashMap groupTable;
-	private HashSet operationsRun;
-	private Stack pageGroupStack;
-	private IDataModel dataModel;
-	private StackEntry savedTopEntry;
-	private int savedStackSize;
-
-	private IConfigurationElement[] elements;
-
-	private final String ELEMENT_PAGE_GROUP = "wizardPageGroup"; //$NON-NLS-1$
-
-	private String pauseAfterExecution = null;
-
-	public PageGroupManager(IDataModel dataModel, IDMPageGroup rootPageGroup) {
-
-		this.dataModel = dataModel;
-		this.groupTable = new HashMap();
-		this.pageGroupStack = new Stack();
-		this.rootPageGroup = rootPageGroup;
-
-
-		PageGroupEntry rootPageGroupEntry = new PageGroupEntry(rootPageGroup);
-		IExtensionPoint point = Platform.getExtensionRegistry().getExtensionPoint(CommonUIPluginConstants.PLUGIN_ID, ELEMENT_PAGE_GROUP);
-		elements = point.getConfigurationElements();
-		groupTable.put(this.rootPageGroup.getPageGroupID(), rootPageGroupEntry);
-
-		if (this.rootPageGroup.getAllowsExtendedPages()) {
-			// Find all the page groups that follow this root page group.
-			loadExtendedPages(rootPageGroup);
-		}
-	}
-
-	public PageGroupManager(IDataModelPausibleOperation rootOperation, IDMPageGroup rootPageGroup) {
-		this(rootOperation.getDataModel(), rootPageGroup);
-		this.operationsRun = new HashSet();
-
-		rootOperation.addOperationListener(new IDataModelPausibleOperationListener() {
-			public int notify(IDataModelPausibleOperationEvent event) {
-				switch (event.getExecutionType()) {
-					case IDataModelPausibleOperationEvent.ROLLBACK :
-						if (event.getOperationType() == IDataModelPausibleOperationEvent.MAIN_FINISHED) {
-							operationsRun.remove(event.getOperation().getID());
-						}
-						break;
-					case IDataModelPausibleOperationEvent.EXECUTE :
-						if (event.getOperationType() == IDataModelPausibleOperationEvent.MAIN_FINISHED) {
-							operationsRun.add(event.getOperation().getID());
-							if (null != pauseAfterExecution && event.getOperation().getID().equals(pauseAfterExecution)) {
-								return IDataModelPausibleOperationListener.PAUSE;
-							}
-						}
-						break;
-				}
-				return IDataModelPausibleOperationListener.CONTINUE;
-			}
-		});
-	}
-
-	public void addGroupAfter(String pageGroupID, IDMPageGroup pageInsertGroup) {
-		PageGroupEntry pageGroupEntry = (PageGroupEntry) groupTable.get(pageGroupID);
-
-		if (pageGroupEntry.pageGroup.getAllowsExtendedPages()) {
-			addPageGroup(pageGroupEntry.pageGroup, pageInsertGroup);
-		}
-	}
-
-	public void moveForwardOnePage() {
-		boolean pageFound = false;
-
-		if (pageGroupStack.empty()) {
-			PageGroupEntry rootEntry = (PageGroupEntry) groupTable.get(rootPageGroup.getPageGroupID());
-			pageGroupStack.push(new StackEntry(rootEntry, -1));
-		}
-
-		saveStackInfo();
-
-		try {
-			pageFound = findNextPage(true);
-		} catch (Throwable exc) {
-			Logger.getLogger().logError(exc);
-			if (rootOperation != null) {
-				try {
-					rootOperation.rollBack(null, null);
-				} catch (ExecutionException e) {
-					Logger.getLogger().logError(e);
-				}
-			}
-			pageFound = false;
-		}
-
-		if (pageFound == false) {
-			// If we moved forward and there wasn't a page then we will restore the stack.
-			// Normally, this wouldn't happen since a call to hasNextPage would have indicated
-			// that there wasn't a page.
-			restoreStackInfo();
-		}
-	}
-
-	public void moveBackOnePage() {
-		if (pageGroupStack.empty())
-			return;
-
-		StackEntry topEntry = (StackEntry) pageGroupStack.peek();
-
-		// Pop the last page.
-		if (!topEntry.pagesReturned.empty())
-			topEntry.pagesReturned.pop();
-
-		// Now find the previous page.
-		boolean foundPreviousPage = findPreviousPageInGroup();
-
-		while (!foundPreviousPage && !pageGroupStack.empty()) {
-			if (rootOperation != null) {
-				if (topEntry.ranOperations) {
-					try {
-						rootOperation.rollBack(null, null);
-					} catch (ExecutionException e) {
-						Logger.getLogger().logError(e);
-					}
-				}
-			}
-
-			pageGroupStack.pop();
-
-			if (!pageGroupStack.empty()) {
-				foundPreviousPage = findPreviousPageInGroup();
-				topEntry = (StackEntry) pageGroupStack.peek();
-			}
-		}
-	}
-
-	public void reset() {
-		pageGroupStack.clear();
-	}
-
-	public IWizardPage getCurrentPage() {
-		IWizardPage page = null;
-
-		if (!pageGroupStack.empty()) {
-			StackEntry topEntry = (StackEntry) pageGroupStack.peek();
-			int pageIndex = topEntry.getTopPageIndex();
-
-			page = pageIndex == -1 ? null : (IWizardPage) topEntry.pageGroupEntry.getPages().get(pageIndex);
-		}
-
-		return page;
-	}
-
-	private Boolean hasMulitplePages;
-
-	public boolean hasMultiplePages() {
-		if (null == hasMulitplePages) {
-			int pageCount = 0;
-			PageGroupEntry rootEntry = (PageGroupEntry) groupTable.get(rootPageGroup.getPageGroupID());
-			pageCount += rootEntry.getPages().size();
-			for (int i = 0; pageCount < 2 && i < rootEntry.groupsThatFollow.size(); i++) {
-				pageCount += ((PageGroupEntry) rootEntry.groupsThatFollow.get(i)).getPages().size();
-			}
-			hasMulitplePages = pageCount > 1 ? Boolean.TRUE : Boolean.FALSE;
-		}
-		return hasMulitplePages.booleanValue();
-	}
-
-	public boolean hasNextPage() {
-		boolean pageFound = false;
-
-		saveStackInfo();
-
-		if (pageGroupStack.empty()) {
-			PageGroupEntry rootEntry = (PageGroupEntry) groupTable.get(rootPageGroup.getPageGroupID());
-			pageGroupStack.push(new StackEntry(rootEntry, -1));
-		}
-
-		pageFound = findNextPage(false);
-		restoreStackInfo();
-
-		return pageFound;
-	}
-
-	public void undoAllCurrentOperations() {
-		while (!pageGroupStack.empty()) {
-			moveBackOnePage();
-		}
-	}
-
-	private boolean findPreviousPageInGroup() {
-		StackEntry topEntry = (StackEntry) pageGroupStack.peek();
-		boolean pageFound = false;
-
-		if (!topEntry.pagesReturned.empty()) {
-			topEntry.pagesComplete = false;
-			pageFound = true;
-		}
-
-		return pageFound;
-	}
-
-	private boolean findNextPage(boolean runOperations) {
-		StackEntry topEntry = (StackEntry) pageGroupStack.peek();
-		int newPageIndex = topEntry.findNextPageIndex();
-		boolean pageFound = false;
-
-		if (newPageIndex == -1) {
-			// Our page handler didn't find a page so we will see if there is a page group that
-			// follows this page group that can find a page.
-			topEntry.pagesComplete = true;
-
-			StackEntry nextStackEntry = findNextPageGroup(pageGroupStack);
-
-			if (nextStackEntry != null) {
-				IDMPageGroup pageGroup = nextStackEntry.pageGroupEntry.pageGroup;
-				String requiresOperationsId = pageGroup.getRequiredDataOperationToRun();
-
-				// If this group requires an operation and it has not already been run
-				// then we need to run it.
-				if (rootOperation != null && runOperations && requiresOperationsId != null && !operationsRun.contains(requiresOperationsId)) {
-					pauseAfterExecution = requiresOperationsId;
-					IStatus status = null;
-					try {
-						status = rootOperation.resume(null, null);
-					} catch (ExecutionException e) {
-						Logger.getLogger().logError(e);
-					}
-					nextStackEntry.ranOperations = true;
-
-					if (status.getSeverity() == IStatus.ERROR) {
-						// TODO need a better error feedback mechanism here.
-						throw new IllegalArgumentException(status.getMessage());
-					}
-				}
-
-				pageGroupStack.push(nextStackEntry);
-				pageFound = findNextPage(runOperations);
-			}
-		} else {
-			// We found a new page in the page handler.
-			pageFound = true;
-			topEntry.pagesReturned.push(new Integer(newPageIndex));
-		}
-
-		return pageFound;
-	}
-
-	private void saveStackInfo() {
-		if (!pageGroupStack.empty()) {
-			savedTopEntry = new StackEntry((StackEntry) pageGroupStack.peek());
-		}
-		savedStackSize = pageGroupStack.size();
-	}
-
-	private void restoreStackInfo() {
-		if (savedStackSize == 0) {
-			pageGroupStack.removeAllElements();
-		} else {
-			pageGroupStack.setSize(savedStackSize - 1);
-			pageGroupStack.push(savedTopEntry);
-		}
-	}
-
-	private void loadExtendedPages(IDMPageGroup pageGroup) {
-		String wizardId = rootPageGroup.getWizardID();
-		String pageGroupId = pageGroup.getPageGroupID();
-		int length = elements.length;
-
-		for (int index = 0; index < length; index++) {
-			DMPageGroupElementImpl pageInsertGroup = new DMPageGroupElementImpl(elements[index]);
-			String pageInsertGroupId = pageInsertGroup.getPageGroupInsertionID();
-			if (pageInsertGroup.getWizardID().equals(wizardId) && (null == pageInsertGroupId || pageInsertGroupId.equals(pageGroupId))) {
-				addPageGroup(pageGroup, pageInsertGroup);
-
-				// If this page group has page then add them
-				if (pageInsertGroup.getAllowsExtendedPages()) {
-					loadExtendedPages(pageInsertGroup);
-				}
-			}
-		}
-	}
-
-	private void addPageGroup(IDMPageGroup pageGroup, IDMPageGroup insertedPageGroup) {
-		PageGroupEntry pageGroupEntry = (PageGroupEntry) groupTable.get(pageGroup.getPageGroupID());
-		PageGroupEntry nextGroupEntry = (PageGroupEntry) groupTable.get(insertedPageGroup.getPageGroupID());
-
-		if (pageGroupEntry == null) {
-			pageGroupEntry = new PageGroupEntry(pageGroup);
-			groupTable.put(pageGroup.getPageGroupID(), pageGroupEntry);
-		}
-
-		if (nextGroupEntry == null) {
-			nextGroupEntry = new PageGroupEntry(insertedPageGroup);
-			groupTable.put(insertedPageGroup.getPageGroupID(), nextGroupEntry);
-		}
-
-		pageGroupEntry.groupsThatFollow.add(nextGroupEntry);
-	}
-
-	public StackEntry findNextPageGroup(Stack stack) {
-		StackEntry topEntry = (StackEntry) stack.peek();
-		PageGroupEntry nextPageGroup = topEntry.getNextPageGroup(null);
-		int parentIndex = topEntry.parentGroupIndex;
-		int prevParentIndex = stack.size() - 1;
-
-		// Recurse up through the parents to find the next group if needed.
-		while (parentIndex != -1 && nextPageGroup == null) {
-			StackEntry parentStackEntry = (StackEntry) stack.elementAt(parentIndex);
-
-			nextPageGroup = parentStackEntry.getNextPageGroup(topEntry.getId());
-			prevParentIndex = parentIndex;
-			parentIndex = parentStackEntry.parentGroupIndex;
-			topEntry = parentStackEntry;
-		}
-
-		return nextPageGroup == null ? null : new StackEntry(nextPageGroup, prevParentIndex);
-	}
-
-	private class StackEntry {
-		public PageGroupEntry pageGroupEntry;
-		public Stack pagesReturned; // Element = Interger of page indexes.
-		public boolean pagesComplete;
-		public int parentGroupIndex;
-		public boolean ranOperations;
-
-		public StackEntry(PageGroupEntry newPageGroupEntry, int parentIndex) {
-			pageGroupEntry = newPageGroupEntry;
-			pagesReturned = new Stack();
-			pagesComplete = false;
-			parentGroupIndex = parentIndex;
-			ranOperations = false;
-		}
-
-		public StackEntry(StackEntry stackEntry) {
-			pageGroupEntry = stackEntry.pageGroupEntry;
-			pagesReturned = new Stack();
-			pagesComplete = stackEntry.pagesComplete;
-			parentGroupIndex = stackEntry.parentGroupIndex;
-			ranOperations = stackEntry.ranOperations;
-			pagesReturned.addAll(stackEntry.pagesReturned);
-		}
-
-		public String getId() {
-			return pageGroupEntry.pageGroup.getPageGroupID();
-		}
-
-		public int findNextPageIndex() {
-			int result = -1;
-
-			if (!pagesComplete) {
-				List pages = pageGroupEntry.getPages();
-
-				int pageIndex = getTopPageIndex();
-				String pageId = pageIndex == -1 ? null : ((IWizardPage) pages.get(pageIndex)).getName();
-				String expectedId = pageIndex + 1 >= pages.size() ? null : ((IWizardPage) pages.get(pageIndex + 1)).getName();
-				String newPageId = null;
-
-				try {
-					newPageId = pageGroupEntry.getPageHandler().getNextPage(pageId, expectedId);
-				} catch (Throwable exc) {
-					Logger.getLogger().logError(exc);
-				}
-
-				if (newPageId != null && newPageId.equals(IDMPageHandler.SKIP_PAGE) && pageIndex >= 0 && pageIndex < pages.size() - 2) {
-					result = pageIndex + 2;
-				} else {
-					result = pageGroupEntry.checkForSpecialIds(newPageId);
-				}
-			}
-
-			return result;
-		}
-
-		public PageGroupEntry getNextPageGroup(String afterId) {
-			PageGroupEntry result = null;
-			String nextGroupID = null;
-			String[] groupIDList = getGroupIDList();
-
-			try {
-				nextGroupID = pageGroupEntry.getPageGroupHandler().getNextPageGroup(afterId, groupIDList);
-			} catch (Throwable exc) {
-				Logger.getLogger().logError(exc);
-			}
-
-			if (nextGroupID != null) {
-				// Find this string in the list.
-				for (int index = 0; index < groupIDList.length; index++) {
-					if (groupIDList[index].equals(nextGroupID)) {
-						result = (PageGroupEntry) pageGroupEntry.groupsThatFollow.elementAt(index);
-						break;
-					}
-				}
-			}
-
-			return result;
-		}
-
-		private String[] getGroupIDList() {
-			String[] result = new String[pageGroupEntry.groupsThatFollow.size()];
-
-			for (int index = 0; index < pageGroupEntry.groupsThatFollow.size(); index++) {
-				PageGroupEntry entry = (PageGroupEntry) pageGroupEntry.groupsThatFollow.elementAt(index);
-
-				result[index] = entry.pageGroup.getPageGroupID();
-			}
-
-			return result;
-		}
-
-		private int getTopPageIndex() {
-			return pagesReturned.empty() ? -1 : ((Integer) pagesReturned.peek()).intValue();
-		}
-	}
-
-	private class PageGroupEntry {
-		public IDMPageGroup pageGroup;
-		public Vector groupsThatFollow;
-		private IDMPageHandler pageHandler;
-		private IDMPageGroupHandler pageGroupHandler;
-		private boolean initialized;
-
-		public PageGroupEntry(IDMPageGroup newPageGroup) {
-			pageGroup = newPageGroup;
-			groupsThatFollow = new Vector();
-			initialized = false;
-		}
-
-		public IDMPageHandler getPageHandler() {
-			if (!initialized)
-				init();
-
-			return pageHandler;
-		}
-
-		public IDMPageGroupHandler getPageGroupHandler() {
-			if (!initialized)
-				init();
-
-			return pageGroupHandler;
-		}
-
-		public List getPages() {
-			if (!initialized)
-				init();
-
-			return pageGroup.getPages(dataModel);
-		}
-
-		public PageGroupEntry(PageGroupEntry originalEntry) {
-			pageGroup = originalEntry.pageGroup;
-			groupsThatFollow = originalEntry.groupsThatFollow;
-			pageHandler = originalEntry.pageHandler;
-			pageGroupHandler = originalEntry.pageGroupHandler;
-		}
-
-		private void init() {
-			try {
-				pageHandler = pageGroup.getPageHandler(dataModel);
-				pageGroupHandler = pageGroup.getPageGroupHandler(dataModel);
-			} catch (Throwable exc) {
-				Logger.getLogger().logError(exc);
-			}
-
-			if (pageHandler == null)
-				pageHandler = new SimplePageHandler();
-
-			if (pageGroupHandler == null)
-				pageGroupHandler = new SimplePageGroupHandler();
-
-			initialized = true;
-		}
-
-		private int checkForSpecialIds(String pageId) {
-			int result = -1;
-
-			List pages = getPages();
-
-			if (pages.isEmpty() || pageId == null)
-				return -1;
-
-			if (pageId.startsWith(IDMPageHandler.PAGE_AFTER)) {
-				String afterID = pageId.substring(IDMPageHandler.PAGE_AFTER.length(), pageId.length());
-				result = getIndexOf(afterID);
-				result = result >= 0 && result < pages.size() - 1 ? result + 1 : -1;
-			} else if (pageId.startsWith(IDMPageHandler.PAGE_BEFORE)) {
-				String beforeID = pageId.substring(IDMPageHandler.PAGE_BEFORE.length(), pageId.length());
-				result = getIndexOf(beforeID);
-				result = result >= 1 && result < pages.size() ? result - 1 : -1;
-			} else {
-				result = getIndexOf(pageId);
-			}
-
-			return result;
-		}
-
-		private int getIndexOf(String pageId) {
-			int result = -1;
-
-			List pages = getPages();
-			for (int index = 0; index < pages.size(); index++) {
-				if (((IWizardPage) pages.get(index)).getName().equals(pageId)) {
-					result = index;
-					break;
-				}
-			}
-
-			return result;
-		}
-
-		public boolean isInitialized() {
-			return initialized;
-		}
-	}
-
-	public void storeDefaultSettings(DataModelWizard wizard) {
-		Iterator pageGroups = groupTable.values().iterator();
-		while (pageGroups.hasNext()) {
-			PageGroupEntry pageGroup = (PageGroupEntry) pageGroups.next();
-			if (pageGroup.isInitialized()) {
-				Iterator pages = pageGroup.getPages().iterator();
-				while (pages.hasNext()) {
-					IWizardPage page = (IWizardPage) pages.next();
-					wizard.storeDefaultSettings(page);
-				}
-			}
-		}
-	}
-}
diff --git a/plugins/org.eclipse.wst.common.frameworks.ui/wtp_ui/org/eclipse/wst/common/frameworks/internal/ui/RunnableOperationWrapper.java b/plugins/org.eclipse.wst.common.frameworks.ui/wtp_ui/org/eclipse/wst/common/frameworks/internal/ui/RunnableOperationWrapper.java
deleted file mode 100644
index 4b26000..0000000
--- a/plugins/org.eclipse.wst.common.frameworks.ui/wtp_ui/org/eclipse/wst/common/frameworks/internal/ui/RunnableOperationWrapper.java
+++ /dev/null
@@ -1,45 +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.ui;
-
-import java.lang.reflect.InvocationTargetException;
-
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.core.commands.operations.IUndoableOperation;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.jface.operation.IRunnableWithProgress;
-
-public class RunnableOperationWrapper implements IRunnableWithProgress {
-
-	private IUndoableOperation undoableOperation;
-	private IStatus status;
-
-	public RunnableOperationWrapper(IUndoableOperation undoableOperation) {
-		this.undoableOperation = undoableOperation;
-	}
-
-	public void run(IProgressMonitor monitor) throws InvocationTargetException, InterruptedException {
-		try {
-			status = undoableOperation.execute(monitor, null);
-			if(status.getSeverity() == IStatus.ERROR){
-				throw new InvocationTargetException(status.getException());
-			}
-		} catch (ExecutionException e) {
-			throw new InvocationTargetException(e);
-		}
-	}
-
-	public IStatus getStatus() {
-		return status;
-	}
-
-}
diff --git a/plugins/org.eclipse.wst.common.frameworks.ui/wtp_ui/org/eclipse/wst/common/frameworks/internal/ui/RunnableWithProgressWrapper.java b/plugins/org.eclipse.wst.common.frameworks.ui/wtp_ui/org/eclipse/wst/common/frameworks/internal/ui/RunnableWithProgressWrapper.java
deleted file mode 100644
index 3df3904..0000000
--- a/plugins/org.eclipse.wst.common.frameworks.ui/wtp_ui/org/eclipse/wst/common/frameworks/internal/ui/RunnableWithProgressWrapper.java
+++ /dev/null
@@ -1,79 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.wst.common.frameworks.internal.ui;
-
-
-import org.eclipse.wst.common.frameworks.internal.operations.IHeadlessRunnableWithProgress;
-
-/**
- * This is a wrapper for our IHeadlessRunnableWithProgress to the IRunnableWithProgress. This class
- * needs to be used when running the operation from a IRunnableContext.
- * 
- * @see IRunnableContext
- * @see JavaUIPlugin#getRunnableWithProgress Creation date: (5/8/2001 1:28:45 PM)
- * @author: Administrator
- */
-public class RunnableWithProgressWrapper implements org.eclipse.jface.operation.IRunnableWithProgress {
-	// //$NON-NLS-1$
-	private IHeadlessRunnableWithProgress headlessRunnable;
-
-	/**
-	 * RunnableWithProgressWrapper constructor comment.
-	 */
-	public RunnableWithProgressWrapper(IHeadlessRunnableWithProgress aHeadlessRunnableWithProgress) {
-		setHeadlessRunnable(aHeadlessRunnableWithProgress);
-	}
-
-	/**
-	 * Insert the method's description here. Creation date: (5/8/2001 1:29:52 PM)
-	 * 
-	 * @return com.ibm.etools.j2ee.operations.IHeadlessRunnableWithProgress
-	 */
-	protected org.eclipse.wst.common.frameworks.internal.operations.IHeadlessRunnableWithProgress getHeadlessRunnable() {
-		return headlessRunnable;
-	}
-
-	/**
-	 * Runs this operation. Progress should be reported to the given progress monitor. This method
-	 * is usually invoked by an <code>IRunnableContext</code>'s<code>run</code> method, which
-	 * supplies the progress monitor. A request to cancel the operation should be honored and
-	 * acknowledged by throwing <code>InterruptedException</code>.
-	 * 
-	 * @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 IRunnableContext#run
-	 */
-	public void run(org.eclipse.core.runtime.IProgressMonitor monitor) throws java.lang.reflect.InvocationTargetException, java.lang.InterruptedException {
-		getHeadlessRunnable().run(monitor);
-	}
-
-	/**
-	 * Insert the method's description here. Creation date: (5/8/2001 1:29:52 PM)
-	 * 
-	 * @param newHeadlessRunnable
-	 *            com.ibm.etools.j2ee.operations.IHeadlessRunnableWithProgress
-	 */
-	protected void setHeadlessRunnable(org.eclipse.wst.common.frameworks.internal.operations.IHeadlessRunnableWithProgress newHeadlessRunnable) {
-		headlessRunnable = newHeadlessRunnable;
-	}
-}
diff --git a/plugins/org.eclipse.wst.common.frameworks.ui/wtp_ui/org/eclipse/wst/common/frameworks/internal/ui/SaveHandlerUI.java b/plugins/org.eclipse.wst.common.frameworks.ui/wtp_ui/org/eclipse/wst/common/frameworks/internal/ui/SaveHandlerUI.java
deleted file mode 100644
index e316218..0000000
--- a/plugins/org.eclipse.wst.common.frameworks.ui/wtp_ui/org/eclipse/wst/common/frameworks/internal/ui/SaveHandlerUI.java
+++ /dev/null
@@ -1,128 +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.ui;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.wst.common.frameworks.internal.ISaveHandler;
-import org.eclipse.wst.common.frameworks.internal.SaveFailedException;
-import org.eclipse.wst.common.frameworks.internal.plugin.WTPCommonPlugin;
-
-
-public class SaveHandlerUI implements ISaveHandler {
-	public static final String SAVE_FAILED = WTPCommonPlugin.getResourceString("16"); //$NON-NLS-1$
-	public static final String BEGINNING_MESSAGE = WTPCommonPlugin.getResourceString("17"); //$NON-NLS-1$
-	protected boolean isYesToAll = false;
-	protected int referenceCount = 0;
-
-	/**
-	 * SaveHandlerUI constructor comment.
-	 */
-	public SaveHandlerUI() {
-		super();
-	}
-
-	/**
-	 * access method comment.
-	 */
-	public void access() {
-		referenceCount++;
-	}
-
-	protected Shell getParentShellForDialog() {
-		if (Display.getCurrent() != null)
-			return Display.getCurrent().getActiveShell();
-
-		return null;
-	}
-
-	protected Display getDisplay() {
-		Display result = Display.getCurrent();
-		return result == null ? Display.getDefault() : result;
-	}
-
-	public void handleSaveFailed(SaveFailedException ex, IProgressMonitor monitor) {
-		if (referenceCount > 1)
-			//Let the outermost reference handle it
-			throw ex;
-		String exMsg = ex.getInnerMostNestedException() == null ? ex.getMessage() : ex.getInnerMostNestedException().getMessage();
-		final String message = BEGINNING_MESSAGE + ":\n" + exMsg;//$NON-NLS-1$
-		getDisplay().syncExec(new Runnable() {
-			public void run() {
-				MessageDialog.openError(getParentShellForDialog(), SAVE_FAILED, message);
-			}
-		});
-		if (monitor != null)
-			monitor.setCanceled(true);
-		else
-			throw ex;
-	}
-
-	protected boolean promptUserToSaveReadOnly(IFile aFile) {
-
-		String[] buttonStrings = {WTPCommonPlugin.getResourceString("Yes_UI_"), WTPCommonPlugin.getResourceString("Yes_To_All_UI_"), WTPCommonPlugin.getResourceString("No_UI_")}; //$NON-NLS-3$ = "No" //$NON-NLS-2$ = "Yes To All" //$NON-NLS-1$ = "Yes"
-		String title = WTPCommonPlugin.getResourceString("Saving_Read-Only_File_UI_"); //$NON-NLS-1$ = "Saving Read-Only File"
-		String message = WTPCommonPlugin.getResourceString("2concat_INFO_", (new Object[]{aFile.getFullPath()})); //$NON-NLS-1$ = "The file {0} is read-only and cannot be saved.  Would you like to make it editable and save anyway?"
-
-		final MessageDialog dialog = new MessageDialog(getParentShellForDialog(), title, null, // accept
-					// the
-					// default
-					// window
-					// icon
-					message, MessageDialog.QUESTION, buttonStrings, 0); // Yes is the default
-
-		final int[] ret = new int[1];
-		getDisplay().syncExec(new Runnable() {
-			public void run() {
-				dialog.setBlockOnOpen(true);
-				ret[0] = dialog.open();
-			}
-		});
-
-		switch (ret[0]) {
-			case 0 : {
-				return true;
-			}
-			case 1 : {
-				isYesToAll = true;
-				return true;
-			}
-			case 2 : {
-				return false;
-			}
-		}
-		return false;
-	}
-
-	/**
-	 * release method comment.
-	 */
-	public void release() {
-		referenceCount--;
-		if (referenceCount == 0)
-			isYesToAll = false;
-
-	}
-
-	/**
-	 * shouldContinueAndMakeFileEditable method comment.
-	 */
-	public boolean shouldContinueAndMakeFileEditable(IFile aFile) {
-		boolean yes = isYesToAll || promptUserToSaveReadOnly(aFile);
-		if (yes)
-			aFile.getResourceAttributes().setReadOnly(false);
-		return yes;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.frameworks.ui/wtp_ui/org/eclipse/wst/common/frameworks/internal/ui/SimplePageGroupHandler.java b/plugins/org.eclipse.wst.common.frameworks.ui/wtp_ui/org/eclipse/wst/common/frameworks/internal/ui/SimplePageGroupHandler.java
deleted file mode 100644
index c68ee57..0000000
--- a/plugins/org.eclipse.wst.common.frameworks.ui/wtp_ui/org/eclipse/wst/common/frameworks/internal/ui/SimplePageGroupHandler.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/***************************************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others. All rights reserved. This program and the
- * accompanying materials are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: IBM Corporation - initial API and implementation
- **************************************************************************************************/
-package org.eclipse.wst.common.frameworks.internal.ui;
-
-import org.eclipse.wst.common.frameworks.internal.datamodel.ui.IDMPageGroupHandler;
-
-public class SimplePageGroupHandler implements IDMPageGroupHandler {
-	public String getNextPageGroup(String currentPageGroupID, String[] pageGroupIDs) {
-		if (pageGroupIDs == null || pageGroupIDs.length == 0)
-			return null;
-
-		if (currentPageGroupID == null)
-			return pageGroupIDs[0];
-
-		String result = null;
-
-		for (int index = 0; index < pageGroupIDs.length; index++) {
-			if (pageGroupIDs[index].equals(currentPageGroupID)) {
-				// We found the currentPageGroupID, so we want to return the next one in the
-				// array if there is one.
-				if (index + 1 < pageGroupIDs.length) {
-					result = pageGroupIDs[index + 1];
-				} else {
-					result = null;
-				}
-
-				break;
-			}
-		}
-
-		return result;
-	}
-}
diff --git a/plugins/org.eclipse.wst.common.frameworks.ui/wtp_ui/org/eclipse/wst/common/frameworks/internal/ui/SimplePageHandler.java b/plugins/org.eclipse.wst.common.frameworks.ui/wtp_ui/org/eclipse/wst/common/frameworks/internal/ui/SimplePageHandler.java
deleted file mode 100644
index 44db38f..0000000
--- a/plugins/org.eclipse.wst.common.frameworks.ui/wtp_ui/org/eclipse/wst/common/frameworks/internal/ui/SimplePageHandler.java
+++ /dev/null
@@ -1,24 +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.ui;
-
-import org.eclipse.wst.common.frameworks.internal.datamodel.ui.IDMPageHandler;
-
-public class SimplePageHandler implements IDMPageHandler
-{
-  public String getNextPage(String currentPageName, String expectedNextPageName) 
-  {
-    return expectedNextPageName;
-  }
-
-  public String getPreviousPage(String currentPageName, String expectedPreviousPageName) 
-  {
-	return expectedPreviousPageName;
-  }
-}
diff --git a/plugins/org.eclipse.wst.common.frameworks.ui/wtp_ui/org/eclipse/wst/common/frameworks/internal/ui/TimedKeyListener.java b/plugins/org.eclipse.wst.common.frameworks.ui/wtp_ui/org/eclipse/wst/common/frameworks/internal/ui/TimedKeyListener.java
deleted file mode 100644
index 7f3c7b4..0000000
--- a/plugins/org.eclipse.wst.common.frameworks.ui/wtp_ui/org/eclipse/wst/common/frameworks/internal/ui/TimedKeyListener.java
+++ /dev/null
@@ -1,135 +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.ui;
-
-import java.awt.event.ActionListener;
-
-import org.eclipse.swt.events.KeyListener;
-import org.eclipse.swt.events.ModifyEvent;
-import org.eclipse.swt.events.ModifyListener;
-import org.eclipse.swt.events.MouseEvent;
-import org.eclipse.swt.events.MouseListener;
-import org.eclipse.swt.events.MouseTrackListener;
-import org.eclipse.swt.widgets.Widget;
-
-/**
- * Insert the type's description here. Creation date: (8/30/2001 4:00:28 PM)
- * 
- * @author: Administrator
- */
-public class TimedKeyListener extends Timer implements KeyListener, MouseListener, MouseTrackListener, ModifyListener {
-
-	protected Widget monitoringTarget;
-
-	private final static int TIME_LIMIT = 200;
-
-	/**
-	 * J2EETimedKeyListener constructor comment.
-	 * 
-	 * @param delay
-	 *            int
-	 * @param listener
-	 *            java.awt.event.ActionListener
-	 */
-	public TimedKeyListener(int delay, ActionListener listener) {
-		super(delay, listener);
-		setRepeats(false);
-	}
-
-	/**
-	 * Insert the method's description here. Creation date: (8/30/2001 4:43:33 PM)
-	 * 
-	 * @param a
-	 *            java.awt.event.ActionListener
-	 */
-	public TimedKeyListener(ActionListener listener) {
-		this(TIME_LIMIT, listener);
-	}
-
-	/**
-	 * Sent when a key is pressed on the system keyboard.
-	 * 
-	 * @param e
-	 *            an event containing information about the key press
-	 */
-	public void keyPressed(org.eclipse.swt.events.KeyEvent e) {
-	}
-
-	/**
-	 * Sent when a key is released on the system keyboard.
-	 * 
-	 * @param e
-	 *            an event containing information about the key release
-	 */
-	public void keyReleased(org.eclipse.swt.events.KeyEvent e) {
-		// Replaced with SWT.Modify -- see modifyText() in this class
-		//        monitoringTarget = (Widget) e.getSource();
-		//        restart();
-	}
-
-	/**
-	 * @see org.eclipse.swt.events.MouseListener#mouseDoubleClick(MouseEvent)
-	 */
-	public void mouseDoubleClick(MouseEvent e) {
-	}
-
-	/**
-	 * @see org.eclipse.swt.events.MouseListener#mouseDown(MouseEvent)
-	 */
-	public void mouseDown(MouseEvent e) {
-	}
-
-	/**
-	 * @see org.eclipse.swt.events.MouseListener#mouseUp(MouseEvent)
-	 */
-	public void mouseUp(MouseEvent e) {
-		monitoringTarget = (Widget) e.getSource();
-		restart();
-	}
-
-	/**
-	 * @see org.eclipse.swt.events.MouseTrackListener#mouseEnter(MouseEvent)
-	 */
-	public void mouseEnter(MouseEvent e) {
-	}
-
-	/**
-	 * @see org.eclipse.swt.events.MouseTrackListener#mouseExit(MouseEvent)
-	 */
-	public void mouseExit(MouseEvent e) {
-	}
-
-	/**
-	 * @see org.eclipse.swt.events.MouseTrackListener#mouseHover(MouseEvent)
-	 */
-	public void mouseHover(MouseEvent e) {
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.common.frameworks.internal.ui.util.Timer#getSource()
-	 */
-	protected Object getSource() {
-		return monitoringTarget;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.swt.events.ModifyListener#modifyText(org.eclipse.swt.events.ModifyEvent)
-	 */
-	public void modifyText(ModifyEvent e) {
-		monitoringTarget = (Widget) e.getSource();
-		restart();
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.frameworks.ui/wtp_ui/org/eclipse/wst/common/frameworks/internal/ui/TimedModifyListener.java b/plugins/org.eclipse.wst.common.frameworks.ui/wtp_ui/org/eclipse/wst/common/frameworks/internal/ui/TimedModifyListener.java
deleted file mode 100644
index 98045fe..0000000
--- a/plugins/org.eclipse.wst.common.frameworks.ui/wtp_ui/org/eclipse/wst/common/frameworks/internal/ui/TimedModifyListener.java
+++ /dev/null
@@ -1,55 +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.ui;
-
-/**
- * This class perform the same function as the J2EETimedKeyListener but using the Modify SWT event
- * instead of the KeyUp. Creation date: (9/10/2001 11:46:51 AM)
- * 
- * @author: Administrator
- */
-import java.awt.event.ActionListener;
-
-import org.eclipse.swt.events.ModifyListener;
-import org.eclipse.swt.widgets.Widget;
-
-public class TimedModifyListener extends TimedKeyListener implements ModifyListener {
-	/**
-	 * J2EETimedModefyListener constructor comment.
-	 * 
-	 * @param delay
-	 *            int
-	 * @param listener
-	 *            java.awt.event.ActionListener
-	 */
-	public TimedModifyListener(int delay, ActionListener listener) {
-		super(delay, listener);
-	}
-
-	/**
-	 * J2EETimedModefyListener constructor comment.
-	 * 
-	 * @param listener
-	 *            java.awt.event.ActionListener
-	 */
-	public TimedModifyListener(ActionListener listener) {
-		super(listener);
-	}
-
-	/*
-	 * Re/Start the timer
-	 */
-	public void modifyText(org.eclipse.swt.events.ModifyEvent e) {
-		monitoringTarget = (Widget) e.getSource();
-		restart();
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.frameworks.ui/wtp_ui/org/eclipse/wst/common/frameworks/internal/ui/Timer.java b/plugins/org.eclipse.wst.common.frameworks.ui/wtp_ui/org/eclipse/wst/common/frameworks/internal/ui/Timer.java
deleted file mode 100644
index 0e1f6c2..0000000
--- a/plugins/org.eclipse.wst.common.frameworks.ui/wtp_ui/org/eclipse/wst/common/frameworks/internal/ui/Timer.java
+++ /dev/null
@@ -1,253 +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.ui;
-
-import java.awt.event.ActionEvent;
-import java.awt.event.ActionListener;
-
-
-public class Timer {
-	/**
-	 * DoPostEvent is a runnable class that fires actionEvents to the listeners on the
-	 * EventDispatchThread, via invokeLater.
-	 * 
-	 * @see #post
-	 */
-	class DoPostEvent implements Runnable {
-		public void run() {
-			if (eventQueued) {
-				fireActionPerformed(new ActionEvent(getSource(), 0, null));
-				cancelEvent();
-			}
-		}
-
-		Timer getTimer() {
-			return Timer.this;
-		}
-	}
-
-	protected ListenerList listenerList = new ListenerList();
-	boolean eventQueued = false;
-	int initialDelay, delay;
-	boolean repeats = true, coalesce = true;
-	private Runnable doPostEvent;
-	// These fields are maintained by TimerQueue.
-	// eventQueued can also be reset by the TimerQueue, but will only ever
-	// happen in applet case when TimerQueues thread is destroyed.
-	long expirationTime;
-	Timer nextTimer;
-	boolean running;
-
-	/**
-	 * Creates a Timer that will notify its listeners every <i>delay </i> milliseconds.
-	 * 
-	 * @param delay
-	 *            The number of milliseconds between listener notification
-	 * @param listener
-	 *            An initial listener
-	 * @see #setInitialDelay
-	 * @see #setRepeats
-	 */
-	public Timer(int delay, ActionListener listener) {
-		super();
-		this.delay = delay;
-		this.initialDelay = delay;
-
-		doPostEvent = new DoPostEvent();
-
-		if (listener != null) {
-			addActionListener(listener);
-		}
-	}
-
-	/**
-	 * Adds an actionListener to the Timer
-	 */
-	public void addActionListener(ActionListener listener) {
-		listenerList.add(listener);
-	}
-
-	synchronized void cancelEvent() {
-		eventQueued = false;
-	}
-
-	/**
-	 * Notify all listeners that have registered interest for notification on this event type. The
-	 * event instance is lazily created using the parameters passed into the fire method.
-	 * 
-	 * @see EventListenerList
-	 */
-	protected void fireActionPerformed(ActionEvent e) {
-		// Guaranteed to return a non-null array
-		ActionListener[] listeners = listenerList.getListenerList();
-
-		// Process the listeners last to first, notifying
-		// those that are interested in this event
-		for (int i = listeners.length - 1; i >= 0; i -= 1) {
-			listeners[i].actionPerformed(e);
-		}
-	}
-
-	/**
-	 * Returns the Timer's delay.
-	 * 
-	 * @see #setDelay
-	 */
-	public int getDelay() {
-		return delay;
-	}
-
-	/**
-	 * Returns the Timer's initial delay.
-	 * 
-	 * @see #setDelay
-	 */
-	public int getInitialDelay() {
-		return initialDelay;
-	}
-
-	/**
-	 * Returns <b>true </b> if the Timer coalesces multiple pending <b>performCommand() </b>
-	 * messages.
-	 * 
-	 * @see #setCoalesce
-	 */
-	public boolean isCoalesce() {
-		return coalesce;
-	}
-
-	/**
-	 * Returns <b>true </b> if the Timer will send a <b>actionPerformed() </b> message to its
-	 * listeners multiple times.
-	 * 
-	 * @see #setRepeats
-	 */
-	public boolean isRepeats() {
-		return repeats;
-	}
-
-	/**
-	 * Returns <b>true </b> if the Timer is running.
-	 * 
-	 * @see #start
-	 */
-	public boolean isRunning() {
-		return timerQueue().containsTimer(this);
-	}
-
-	synchronized void post() {
-		if (!eventQueued) {
-			eventQueued = true;
-			org.eclipse.swt.widgets.Display.getDefault().asyncExec(doPostEvent);
-		}
-	}
-
-	/**
-	 * Removes an ActionListener from the Timer.
-	 */
-	public void removeActionListener(ActionListener listener) {
-		listenerList.remove(listener);
-	}
-
-	/**
-	 * Restarts a Timer, canceling any pending firings, and causing it to fire with its initial
-	 * dely.
-	 */
-	public void restart() {
-		stop();
-		start();
-	}
-
-	/**
-	 * Sets whether the Timer coalesces multiple pending ActionEvent firings. A busy application may
-	 * not be able to keep up with a Timer's message generation, causing multiple
-	 * <b>actionPerformed() </b> message sends to be queued. When processed, the application sends
-	 * these messages one after the other, causing the Timer's listeners to receive a sequence of
-	 * <b>actionPerformed() </b> messages with no delay between them. Coalescing avoids this
-	 * situation by reducing multiple pending messages to a single message send. Timers coalesce
-	 * their message sends by default.
-	 */
-	public void setCoalesce(boolean flag) {
-		coalesce = flag;
-	}
-
-	/**
-	 * Sets the Timer's delay, the number of milliseconds between successive <b>actionPerfomed()
-	 * </b> messages to its listeners
-	 * 
-	 * @see #setInitialDelay
-	 */
-	public void setDelay(int delay) {
-		if (delay < 0) {
-			String msg = WTPCommonUIResourceHandler.getString(WTPCommonUIResourceHandler.Timer_UI_0, new Object[]{Integer.toString(delay)});
-			throw new IllegalArgumentException(msg);
-		}
-		this.delay = delay;
-	}
-
-	/**
-	 * Sets the Timer's initial delay. This will be used for the first "ringing" of the Timer only.
-	 * Subsequent ringings will be spaced using the delay property.
-	 * 
-	 * @see #setDelay
-	 */
-	public void setInitialDelay(int initialDelay) {
-		if (initialDelay < 0) {
-			String msg = WTPCommonUIResourceHandler.getString(WTPCommonUIResourceHandler.Timer_UI_1, new Object[]{Integer.toString(initialDelay)});
-			throw new IllegalArgumentException(msg);
-		}
-		this.initialDelay = initialDelay;
-	}
-
-	/**
-	 * If <b>flag </b> is <b>false </b>, instructs the Timer to send <b>actionPerformed() </b> to
-	 * its listeners only once, and then stop.
-	 */
-	public void setRepeats(boolean flag) {
-		repeats = flag;
-	}
-
-	/**
-	 * Starts the Timer, causing it to send <b>actionPerformed() </b> messages to its listeners.
-	 * 
-	 * @see #stop
-	 */
-	public void start() {
-		timerQueue().addTimer(this, System.currentTimeMillis() + getInitialDelay());
-	}
-
-	/**
-	 * Stops a Timer, causing it to stop sending <b>actionPerformed() </b> messages to its Target.
-	 * 
-	 * @see #start
-	 */
-	public void stop() {
-		timerQueue().removeTimer(this);
-		cancelEvent();
-	}
-
-	/**
-	 * Returns the timer queue.
-	 */
-	TimerQueue timerQueue() {
-		return TimerQueue.singleton();
-	}
-
-	/**
-	 * Return the source for the ActionEvent that is fired.
-	 * 
-	 * @return
-	 */
-	protected Object getSource() {
-		return this;
-	}
-}
diff --git a/plugins/org.eclipse.wst.common.frameworks.ui/wtp_ui/org/eclipse/wst/common/frameworks/internal/ui/TimerQueue.java b/plugins/org.eclipse.wst.common.frameworks.ui/wtp_ui/org/eclipse/wst/common/frameworks/internal/ui/TimerQueue.java
deleted file mode 100644
index a85cf25..0000000
--- a/plugins/org.eclipse.wst.common.frameworks.ui/wtp_ui/org/eclipse/wst/common/frameworks/internal/ui/TimerQueue.java
+++ /dev/null
@@ -1,231 +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.ui;
-
-
-
-
-class TimerQueue implements Runnable {
-	private static TimerQueue singleton;
-	Timer firstTimer;
-	boolean running;
-	private static final Object classLock = new Object();
-
-	/**
-	 * Constructor for TimerQueue.
-	 */
-	public TimerQueue() {
-		super();
-
-		// Now start the TimerQueue thread.
-		start();
-	}
-
-	synchronized void addTimer(Timer timer, long expirationTime) {
-		Timer previousTimer;
-		Timer nextTimer;
-
-		// If the Timer is already in the queue, then ignore the add.
-		if (timer.running) {
-			return;
-		}
-
-		previousTimer = null;
-		nextTimer = firstTimer;
-
-		// Insert the Timer into the linked list in the order they will
-		// expire. If two timers expire at the same time, put the newer entry
-		// later so they expire in the order they came in.
-
-		while (nextTimer != null) {
-			if (nextTimer.expirationTime > expirationTime)
-				break;
-
-			previousTimer = nextTimer;
-			nextTimer = nextTimer.nextTimer;
-		}
-
-		if (previousTimer == null) {
-			firstTimer = timer;
-		} else {
-			previousTimer.nextTimer = timer;
-		}
-
-		timer.expirationTime = expirationTime;
-		timer.nextTimer = nextTimer;
-		timer.running = true;
-		notify();
-	}
-
-	synchronized boolean containsTimer(Timer timer) {
-		return timer.running;
-	}
-
-	/**
-	 * If there are a ton of timers, this method may never return. It loops checking to see if the
-	 * head of the Timer list has expired. If it has, it posts the Timer and reschedules it if
-	 * necessary.
-	 */
-	synchronized long postExpiredTimers() {
-		Timer timer;
-		long currentTime;
-		long timeToWait;
-
-		// The timeToWait we return should never be negative and only be zero
-		// when we have no Timers to wait for.
-
-		do {
-			timer = firstTimer;
-			if (timer == null)
-				return 0;
-
-			currentTime = System.currentTimeMillis();
-			timeToWait = timer.expirationTime - currentTime;
-
-			if (timeToWait <= 0) {
-				try {
-					timer.post(); // have timer post an event
-				} catch (SecurityException e) {
-				}
-
-				// Remove the timer from the queue
-				removeTimer(timer);
-
-				// This tries to keep the interval uniform at
-				// the cost of drift.
-				if (timer.isRepeats()) {
-					addTimer(timer, currentTime + timer.getDelay());
-				}
-			}
-
-			// Allow other threads to call addTimer() and removeTimer()
-			// even when we are posting Timers like mad. Since the wait()
-			// releases the lock, be sure not to maintain any state
-			// between iterations of the loop.
-
-			try {
-				wait(1);
-			} catch (InterruptedException e) {
-			}
-		} while (timeToWait <= 0);
-
-		return timeToWait;
-	}
-
-	synchronized void removeTimer(Timer timer) {
-		Timer previousTimer;
-		Timer nextTimer;
-		boolean found;
-
-		if (!timer.running)
-			return;
-
-		previousTimer = null;
-		nextTimer = firstTimer;
-		found = false;
-
-		while (nextTimer != null) {
-			if (nextTimer == timer) {
-				found = true;
-				break;
-			}
-
-			previousTimer = nextTimer;
-			nextTimer = nextTimer.nextTimer;
-		}
-
-		if (!found)
-			return;
-
-		if (previousTimer == null) {
-			firstTimer = timer.nextTimer;
-		} else {
-			previousTimer.nextTimer = timer.nextTimer;
-		}
-
-		timer.expirationTime = 0;
-		timer.nextTimer = null;
-		timer.running = false;
-	}
-
-	public synchronized void run() {
-		long timeToWait;
-
-		try {
-			while (running) {
-				timeToWait = postExpiredTimers();
-				try {
-					wait(timeToWait);
-				} catch (InterruptedException e) {
-				}
-			}
-		} catch (ThreadDeath td) {
-			running = false;
-			// Mark all the timers we contain as not being queued.
-			Timer timer = firstTimer;
-			while (timer != null) {
-				timer.eventQueued = false;
-				timer = timer.nextTimer;
-			}
-			synchronized (this) {
-				if (!this.running)
-					start();
-			}
-			throw td;
-		}
-	}
-
-	public static TimerQueue singleton() {
-		if (singleton == null)
-			synchronized (classLock) {
-				singleton = new TimerQueue();
-			}
-		return singleton;
-	}
-
-	synchronized void start() {
-		if (running) {
-			throw new RuntimeException(WTPCommonUIResourceHandler.TimerQueue_ERROR_0);
-		}
-		Thread timerThread = new Thread(this, "TimerQueue");//$NON-NLS-1$
-		try {
-			timerThread.setDaemon(true);
-		} catch (SecurityException e) {
-		}
-		timerThread.start();
-		running = true;
-	}
-
-	synchronized void stop() {
-		running = false;
-		notify();
-	}
-
-	public synchronized String toString() {
-		StringBuffer buf;
-		Timer nextTimer;
-
-		buf = new StringBuffer();
-		buf.append("TimerQueue (");//$NON-NLS-1$
-
-		nextTimer = firstTimer;
-		while (nextTimer != null) {
-			buf.append(nextTimer.toString());
-
-			nextTimer = nextTimer.nextTimer;
-			if (nextTimer != null)
-				buf.append(", ");//$NON-NLS-1$
-		}
-
-		buf.append(")");//$NON-NLS-1$
-		return buf.toString();
-	}
-}
diff --git a/plugins/org.eclipse.wst.common.frameworks.ui/wtp_ui/org/eclipse/wst/common/frameworks/internal/ui/UIEnablementIdentifier.java b/plugins/org.eclipse.wst.common.frameworks.ui/wtp_ui/org/eclipse/wst/common/frameworks/internal/ui/UIEnablementIdentifier.java
deleted file mode 100644
index af51b65..0000000
--- a/plugins/org.eclipse.wst.common.frameworks.ui/wtp_ui/org/eclipse/wst/common/frameworks/internal/ui/UIEnablementIdentifier.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
- *******************************************************************************/
-/*
- * Created on Feb 12, 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.ui;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.ui.activities.IActivityManager;
-import org.eclipse.ui.activities.IIdentifier;
-import org.eclipse.ui.activities.IIdentifierListener;
-import org.eclipse.ui.activities.IdentifierEvent;
-import org.eclipse.wst.common.frameworks.internal.enablement.EnablementIdentifier;
-import org.eclipse.wst.common.frameworks.internal.enablement.EnablementIdentifierEvent;
-import org.eclipse.wst.common.frameworks.internal.enablement.IEnablementManager;
-
-
-/**
- * @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
- */
-class UIEnablementIdentifier extends EnablementIdentifier implements IIdentifierListener {
-
-	private IIdentifier activityIdentifier;
-
-	/**
-	 * @param id
-	 * @param project
-	 */
-	public UIEnablementIdentifier(String id, IProject project) {
-		super(id, project);
-		IActivityManager manager = getActivityManager();
-		if (manager != null) {
-			activityIdentifier = getActivityManager().getIdentifier(id);
-			activityIdentifier.addIdentifierListener(this);
-		}
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.activities.IIdentifierListener#identifierChanged(org.eclipse.ui.activities.IdentifierEvent)
-	 */
-	public void identifierChanged(IdentifierEvent identifierEvent) {
-		boolean enabledChanged = resetEnabled();
-		EnablementIdentifierEvent evt = new EnablementIdentifierEvent(this, false, enabledChanged);
-		fireIdentifierChanged(evt);
-	}
-
-	protected IActivityManager getActivityManager() {
-		return ((UIEnablementManager) IEnablementManager.INSTANCE).getActivityManager();
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclispe.wst.common.frameworks.internal.enablement.EnablementIdentifier#getNewEnabled()
-	 */
-	protected boolean getNewEnabled() {
-		IIdentifier identifier = getActivityIdentifier();
-		if (identifier != null)
-			return identifier.isEnabled() && super.getNewEnabled();
-		else
-			return false;
-	}
-
-	
-	protected IIdentifier getActivityIdentifier() {
-		if (activityIdentifier == null){
-			IActivityManager manager = getActivityManager();
-			if (manager != null) {
-				activityIdentifier = getActivityManager().getIdentifier(getId());
-				activityIdentifier.addIdentifierListener(this);
-			}
-		}
-		return activityIdentifier;
-	}
-
-
-
-}
diff --git a/plugins/org.eclipse.wst.common.frameworks.ui/wtp_ui/org/eclipse/wst/common/frameworks/internal/ui/UIEnablementManager.java b/plugins/org.eclipse.wst.common.frameworks.ui/wtp_ui/org/eclipse/wst/common/frameworks/internal/ui/UIEnablementManager.java
deleted file mode 100644
index b8de6a4..0000000
--- a/plugins/org.eclipse.wst.common.frameworks.ui/wtp_ui/org/eclipse/wst/common/frameworks/internal/ui/UIEnablementManager.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-/*
- * 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.ui;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.activities.IActivityManager;
-import org.eclipse.ui.activities.IWorkbenchActivitySupport;
-import org.eclipse.wst.common.frameworks.internal.enablement.EnablementIdentifier;
-import org.eclipse.wst.common.frameworks.internal.enablement.EnablementManager;
-
-/**
- * @author mdelder
- */
-public class UIEnablementManager extends EnablementManager {
-
-	private IWorkbenchActivitySupport activitySupport = null;
-
-	public UIEnablementManager() {
-		super();
-	}
-
-	protected IActivityManager getActivityManager() {
-		if (getActivitySupport() != null)
-			return getActivitySupport().getActivityManager();
-		else
-			return null;
-	}
-
-	/**
-	 * @return Returns the activitySupport.
-	 */
-	protected IWorkbenchActivitySupport getActivitySupport() {
-		if (activitySupport == null)
-			activitySupport = initActivitySupport();
-		return activitySupport;
-	}
-
-	private IWorkbenchActivitySupport initActivitySupport() {
-		IWorkbench work = null;
-		try {
-			work = PlatformUI.getWorkbench();
-		} catch (IllegalStateException ex) {
-			//Not initialized yet
-		}
-		return (work != null) ? work.getActivitySupport() : null;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.common.frameworks.internal.enablement.EnablementManager#createIdentifier(java.lang.String,
-	 *      org.eclipse.core.resources.IProject)
-	 */
-	protected EnablementIdentifier createIdentifier(String identifierId, IProject project) {
-		return new UIEnablementIdentifier(identifierId, project);
-	}
-}
diff --git a/plugins/org.eclipse.wst.common.frameworks.ui/wtp_ui/org/eclipse/wst/common/frameworks/internal/ui/UIOperationHandler.java b/plugins/org.eclipse.wst.common.frameworks.ui/wtp_ui/org/eclipse/wst/common/frameworks/internal/ui/UIOperationHandler.java
deleted file mode 100644
index 53ccd53..0000000
--- a/plugins/org.eclipse.wst.common.frameworks.ui/wtp_ui/org/eclipse/wst/common/frameworks/internal/ui/UIOperationHandler.java
+++ /dev/null
@@ -1,187 +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 Aug 5, 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.ui;
-
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.wst.common.frameworks.internal.operations.IOperationHandler;
-
-
-/**
- * @author dfholt
- * 
- * TODO To change the template for this generated type comment go to Window - Preferences - Java -
- * Code Generation - Code and Comments
- */
-public class UIOperationHandler implements IOperationHandler {
-	protected Shell parentShell;
-	final public static String DEFAULT_INFORMATION = "Information"; //$NON-NLS-1$
-	final public static String DEFAULT_ERROR = "Error"; //$NON-NLS-1$
-	final public static String DEFAULT_CONFIRM = "Confirm"; //$NON-NLS-1$
-	protected String informationTitle = DEFAULT_INFORMATION;
-	protected String confirmTitle = DEFAULT_CONFIRM;
-	protected String errorTitle = DEFAULT_ERROR;
-
-	/**
-	 * UIOperationHandler constructor comment.
-	 */
-	public UIOperationHandler() {
-		super();
-	}
-
-	/**
-	 * UIOperationHandler constructor comment.
-	 */
-	public UIOperationHandler(Shell parent) {
-		super();
-		parentShell = parent;
-	}
-
-	/**
-	 * A decision needs to made as to whether an action/operation can continue
-	 */
-	public boolean canContinue(String message) {
-		return MessageDialog.openQuestion(getParentShell(), getConfirmTitle(), message);
-	}
-
-	/**
-	 * A decision needs to made as to whether an action/operation can continue
-	 */
-	public boolean canContinue(String message, String[] items) {
-		return ListMessageDialog.openQuestion(getParentShell(), getConfirmTitle(), message, 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
-	 */
-	public int canContinueWithAllCheck(String message) {
-		MessageDialog dialog = new MessageDialog(getParentShell(), getConfirmTitle(), null, // accept
-					// the
-					// default
-					// window
-					// icon
-					message, MessageDialog.QUESTION, new String[]{IDialogConstants.YES_LABEL, IDialogConstants.YES_TO_ALL_LABEL, IDialogConstants.NO_LABEL}, 1); // yes
-		// is
-		// the
-		// default
-		return dialog.open();
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.etools.j2ee.operations.IOperationHandler#canContinueWithAllCheckAllowCancel(java.lang.String)
-	 */
-	public int canContinueWithAllCheckAllowCancel(String message) {
-		MessageDialog dialog = new MessageDialog(getParentShell(), getConfirmTitle(), null, // accept
-					// the
-					// default
-					// window
-					// icon
-					message, MessageDialog.QUESTION, new String[]{IDialogConstants.YES_LABEL, IDialogConstants.YES_TO_ALL_LABEL, IDialogConstants.NO_LABEL, IDialogConstants.CANCEL_LABEL}, 1); // yes
-		// is
-		// the
-		// default
-		return dialog.open();
-	}
-
-	/**
-	 * An error has occurred
-	 */
-	public void error(String message) {
-		MessageDialog.openError(getParentShell(), getErrorTitle(), message);
-	}
-
-	/**
-	 * The dialog title to be used for confirmations
-	 */
-	public java.lang.String getConfirmTitle() {
-		return confirmTitle;
-	}
-
-	/**
-	 * The dialog title to be used for errors
-	 */
-	public java.lang.String getErrorTitle() {
-		return errorTitle;
-	}
-
-	/**
-	 * The dialog title to be used for information
-	 */
-	public java.lang.String getInformationTitle() {
-		return informationTitle;
-	}
-
-	public Shell getParentShell() {
-		if (parentShell == null)
-			parentShell = WTPUIPlugin.getPluginWorkbench().getActiveWorkbenchWindow().getShell();
-
-		return parentShell;
-	}
-
-	/**
-	 * An informational message needs to be presented
-	 */
-	public void inform(String message) {
-		MessageDialog.openInformation(getParentShell(), getInformationTitle(), message);
-	}
-
-	/**
-	 * Insert the method's description here. Creation date: (8/9/2001 11:51:36 AM)
-	 * 
-	 * @param newConfirmTitle
-	 *            java.lang.String
-	 */
-	public void setConfirmTitle(java.lang.String newConfirmTitle) {
-		confirmTitle = newConfirmTitle;
-	}
-
-	/**
-	 * Insert the method's description here. Creation date: (8/9/2001 11:51:36 AM)
-	 * 
-	 * @param newErrorTitle
-	 *            java.lang.String
-	 */
-	public void setErrorTitle(java.lang.String newErrorTitle) {
-		errorTitle = newErrorTitle;
-	}
-
-	/**
-	 * Insert the method's description here. Creation date: (8/9/2001 11:51:36 AM)
-	 * 
-	 * @param newInformationTitle
-	 *            java.lang.String
-	 */
-	public void setInformationTitle(java.lang.String newInformationTitle) {
-		informationTitle = newInformationTitle;
-	}
-
-	/**
-	 * @see com.ibm.etools.j2ee.operations.IOperationHandler#getContext()
-	 */
-	public Object getContext() {
-		return getParentShell();
-	}
-
-
-}
diff --git a/plugins/org.eclipse.wst.common.frameworks.ui/wtp_ui/org/eclipse/wst/common/frameworks/internal/ui/UITesterImpl.java b/plugins/org.eclipse.wst.common.frameworks.ui/wtp_ui/org/eclipse/wst/common/frameworks/internal/ui/UITesterImpl.java
deleted file mode 100644
index 695fdd3..0000000
--- a/plugins/org.eclipse.wst.common.frameworks.ui/wtp_ui/org/eclipse/wst/common/frameworks/internal/ui/UITesterImpl.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-/*
- * 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.ui;
-
-import org.eclipse.jem.util.UITester;
-import org.eclipse.ui.PlatformUI;
-
-
-/**
- * @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 UITesterImpl implements UITester {
-
-	/**
-	 *  
-	 */
-	public UITesterImpl() {
-		super();
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.common.frameworks.internal.UITester#isCurrentContextUI()
-	 */
-	public boolean isCurrentContextUI() {
-		try {
-			return PlatformUI.isWorkbenchRunning() || PlatformUI.getWorkbench().isClosing();
-		} catch (Exception e) {
-			//Ignore, workbench must not be running
-			return false;
-		}
-	}
-
-}
diff --git a/plugins/org.eclipse.wst.common.frameworks.ui/wtp_ui/org/eclipse/wst/common/frameworks/internal/ui/ValidationStatus.java b/plugins/org.eclipse.wst.common.frameworks.ui/wtp_ui/org/eclipse/wst/common/frameworks/internal/ui/ValidationStatus.java
deleted file mode 100644
index 71c5673..0000000
--- a/plugins/org.eclipse.wst.common.frameworks.ui/wtp_ui/org/eclipse/wst/common/frameworks/internal/ui/ValidationStatus.java
+++ /dev/null
@@ -1,200 +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.ui;
-
-import java.util.Enumeration;
-import java.util.HashMap;
-import java.util.Hashtable;
-import java.util.Iterator;
-import java.util.Map;
-
-import org.eclipse.swt.widgets.Control;
-
-/**
- * This object encompas a set of Validation status Creation date: (9/10/2001 5:35:12 PM)
- * 
- * @author: Administrator
- */
-public class ValidationStatus {
-
-	// TODO make all these vars private and change errMsgs & errStatus to maps so the same methods
-	// can be used as with warnings & info
-	Hashtable errMsgs = new Hashtable();
-	Hashtable errStatus = new Hashtable();
-	Hashtable tControls = new Hashtable();
-	Map warnMsgs;
-	Map warnStatus;
-	Map infoMsgs;
-	Map infoStatus;
-
-	/**
-	 * ValidationStatus constructor comment.
-	 */
-	public ValidationStatus() {
-		super();
-	}
-
-	/*
-	 * Look for any error. If there is more than one, return errors according to their key. i.e.,
-	 * lower key errors will be returned first.
-	 */
-	public String getLastErrMsg() {
-		//TODO once ivars are changed to maps, pass this to getLastMsg()
-		Enumeration e = errStatus.keys();
-		String[] errs = new String[errStatus.size()];
-		for (int i = 0; i < errs.length; i++)
-			errs[i] = null;
-		boolean foundOne = false;
-		while (e.hasMoreElements()) {
-			Integer key = (Integer) e.nextElement();
-			if (!((Boolean) errStatus.get(key)).booleanValue()) {
-				errs[key.intValue() % errs.length] = (String) errMsgs.get(key);
-				foundOne = true;
-			}
-		}
-		if (foundOne)
-			for (int i = 0; i < errs.length; i++)
-				if (errs[i] != null)
-					return errs[i];
-		return null;
-	}
-
-	private Map getWarningMsgs() {
-		if (warnMsgs == null)
-			warnMsgs = new HashMap();
-		return warnMsgs;
-	}
-
-	private Map getWarningStatusMap() {
-		if (warnStatus == null)
-			warnStatus = new HashMap();
-		return warnStatus;
-	}
-
-	private Map getInfoMsgs() {
-		if (infoMsgs == null)
-			infoMsgs = new HashMap();
-		return infoMsgs;
-	}
-
-	private Map getInfoStatusMap() {
-		if (infoStatus == null)
-			infoStatus = new HashMap();
-		return infoStatus;
-	}
-
-	public String getLastWarningMsg() {
-		return getLastMsg(warnStatus, warnMsgs);
-	}
-
-	public String getLastInfoMsg() {
-		return getLastMsg(infoStatus, infoMsgs);
-	}
-
-	/*
-	 * Look for any status. If there is more than one, return status according to their key. i.e.,
-	 * lower key status will be returned first.
-	 */
-	private String getLastMsg(Map statusMap, Map msgMap) {
-		if (statusMap == null)
-			return null;
-		Iterator e = statusMap.keySet().iterator();
-		String[] infos = new String[statusMap.size()];
-		for (int i = 0; i < infos.length; i++)
-			infos[i] = null;
-		boolean foundOne = false;
-		while (e.hasNext()) {
-			Integer key = (Integer) e.next();
-			if (!((Boolean) statusMap.get(key)).booleanValue()) {
-				infos[key.intValue() % infos.length] = (String) msgMap.get(key);
-				foundOne = true;
-			}
-		}
-		if (foundOne)
-			for (int i = 0; i < infos.length; i++)
-				if (infos[i] != null)
-					return infos[i];
-		return null;
-	}
-
-	public String getLastErrMsgAndFocus() {
-
-		Enumeration e = errStatus.keys();
-
-		Integer theOne = null;
-		while (e.hasMoreElements()) {
-			Integer key = (Integer) e.nextElement();
-			if (!((Boolean) errStatus.get(key)).booleanValue()) {
-				if (theOne == null || key.intValue() < theOne.intValue()) {
-					theOne = key;
-				}
-			}
-		}
-		if (theOne != null) {
-			Control control = (Control) tControls.get(theOne);
-			if (control != null) {
-				control.setFocus();
-			}
-			return ((String) errMsgs.get(theOne));
-		}
-		return null;
-	}
-
-	public boolean hasError(Integer key) {
-		Boolean stat = (Boolean) errStatus.get(key);
-		if (stat != null)
-			return stat.booleanValue();
-		return true;
-	}
-
-	public void setControl(Integer key, Control control) {
-		tControls.put(key, control);
-	}
-
-	public void setErrorStatus(Integer key, Boolean status, String msg) {
-		errMsgs.put(key, msg);
-		errStatus.put(key, status);
-	}
-
-	public void setErrorStatus(Integer key, String msg) {
-		errMsgs.put(key, msg);
-		errStatus.put(key, new Boolean(false));
-	}
-
-	public void setWarningStatus(Integer key, String msg) {
-		getWarningMsgs().put(key, msg);
-		getWarningStatusMap().put(key, new Boolean(false));
-	}
-
-	public void setInfoStatus(Integer key, String msg) {
-		getInfoMsgs().put(key, msg);
-		getInfoStatusMap().put(key, new Boolean(false));
-	}
-
-	public void setOKStatus(Integer key) {
-		errMsgs.put(key, ""); //$NON-NLS-1$
-		errStatus.put(key, new Boolean(true));
-		if (warnMsgs != null)
-			warnMsgs.put(key, ""); //$NON-NLS-1$
-		if (warnStatus != null)
-			warnStatus.put(key, new Boolean(true));
-		if (infoMsgs != null)
-			infoMsgs.put(key, ""); //$NON-NLS-1$
-		if (infoStatus != null)
-			infoStatus.put(key, new Boolean(true));
-	}
-
-	public void setStatus(Integer key, boolean ok, String msg) {
-		errMsgs.put(key, msg);
-		errStatus.put(key, new Boolean(ok));
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.frameworks.ui/wtp_ui/org/eclipse/wst/common/frameworks/internal/ui/WTPActivityBridgeHelperImpl.java b/plugins/org.eclipse.wst.common.frameworks.ui/wtp_ui/org/eclipse/wst/common/frameworks/internal/ui/WTPActivityBridgeHelperImpl.java
deleted file mode 100644
index a8440eb..0000000
--- a/plugins/org.eclipse.wst.common.frameworks.ui/wtp_ui/org/eclipse/wst/common/frameworks/internal/ui/WTPActivityBridgeHelperImpl.java
+++ /dev/null
@@ -1,81 +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
- * 
- */
-package org.eclipse.wst.common.frameworks.internal.ui;
-
-import java.util.HashSet;
-import java.util.Set;
-
-import org.eclipse.ui.IPluginContribution;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.activities.IActivityManager;
-import org.eclipse.ui.activities.IIdentifier;
-import org.eclipse.ui.activities.IWorkbenchActivitySupport;
-import org.eclipse.ui.activities.WorkbenchActivityHelper;
-import org.eclipse.wst.common.frameworks.internal.activities.WTPActivityBridgeHelper;
-
-
-/**
- * @author jsholl
- *  
- */
-public class WTPActivityBridgeHelperImpl implements WTPActivityBridgeHelper {
-
-	private IWorkbenchActivitySupport workbenchActivitySupport = null;
-	private IActivityManager activityManager = null;
-
-	public WTPActivityBridgeHelperImpl() {
-		workbenchActivitySupport = PlatformUI.getWorkbench().getActivitySupport();
-		activityManager = workbenchActivitySupport.getActivityManager();
-	}
-
-	public void enableActivity(String activityID, boolean enabled) {
-		Set enabledActivities = activityManager.getEnabledActivityIds();
-		Set newEnabledActivities = null;
-		if (enabled && !enabledActivities.contains(activityID)) {
-			newEnabledActivities = new HashSet();
-			newEnabledActivities.addAll(enabledActivities);
-			newEnabledActivities.add(activityID);
-		}
-		if (!enabled && enabledActivities.contains(activityID)) {
-			newEnabledActivities = new HashSet();
-			newEnabledActivities.addAll(enabledActivities);
-			newEnabledActivities.remove(activityID);
-		}
-		if (null != newEnabledActivities) {
-			workbenchActivitySupport.setEnabledActivityIds(newEnabledActivities);
-		}
-	}
-
-	public Set getEnabledActivityIds() {
-		return activityManager.getEnabledActivityIds();
-	}
-
-	public void setEnabledActivityIds(Set activityIDs) {
-		workbenchActivitySupport.setEnabledActivityIds(activityIDs);
-	}
-
-	public Set getActivityIDsFromContribution(final String localID, final String pluginID) {
-		IIdentifier identifier = activityManager.getIdentifier(WorkbenchActivityHelper.createUnifiedId(new IPluginContribution() {
-			public String getLocalId() {
-				return localID;
-			}
-
-			public String getPluginId() {
-				return pluginID;
-			}
-		}));
-		return identifier.getActivityIds();
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.frameworks.ui/wtp_ui/org/eclipse/wst/common/frameworks/internal/ui/WTPActivityHelper.java b/plugins/org.eclipse.wst.common.frameworks.ui/wtp_ui/org/eclipse/wst/common/frameworks/internal/ui/WTPActivityHelper.java
deleted file mode 100644
index 37a0221..0000000
--- a/plugins/org.eclipse.wst.common.frameworks.ui/wtp_ui/org/eclipse/wst/common/frameworks/internal/ui/WTPActivityHelper.java
+++ /dev/null
@@ -1,60 +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 Apr 9, 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.ui;
-
-import org.eclipse.ui.IPluginContribution;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.activities.IIdentifier;
-import org.eclipse.ui.activities.IWorkbenchActivitySupport;
-
-/**
- * @author jsholl
- * 
- * To change the template for this generated type comment go to Window - Preferences - Java - Code
- * Generation - Code and Comments
- */
-public class WTPActivityHelper {
-
-	/**
-	 * @return whether the UI is set up to filter contributions (has defined activity categories).
-	 */
-	public static final boolean isFiltering() {
-		return !PlatformUI.getWorkbench().getActivitySupport().getActivityManager().getDefinedActivityIds().isEmpty();
-	}
-
-	public static boolean allowUseOf(Object object) {
-		if (!isFiltering())
-			return true;
-		if (object instanceof IPluginContribution) {
-			IPluginContribution contribution = (IPluginContribution) object;
-			if (contribution.getPluginId() != null) {
-				IWorkbenchActivitySupport workbenchActivitySupport = PlatformUI.getWorkbench().getActivitySupport();
-				IIdentifier identifier = workbenchActivitySupport.getActivityManager().getIdentifier(createUnifiedId(contribution));
-				return identifier.isEnabled();
-			}
-		}
-		return true;
-	}
-
-
-	public static final String createUnifiedId(IPluginContribution contribution) {
-		if (contribution.getPluginId() != null)
-			return contribution.getPluginId() + '/' + contribution.getLocalId();
-		return contribution.getLocalId();
-	}
-
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.frameworks.ui/wtp_ui/org/eclipse/wst/common/frameworks/internal/ui/WTPCommonUIResourceHandler.java b/plugins/org.eclipse.wst.common.frameworks.ui/wtp_ui/org/eclipse/wst/common/frameworks/internal/ui/WTPCommonUIResourceHandler.java
deleted file mode 100644
index 0394fdf..0000000
--- a/plugins/org.eclipse.wst.common.frameworks.ui/wtp_ui/org/eclipse/wst/common/frameworks/internal/ui/WTPCommonUIResourceHandler.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-/*
- * Created on May 23, 2004
- *
- * TODO To change the template for this generated file go to
- * Window - Preferences - Java - Code Style - Code Templates
- */
-package org.eclipse.wst.common.frameworks.internal.ui;
-
-import org.eclipse.osgi.util.NLS;
-
-/**
- * @author vijayb
- * 
- * TODO To change the template for this generated type comment go to Window - Preferences - Java -
- * Code Style - Code Templates
- */
-public class WTPCommonUIResourceHandler extends NLS {
-	private static final String BUNDLE_NAME = "wtpcommonui";//$NON-NLS-1$
-
-	private WTPCommonUIResourceHandler() {
-		// Do not instantiate
-	}
-
-	public static String Project_location_;
-	public static String WTPOperationAction_UI_1;
-	public static String MasterDescriptor_UI_1;
-	public static String WTPOptionalOperationDataModel_UI_1;
-	public static String WTPOperationAction_UI_0;
-	public static String WTPOptionalOperationDataModel_UI_0;
-	public static String MULTIPLE_MODULE_PREF_TEXT;
-	public static String IActionWTPOperation_UI_0;
-	public static String MasterDescriptor_ERROR_2;
-	public static String Name_;
-	public static String WTPWizard_UI_0;
-	public static String WTPWizard_UI_1;
-	public static String WTPWizard_UI_2;
-	public static String Browse_;
-	public static String ExtendableWizard_UI_0;
-	public static String ExtendedWizardPage_ERROR_1;
-	public static String ExtendedWizardPage_ERROR_0;
-	public static String WTPActionDialog_UI_0;
-	public static String TimerQueue_ERROR_0;
-	public static String Timer_UI_1;
-	public static String Timer_UI_0;
-	public static String WizardPageExtensionManager_UI_4;
-	public static String WizardPageExtensionManager_UI_3;
-	public static String WizardPageExtensionManager_UI_2;
-	public static String WizardPageExtensionManager_UI_1;
-	public static String WizardPageExtensionManager_UI_0;
-	public static String Delete_UI_0;
-
-	static {
-		NLS.initializeMessages(BUNDLE_NAME, WTPCommonUIResourceHandler.class);
-	}
-
-	public static String getString(String key, Object[] args) {
-		return NLS.bind(key, args);
-	}
-}
diff --git a/plugins/org.eclipse.wst.common.frameworks.ui/wtp_ui/org/eclipse/wst/common/frameworks/internal/ui/WTPGenericActionIds.java b/plugins/org.eclipse.wst.common.frameworks.ui/wtp_ui/org/eclipse/wst/common/frameworks/internal/ui/WTPGenericActionIds.java
deleted file mode 100644
index faaa453..0000000
--- a/plugins/org.eclipse.wst.common.frameworks.ui/wtp_ui/org/eclipse/wst/common/frameworks/internal/ui/WTPGenericActionIds.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
- *******************************************************************************/
-/*
- * Created on Jun 16, 2004
- *
- * TODO To change the template for this generated file go to
- * Window - Preferences - Java - Code Style - Code Templates
- */
-package org.eclipse.wst.common.frameworks.internal.ui;
-
-/**
- * @author mdelder
- * 
- * TODO To change the template for this generated type comment go to Window - Preferences - Java -
- * Code Style - Code Templates
- */
-public interface WTPGenericActionIds {
-
-	String CUT = "org.eclipse.wst.common.generic.Cut"; //$NON-NLS-1$
-	String COPY = "org.eclipse.wst.common.generic.Copy"; //$NON-NLS-1$
-	String PASTE = "org.eclipse.wst.common.generic.Paste"; //$NON-NLS-1$
-	String RENAME = "org.eclipse.wst.common.generic.Rename"; //$NON-NLS-1$
-	String DELETE = "org.eclipse.wst.common.generic.Delete"; //$NON-NLS-1$
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.frameworks.ui/wtp_ui/org/eclipse/wst/common/frameworks/internal/ui/WTPUIPlugin.java b/plugins/org.eclipse.wst.common.frameworks.ui/wtp_ui/org/eclipse/wst/common/frameworks/internal/ui/WTPUIPlugin.java
deleted file mode 100644
index 75bbbf2..0000000
--- a/plugins/org.eclipse.wst.common.frameworks.ui/wtp_ui/org/eclipse/wst/common/frameworks/internal/ui/WTPUIPlugin.java
+++ /dev/null
@@ -1,140 +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.ui;
-
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-import org.eclipse.core.commands.operations.IUndoableOperation;
-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.jem.util.logger.proxy.Logger;
-import org.eclipse.jface.operation.IRunnableWithProgress;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-import org.eclipse.wst.common.frameworks.internal.operations.IHeadlessRunnableWithProgress;
-
-/**
- * The main plugin class to be used in the desktop.
- */
-public class WTPUIPlugin extends AbstractUIPlugin {
-
-	public static final String PLUGIN_ID = "org.eclipse.wst.common.frameworks.ui"; //$NON-NLS-1$
-	public static final String EXTENDED_VIEWER_REGISTRY_EXTENSION_POINT = "extendedViewer"; //$NON-NLS-1$
-	// The shared instance.
-	private static WTPUIPlugin plugin;
-	// Resource bundle.
-	private ResourceBundle resourceBundle;
-
-	/**
-	 * The constructor.
-	 */
-	public WTPUIPlugin() {
-		super();
-		plugin = this;
-		try {
-			resourceBundle = ResourceBundle.getBundle("org.eclipse.wst.common.frameworks.internal.ui.WTPUIPluginResources"); //$NON-NLS-1$
-		} catch (MissingResourceException x) {
-			resourceBundle = null;
-		}
-	}
-
-	/**
-	 * @param string
-	 * @return
-	 */
-	public static IStatus createErrorStatus(String message) {
-		return createErrorStatus(message, null);
-	}
-
-	/**
-	 * @param string
-	 * @return
-	 */
-	public static IStatus createErrorStatus(String message, Throwable exception) {
-		return new Status(IStatus.ERROR, PLUGIN_ID, -1, message, exception);
-	}
-
-	/**
-	 * Returns the shared instance.
-	 */
-	public static WTPUIPlugin getDefault() {
-		return plugin;
-	}
-
-	public static Logger getLogger() {
-		return Logger.getLogger(PLUGIN_ID);
-	}
-
-	/**
-	 * Returns the workspace instance.
-	 */
-	public static IWorkspace getWorkspace() {
-		return ResourcesPlugin.getWorkspace();
-	}
-
-	/**
-	 * Return the workbench
-	 * 
-	 * This method is internal to the j2ee plugin and must not be called by any other plugins.
-	 */
-
-	public static IWorkbench getPluginWorkbench() {
-		return getDefault().getWorkbench();
-
-	}
-
-	public static RunnableOperationWrapper getRunnableWithProgress(final IUndoableOperation operation) {
-		return new RunnableOperationWrapper(operation);
-	}
-
-	public static IRunnableWithProgress getRunnableWithProgress(IHeadlessRunnableWithProgress aHeadlessRunnableWithProgress) {
-		return new RunnableWithProgressWrapper(aHeadlessRunnableWithProgress);
-	}
-
-	/**
-	 * Returns the string from the plugin's resource bundle, or 'key' if not found.
-	 */
-	public static String getResourceString(String key) {
-		ResourceBundle bundle = WTPUIPlugin.getDefault().getResourceBundle();
-		try {
-			return (bundle != null ? bundle.getString(key) : key);
-		} catch (MissingResourceException e) {
-			return key;
-		}
-	}
-
-	/**
-	 * Returns the plugin's resource bundle,
-	 */
-	public ResourceBundle getResourceBundle() {
-		return resourceBundle;
-	}
-    
-    public static void log( final Throwable e )
-    {
-        final String msg = e.getMessage() + ""; //$NON-NLS-1$
-        log( new Status( IStatus.ERROR, PLUGIN_ID, IStatus.OK, msg, e ) );
-    }
-
-    public static void log( final IStatus status )
-    {
-        getDefault().getLog().log( status );
-    }
-    
-    public static void log( final String msg )
-    {
-        log( new Status( IStatus.ERROR, PLUGIN_ID, IStatus.OK, msg, null ) );
-    }
-    
-}
diff --git a/plugins/org.eclipse.wst.common.frameworks.ui/wtp_ui/org/eclipse/wst/common/frameworks/internal/ui/WorkspaceModifyComposedOperation.java b/plugins/org.eclipse.wst.common.frameworks.ui/wtp_ui/org/eclipse/wst/common/frameworks/internal/ui/WorkspaceModifyComposedOperation.java
deleted file mode 100644
index fed29fc..0000000
--- a/plugins/org.eclipse.wst.common.frameworks.ui/wtp_ui/org/eclipse/wst/common/frameworks/internal/ui/WorkspaceModifyComposedOperation.java
+++ /dev/null
@@ -1,82 +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.ui;
-
-import java.lang.reflect.InvocationTargetException;
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.SubProgressMonitor;
-import org.eclipse.core.runtime.jobs.ISchedulingRule;
-import org.eclipse.jface.operation.IRunnableWithProgress;
-
-/**
- * An operation which delegates its work to a runnable that modifies the workspace.
- * <p>
- * This class may be instantiated; it is not intended to be subclassed.
- * </p>
- */
-public class WorkspaceModifyComposedOperation extends org.eclipse.ui.actions.WorkspaceModifyOperation {
-	protected List fRunnables;
-
-	public WorkspaceModifyComposedOperation(ISchedulingRule rule) {
-		super(rule);
-	}
-
-	/**
-	 * Creates a new operation which will delegate its work to the given runnable.
-	 */
-	public WorkspaceModifyComposedOperation() {
-		super();
-	}
-
-	public WorkspaceModifyComposedOperation(ISchedulingRule rule, List nestedRunnablesWithProgress) {
-		super(rule);
-		fRunnables = nestedRunnablesWithProgress;
-	}
-
-	public WorkspaceModifyComposedOperation(List nestedRunnablesWithProgress) {
-		super();
-		fRunnables = nestedRunnablesWithProgress;
-	}
-
-	/**
-	 * Creates a new operation which will delegate its work to the given runnable.
-	 * 
-	 * @param content
-	 *            the runnable to delegate to when this operation is executed
-	 */
-	public WorkspaceModifyComposedOperation(IRunnableWithProgress nestedOp) {
-		super();
-		getRunnables().add(nestedOp);
-	}
-
-	public boolean addRunnable(IRunnableWithProgress nestedOp) {
-		return getRunnables().add(nestedOp);
-	}
-
-	protected void execute(IProgressMonitor monitor) throws InvocationTargetException, InterruptedException {
-		int size = fRunnables.size();
-		monitor.beginTask("", size);//$NON-NLS-1$
-		for (int i = 0; i < fRunnables.size(); i++) {
-			IRunnableWithProgress op = (IRunnableWithProgress) fRunnables.get(i);
-			op.run(new SubProgressMonitor(monitor, 1, SubProgressMonitor.PREPEND_MAIN_LABEL_TO_SUBTASK));
-		}
-	}
-
-	protected List getRunnables() {
-		if (fRunnables == null)
-			fRunnables = new ArrayList(3);
-		return fRunnables;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.frameworks.ui/wtp_ui/org/eclipse/wst/common/frameworks/internal/ui/package.html b/plugins/org.eclipse.wst.common.frameworks.ui/wtp_ui/org/eclipse/wst/common/frameworks/internal/ui/package.html
deleted file mode 100644
index fb8fe10..0000000
--- a/plugins/org.eclipse.wst.common.frameworks.ui/wtp_ui/org/eclipse/wst/common/frameworks/internal/ui/package.html
+++ /dev/null
@@ -1,36 +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 Wizard API allows clients to build wizards in conjunction with
-			the WTP Operation Framework quickly and with minimal effort.
-		</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.ui/wtp_ui/org/eclipse/wst/common/frameworks/internal/ui/package.xml b/plugins/org.eclipse.wst.common.frameworks.ui/wtp_ui/org/eclipse/wst/common/frameworks/internal/ui/package.xml
deleted file mode 100644
index e217a53..0000000
--- a/plugins/org.eclipse.wst.common.frameworks.ui/wtp_ui/org/eclipse/wst/common/frameworks/internal/ui/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 Wizard API allows clients to build wizards in conjunction with
-			the WTP Operation Framework quickly and with minimal effort.
-		</abstract>
-		<p>Under Construction.</p>
-		<img src="escape_out_to_source_folder level/overview/your_image.jpg" caption="Image description" />
-	</body>
-</html>
diff --git a/plugins/org.eclipse.wst.common.frameworks/.classpath b/plugins/org.eclipse.wst.common.frameworks/.classpath
deleted file mode 100644
index 2bf4212..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"/>
-	<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/META-INF/MANIFEST.MF b/plugins/org.eclipse.wst.common.frameworks/META-INF/MANIFEST.MF
deleted file mode 100644
index 3500113..0000000
--- a/plugins/org.eclipse.wst.common.frameworks/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,24 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %pluginName
-Bundle-SymbolicName: org.eclipse.wst.common.frameworks; singleton:=true
-Bundle-Version: 1.1.0.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.2.0,3.3.0)",
- org.eclipse.core.runtime;bundle-version="[3.2.0,3.3.0)",
- org.eclipse.core.commands;bundle-version="[3.2.0,3.3.0)",
- org.eclipse.jem.util;bundle-version="[1.2.0,1.3.0)",
- org.eclipse.wst.common.environment;bundle-version="[1.0.100,1.1.0)";visibility:=reexport,
- org.eclipse.emf.ecore;bundle-version="[2.2.0,2.3.0)"
-Eclipse-AutoStart: true
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 4ec5989..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>May 2, 2006</P>
-
-<H3>License</H3>
-
-<P>The Eclipse Foundation makes available all content in this plug-in 
-("Content"). Unless otherwise indicated below, the Content is provided to you 
-under the terms and conditions of the Eclipse Public License Version 1.0 
-("EPL"). A copy of the EPL is available at
-<A href="http://www.eclipse.org/org/documents/epl-v10.php">http://www.eclipse.org/org/documents/epl-v10.php</A>. 
-For purposes of the EPL, "Program" will mean the Content.</P>
-
-<P>If you did not receive this Content directly from the Eclipse Foundation, the 
-Content is being redistributed by another party ("Redistributor") and different 
-terms and conditions may apply to your use of any object code in the Content. 
-Check the Redistributor’s license that was provided with the Content. If no such 
-license exists, contact the Redistributor. Unless otherwise indicated below, the 
-terms and conditions of the EPL still apply to any source code in the Content 
-and such source code may be obtained at
-<A href="http://www.eclipse.org/">http://www.eclipse.org/</A>.</P>
-
-</BODY>
-</HTML>
diff --git a/plugins/org.eclipse.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 d6bce97..0000000
--- a/plugins/org.eclipse.wst.common.frameworks/plugin.properties
+++ /dev/null
@@ -1,16 +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
-###############################################################################
-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 0f4338a..0000000
--- a/plugins/org.eclipse.wst.common.frameworks/plugin.xml
+++ /dev/null
@@ -1,30 +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.jem.util.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.jem.util.uiContextSensitiveClass">
-      <uiContextSensitiveClass
-            key="org.eclipse.wst.common.frameworks.internal.EnablementDetermination"
-            context="Headless"
-            className="org.eclipse.wst.common.frameworks.internal.enablement.EnablementManager">
-      </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 9a59c94..0000000
--- a/plugins/org.eclipse.wst.common.frameworks/src-non_workbench/org/eclipse/wst/common/frameworks/internal/enablement/nonui/WFTWrappedException.java
+++ /dev/null
@@ -1,93 +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.
-	 */
-	public void printStackTrace() {
-		printStackTrace(System.err);
-	}
-
-	/**
-	 * Prints the exception to System.err. If we have a nested exception, print its stack.
-	 */
-	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.
-	 */
-	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 562cebd..0000000
--- a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/datamodel/AbstractDataModelOperation.java
+++ /dev/null
@@ -1,188 +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 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>
-	 */
-	public IStatus redo(IProgressMonitor monitor, IAdaptable info) throws ExecutionException {
-		return Status.OK_STATUS;
-	}
-
-	/**
-	 * <p>
-	 * Default empty implementation of undo.
-	 * </p>
-	 */
-	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 02df2f7..0000000
--- a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/datamodel/DataModelFactory.java
+++ /dev/null
@@ -1,108 +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 org.eclipse.wst.common.frameworks.internal.datamodel.DataModelExtensionReader;
-import org.eclipse.wst.common.frameworks.internal.datamodel.DataModelImpl;
-
-/**
- * <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>
-	 * Looks up the appropriate IDataModelProvider using the name of the specified class. This
-	 * method is equavalent to <code>createDataModel(dataModelProviderClassID.getName())</code>.
-	 * </p>
-	 * 
-	 * @param dataModelProviderClass
-	 *            the class whose name is the id of the IDataModelProvider
-	 * @return a new IDataModel
-	 */
-	public static IDataModel createDataModel(Class dataModelProviderClass) {
-		return createDataModel(dataModelProviderClass.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 2154ecc..0000000
--- a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/datamodel/DataModelPropertyDescriptor.java
+++ /dev/null
@@ -1,140 +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$
-	}
-	
-	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 164c5c7..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, 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.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();
-
-}
\ No newline at end of file
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 87cc589..0000000
--- a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/datamodel/IDataModelOperation.java
+++ /dev/null
@@ -1,124 +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 org.eclipse.core.commands.operations.IUndoableOperation;
-import org.eclipse.core.resources.IWorkspace;
-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 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 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 IWorkspace#run(org.eclipse.core.resources.IWorkspaceRunnable, ISchedulingRule, int, org.eclipse.core.runtime.IProgressMonitor)}.
-	 * </p>
-	 * 
-	 * @return the OperationExecutionFlags
-	 * 
-	 * @see #getSchedulingRule()
-	 * @see 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 a52d3cf..0000000
--- a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/datamodel/IDataModelProperties.java
+++ /dev/null
@@ -1,45 +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>
- * IDataModelProperties provides the base interface for all Data Model Properties interfaces.
- * The interface itself can be used to access an instance of the IDataModel and IDataModelProvider which will be registered
- * against with the interface.  IDataModels are not meant to be instantiated directly, rather they are built from an
- * IDataModelProvider. In this way the user will call to the DataModelFactory passing in the interface,
- * which will return the correct IDataModel. 
- * </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 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 c49ff3e..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, 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.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 434c535..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, 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;
-
-/**
- * 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/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/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 a9c07ce..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.jem.util.logger.proxy.Logger;
-import org.eclipse.wst.common.frameworks.internal.enablement.nonui.IWFTWrappedException;
-
-/**
- * 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: "
-		Logger.getLogger().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 7dee26d..0000000
--- a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/SaveHandlerRegister.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.internal;
-
-import org.eclipse.jem.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/WTPPlugin.java b/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/WTPPlugin.java
deleted file mode 100644
index 9c4627a..0000000
--- a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/WTPPlugin.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
- *******************************************************************************/
-/*
- * Created on Dec 10, 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.util.ResourceBundle;
-
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.Plugin;
-import org.eclipse.jem.util.logger.proxy.Logger;
-import org.eclipse.jem.util.logger.proxyrender.DefaultPluginTraceRenderer;
-import org.eclipse.jem.util.logger.proxyrender.IMsgLogger;
-import org.eclipse.wst.common.frameworks.internal.enablement.nonui.WorkbenchUtil;
-import org.osgi.framework.BundleContext;
-
-public abstract class WTPPlugin extends Plugin implements IMsgLogger {
-	protected static Logger logger = null;
-	protected static WTPPlugin instance = null; 
-	public ResourceBundle resourceBundle;
-
-	/**
-	 * @param descriptor
-	 */
-	public WTPPlugin() {
-		super();
-		instance = this;
-	}
-
-	public Logger getMsgLogger() {
-		if (logger == null) {
-			logger = Logger.getLogger(getPluginID());
-			setRenderer(logger);
-		}
-		return logger;
-	}
-
-	/**
-	 * @param aLogger
-	 */
-	protected void setRenderer(Logger aLogger) {
-		new DefaultPluginTraceRenderer(aLogger);
-	}
-
-	public Logger getLogger() {
-		return getMsgLogger();
-	}
-	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()
-	 */
-	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 f202607..0000000
--- a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/WTPProjectUtilities.java
+++ /dev/null
@@ -1,155 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-/*
- * 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.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);
-		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 cd2aba8..0000000
--- a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/WrappedException.java
+++ /dev/null
@@ -1,81 +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.
-	 */
-	public void printStackTrace() {
-		printStackTrace(System.err);
-	}
-
-	/**
-	 * Prints the exception to System.err. If we have a nested exception, print its stack.
-	 */
-	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.
-	 */
-	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 35ed923..0000000
--- a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/WrappedRuntimeException.java
+++ /dev/null
@@ -1,115 +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 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;
-	}
-
-	/**
-	 * Print out a stack trace to the system err.
-	 */
-	public void printStackTrace() {
-		printStackTrace(System.err);
-	}
-
-	/**
-	 * Prints the exception to System.err. If we have a nested exception, print its stack.
-	 */
-	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.
-	 */
-	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;
-	}
-}
\ No newline at end of file
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 3538ea4..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.jem.util.logger.proxy.Logger;
-
-/**
- * @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() {
-		for (int i = 0; i < listeners.length; i++) {
-			return listeners[i].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) {
-		for (int i = 0; i < listeners.length; i++) {
-			return listeners[i].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$
-		Logger.getLogger().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 86adbc6..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.jem.util.RegistryReader;
-import org.eclipse.jem.util.logger.proxy.Logger;
-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);
-	}
-
-	public boolean readElement(IConfigurationElement element) {
-		if (element.getName().equals(PROVIDER_ELEMENT)) {
-			String id = element.getAttribute(ATTRIBUTE_ID);
-			if (null == id || id.trim().length() == 0) {
-				Logger.getLogger().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) {
-				Logger.getLogger().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) {
-				Logger.getLogger().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) {
-				Logger.getLogger().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) {
-				Logger.getLogger().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) {
-				Logger.getLogger().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)) {
-			Logger.getLogger().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)) {
-			Logger.getLogger().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) {
-			Logger.getLogger().log(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) {
-			Logger.getLogger().log(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) {
-			Logger.getLogger().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 c247553..0000000
--- a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/datamodel/DataModelImpl.java
+++ /dev/null
@@ -1,468 +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.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(String propertyName, int flag) {
-		if (flag == DEFAULT_CHG) {
-			if (isPropertySet(propertyName)) {
-				return;
-			}
-			flag = VALUE_CHG;
-		}
-		notifyListeners(new DataModelEvent(this, propertyName, flag));
-	}
-
-	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 != null && !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) {
-				public IStatus execute(IProgressMonitor monitor, IAdaptable info) throws ExecutionException {
-					return OK_STATUS;
-				}
-			};
-		}
-		return providerOp;
-	}
-
-	public IDataModelOperation getDefaultOperation() {
-		return new DataModelPausibleOperationImpl(getRawOperation());
-	}
-
-	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$
-	}
-}
\ No newline at end of file
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 7a40b04..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, 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.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;
-	}
-}
\ No newline at end of file
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 154d182..0000000
--- a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/datamodel/DataModelPausibleOperationImpl.java
+++ /dev/null
@@ -1,586 +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.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();
-	}
-
-	public boolean canRedo() {
-		return (COMPLETE_UNDO == executionState) && super.canRedo();
-	}
-
-	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;
-		}
-	}
-
-	public boolean canUndo() {
-		return (executionState == COMPLETE_EXECUTE || executionState == COMPLETE_REDO) && super.canUndo();
-	}
-
-	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;
-		}
-	}
-
-	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) {
-		if (returnStatus == null) {
-			returnStatus = new OperationStatus(status.getMessage(), status.getException());
-			returnStatus.setSeverity(status.getSeverity());
-			returnStatus.add(status);
-		} else {
-			returnStatus.add(status);
-		}
-		return returnStatus;
-	}
-
-	private OperationStatus addExtendedStatus(OperationStatus returnStatus, IStatus aStatus) {
-		if (returnStatus == null) {
-			returnStatus = new OperationStatus(new IStatus[]{WTPCommonPlugin.OK_STATUS});
-		}
-		returnStatus.addExtendedStatus(aStatus);
-		return returnStatus;
-	}
-
-	private OperationStatus runOperation(final IDataModelOperation operation, final IProgressMonitor monitor, final IAdaptable info, final int executionType, OperationStatus returnStatus) {
-		if (rootOperation == operation) {
-			IStatus status = runOperation(operation, monitor, info, IDataModelPausibleOperationEvent.EXECUTE);
-			if (!status.isOK()) {
-				returnStatus = addStatus(returnStatus, status);
-			}
-		} else {
-			try {
-				IStatus status = runOperation(operation, monitor, info, IDataModelPausibleOperationEvent.EXECUTE);
-				if (!status.isOK()) {
-					returnStatus = addExtendedStatus(returnStatus, 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$
-				returnStatus = addExtendedStatus(returnStatus, status);
-			}
-		}
-		return returnStatus;
-	}
-
-	private IStatus runOperation(final IDataModelOperation operation, final IProgressMonitor monitor, final IAdaptable info, final int executionType) {
-		IWorkspaceRunnableWithStatus workspaceRunnable = new IWorkspaceRunnableWithStatus(info) {
-			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 (Throwable e) {
-					this.setStatus(new Status(IStatus.ERROR, WTPCommonPlugin.PLUGIN_ID, 0, WTPResourceHandler.getString("25", new Object[]{operation.getClass().getName()}), e)); //$NON-NLS-1$
-				}
-			}
-		};
-
-		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;
-		}
-
-		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;
-	}
-
-}
\ No newline at end of file
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 86b9cbb..0000000
--- a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/datamodel/IDataModelPausibleOperation.java
+++ /dev/null
@@ -1,320 +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 org.eclipse.core.commands.ExecutionException;
-import org.eclipse.core.commands.operations.IUndoableOperation;
-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.IDataModel;
-import org.eclipse.wst.common.frameworks.datamodel.IDataModelOperation;
-
-/**
- * <p>
- * IDataModelManagerOperation is an IDataModelOperation returned from
- * {@link 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>
- * 
- * @see 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 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 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 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 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 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 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 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 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 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);
-
-}
\ No newline at end of file
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 08139c8..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, 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.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 827bbf3..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, 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;
-
-/**
- * <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 cab9760..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, 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.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 a6dbbd9..0000000
--- a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/enablement/EnablementIdentifier.java
+++ /dev/null
@@ -1,233 +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);
-
-	}
-
-	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;
-	}
-
-	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) {
-		functionGroupIds = Util.safeCopy(functionGroupIds, String.class);
-
-		if (!Util.equals(functionGroupIds, this.functionGroupIds)) {
-			this.functionGroupIds = functionGroupIds;
-			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;
-	}
-
-	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 d90b19c..0000000
--- a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/enablement/EnablementIdentifierEvent.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
- *******************************************************************************/
-/*
- * 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()
-	 */
-	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 5494844..0000000
--- a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/enablement/EnablementManager.java
+++ /dev/null
@@ -1,171 +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 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.jem.util.logger.proxy.Logger;
-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();
-        if (project != null && !project.isAccessible()) project = null;
-        
-        EnablementIdentifier identifier = null;
-        synchronized(this) {
-	        Map identifiersById = getIdentifiersById(project);	
-	        
-	        identifier = (EnablementIdentifier) identifiersById.get(identifierId);
-	
-	        if (identifier == null) {
-	            identifier = createIdentifier(identifierId, project);
-	            updateIdentifier(identifier);
-	            identifiersById.put(identifierId, 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);
-				Logger.getLogger().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 5ee04f2..0000000
--- a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/enablement/FunctionGroup.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.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.jem.util.logger.proxy.Logger;
-import org.eclipse.wst.common.frameworks.internal.WTPResourceHandler;
-
-
-/**
- * @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) {
-				Logger.getLogger().logError(WTPResourceHandler.getString("29", new Object[]{GROUP_INTIALIZER_CLASS_ATTR, getInitalizerClassName(), getDeclaringExtensionName()}) + "\r\n"); //$NON-NLS-1$//$NON-NLS-2$
-				Logger.getLogger().logError(e);
-			}
-		return groupInterface;
-	}
-
-	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) {
-				Logger.getLogger().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) {
-		functionGroupPatternBindings = Util.safeCopy(functionGroupPatternBindings, FunctionGroupPatternBinding.class);
-
-		if (!Util.equals(functionGroupPatternBindings, this.functionGroupPatternBindings)) {
-			this.functionGroupPatternBindings = functionGroupPatternBindings;
-//			this.functionGroupPatternBindingsAsArray = (FunctionGroupPatternBinding[]) this.functionGroupPatternBindings.toArray(new FunctionGroupPatternBinding[this.functionGroupPatternBindings.size()]);
-
-			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 d387771..0000000
--- a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/enablement/FunctionGroupPatternBinding.java
+++ /dev/null
@@ -1,98 +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;
-	}
-
-	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;
-	}
-
-	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;
-	}
-
-	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 996c92c..0000000
--- a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/enablement/FunctionGroupRegistry.java
+++ /dev/null
@@ -1,255 +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.jem.util.RegistryReader;
-import org.eclipse.jem.util.logger.proxy.Logger;
-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.
- * 
- * @author mdelder/blancett
- */
-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
-	 */
-	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);
-		}
-
-	}
-
-	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) {
-			Logger.getLogger().logError(new IllegalArgumentException(WTPResourceHandler.getString("28", new Object[]{groupID1}))); //$NON-NLS-1$
-			return -1;
-		}
-		if (group2 == null) {
-			Logger.getLogger().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 454c94c..0000000
--- a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/enablement/IEnablementManager.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-/*
- * Created on Feb 12, 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.Collection;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jem.util.UIContextDetermination;
-
-/**
- * @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 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 0df26cf..0000000
--- a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/enablement/IdentifiableComparator.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.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)
-	 */
-	public boolean equals(Object obj) {
-		return obj instanceof IdentifiableComparator;
-	}
-
-	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 740270a..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 = Collections.unmodifiableList(new ArrayList(list));
-		Iterator iterator = list.iterator();
-
-		while (iterator.hasNext())
-			assertInstance(iterator.next(), c, allowNullElements);
-
-		return list;
-	}
-
-	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 = Collections.unmodifiableMap(new HashMap(map));
-		Iterator iterator = map.entrySet().iterator();
-
-		while (iterator.hasNext()) {
-			Map.Entry entry = (Map.Entry) iterator.next();
-			assertInstance(entry.getKey(), keyClass, allowNullKeys);
-			assertInstance(entry.getValue(), valueClass, allowNullValues);
-		}
-
-		return map;
-	}
-
-	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 = Collections.unmodifiableSet(new HashSet(set));
-		Iterator iterator = set.iterator();
-
-		while (iterator.hasNext())
-			assertInstance(iterator.next(), c, allowNullElements);
-
-		return set;
-	}
-
-	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 = Collections.unmodifiableSortedMap(new TreeMap(sortedMap));
-		Iterator iterator = sortedMap.entrySet().iterator();
-
-		while (iterator.hasNext()) {
-			Map.Entry entry = (Map.Entry) iterator.next();
-			assertInstance(entry.getKey(), keyClass, allowNullKeys);
-			assertInstance(entry.getValue(), valueClass, allowNullValues);
-		}
-
-		return sortedMap;
-	}
-
-	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 = Collections.unmodifiableSortedSet(new TreeSet(sortedSet));
-		Iterator iterator = sortedSet.iterator();
-
-		while (iterator.hasNext())
-			assertInstance(iterator.next(), c, allowNullElements);
-
-		return sortedSet;
-	}
-
-	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 8b754b5..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.jem.util.logger.proxy.Logger;
-import org.eclipse.wst.common.frameworks.internal.enablement.EnablementManager;
-
-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) {
-					Logger.getLogger().logError(e);
-				}
-				try {
-					postOp = currentExt.getPostOperation();
-					if (postOp != null) {
-						extOperationHolder.addPostOperation(postOp);
-					}
-				} catch (CoreException e) {
-					Logger.getLogger().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/IProjectCreationProperties.java b/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/operations/IProjectCreationProperties.java
deleted file mode 100644
index 2fae93a..0000000
--- a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/operations/IProjectCreationProperties.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.common.frameworks.internal.operations;
-
-import org.eclipse.wst.common.frameworks.internal.DoNotUseMeThisWillBeDeletedPost15;
-
-
-/**
- * This has been slated for removal post WTP 1.5. Do not use this class/interface
- * 
- * @deprecated IProjectCreationPropertiesNew
- */
-public interface IProjectCreationProperties extends DoNotUseMeThisWillBeDeletedPost15{
-
-	/**
-	 * 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 = "IProjectCreationProperties.PROJECT_NAME"; //$NON-NLS-1$
-
-	/**
-	 * An optonal dataModel propertyName for a <code>java.lang.String</code> type. Sets the local
-	 * file system location for the described project. The path must be either an absolute file
-	 * system path, or a relative path whose first segment is the name of a defined workspace path
-	 * variable. The default value is the workspace's default location.
-	 */
-	public static final String PROJECT_LOCATION = "IProjectCreationProperties.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 = "IProjectCreationProperties.PROJECT_NATURES"; //$NON-NLS-1$
-
-	/**
-	 * IProject. An non settable property. This is a conveniece for constructiong getting the
-	 * IProject
-	 */
-	public static final String PROJECT = "IProjectCreationProperties.PROJECT"; //$NON-NLS-1$
-
-	/**
-	 * IProjectDescription. An non settable property. This is a conveniece for constructiong a
-	 * project description.
-	 */
-	public static final String PROJECT_DESCRIPTION = "IProjectCreationProperties.PROJECT_DESCRIPTION"; //$NON-NLS-1$
-
-}
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 cd55da8..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, 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;
-
-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 31f25db..0000000
--- a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/operations/OperationExtensionReader.java
+++ /dev/null
@@ -1,83 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-/*
- * Created on Nov 3, 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 java.util.ArrayList;
-import java.util.Collection;
-import java.util.HashMap;
-
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.jem.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>
-	 */
-
-	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 175c809..0000000
--- a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/operations/OperationStatus.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.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
-	 */
-	public void setCode(int code) {
-		super.setCode(code);
-	}
-
-	/**
-	 * Overridden to expose as public instead of protected
-	 */
-	public void setException(Throwable exception) {
-		super.setException(exception);
-	}
-
-	/**
-	 * Overridden to expose as public instead of protected
-	 */
-	public void setMessage(String message) {
-		super.setMessage(message);
-	}
-
-	/**
-	 * Overridden to expose as public instead of protected
-	 */
-	public void setSeverity(int severity) {
-		super.setSeverity(severity);
-	}
-
-	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/ProjectCreationDataModelProvider.java b/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/operations/ProjectCreationDataModelProvider.java
deleted file mode 100644
index 9f5703b..0000000
--- a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/operations/ProjectCreationDataModelProvider.java
+++ /dev/null
@@ -1,204 +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 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 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.IDataModelOperation;
-import org.eclipse.wst.common.frameworks.internal.DoNotUseMeThisWillBeDeletedPost15;
-import org.eclipse.wst.common.frameworks.internal.WTPPlugin;
-import org.eclipse.wst.common.frameworks.internal.plugin.WTPCommonMessages;
-import org.eclipse.wst.common.frameworks.internal.plugin.WTPCommonPlugin;
-
-/**
- * @deprecated use ProjectCreationDataModelProviderNew instead.
- */
-/**
- * This has been slated for removal post WTP 1.5. Do not use this class/interface
- * 
- * @deprecated
- * 
- * @see ProjectCreationDataModelProviderNew
- */
-public class ProjectCreationDataModelProvider extends AbstractDataModelProvider implements IProjectCreationProperties, DoNotUseMeThisWillBeDeletedPost15 {
-
-	public IDataModelOperation getDefaultOperation() {
-		return new ProjectCreationOperation(model);
-	}
-
-	public void init() {
-		super.init();
-	}
-
-	public Set getPropertyNames() {
-		Set propertyNames = super.getPropertyNames();
-		propertyNames.add(PROJECT);
-		propertyNames.add(PROJECT_NAME);
-		propertyNames.add(PROJECT_LOCATION);
-		propertyNames.add(PROJECT_NATURES);
-		propertyNames.add(PROJECT_DESCRIPTION);
-		return propertyNames;
-	}
-
-	public Object getDefaultProperty(String propertyName) {
-		if (propertyName.equals(PROJECT_LOCATION))
-			return getDefaultLocation();
-		else if (propertyName.equals(PROJECT_DESCRIPTION))
-			return getProjectDescription();
-		return super.getDefaultProperty(propertyName);
-	}
-
-	public boolean propertySet(String propertyName, Object propertyValue) {
-		if (propertyValue != null && propertyName.equals(PROJECT_LOCATION)) {
-			IPath path = getRootLocation();
-			if (path.equals(new Path((String) propertyValue))) {
-				model.setProperty(propertyName, null);
-			}
-			model.setProperty(PROJECT_DESCRIPTION, getProjectDescription());
-		} else if (propertyName.equals(PROJECT_NAME)) {
-			IStatus stat = model.validateProperty(PROJECT_NAME);
-			if (stat != OK_STATUS)
-				return false;
-			model.setProperty(PROJECT, getProject());
-			model.setProperty(PROJECT_DESCRIPTION, getProjectDescription());
-		}
-		return true;
-	}
-
-	private String getDefaultLocation() {
-		IPath path = getRootLocation();
-		String projectName = (String) getProperty(PROJECT_NAME);
-		if (projectName != null)
-			path = path.append(projectName);
-		return path.toOSString();
-	}
-
-	private IPath getRootLocation() {
-		return ResourcesPlugin.getWorkspace().getRoot().getLocation();
-	}
-
-	private IProjectDescription getProjectDescription() {
-		String projectName = (String) getProperty(PROJECT_NAME);
-		IProjectDescription desc = ResourcesPlugin.getWorkspace().newProjectDescription(projectName);
-		if (getDataModel().isPropertySet(PROJECT_LOCATION)) {
-			String projectLocation = (String) getProperty(IProjectCreationProperties.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;
-	}
-
-	public IStatus validate(String propertyName) {
-		if (propertyName.equals(PROJECT_NAME)) {
-			IStatus status = validateName();
-			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 = getStringProperty(PROJECT_LOCATION);
-			return validateExisting(projectName, projectLoc);
-		}
-		return OK_STATUS;
-	}
-
-	/**
-	 * @param projectName
-	 * @param projectLoc
-	 * @todo Generated comment
-	 */
-	private 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;
-		return OK_STATUS;
-	}
-
-	private IStatus validateName() {
-		String name = getStringProperty(PROJECT_NAME);
-		IStatus status = validateProjectName(name);
-		if (!status.isOK())
-			return status;
-		if (getProject().exists())
-			return WTPCommonPlugin.createErrorStatus(WTPCommonPlugin.getResourceString(WTPCommonMessages.PROJECT_EXISTS_ERROR, new Object[]{name}));
-
-		if (!WTPPlugin.isPlatformCaseSensitive()) {
-			// now look for a matching case variant in the tree
-			IResource variant = ((Resource) getProject()).findExistingResourceVariant(getProject().getFullPath());
-			if (variant != null) {
-				// TODO Fix this string
-				return WTPCommonPlugin.createErrorStatus("Resource already exists with a different case."); //$NON-NLS-1$
-			}
-		}
-		return OK_STATUS;
-	}
-
-	private IStatus validateLocation() {
-		if (getDataModel().isPropertySet(PROJECT_LOCATION)) {
-			String loc = (String) getProperty(PROJECT_LOCATION);
-			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/ProjectCreationDataModelProviderNew.java b/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/operations/ProjectCreationDataModelProviderNew.java
deleted file mode 100644
index 4cd1cd1..0000000
--- a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/operations/ProjectCreationDataModelProviderNew.java
+++ /dev/null
@@ -1,210 +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.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 {
-
-	public IDataModelOperation getDefaultOperation() {
-		return new ProjectCreationOperationNew(model);
-	}
-
-	public void init() {
-		super.init();
-	}
-
-	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;
-	}
-
-	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();
-	}
-
-	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;
-	}
-
-	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
-	 */
-	private 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$
-		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/ProjectCreationOperation.java b/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/operations/ProjectCreationOperation.java
deleted file mode 100644
index 855a877..0000000
--- a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/operations/ProjectCreationOperation.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
- *******************************************************************************/
-/*
- * 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.jem.util.logger.proxy.Logger;
-import org.eclipse.wst.common.frameworks.datamodel.AbstractDataModelOperation;
-import org.eclipse.wst.common.frameworks.datamodel.IDataModel;
-import org.eclipse.wst.common.frameworks.internal.DoNotUseMeThisWillBeDeletedPost15;
-
-/**
- * This has been slated for removal post WTP 1.5. Do not use this class/interface
- * 
- * @deprecated
- * 
- * @see ProjectCreationDataModelProviderNew
- */
-public class ProjectCreationOperation extends AbstractDataModelOperation implements IProjectCreationProperties, DoNotUseMeThisWillBeDeletedPost15{
-
-	public ProjectCreationOperation(IDataModel dataModel) {
-		super(dataModel);
-	}
-
-	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) {
-			Logger.getLogger().logError(e);
-		} finally {
-			monitor.done();
-		}
-		if (monitor.isCanceled())
-			throw new OperationCanceledException();
-		return OK_STATUS;
-	}
-
-	public boolean canUndo() {
-		return false;
-	}
-
-	public boolean canRedo() {
-		return false;
-	}
-
-}
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 d4900ef..0000000
--- a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/operations/ProjectCreationOperationNew.java
+++ /dev/null
@@ -1,76 +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 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.jem.util.logger.proxy.Logger;
-import org.eclipse.wst.common.frameworks.datamodel.AbstractDataModelOperation;
-import org.eclipse.wst.common.frameworks.datamodel.IDataModel;
-
-public class ProjectCreationOperationNew extends AbstractDataModelOperation implements IProjectCreationPropertiesNew {
-
-	public ProjectCreationOperationNew(IDataModel dataModel) {
-		super(dataModel);
-	}
-
-	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) {
-			Logger.getLogger().logError(e);
-		} finally {
-			monitor.done();
-		}
-		if (monitor.isCanceled())
-			throw new OperationCanceledException();
-		return OK_STATUS;
-	}
-
-	public boolean canUndo() {
-		return false;
-	}
-
-	public boolean canRedo() {
-		return false;
-	}
-
-}
\ No newline at end of file
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 4003bd5..0000000
--- a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/plugin/WTPCommonMessages.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-/*
- * 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$
-}
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 c2a4934..0000000
--- a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/plugin/WTPCommonPlugin.java
+++ /dev/null
@@ -1,144 +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 Oct 29, 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.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;
-
-/**
- * @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 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()
-	 */
-	public String getPluginID() {
-		return PLUGIN_ID;
-	}
-}
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 0108097..0000000
--- a/plugins/org.eclipse.wst.common.frameworks/src/wtp_common.properties
+++ /dev/null
@@ -1,54 +0,0 @@
-###############################################################################
-# Copyright (c) 2003, 2005 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-# IBM Corporation - initial API and implementation
-###############################################################################
-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 compatable 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>
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.infopop/.cvsignore b/plugins/org.eclipse.wst.common.infopop/.cvsignore
deleted file mode 100644
index c14487c..0000000
--- a/plugins/org.eclipse.wst.common.infopop/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-build.xml
diff --git a/plugins/org.eclipse.wst.common.infopop/.project b/plugins/org.eclipse.wst.common.infopop/.project
deleted file mode 100644
index d8e0250..0000000
--- a/plugins/org.eclipse.wst.common.infopop/.project
+++ /dev/null
@@ -1,22 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.wst.common.infopop</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-	</natures>
-</projectDescription>
diff --git a/plugins/org.eclipse.wst.common.infopop/.settings/org.eclipse.core.resources.prefs b/plugins/org.eclipse.wst.common.infopop/.settings/org.eclipse.core.resources.prefs
deleted file mode 100644
index 76d68cc..0000000
--- a/plugins/org.eclipse.wst.common.infopop/.settings/org.eclipse.core.resources.prefs
+++ /dev/null
@@ -1,3 +0,0 @@
-#Mon Apr 17 03:12:42 EDT 2006
-eclipse.preferences.version=1
-encoding/<project>=ISO-8859-1
diff --git a/plugins/org.eclipse.wst.common.infopop/.settings/org.eclipse.pde.prefs b/plugins/org.eclipse.wst.common.infopop/.settings/org.eclipse.pde.prefs
deleted file mode 100644
index f774e3c..0000000
--- a/plugins/org.eclipse.wst.common.infopop/.settings/org.eclipse.pde.prefs
+++ /dev/null
@@ -1,14 +0,0 @@
-#Mon Apr 17 03:12:36 EDT 2006
-compilers.incompatible-environment=0
-compilers.p.build=0
-compilers.p.deprecated=1
-compilers.p.no-required-att=0
-compilers.p.not-externalized-att=0
-compilers.p.unknown-attribute=0
-compilers.p.unknown-class=0
-compilers.p.unknown-element=0
-compilers.p.unknown-resource=0
-compilers.p.unresolved-ex-points=0
-compilers.p.unresolved-import=0
-compilers.use-project=true
-eclipse.preferences.version=1
diff --git a/plugins/org.eclipse.wst.common.infopop/META-INF/MANIFEST.MF b/plugins/org.eclipse.wst.common.infopop/META-INF/MANIFEST.MF
deleted file mode 100644
index 5ab4ff2..0000000
--- a/plugins/org.eclipse.wst.common.infopop/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,8 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %Bundle-Name.0
-Bundle-SymbolicName: org.eclipse.wst.common.infopop; singleton:=true
-Bundle-Version: 1.0.001.qualifier
-Bundle-Vendor: %Bundle-Vendor.0
-Bundle-Localization: plugin
-Eclipse-LazyStart: true
diff --git a/plugins/org.eclipse.wst.common.infopop/SnippetsContexts.xml b/plugins/org.eclipse.wst.common.infopop/SnippetsContexts.xml
deleted file mode 100644
index b3b0c43..0000000
--- a/plugins/org.eclipse.wst.common.infopop/SnippetsContexts.xml
+++ /dev/null
@@ -1,107 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?NLS type="org.eclipse.help.contexts"?>
-<!-- /*******************************************************************************
- * 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
- *******************************************************************************/ -->
-
-<contexts>
-<context id="libv1000">
-<description>Use this view to catalog and organize reusable programming objects, such as HTML tagging, JavaScript, and JSP markup, along with custom tags, that can be embedded in existing files.
-</description>
-<topic label="Snippets view" href="../org.eclipse.wst.sse.doc.user/topics/csrcedt001.html"/>
-</context>
-
-<context id="libv1100">
-<description>Supply values in this dialog to define the Snippets view object to be inserted in the current file at the cursor position. Assign a value to the variables being inserted.
-</description>
-<topic label="Inserting and editing items in the active editor" href="../org.eclipse.wst.sse.doc.user/topics/tsrcedt015.html"/>
-<topic label="Snippets view" href="../org.eclipse.wst.sse.doc.user/topics/csrcedt001.html"/>
-</context>
-
-<context id="libv1200">
-<description>In the <b>Name</b> field, type the name of the object as you want it be displayed in the Snippets view.  Optionally, add a description of the object in the <b>Description</b> field.
-
-Select the <b>Hide</b> check box to make this snippet object not visible in the view.
-
-To add a new variable, click the <b>New</b> push button, and type values in the cells of the <b>Variables</b> table. The <b>Name</b> field represents name of the variable that will be inserted when you add it to a document. <b>Default value</b> is the initial value of the named variable. Optionally, add a description of the variable.
-
-Insert the variables that you define into the <b>Template Pattern</b> field using the <b>Insert Variable Placeholder</b> push button.
-</description>
-<topic label="Deleting or hiding snippet items or drawers" href="../org.eclipse.wst.sse.doc.user/topics/tsrcedt016.html"/>
-<topic label="Snippets view" href="../org.eclipse.wst.sse.doc.user/topics/csrcedt001.html"/>
-</context>
-
-<context id="libv1300">
-<description>Type the name of the new category in the <b>Name</b> field and optionally add a description of the category in the <b>Description</b> field.
-
-Select <b>Open drawer at start-up</b> to have the category drawer opened in the Snippets view when the workbench starts up.
-
-You can specify how you want the category drawer displayed in the Snippets view by selecting a radio button for the <b>Show/Hide Drawer</b> field.
-</description>
-<topic label="Snippets view" href="../org.eclipse.wst.sse.doc.user/topics/csrcedt001.html"/>
-<topic label="Deleting or hiding snippet items or drawers" href="../org.eclipse.wst.sse.doc.user/topics/tsrcedt016.html"/>
-</context>
-
-<context id="snip0010">
-<description>Select this option to open the <b>Import</b> dialog, which lets you import snippet categories from the file system.
-</description>
-<topic label="Snippets view" href="../org.eclipse.wst.sse.doc.user/topics/csrcedt001.html"/>
-<topic label="Adding items to snippets drawers" href="../org.eclipse.wst.sse.doc.user/topics/tsrcedt015.html"/>
-</context>
-
-<context id="snip0020">
-<description>Select this option to open the <b>Export</b> dialog, which lets you export snippet categories to the file system.
-</description>
-<topic label="Snippets view" href="../org.eclipse.wst.sse.doc.user/topics/csrcedt001.html"/>
-<topic label="Adding items to snippets drawers" href="../org.eclipse.wst.sse.doc.user/topics/tsrcedt015.html"/>
-</context>
-
-<context id="snip0030">
-<description>Select the content types that should be visible in this drawer for in the Snippets view.
-</description>
-<topic label="Snippets view" href="../org.eclipse.wst.sse.doc.user/topics/csrcedt001.html"/>
-<topic label="Deleting or hiding snippet items or drawers" href="../org.eclipse.wst.sse.doc.user/topics/tsrcedt016.html"/>
-</context>
-
-<context id="snip0040">
-<description>This menu item adds the selected text to the Snippets view as a new item.
-</description>
-<topic label="Snippets view" href="../org.eclipse.wst.sse.doc.user/topics/csrcedt001.html"/>
-<topic label="Adding items to snippets drawers" href="../org.eclipse.wst.sse.doc.user/topics/tsrcedt015.html"/>
-</context>
-
-<context id="snip0050">
-<description>This menu item cuts the selected Snippet item to the clipboard.
-</description>
-<topic label="Snippets view" href="../org.eclipse.wst.sse.doc.user/topics/csrcedt001.html"/>
-<topic label="Editing snippet items" href="../org.eclipse.wst.sse.doc.user/topics/tsrcedt022.html"/>
-</context>
-
-<context id="snip0060">
-<description>This menu item copies the selected Snippet item to the clipboard.
-</description>
-<topic label="Snippets view" href="../org.eclipse.wst.sse.doc.user/topics/csrcedt001.html"/>
-<topic label="Editing snippet items" href="../org.eclipse.wst.sse.doc.user/topics/tsrcedt022.html"/>
-</context>
-
-<context id="snip0070">
-<description>This menu item creates a new Snippets view item containing the current contents of the clipboard.
-</description>
-<topic label="Snippets view" href="../org.eclipse.wst.sse.doc.user/topics/csrcedt001.html"/>
-<topic label="Adding items to snippets drawers" href="../org.eclipse.wst.sse.doc.user/topics/tsrcedt015.html"/>
-</context>
-<context id="snip0080">
-<description>Type a name for the category. The category appears in the Customize Palette dialog box. Once you have created a category, you can add items to the category.
-</description>
-<topic label="Snippets view" href="../org.eclipse.wst.sse.doc.user/topics/csrcedt001.html"/>
-<topic label="Adding items to snippets drawers" href="../org.eclipse.wst.sse.doc.user/topics/tsrcedt015.html"/>
-</context>
-
-</contexts>
diff --git a/plugins/org.eclipse.wst.common.infopop/about.html b/plugins/org.eclipse.wst.common.infopop/about.html
deleted file mode 100644
index 4ec5989..0000000
--- a/plugins/org.eclipse.wst.common.infopop/about.html
+++ /dev/null
@@ -1,34 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<HTML>
-
-<head>
-<title>About</title>
-<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
-</head>
-
-<BODY lang="EN-US">
-
-<H3>About This Content</H3>
-
-<P>May 2, 2006</P>
-
-<H3>License</H3>
-
-<P>The Eclipse Foundation makes available all content in this plug-in 
-("Content"). Unless otherwise indicated below, the Content is provided to you 
-under the terms and conditions of the Eclipse Public License Version 1.0 
-("EPL"). A copy of the EPL is available at
-<A href="http://www.eclipse.org/org/documents/epl-v10.php">http://www.eclipse.org/org/documents/epl-v10.php</A>. 
-For purposes of the EPL, "Program" will mean the Content.</P>
-
-<P>If you did not receive this Content directly from the Eclipse Foundation, the 
-Content is being redistributed by another party ("Redistributor") and different 
-terms and conditions may apply to your use of any object code in the Content. 
-Check the Redistributor’s license that was provided with the Content. If no such 
-license exists, contact the Redistributor. Unless otherwise indicated below, the 
-terms and conditions of the EPL still apply to any source code in the Content 
-and such source code may be obtained at
-<A href="http://www.eclipse.org/">http://www.eclipse.org/</A>.</P>
-
-</BODY>
-</HTML>
diff --git a/plugins/org.eclipse.wst.common.infopop/build.properties b/plugins/org.eclipse.wst.common.infopop/build.properties
deleted file mode 100644
index c1d3dbf..0000000
--- a/plugins/org.eclipse.wst.common.infopop/build.properties
+++ /dev/null
@@ -1,5 +0,0 @@
-bin.includes = plugin.xml,\
-               about.html,\
-               SnippetsContexts.xml,\
-               META-INF/,\
-               plugin.properties
diff --git a/plugins/org.eclipse.wst.common.infopop/plugin.properties b/plugins/org.eclipse.wst.common.infopop/plugin.properties
deleted file mode 100644
index 74f0260..0000000
--- a/plugins/org.eclipse.wst.common.infopop/plugin.properties
+++ /dev/null
@@ -1,3 +0,0 @@
-# properties file for org.eclipse.wst.common.infopop
-Bundle-Name.0 = Common WST infopops
-Bundle-Vendor.0 = Eclipse.org
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.infopop/plugin.xml b/plugins/org.eclipse.wst.common.infopop/plugin.xml
deleted file mode 100644
index f1e178c..0000000
--- a/plugins/org.eclipse.wst.common.infopop/plugin.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<!-- ================================================= -->
-<!-- This is the plugin for declaring the help         -->
-<!-- contributions for using the tool.                 -->
-<!-- ================================================= -->
-
-<plugin>
-
-<extension point="org.eclipse.help.contexts">
-       <contexts file="SnippetsContexts.xml" plugin ="org.eclipse.wst.common.snippets"/>
-</extension>
-
-
-</plugin>
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.ui/.classpath b/plugins/org.eclipse.wst.common.ui/.classpath
deleted file mode 100644
index 77e85b1..0000000
--- a/plugins/org.eclipse.wst.common.ui/.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-search"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/plugins/org.eclipse.wst.common.ui/.cvsignore b/plugins/org.eclipse.wst.common.ui/.cvsignore
deleted file mode 100644
index 7cf79b0..0000000
--- a/plugins/org.eclipse.wst.common.ui/.cvsignore
+++ /dev/null
@@ -1,8 +0,0 @@
-bin
-ui.jar
-build.xml
-temp.folder
-org.eclipse.wst.common.ui_1.0.0.jar
-@dot
-src.zip
-javaCompiler...args
diff --git a/plugins/org.eclipse.wst.common.ui/.project b/plugins/org.eclipse.wst.common.ui/.project
deleted file mode 100644
index 8f557ef..0000000
--- a/plugins/org.eclipse.wst.common.ui/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.wst.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.jdt.core.javanature</nature>
-		<nature>org.eclipse.pde.PluginNature</nature>
-	</natures>
-</projectDescription>
diff --git a/plugins/org.eclipse.wst.common.ui/.settings/org.eclipse.jdt.core.prefs b/plugins/org.eclipse.wst.common.ui/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 6830385..0000000
--- a/plugins/org.eclipse.wst.common.ui/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,59 +0,0 @@
-#Mon Jan 30 23:41:58 EST 2006
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.4
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=warning
-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=warning
-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=ignore
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
-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=ignore
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.compiler.problem.unusedLabel=warning
-org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.3
diff --git a/plugins/org.eclipse.wst.common.ui/.settings/org.eclipse.jdt.ui.prefs b/plugins/org.eclipse.wst.common.ui/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index 48a6a5c..0000000
--- a/plugins/org.eclipse.wst.common.ui/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,3 +0,0 @@
-#Mon Jan 30 23:11:49 EST 2006
-eclipse.preferences.version=1
-internal.default.compliance=default
diff --git a/plugins/org.eclipse.wst.common.ui/META-INF/MANIFEST.MF b/plugins/org.eclipse.wst.common.ui/META-INF/MANIFEST.MF
deleted file mode 100644
index 49e4a83..0000000
--- a/plugins/org.eclipse.wst.common.ui/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,24 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %pluginName
-Bundle-SymbolicName: org.eclipse.wst.common.ui; singleton:=true
-Bundle-Version: 1.1.0.qualifier
-Bundle-Activator: org.eclipse.wst.common.ui.internal.UIPlugin
-Bundle-Vendor: %pluginProvider
-Bundle-Localization: plugin
-Export-Package: org.eclipse.wst.common.ui.internal;x-internal:=true,
- org.eclipse.wst.common.ui.internal.dialogs;x-internal:=true,
- org.eclipse.wst.common.ui.internal.dnd;x-internal:=true,
- org.eclipse.wst.common.ui.internal.search;x-internal:=true,
- org.eclipse.wst.common.ui.internal.search.dialogs,
- org.eclipse.wst.common.ui.internal.viewers;x-internal:=true,
- org.eclipse.wst.common.ui.provisional.editors
-Require-Bundle: org.eclipse.ui.ide;bundle-version="[3.2.0,3.3.0)",
- org.eclipse.ui;bundle-version="[3.2.0,3.3.0)",
- org.eclipse.core.runtime;bundle-version="[3.2.0,3.3.0)",
- org.eclipse.core.resources;bundle-version="[3.2.0,3.3.0)",
- org.eclipse.search;bundle-version="[3.2.0,3.3.0)",
- org.eclipse.wst.common.core;bundle-version="[1.1.0,1.2.0)",
- org.eclipse.jface.text;bundle-version="[3.2.0,3.3.0)",
- org.eclipse.ui.workbench.texteditor;bundle-version="[3.2.0,3.3.0)"
-Eclipse-LazyStart: true
diff --git a/plugins/org.eclipse.wst.common.ui/README.txt b/plugins/org.eclipse.wst.common.ui/README.txt
deleted file mode 100644
index 4fc93df..0000000
--- a/plugins/org.eclipse.wst.common.ui/README.txt
+++ /dev/null
@@ -1 +0,0 @@
-UI Utility classes for actions, drag'n'drop and wizards.
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.ui/about.html b/plugins/org.eclipse.wst.common.ui/about.html
deleted file mode 100644
index 4ec5989..0000000
--- a/plugins/org.eclipse.wst.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>May 2, 2006</P>
-
-<H3>License</H3>
-
-<P>The Eclipse Foundation makes available all content in this plug-in 
-("Content"). Unless otherwise indicated below, the Content is provided to you 
-under the terms and conditions of the Eclipse Public License Version 1.0 
-("EPL"). A copy of the EPL is available at
-<A href="http://www.eclipse.org/org/documents/epl-v10.php">http://www.eclipse.org/org/documents/epl-v10.php</A>. 
-For purposes of the EPL, "Program" will mean the Content.</P>
-
-<P>If you did not receive this Content directly from the Eclipse Foundation, the 
-Content is being redistributed by another party ("Redistributor") and different 
-terms and conditions may apply to your use of any object code in the Content. 
-Check the Redistributor’s license that was provided with the Content. If no such 
-license exists, contact the Redistributor. Unless otherwise indicated below, the 
-terms and conditions of the EPL still apply to any source code in the Content 
-and such source code may be obtained at
-<A href="http://www.eclipse.org/">http://www.eclipse.org/</A>.</P>
-
-</BODY>
-</HTML>
diff --git a/plugins/org.eclipse.wst.common.ui/build.properties b/plugins/org.eclipse.wst.common.ui/build.properties
deleted file mode 100644
index 450648e..0000000
--- a/plugins/org.eclipse.wst.common.ui/build.properties
+++ /dev/null
@@ -1,10 +0,0 @@
-bin.includes = plugin.properties,\
-               plugin.xml,\
-               .,\
-               META-INF/,\
-               about.html
-jars.compile.order = .
-source.. = src/,\
-           src-search/
-output.. = bin/
-src.includes = component.xml
diff --git a/plugins/org.eclipse.wst.common.ui/component.xml b/plugins/org.eclipse.wst.common.ui/component.xml
deleted file mode 100644
index d3d9ccc..0000000
--- a/plugins/org.eclipse.wst.common.ui/component.xml
+++ /dev/null
@@ -1,62 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<component xmlns="http://eclipse.org/wtp/releng/tools/component-model"
-	name="org.eclipse.wst.common">
-	<component-depends unrestricted="true"></component-depends>
-	<plugin id="org.eclipse.wst.common.ui" fragment="false" />
-	<plugin id="org.eclipse.wst.common.ui.properties" fragment="false" />
-	<plugin id="org.eclipse.wst.common.uriresolver" fragment="false" />
-	
-<!--	<description url="http://eclipse.org/webtools/wst/components/common/overview.html" /> -->
-
-<!--	<package name="org.eclipse.wst.common.ui.viewers"> -->
-<!--		<type name="SelectSingleFileView" />  -->  <!-- ?, does eclipse provide better support? -->
-<!--		<type name="ResourceFilter" /> -->
-<!--		<type name="SelectMultiFilePage" /> -->
-<!--		<type name="SelectSingleFilePage" /> -->
-<!--		<type name="TableNavigator" /> -->       <!-- No, should be in eclipse base -->
-<!--		<type name="NavigableTableViewer" /> --> <!-- No, should be in eclipse base -->
-<!--	</package> -->
-<!--	<package name="org.eclipse.wst.common.ui.actionhandler.action"> -->
-<!--		<type name="CutAction" />  -->    <!-- No to these four,  should be removed? -->
-<!--		<type name="PasteAction" /> -->
-<!--		<type name="CopyAction" />  -->
-<!--		<type name="EditAction" /> -->
-<!--	</package>  -->
-<!--	<package name="org.eclipse.wst.common.ui"> -->
-<!--  	<type name="UIPlugin" />  -->    <!-- No, delete this -->
-<!-- 	<type name="OverlayIconManager" />  --> <!--  No -->
-<!--  	<type name="WindowUtility" />  -->   <!-- Remove class, clean up xsd.ui -->
-<!--    <type name="ImageFactory" />  -->   <!-- No -->
-<!--	</package> -->
-<!--	<package name="org.eclipse.wst.common.ui.wizards">  -->
-<!--  		<type name="ExampleProjectCreationOperation" />  -->  <!-- referenced externally only within package (ExampleProjectCreationWizardPage -->
-<!-- 		<type name="ExampleProjectCreationWizardPage" /> --> <!-- referenced externally only within package (ExampleProjectCreationWizard, and Operation -->
-<!--  		<type name="ExampleProjectCreationWizard" />  --> <!-- referenced by XMLExampleProjectCreationWizard, which is deprecated and going to be removed in M4  -->
-<!--	</package> -->
-<!--	<package name="org.eclipse.wst.common.ui.dnd"> -->
-<!--		<type name="ViewerDropAdapter" />  -->
-<!--		<type name="DragAndDropCommand" /> -->  <!-- referenced externally only within package -->
-<!--		<type name="DragAndDropManager" /> -->  <!--   -->
-<!--		<type name="ObjectTransfer" />  -->
-<!--		<type name="DefaultDragAndDropCommand" />  -->
-<!--		<type name="ViewerDragAdapter" /> -->
-<!--	</package>  -->
-<!--	<package name="org.eclipse.wst.common.ui.resource"> -->
-<!--		<type name="ResourceDeleteListener" />  -->  <!-- no references -->
-<!--	</package> -->
-<!--	<package name="org.eclipse.wst.common.ui.dialogs">  -->
-<!--		<type name="SelectSingleFileDialog" />  -->    <!-- No, should look into base for support? -->
-<!--	</package>  -->
-<!--	<package name="org.eclipse.wst.common.ui.actionhandler">
-		<type name="ActionHandlerListener" />
-	</package>
--->
-<!-- provisional APIs -->
-<!--
-	<package name="org.eclipse.wst.common.uriresolver">
-		<type name="URIResolverPlugin"  subclass="false" instantiate="false"/>
-		<type name="URIResolver" implement="false"/>
-		<type name="URIResolverExtension" implement="true"/>
-	</package>
--->
-</component>
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.ui/plugin.properties b/plugins/org.eclipse.wst.common.ui/plugin.properties
deleted file mode 100644
index 6a0521d..0000000
--- a/plugins/org.eclipse.wst.common.ui/plugin.properties
+++ /dev/null
@@ -1,157 +0,0 @@
-! Plugin properties
-pluginName               = Eclipse Base UI extensions
-pluginProvider           = Eclipse.org
-
-! SelectSingleFilePage and SelectMultiFilePage
-_UI_LABEL_SOURCE_FILES   = Workbench Files
-_UI_LABEL_SELECTED_FILES = Selected Files
-
-_UI_IMPORT_BUTTON          = Import Files...
-_UI_IMPORT_BUTTON_TOOL_TIP = Import files from file system
-
-
-! SelectMultiFilePage
-! NOTE TO TRANSLATOR: the following three lines refers to _UI_LABEL_SELECTED_FILES label above
-_UI_ADD_BUTTON_TOOL_TIP    = Add files to Selected Files list.
-_UI_REMOVE_BUTTON_TOOL_TIP = Remove files from Selected Files list.
-_UI_REMOVE_ALL_BUTTON_TOOL_TIP =  Remove all files from Selected Files list.
-
-! NOTE TO TRANSLATOR: No translation needed of following three lines
-_UI_ADD_BUTTON             = >
-_UI_REMOVE_BUTTON          = <
-_UI_REMOVE_ALL_BUTTON      = <<
-
-! SelectJavaProjectView
-_UI_LABEL_CHOOSE_FOLDER = Select a project or folder:
-
-! SelectJavaProjectDialog
-_UI_LABEL_FOLDER_SELECTION = Container Selection
-
-! TextViewerOperationAction
-_UI_MENU_COPY         = &Copy
-_UI_MENU_CUT          = Cu&t
-_UI_MENU_DELETE       = Delete
-_UI_MENU_PASTE        = &Paste
-_UI_MENU_PREFIX       = Prefix
-_UI_MENU_REDO         = Redo
-_UI_MENU_SELECT_ALL   = Select All
-_UI_MENU_SHIFT_LEFT   = Shift Left
-_UI_MENU_SHIFT_RIGHT  = Shift Right
-_UI_MENU_STRIP_PREFIX = Strip Prefix
-_UI_MENU_UNDO         = Undo
-
-! SourceViewerGotoLineAction
-_UI_MENU_GOTO_LINE           = Go To Line...
-_UI_GOTO_LINE_DIALOG_TITLE   = Go To Line
-_UI_GOTO_LINE_DIALOG_TEXT    = Enter Line Number
-
-_UI_FILE_CHANGED_TITLE = File Changed
-_UI_FILE_DELETED_SAVE_CHANGES = The file has been deleted from the file system. Do you want to save your changes or close the editor without saving?
-_UI_FILE_DELETED_EDITOR_CLOSED = The file has been deleted from the file system. This editor will be closed.
-_UI_FILE_CHANGED_LOAD_CHANGES = The file has been changed on the file system. Do you want to load the changes?
-_UI_SAVE_BUTTON = Save
-_UI_CLOSE_BUTTON = Close
-
-
-! XSL Prefererence
-_UI_XSLT_SELECT     = Select which element to use for your stylesheet
-_UI_XSLT_STYLESHEET = &Use <xsl:stylesheet>
-_UI_XSLT_TRANSFORM  = U&se <xsl:transform>
-
-! XSL Debug Prefererence
-_UI_XSL_DEBUG_SELECT_LAUNCHER = Set the default XSL launcher for the XSL Debugging and Transformation tool
-_UI_XSL_DEBUG_LOCAL           = &XSL application
-_UI_XSL_DEBUG_REMOTE          = XS&L remote application
-_UI_XSL_TILE_EDITOR           = &Show all debugging files in a tile editor
-_UI_XSL_DEBUG_AND_TRANSFORM   = &Run transformation and open a debugging session
-_UI_XSL_CONTEXT_URI           = Context Path 
-_UI_XSL_CONTEXT               = Specify a &context path for resolving URIs in xsl:import, xsl:include or document()
-
-
-_UI_OVERRIDE_FILE    = Overwrite existing files
-_UI_JAVA_EXIST_FILE1 = The following Java classes already exist.
-_UI_JAVA_EXIST_FILE2 = Do you want to overwrite the existing file?
-      
-! some options strings common to several plugins
-_UI_ERROR_CREATING_FILE_TITLE = Error Creating File
-_UI_ERROR_CREATING_FILE_SHORT_DESC = Error creating file "{0}"
-_UI_ERROR_CREATING_FILE_LONG_DESC = An error occured while attempting to create the file "{0}".
-_UI_PARENT_FOLDER_IS_READ_ONLY = The parent directory "{0}" is read only.
-_UI_UNKNOWN_ERROR_WITH_HINT = Unknown error. Ensure that the parent directory "{0}" is writeable.
-_UI_UNKNOWN_ERROR = Unknown error. Ensure that the parent directory "{0}" is writeable.
-
-! usage - this label is followed by two radio button options for the file location
-_UI_LABEL_INCLUDE_URL_FILE = Select file location
-_UI_RADIO_FILE             = Workbench projects
-_UI_RADIO_URL              = HTTP
-
-_UI_LABEL_COMPONENTS				   = Components:
-_UI_LABEL_QUALIFIER					   = Qualifier:
-
-!- component selection dialogs 
-_UI_LABEL_COMPONENT_NAME			   = Component Name:
-_UI_LABEL_MATCHING_COMPONENTS		   = Matching Components:
-_UI_LABEL_SPECIFIED_FILE			   = Specified File
-_UI_LABEL_ENCLOSING_PROJECT			   = Enclosing Project
-_UI_LABEL_WORKSPACE					   = Workspace
-_UI_LABEL_CURRENT_RESOURCE			   = Current Resource
-_UI_LABEL_SEARCH_SCOPE				   = Search Scope
-_UI_LABEL_NARROW_SEARCH_SCOPE_RESOURCE = Use resource view to narrow search scope
-_UI_LABEL_AVAILABLE_TYPES			   = Available Types
-_UI_LABEL_WORKING_SETS                 = Working Sets
-
-_UI_LABEL_New=New...
-_UI_LABEL_DECLARATION_LOCATION=Declaration Location:
-_UI_LABEL_CHOOSE=Choose...
-
-!======================================================================================
-!
-! Here is the list of Error string that have message IDs - make sure they are unique
-!  Range for b2bgui messageIDs: IWAX1201 - IWAX1400
-!
-!======================================================================================
-
-_ERROR_THE_CONTAINER_NAME = The specified container must exist in the workspace and its path must start at the workspace root.
-
-_ERROR_LOCAL_LOCATION     = The local location of this container cannot be resolved.
-_ERROR_NOT_JAVA_PROJECT   = The specified project is not a Java project.
-
-!NOTE TO TRANSLATOR: this error message text is followed by a message from another plugin
-_ERROR_INVALID_JAVA_PACKAGE = IWAX1201E Invalid package name error:
-
-!NOTE TO TRANSLATOR: (_ERROR_BAD_FILENAME_EXTENSION + string + _UI_LABEL_OR + string) or (_ERROR_BAD_FILENAME_EXTENSION)
-_ERROR_BAD_FILENAME_EXTENSION         = The file name must end with
-_ERROR_FILE_ALREADY_EXISTS            = The same name already exists.
-
-_ERROR_CONTAINER_NOT_JAVA_BUILDPATH = The container is not a Java source folder for this project
-_ERROR_USE_PROJECT_JAVA_SOURCE_FOLDER = The project is not on the build path.  Select a Java source folder for the project.
-
-_UI_ERROR             = Error
-
-!NOTE TO TRANSLATOR: this warning message text is followed by a message from another plugin
-_WARN_INVALID_JAVA_PACKAGE = Invalid package name warning:
-
-_ERROR_ROOT_ELEMENT = The XML schema does not contain any global elements that can be used as a root element.
-_ERROR_SAVING_FILE = Error saving file "{0}"
-
-! File Validator
-_UI_ERROR_VALIDATE_FAIL_TITLE = Failed to check out necessary files
-_UI_ERROR_VALIDATE_FAIL_MESSAGE = Generation failed. Necessary files could not be checked out. 
-
-! PropertyDirtyChangeListener and PropertyResourceChangeListener
-_UI_ERROR_VALIDATE_EDIT_FAIL_ONE_FILE = Error
-
-ExampleProjectCreationWizard.title=New Example Project
-ExampleProjectCreationWizard.op_error.title=Project Creation Failed
-ExampleProjectCreationWizard.op_error.message=Project could not be created.
-
-ExampleProjectCreationWizard.overwritequery.title=Overwrite
-ExampleProjectCreationWizard.overwritequery.message=Do you want to overwrite {0}?
-
-
-ExampleProjectCreationOperation.op_desc=Creating example projects...
-ExampleProjectCreationOperation.op_desc_proj=Configuring project...
-
-ExampleProjectCreationWizardPage.error.alreadyexists=Project already exists.
-SaveFilesDialog_save_all_resources=Save All Modified Resources
-SaveFilesDialog_must_save=All modified resources must be saved before this operation.
diff --git a/plugins/org.eclipse.wst.common.ui/plugin.xml b/plugins/org.eclipse.wst.common.ui/plugin.xml
deleted file mode 100644
index f00b632..0000000
--- a/plugins/org.eclipse.wst.common.ui/plugin.xml
+++ /dev/null
@@ -1,31 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin>
-
-  <extension-point id="exampleProjectCreationWizard" name="Example Project Creation Wizard" schema="schema/exampleProjectCreationWizard.exsd"/>
-  <extension
-	point="org.eclipse.search.searchResultViewPages">
-	<viewPage
-		id="org.eclipse.wst.common.ui.internal.search.SearchResultPage"
-		searchResultClass="org.eclipse.wst.common.ui.internal.search.SearchResult"
-		class="org.eclipse.wst.common.ui.internal.search.SearchResultPage">
-	</viewPage>
-  </extension>
- 
-  <!--
-   <extension point="org.eclipse.ui.popupMenus"> 
-      <objectContribution 
-         id="test" 
-         objectClass="org.eclipse.core.resources.IFile">  
-         <action
-            id="testit" 
-            enablesFor="1"
-            style="pulldown"
-            menubarPath="additions"
-            label="TEST SEARCH DIALOG" 
-            class="org.eclipse.wst.common.ui.internal.search.dialogs.Test"> 
-         </action>          
-      </objectContribution>               
-    </extension> 
-   -->
-</plugin>
diff --git a/plugins/org.eclipse.wst.common.ui/schema/exampleProjectCreationWizard.exsd b/plugins/org.eclipse.wst.common.ui/schema/exampleProjectCreationWizard.exsd
deleted file mode 100644
index 578c329..0000000
--- a/plugins/org.eclipse.wst.common.ui/schema/exampleProjectCreationWizard.exsd
+++ /dev/null
@@ -1,243 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>

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

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

-<annotation>

-      <appInfo>

-         <meta.schema plugin="org.eclipse.wst.common.ui" id="ExampleProjectCreationWizard" name="Example Project Creation Wizard"/>

-      </appInfo>

-      <documentation>

-         This extension point allows to extend New project withard with the

-page set up setup information for the created project as well as source files that will be imported on the project creation.

-      </documentation>

-   </annotation>

-

-   <element name="extension">

-      <complexType>

-         <sequence>

-            <element ref="wizard"/>

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

-      <complexType>

-         <sequence>

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

-         </sequence>

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

-            <annotation>

-               <documentation>

-                  Id of the wizard that this extension is intended for.

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  Plugin relative path to the image that will be displayed as a banner on the wizard.

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <element name="projectsetup">

-      <annotation>

-         <documentation>

-            Element that describes additional project setup.

-There will be as many pages created for the wizard as there are projectsetup elements.

-         </documentation>

-      </annotation>

-      <complexType>

-         <sequence>

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

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

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

-         </sequence>

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

-            <annotation>

-               <documentation>

-                  Title of the wizard&apos;s page.

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  Initial project name that will be provided on the wizard page.

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  Label for the project name field on the wizard page.

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  Description of the wizard page

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  Plugin relative path of the file that will be opened when wizard finished.

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <element name="import">

-      <annotation>

-         <documentation>

-            Element that describes what to import into the project when it&apos;s created.

-         </documentation>

-      </annotation>

-      <complexType>

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

-            <annotation>

-               <documentation>

-                  Project relative path of the folder where project files will be imported to, if not specified, it&apos;s the projest itself.

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  Plugin relative path of the import .zip file with the files to be imported into the project.

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <element name="nature">

-      <annotation>

-         <documentation>

-            Element that specified Eclipse nature that is applicable to the project.

-         </documentation>

-      </annotation>

-      <complexType>

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

-            <annotation>

-               <documentation>

-                  The id of the nature that will be opened when project will be created.

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <element name="references">

-      <annotation>

-         <documentation>

-            Element that specifies reference for the project that will be created.

-         </documentation>

-      </annotation>

-      <complexType>

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

-            <annotation>

-               <documentation>

-                  The id of the referenced project.

-               </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;pre&gt;

-   &lt;extension

-         point=&quot;org.eclipse.wst.common.ui.exampleProjectCreationWizard&quot;

-         id=&quot;org.eclipse.wst.xml.ui.ExampleProjectCreationWizardExtension&quot;&gt; 

-      &lt;wizard

-           id=&quot;org.eclipse.wst.xml.ui.ExampleProjectCreationWizard&quot;

-           banner=&quot;icons/newSampleProject_wizbanner.gif&quot;&gt;

-         &lt;projectsetup

-               pagetitle=&quot;%XMLExampleProjectCreationWizard.pagetitle&quot;

-               name=&quot;%XMLExampleProjectCreationWizard.projectname&quot;

-               label=&quot;%XMLExampleProjectCreationWizard.label&quot;

-               pagedescription=&quot;%XMLExampleProjectCreationWizard.pagedescription&quot;

-               open=&quot;readme.html&quot;&gt;

-            &lt;import

-                  dest=&quot;&quot;

-                  src=&quot;examples/EditingAndValidatingXML.zip&quot;&gt;

-            &lt;/import&gt;

-        &lt;/projectsetup&gt;

-     &lt;/wizard&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.ui/src-search/org/eclipse/wst/common/ui/internal/search/AbstractSearchQuery.java b/plugins/org.eclipse.wst.common.ui/src-search/org/eclipse/wst/common/ui/internal/search/AbstractSearchQuery.java
deleted file mode 100644
index db2fc2b..0000000
--- a/plugins/org.eclipse.wst.common.ui/src-search/org/eclipse/wst/common/ui/internal/search/AbstractSearchQuery.java
+++ /dev/null
@@ -1,181 +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
- *******************************************************************************/
-package org.eclipse.wst.common.ui.internal.search;
-
-import org.eclipse.core.resources.IFile;
-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.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.MultiStatus;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.core.runtime.OperationCanceledException;
-import org.eclipse.search.internal.ui.Messages;
-import org.eclipse.search.internal.ui.SearchMessages;
-import org.eclipse.search.ui.IQueryListener;
-import org.eclipse.search.ui.ISearchQuery;
-import org.eclipse.search.ui.ISearchResult;
-import org.eclipse.search.ui.NewSearchUI;
-import org.eclipse.search.ui.text.Match;
-import org.eclipse.wst.common.core.search.SearchEngine;
-import org.eclipse.wst.common.core.search.pattern.QualifiedName;
-import org.eclipse.wst.common.core.search.pattern.SearchPattern;
-import org.eclipse.wst.common.core.search.scope.SearchScope;
-
-
-public abstract class AbstractSearchQuery implements ISearchQuery {
-	
-	protected String fPattern;
-	protected SearchScope fScope;
-	protected SearchResult fResult;
-	protected String fScopeDescription;
-
-	public AbstractSearchQuery(String pattern, SearchScope scope, String scopeDescription) {
-		super();
-		fPattern= pattern;
-		fScope= scope;
-		fScopeDescription= scopeDescription;
-	}
-
-	public boolean canRerun() {
-		// TODO Auto-generated method stub
-		return false;
-	}
-
-	public boolean canRunInBackground() {
-		return true;
-	}
-
-	public String getLabel() {
-		return SearchMessages.FileSearchQuery_label; 
-	}
-
-	public ISearchResult getSearchResult() {
-		if (fResult == null) {
-			fResult= new SearchResult(this);
-			new SearchResultUpdater(fResult);
-		}
-		return fResult;
-	}
-	
-	public String getResultLabel(int nMatches) {
-		if (nMatches == 1) {
-			if (fPattern.length() > 0) {
-				Object[] args= { fPattern, fScopeDescription };
-				return Messages.format(SearchMessages.FileSearchQuery_singularLabel, args); 
-			}
-			Object[] args= { "", fScopeDescription };
-			return Messages.format(SearchMessages.FileSearchQuery_singularLabel_fileNameSearch, args); 
-		}
-		if (fPattern.length() > 0) {
-			Object[] args= { fPattern, new Integer(nMatches), fScopeDescription }; //$NON-NLS-1$
-			return Messages.format(SearchMessages.FileSearchQuery_pluralPattern, args); 
-		}
-		Object[] args= { "", new Integer(nMatches), fScopeDescription }; //$NON-NLS-1$
-		return Messages.format(SearchMessages.FileSearchQuery_pluralPattern_fileNameSearch, args); 
-	
-	
-	}
-
-	public IStatus run(IProgressMonitor pm) throws OperationCanceledException {
-		final SearchResult textResult= (SearchResult) getSearchResult();
-		textResult.removeAll();
-		SearchQueryResultCollector collector= new SearchQueryResultCollector(textResult);
-		String searchString= fPattern;
-		if (searchString.trim().equals(String.valueOf('*'))) {
-			searchString= new String();
-		}
-		String message= SearchMessages.TextSearchEngine_statusMessage; 
-		MultiStatus status= new MultiStatus(NewSearchUI.PLUGIN_ID, IStatus.OK, message, null);
-		
-		SearchEngine searchEngine = new SearchEngine();
-	
-		QualifiedName typeName = QualifiedName.valueOf(searchString);
-		
-		try {
-            SearchPattern pattern = createSearchPattern(typeName);
-            searchEngine.search(pattern, collector, fScope, null, new NullProgressMonitor());
-		} catch (CoreException e) {
-			status.add(e.getStatus());
-		}
-	
-		return status;
-
-	}
-    
-    protected abstract SearchPattern createSearchPattern(QualifiedName typeName);
-	
-	public class SearchResultUpdater implements IResourceChangeListener, IQueryListener {
-		SearchResult fResult;
-
-		public SearchResultUpdater(SearchResult result) {
-			fResult= result;
-			NewSearchUI.addQueryListener(this);
-			ResourcesPlugin.getWorkspace().addResourceChangeListener(this);
-		}
-
-		public void resourceChanged(IResourceChangeEvent event) {
-			IResourceDelta delta= event.getDelta();
-			if (delta != null)
-				handleDelta(delta);
-		}
-
-		protected void handleDelta(IResourceDelta d) {
-			try {
-				d.accept(new IResourceDeltaVisitor() {
-					public boolean visit(IResourceDelta delta) throws CoreException {
-						switch (delta.getKind()) {
-							case IResourceDelta.ADDED :
-								return false;
-							case IResourceDelta.REMOVED :
-								IResource res= delta.getResource();
-								if (res instanceof IFile) {
-									Match[] matches= fResult.getMatches(res);
-									fResult.removeMatches(matches);
-								}
-								break;
-							case IResourceDelta.CHANGED :
-								// handle changed resource
-								break;
-						}
-						return true;
-					}
-				});
-			} catch (CoreException e) {
-				e.printStackTrace();
-			}
-		}
-
-		public void queryAdded(ISearchQuery query) {
-			// don't care
-		}
-
-		public void queryRemoved(ISearchQuery query) {
-			if (fResult.equals(query.getSearchResult())) {
-				ResourcesPlugin.getWorkspace().removeResourceChangeListener(this);
-				NewSearchUI.removeQueryListener(this);
-			}
-		}
-		
-		public void queryStarting(ISearchQuery query) {
-			// don't care
-		}
-
-		public void queryFinished(ISearchQuery query) {
-			// don't care
-		}
-    }	
-}
diff --git a/plugins/org.eclipse.wst.common.ui/src-search/org/eclipse/wst/common/ui/internal/search/ISearchConstants.java b/plugins/org.eclipse.wst.common.ui/src-search/org/eclipse/wst/common/ui/internal/search/ISearchConstants.java
deleted file mode 100644
index 0bc1403..0000000
--- a/plugins/org.eclipse.wst.common.ui/src-search/org/eclipse/wst/common/ui/internal/search/ISearchConstants.java
+++ /dev/null
@@ -1,38 +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
- *******************************************************************************/
-package org.eclipse.wst.common.ui.internal.search;
-
-public interface ISearchConstants {
-	
-	/**
-	 * The search result is a declaration.
-	 * Can be used in conjunction with any of the nature of searched elements
-	 * so as to better narrow down the search.
-	 */
-	public static int DECLARATIONS= 0;
-
-
-	/**
-	 * The search result is a reference.
-	 * Can be used in conjunction with any of the nature of searched elements
-	 * so as to better narrow down the search.
-	 * References can contain implementers since they are more generic kind
-	 * of matches.
-	 */
-	public static int REFERENCES= 1;
-
-	/**
-	 * The search result is a declaration, or a reference.
-	 * Can be used in conjunction with any of the nature of searched elements
-	 * so as to better narrow down the search.
-	 */
-	public static int ALL_OCCURRENCES= 2;
-}
diff --git a/plugins/org.eclipse.wst.common.ui/src-search/org/eclipse/wst/common/ui/internal/search/SearchMessages.java b/plugins/org.eclipse.wst.common.ui/src-search/org/eclipse/wst/common/ui/internal/search/SearchMessages.java
deleted file mode 100644
index 3079c3d..0000000
--- a/plugins/org.eclipse.wst.common.ui/src-search/org/eclipse/wst/common/ui/internal/search/SearchMessages.java
+++ /dev/null
@@ -1,145 +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
- *******************************************************************************/
-package org.eclipse.wst.common.ui.internal.search;
-
-import org.eclipse.osgi.util.NLS;
-
-public final class SearchMessages extends NLS {
-
-	private static final String BUNDLE_NAME= "org.eclipse.wst.common.search.test.ui.SearchMessages";//$NON-NLS-1$
-
-	private SearchMessages() {
-		// Do not instantiate
-	}
-
-	public static String SearchLabelProvider_exact_singular;
-	public static String SearchLabelProvider_exact_noCount;
-	public static String SearchLabelProvider_exact_and_potential_plural;
-	public static String SearchLabelProvider_potential_singular;
-	public static String SearchLabelProvider_potential_noCount;
-	public static String SearchLabelProvider_potential_plural;
-	public static String SearchLabelProvider_exact_plural;
-	public static String group_search;
-	public static String group_declarations;
-	public static String group_references;
-	public static String group_readReferences;
-	public static String group_writeReferences;
-	public static String group_implementors;
-	public static String group_occurrences;
-	public static String group_occurrences_quickMenu_noEntriesAvailable;
-	public static String Search_Error_search_title;
-	public static String Search_Error_search_message;
-	public static String Search_Error_search_notsuccessful_message;
-	public static String Search_Error_javaElementAccess_title;
-	public static String Search_Error_javaElementAccess_message;
-	public static String Search_Error_search_notsuccessful_title;
-	public static String Search_Error_openEditor_title;
-	public static String Search_Error_openEditor_message;
-	public static String Search_Error_codeResolve;
-	public static String SearchElementSelectionDialog_title;
-	public static String SearchElementSelectionDialog_message;
-	public static String SearchPage_searchFor_label;
-	public static String SearchPage_searchFor_type;
-	public static String SearchPage_searchFor_method;
-	public static String SearchPage_searchFor_field;
-	public static String SearchPage_searchFor_package;
-	public static String SearchPage_searchFor_constructor;
-	public static String SearchPage_limitTo_label;
-	public static String SearchPage_limitTo_declarations;
-	public static String SearchPage_limitTo_implementors;
-	public static String SearchPage_limitTo_references;
-	public static String SearchPage_limitTo_allOccurrences;
-	public static String SearchPage_limitTo_readReferences;
-	public static String SearchPage_limitTo_writeReferences;
-	public static String SearchPage_expression_label;
-	public static String SearchPage_expression_caseSensitive;
-	public static String SearchUtil_workingSetConcatenation;
-	public static String Search_FindDeclarationAction_label;
-	public static String Search_FindDeclarationAction_tooltip;
-	public static String Search_FindDeclarationsInProjectAction_label;
-	public static String Search_FindDeclarationsInProjectAction_tooltip;
-	public static String Search_FindDeclarationsInWorkingSetAction_label;
-	public static String Search_FindDeclarationsInWorkingSetAction_tooltip;
-	public static String Search_FindHierarchyDeclarationsAction_label;
-	public static String Search_FindHierarchyDeclarationsAction_tooltip;
-	public static String Search_FindImplementorsAction_label;
-	public static String Search_FindImplementorsAction_tooltip;
-	public static String Search_FindImplementorsInProjectAction_label;
-	public static String Search_FindImplementorsInProjectAction_tooltip;
-	public static String Search_FindImplementorsInWorkingSetAction_label;
-	public static String Search_FindImplementorsInWorkingSetAction_tooltip;
-	public static String Search_FindReferencesAction_label;
-	public static String Search_FindReferencesAction_tooltip;
-	public static String Search_FindReferencesAction_BinPrimConstWarnDialog_title;
-	public static String Search_FindReferencesAction_BinPrimConstWarnDialog_message;
-	public static String Search_FindReferencesInProjectAction_label;
-	public static String Search_FindReferencesInProjectAction_tooltip;
-	public static String Search_FindReferencesInWorkingSetAction_label;
-	public static String Search_FindReferencesInWorkingSetAction_tooltip;
-	public static String Search_FindHierarchyReferencesAction_label;
-	public static String Search_FindHierarchyReferencesAction_tooltip;
-	public static String Search_FindReadReferencesAction_label;
-	public static String Search_FindReadReferencesAction_tooltip;
-	public static String Search_FindReadReferencesInProjectAction_label;
-	public static String Search_FindReadReferencesInProjectAction_tooltip;
-	public static String Search_FindReadReferencesInWorkingSetAction_label;
-	public static String Search_FindReadReferencesInWorkingSetAction_tooltip;
-	public static String Search_FindReadReferencesInHierarchyAction_label;
-	public static String Search_FindReadReferencesInHierarchyAction_tooltip;
-	public static String Search_FindWriteReferencesAction_label;
-	public static String Search_FindWriteReferencesAction_tooltip;
-	public static String Search_FindWriteReferencesInProjectAction_label;
-	public static String Search_FindWriteReferencesInProjectAction_tooltip;
-	public static String Search_FindWriteReferencesInWorkingSetAction_label;
-	public static String Search_FindWriteReferencesInWorkingSetAction_tooltip;
-	public static String Search_FindWriteReferencesInHierarchyAction_label;
-	public static String Search_FindWriteReferencesInHierarchyAction_tooltip;
-	public static String Search_FindOccurrencesInFile_shortLabel;
-	public static String Search_FindOccurrencesInFile_label;
-	public static String Search_FindOccurrencesInFile_tooltip;
-	public static String FindOccurrencesEngine_noSource_text;
-	public static String FindOccurrencesEngine_cannotParse_text;
-	public static String OccurrencesFinder_no_element;
-	public static String OccurrencesFinder_no_binding;
-	public static String OccurrencesFinder_searchfor;
-	public static String OccurrencesFinder_label_singular;
-	public static String OccurrencesFinder_label_plural;
-	public static String ExceptionOccurrencesFinder_no_exception;
-	public static String ExceptionOccurrencesFinder_searchfor;
-	public static String ExceptionOccurrencesFinder_label_singular;
-	public static String ExceptionOccurrencesFinder_label_plural;
-	public static String ImplementOccurrencesFinder_invalidTarget;
-	public static String ImplementOccurrencesFinder_searchfor;
-	public static String ImplementOccurrencesFinder_label_singular;
-	public static String ImplementOccurrencesFinder_label_plural;
-	public static String WorkspaceScope;
-	public static String WorkingSetScope;
-	public static String SelectionScope;
-	public static String EnclosingProjectsScope;
-	public static String EnclosingProjectScope;
-	public static String ProjectScope;
-	public static String HierarchyScope;
-	public static String SearchParticipant_error_noID;
-	public static String SearchParticipant_error_noNature;
-	public static String SearchParticipant_error_noClass;
-	public static String SearchParticipant_error_classCast;
-	public static String TextSearchLabelProvider_matchCountFormat;
-	public static String FiltersDialog_title;
-	public static String FiltersDialog_filters_label;
-	public static String FiltersDialog_description_label;
-	public static String FiltersDialog_limit_label;
-	public static String FiltersDialog_limit_error;
-	public static String FiltersDialogAction_label;
-
-	static {
-		NLS.initializeMessages(BUNDLE_NAME, SearchMessages.class);
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.ui/src-search/org/eclipse/wst/common/ui/internal/search/SearchMessages.properties b/plugins/org.eclipse.wst.common.ui/src-search/org/eclipse/wst/common/ui/internal/search/SearchMessages.properties
deleted file mode 100644
index cd3fea0..0000000
--- a/plugins/org.eclipse.wst.common.ui/src-search/org/eclipse/wst/common/ui/internal/search/SearchMessages.properties
+++ /dev/null
@@ -1,258 +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
-###############################################################################
-
-SearchLabelProvider_exact_singular={0} (1 match)
-SearchLabelProvider_exact_noCount={0}
-SearchLabelProvider_exact_and_potential_plural={0} ({1} matches: {2} exact, {3} potential)
-SearchLabelProvider_potential_singular={0} (potential match)
-SearchLabelProvider_potential_noCount={0} (potential match)
-SearchLabelProvider_potential_plural={0} ({1} potential matches)
-SearchLabelProvider_exact_plural={0} ({1} matches)
-
-group_search=S&earch
-group_declarations= Dec&larations
-group_references= Re&ferences
-group_readReferences= &Read Access
-group_writeReferences= &Write Access
-group_implementors= &Implementors
-group_occurrences= Occurre&nces in File
-group_occurrences_quickMenu_noEntriesAvailable= <no entries available>
-
-Search_Error_search_title=Search Error
-Search_Error_search_message=The search operation has reported problems
-Search_Error_search_notsuccessful_message=The search operation has reported problems
-Search_Error_javaElementAccess_title=Search Error
-Search_Error_javaElementAccess_message=An error occurred while accessing a Java element
-
-Search_Error_search_notsuccessful_title=Search
-
-Search_Error_openEditor_title=Search Error
-Search_Error_openEditor_message=Could not open the editor
-
-Search_Error_codeResolve= Code resolve error
-
-SearchElementSelectionDialog_title=Search
-SearchElementSelectionDialog_message=Select the element to search for.
-
-SearchPage_searchFor_label= Search For
-SearchPage_searchFor_type= &Type
-SearchPage_searchFor_method= &Method
-SearchPage_searchFor_field= &Field
-SearchPage_searchFor_package= &Package
-SearchPage_searchFor_constructor= Co&nstructor
-
-SearchPage_limitTo_label= Limit To
-SearchPage_limitTo_declarations= Dec&larations
-SearchPage_limitTo_implementors= &Implementors
-SearchPage_limitTo_references= &References
-SearchPage_limitTo_allOccurrences= All &Occurrences
-SearchPage_limitTo_readReferences= Read A&ccess
-SearchPage_limitTo_writeReferences= Writ&e Access
-
-SearchPage_expression_label= Se&arch string (* = any string, ? = any character):
-SearchPage_expression_caseSensitive= Case sens&itive
-
-SearchPage_searchJRE_label=Search the JRE s&ystem libraries
-
-# Concatenate two working set names e.g. "Source, Lib"
-SearchUtil_workingSetConcatenation= {0}, {1}
-
-Search_FindDeclarationAction_label= &Workspace
-Search_FindDeclarationAction_tooltip= Search for Declarations of the Selected Element in the Workspace
-
-Search_FindDeclarationsInProjectAction_label= &Project
-Search_FindDeclarationsInProjectAction_tooltip= Search for Declarations of the Selected Element in Resources in the Enclosing Project of the Selected Element
-
-Search_FindDeclarationsInWorkingSetAction_label= Working &Set...
-Search_FindDeclarationsInWorkingSetAction_tooltip= Search for Declarations of the Selected Element in a Working Set
-
-Search_FindHierarchyDeclarationsAction_label= &Hierarchy
-Search_FindHierarchyDeclarationsAction_tooltip= Search for Declarations of the Selected Element in its Hierarchy
-
-Search_FindImplementorsAction_label= &Workspace
-Search_FindImplementorsAction_tooltip= Search for Implementors of the Selected Interface
-
-Search_FindImplementorsInProjectAction_label= &Project
-Search_FindImplementorsInProjectAction_tooltip= Search for Implementors of the Selected Interface in Resources in the Enclosing Project of the Selected Element
-
-Search_FindImplementorsInWorkingSetAction_label= Working &Set...
-Search_FindImplementorsInWorkingSetAction_tooltip= Search for Implementors of the Selected Interface in a Working Set
-
-Search_FindReferencesAction_label= &Workspace
-Search_FindReferencesAction_tooltip= Search for References to the Selected Element in the Workspace
-
-Search_FindReferencesAction_BinPrimConstWarnDialog_title= Search for References to a Binary Constant
-Search_FindReferencesAction_BinPrimConstWarnDialog_message= Matches to this constant will only be discovered in source files and binary files where the constant value is not inlined.
-
-Search_FindReferencesInProjectAction_label= &Project
-Search_FindReferencesInProjectAction_tooltip= Search for References to the Selected Element in Resources in the Enclosing Project of the Selected Element
-
-Search_FindReferencesInWorkingSetAction_label= Working &Set...
-Search_FindReferencesInWorkingSetAction_tooltip= Search for References to the Selected Element in a Working Set
-
-Search_FindHierarchyReferencesAction_label= &Hierarchy
-Search_FindHierarchyReferencesAction_tooltip= Search for References of the Selected Element in its Hierarchy
-
-Search_FindReadReferencesAction_label= &Workspace
-Search_FindReadReferencesAction_tooltip= Search for Read References to the Selected Element in the Workspace
-
-Search_FindReadReferencesInProjectAction_label= &Project
-Search_FindReadReferencesInProjectAction_tooltip= Search for Read References to the Selected Element in Resources in the Enclosing Project of the Selected Element
-
-Search_FindReadReferencesInWorkingSetAction_label= Working &Set...
-Search_FindReadReferencesInWorkingSetAction_tooltip= Search for Read References to the Selected Element in a Working Set
-
-Search_FindReadReferencesInHierarchyAction_label= &Hierarchy
-Search_FindReadReferencesInHierarchyAction_tooltip= Search for Read References of the Selected Element in its Hierarchy
-
-Search_FindWriteReferencesAction_label= &Workspace
-Search_FindWriteReferencesAction_tooltip= Search for Write References to the Selected Element in the Workspace
-
-Search_FindWriteReferencesInProjectAction_label= &Project
-Search_FindWriteReferencesInProjectAction_tooltip= Search for Write References to the Selected Element in Resources in the Enclosing Project of the Selected Element
-
-Search_FindWriteReferencesInWorkingSetAction_label= Working &Set...
-Search_FindWriteReferencesInWorkingSetAction_tooltip= Search for Write References to the Selected Element in a Working Set
-
-Search_FindWriteReferencesInHierarchyAction_label= &Hierarchy
-Search_FindWriteReferencesInHierarchyAction_tooltip= Search for Write References of the Selected Element in its Hierarchy
-
-Search_FindOccurrencesInFile_shortLabel= &Identifier
-Search_FindOccurrencesInFile_label= I&dentifiers in File
-Search_FindOccurrencesInFile_tooltip= Find Occurrences of the Selected Element in the Editor
-
-FindOccurrencesEngine_noSource_text= No source available. To perform this operation you need to attach source.
-FindOccurrencesEngine_cannotParse_text= Cannot analyze the compilation unit or class file.
-
-OccurrencesFinder_no_element= Cannot search for the current selection. Please select a valid Java element name.
-OccurrencesFinder_no_binding= Selected Java element is unknown.
-OccurrencesFinder_searchfor=Search for Occurrences in File
-# The first argument will be replaced by the element name and the second one by the file name
-OccurrencesFinder_label_singular=''{0}'' - 1 occurrence in ''{1}''
-# The first argument will be replaced by the element name, the second by the count and the last by the file name
-OccurrencesFinder_label_plural=''{0}'' - {1} occurrences in ''{2}''
-
-ExceptionOccurrencesFinder_no_exception= Cannot search for current selection. Please select an exception.
-ExceptionOccurrencesFinder_searchfor= Search for Exception Occurrences
-
-# The first argument will be replaced by the element name and the second one by the file name
-ExceptionOccurrencesFinder_label_singular=''{0}'' - 1 exception occurrence in ''{1}''
-# The first argument will be replaced by the element name, the second by the count and the last by the file name
-ExceptionOccurrencesFinder_label_plural=''{0}'' - {1} exception occurrences in ''{2}''
-
-ImplementOccurrencesFinder_invalidTarget= Cannot search for current selection. Please select a type behind 'implements' or 'extends'.
-ImplementOccurrencesFinder_searchfor= Search for Implement Occurrences
-
-# The first argument will be replaced by the element name and the second one by the file name
-ImplementOccurrencesFinder_label_singular=''{0}'' - 1 implement occurrence in ''{1}''
-# The first argument will be replaced by the element name, the second by the count and the last by the file name
-ImplementOccurrencesFinder_label_plural=''{0}'' - {1} implement occurrences in ''{2}''
-
-
-# The first argument will be replaced by the pattern and the second by the scope
-JavaSearchOperation_singularDeclarationsPostfix=''{0}'' - 1 declaration in {1}
-JavaSearchOperation_singularReferencesPostfix=''{0}'' - 1 reference in {1}
-JavaSearchOperation_singularReadReferencesPostfix=''{0}'' - 1 read reference in {1}
-JavaSearchOperation_singularWriteReferencesPostfix=''{0}'' - 1 write reference in {1}
-JavaSearchOperation_singularImplementorsPostfix=''{0}'' - 1 implementor in {1}
-JavaSearchOperation_singularOccurrencesPostfix=''{0}'' - 1 occurrence in {1}
-
-JavaSearchOperation_pluralDeclarationsPostfix=''{0}'' - {1} declarations in {2}
-JavaSearchOperation_pluralReferencesPostfix=''{0}'' - {1} references in {2}
-JavaSearchOperation_pluralReadReferencesPostfix=''{0}'' - {1} read references in {2}
-JavaSearchOperation_pluralWriteReferencesPostfix=''{0}'' - {1} write references in {2}
-JavaSearchOperation_pluralImplementorsPostfix=''{0}'' - {1} implementors in {2}
-JavaSearchOperation_pluralOccurrencesPostfix=''{0}'' - {1} occurrences in {2}
-JavaElementAction_typeSelectionDialog_title=Search
-JavaElementAction_typeSelectionDialog_message=&Select the type to search:
-JavaElementAction_error_open_message=An exception occurred while opening the type.
-
-JavaElementAction_operationUnavailable_title= Operation Unavailable
-JavaElementAction_operationUnavailable_generic= The operation is unavailable on the current selection. Please select a valid Java element name.
-JavaElementAction_operationUnavailable_field= The operation is unavailable on the current selection. Please select the name of a field or local variable.
-JavaElementAction_operationUnavailable_interface= The operation is unavailable on the current selection. Please select the name of an interface.
-
-WorkspaceScope= workspace
-WorkingSetScope= working set ''{0}''
-SelectionScope= selection
-EnclosingProjectsScope= projects {0}, ...
-EnclosingProjectScope= project {0}
-ProjectScope= project {0}
-HierarchyScope= hierarchy of ''{0}''
-
-JavaSearchResultPage_sortByName=Name
-JavaSearchResultPage_sortByPath=Path
-JavaSearchResultPage_open_editor_error_title=Open Element
-JavaSearchResultPage_open_editor_error_message=Opening element failed.
-JavaSearchResultPage_sortByParentName=Parent Name
-JavaSearchResultPage_filtered_message={0} (Filtered)
-JavaSearchResultPage_sortBylabel=Sort By
-JavaSearchResultPage_error_marker=Could not create marker
-
-JavaSearchResultPage_groupby_project=Project
-JavaSearchResultPage_groupby_project_tooltip=Group by Project
-JavaSearchResultPage_groupby_package=Package
-JavaSearchResultPage_groupby_package_tooltip=Group by Package
-JavaSearchResultPage_filteredWithCount_message={0} ({1} matches filtered from view)
-JavaSearchResultPage_groupby_file=File
-JavaSearchResultPage_groupby_file_tooltip=Group by File
-JavaSearchResultPage_groupby_type=Type
-JavaSearchResultPage_groupby_type_tooltip=Group by Type
-
-JavaSearchQuery_task_label=Searching
-JavaSearchQuery_label=Java Search
-JavaSearchQuery_error_unsupported_pattern=Unsupported search pattern: "{0}"
-JavaSearchQuery_status_ok_message=Found {0} matches.
-
-JavaSearchQuery_error_participant_estimate=An error occurred while estimating progress data
-JavaSearchQuery_error_participant_search=An error occurred during participant search
-
-SearchParticipant_error_noID=Missing id attribute on search participant extension {0}
-SearchParticipant_error_noNature=Missing nature attribute on search participant {0}
-SearchParticipant_error_noClass=Missing class attribute on search participant {0}
-SearchParticipant_error_classCast=Search participant doesn't implement IQueryParticipant
-
-
-MatchFilter_ImportFilter_name=Imports
-MatchFilter_ImportFilter_actionLabel=Filter &Imports
-MatchFilter_ImportFilter_description=Filters matches that are in import statements
-
-
-MatchFilter_WriteFilter_name=Writes
-MatchFilter_WriteFilter_actionLabel=Filter &Writes
-MatchFilter_WriteFilter_description=Filters matches that are write accesses
-
-MatchFilter_ReadFilter_name=Reads
-MatchFilter_ReadFilter_actionLabel=Filter &Reads
-MatchFilter_ReadFilter_description=Filters matches that are not write accesses
-
-MatchFilter_JavadocFilter_name=Javadoc
-MatchFilter_JavadocFilter_actionLabel=Filter &Javadoc
-MatchFilter_JavadocFilter_description=Filters matches that are inside Javadoc comments
-
-MatchFilter_ErasureFilter_name=Incompatible type arguments
-MatchFilter_ErasureFilter_actionLabel=Filter In&compatible
-MatchFilter_ErasureFilter_description=Filters parameterized type matches that are not assignment compatible with the search pattern
-
-MatchFilter_InexactFilter_name=Inexact type arguments
-MatchFilter_InexactFilter_actionLabel=Filter Ine&xact
-MatchFilter_InexactFilter_description=Filters parameterized type matches where the type arguments don't exactly match the search pattern's type arguments
-
-MethodExitsFinder_no_return_type_selected=No return type selected
-
-TextSearchLabelProvider_matchCountFormat={0} ({1} matches)
-
-FiltersDialog_title=Java Search Filters
-FiltersDialog_filters_label=Select the &matches to exclude from the search results:
-FiltersDialog_description_label=Filter Description:
-FiltersDialog_limit_label=&Limit top level elements in Java search view to:
-FiltersDialog_limit_error=Element limit must be a positive number
-FiltersDialogAction_label=Fi&lters...
diff --git a/plugins/org.eclipse.wst.common.ui/src-search/org/eclipse/wst/common/ui/internal/search/SearchQueryResultCollector.java b/plugins/org.eclipse.wst.common.ui/src-search/org/eclipse/wst/common/ui/internal/search/SearchQueryResultCollector.java
deleted file mode 100644
index 91d234a..0000000
--- a/plugins/org.eclipse.wst.common.ui/src-search/org/eclipse/wst/common/ui/internal/search/SearchQueryResultCollector.java
+++ /dev/null
@@ -1,33 +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
- *******************************************************************************/
-package org.eclipse.wst.common.ui.internal.search;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.search.ui.text.Match;
-import org.eclipse.wst.common.core.search.SearchMatch;
-import org.eclipse.wst.common.core.search.SearchRequestor;
-
-class SearchQueryResultCollector extends SearchRequestor {
-	
-	private SearchResult fSearchResult;
-
-	
-	protected SearchQueryResultCollector(SearchResult result){
-		super();
-		fSearchResult= result;
-	}
-
-	public void acceptSearchMatch(SearchMatch match) throws CoreException {
-		Match aMatch = new Match(match.getFile(), match.getOffset(), match.getLength());
-		fSearchResult.addMatch(aMatch);
-		
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.ui/src-search/org/eclipse/wst/common/ui/internal/search/SearchResult.java b/plugins/org.eclipse.wst.common.ui/src-search/org/eclipse/wst/common/ui/internal/search/SearchResult.java
deleted file mode 100644
index c26fb9c..0000000
--- a/plugins/org.eclipse.wst.common.ui/src-search/org/eclipse/wst/common/ui/internal/search/SearchResult.java
+++ /dev/null
@@ -1,82 +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
- *******************************************************************************/
-package org.eclipse.wst.common.ui.internal.search;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.search.internal.ui.SearchPluginImages;
-import org.eclipse.search.ui.ISearchQuery;
-import org.eclipse.search.ui.text.AbstractTextSearchResult;
-import org.eclipse.search.ui.text.IEditorMatchAdapter;
-import org.eclipse.search.ui.text.IFileMatchAdapter;
-import org.eclipse.search.ui.text.Match;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IFileEditorInput;
-
-public class SearchResult extends AbstractTextSearchResult implements IEditorMatchAdapter, IFileMatchAdapter {
-	private final Match[] EMPTY_ARR= new Match[0];
-	
-	private AbstractSearchQuery fQuery;
-
-	public SearchResult(AbstractSearchQuery job) {
-		fQuery= job;
-	}
-	public ImageDescriptor getImageDescriptor() {
-		return SearchPluginImages.DESC_OBJ_TSEARCH_DPDN;
-	}
-	public String getLabel() {
-		return fQuery.getResultLabel(getMatchCount());
-	}
-	public String getTooltip() {
-		return getLabel();
-	}
-
-	public Match[] computeContainedMatches(AbstractTextSearchResult result, IFile file) {
-		return getMatches(file);
-	}
-
-	public IFile getFile(Object element) {
-		if (element instanceof IFile)
-			return (IFile)element;
-		return null;
-	}
-
-	public boolean isShownInEditor(Match match, IEditorPart editor) {
-		IEditorInput ei= editor.getEditorInput();
-		if (ei instanceof IFileEditorInput) {
-			IFileEditorInput fi= (IFileEditorInput) ei;
-			return match.getElement().equals(fi.getFile());
-		}
-		return false;
-	}
-	
-	public Match[] computeContainedMatches(AbstractTextSearchResult result, IEditorPart editor) {
-		IEditorInput ei= editor.getEditorInput();
-		if (ei instanceof IFileEditorInput) {
-			IFileEditorInput fi= (IFileEditorInput) ei;
-			return getMatches(fi.getFile());
-		}
-		return EMPTY_ARR;
-	}
-
-	public ISearchQuery getQuery() {
-		return fQuery;
-	}
-	
-	public IFileMatchAdapter getFileMatchAdapter() {
-		return this;
-	}
-	
-	public IEditorMatchAdapter getEditorMatchAdapter() {
-		return this;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.ui/src-search/org/eclipse/wst/common/ui/internal/search/SearchResultPage.java b/plugins/org.eclipse.wst.common.ui/src-search/org/eclipse/wst/common/ui/internal/search/SearchResultPage.java
deleted file mode 100644
index d67b913..0000000
--- a/plugins/org.eclipse.wst.common.ui/src-search/org/eclipse/wst/common/ui/internal/search/SearchResultPage.java
+++ /dev/null
@@ -1,380 +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
- *******************************************************************************/
-package org.eclipse.wst.common.ui.internal.search;
-
-import java.text.Collator;
-import java.text.MessageFormat;
-import java.util.HashMap;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.jface.action.IMenuManager;
-import org.eclipse.jface.action.MenuManager;
-import org.eclipse.jface.util.Assert;
-import org.eclipse.jface.util.DelegatingDragAdapter;
-import org.eclipse.jface.util.IPropertyChangeListener;
-import org.eclipse.jface.util.PropertyChangeEvent;
-import org.eclipse.jface.viewers.DecoratingLabelProvider;
-import org.eclipse.jface.viewers.ILabelProvider;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.ISelectionProvider;
-import org.eclipse.jface.viewers.IStructuredContentProvider;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.StructuredViewer;
-import org.eclipse.jface.viewers.TableViewer;
-import org.eclipse.jface.viewers.TreeViewer;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.jface.viewers.ViewerSorter;
-import org.eclipse.search.internal.ui.SearchMessages;
-import org.eclipse.search.internal.ui.SearchPlugin;
-import org.eclipse.search.internal.ui.SearchPreferencePage;
-import org.eclipse.search.internal.ui.text.EditorOpener;
-import org.eclipse.search.internal.ui.text.FileLabelProvider;
-import org.eclipse.search.internal.ui.text.IFileSearchContentProvider;
-import org.eclipse.search.internal.ui.text.ResourceTransferDragAdapter;
-import org.eclipse.search.internal.ui.text.SortAction;
-import org.eclipse.search.ui.IContextMenuConstants;
-import org.eclipse.search.ui.ISearchResultViewPart;
-import org.eclipse.search.ui.NewSearchUI;
-import org.eclipse.search.ui.text.AbstractTextSearchResult;
-import org.eclipse.search.ui.text.AbstractTextSearchViewPage;
-import org.eclipse.search.ui.text.Match;
-import org.eclipse.swt.dnd.DND;
-import org.eclipse.swt.dnd.Transfer;
-import org.eclipse.ui.IActionBars;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IMemento;
-import org.eclipse.ui.IPageLayout;
-import org.eclipse.ui.IViewPart;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchPartSite;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.actions.ActionContext;
-import org.eclipse.ui.actions.ActionFactory;
-import org.eclipse.ui.actions.ActionGroup;
-import org.eclipse.ui.actions.OpenFileAction;
-import org.eclipse.ui.actions.OpenWithMenu;
-import org.eclipse.ui.dialogs.PropertyDialogAction;
-import org.eclipse.ui.ide.IDE;
-import org.eclipse.ui.part.IShowInTargetList;
-import org.eclipse.ui.part.ResourceTransfer;
-import org.eclipse.ui.texteditor.ITextEditor;
-import org.eclipse.wst.common.ui.internal.UIPlugin;
-
-
-public class SearchResultPage extends AbstractTextSearchViewPage implements IAdaptable {
-	
-	public static class DecoratorIgnoringViewerSorter extends ViewerSorter {
-		private final ILabelProvider fLabelProvider;
-
-		public DecoratorIgnoringViewerSorter(ILabelProvider labelProvider) {
-			super(null); // lazy initialization
-			fLabelProvider= labelProvider;
-		}
-		
-	    public int compare(Viewer viewer, Object e1, Object e2) {
-	        String name1= fLabelProvider.getText(e1);
-	        String name2= fLabelProvider.getText(e2);
-	        if (name1 == null)
-	            name1 = "";//$NON-NLS-1$
-	        if (name2 == null)
-	            name2 = "";//$NON-NLS-1$
-	        return getCollator().compare(name1, name2);
-	    }
-	    
-		/* (non-Javadoc)
-		 * @see org.eclipse.jface.viewers.ViewerSorter#getCollator()
-		 */
-		public final Collator getCollator() {
-			if (collator == null) {
-				collator= Collator.getInstance();
-			}
-			return collator;
-		}
-	}
-	
-	private static final String KEY_SORTING= "org.eclipse.search.resultpage.sorting"; //$NON-NLS-1$
-
-	private ActionGroup fActionGroup;
-	private IFileSearchContentProvider fContentProvider;
-	private int fCurrentSortOrder;
-	private SortAction fSortByNameAction;
-	private SortAction fSortByPathAction;
-	
-	private EditorOpener fEditorOpener= new EditorOpener();
-
-		
-	private static final String[] SHOW_IN_TARGETS= new String[] { IPageLayout.ID_RES_NAV };
-	private  static final IShowInTargetList SHOW_IN_TARGET_LIST= new IShowInTargetList() {
-		public String[] getShowInTargetIds() {
-			return SHOW_IN_TARGETS;
-		}
-	};
-
-	private IPropertyChangeListener fPropertyChangeListener;
-	
-	public SearchResultPage() {
-		// TODO
-		//fSortByNameAction= new SortAction(SearchMessages.FileSearchPage_sort_name_label, this, FileLabelProvider.SHOW_LABEL_PATH); 
-		//fSortByPathAction= new SortAction(SearchMessages.FileSearchPage_sort_path_label, this, FileLabelProvider.SHOW_PATH_LABEL); 
-
-		fPropertyChangeListener= new IPropertyChangeListener() {
-			public void propertyChange(PropertyChangeEvent event) {
-				if (SearchPreferencePage.LIMIT_TABLE.equals(event.getProperty()) || SearchPreferencePage.LIMIT_TABLE_TO.equals(event.getProperty()))
-					if (getViewer() instanceof TableViewer) {
-						getViewPart().updateLabel();
-						getViewer().refresh();
-					}
-			}
-		};
-		SearchPlugin.getDefault().getPreferenceStore().addPropertyChangeListener(fPropertyChangeListener);
-		
-}
-	
-	public StructuredViewer getViewer() {
-		return super.getViewer();
-	}
-	
-	private void addDragAdapters(StructuredViewer viewer) {
-		Transfer[] transfers= new Transfer[] { ResourceTransfer.getInstance() };
-		int ops= DND.DROP_COPY | DND.DROP_LINK;
-		
-		DelegatingDragAdapter adapter= new DelegatingDragAdapter();
-		adapter.addDragSourceListener(new ResourceTransferDragAdapter(viewer));
-		
-		viewer.addDragSupport(ops, transfers, adapter);
-	}	
-
-	protected void configureTableViewer(TableViewer viewer) {
-		viewer.setUseHashlookup(true);
-		FileLabelProvider innerLabelProvider= new FileLabelProvider(this, fCurrentSortOrder);
-		viewer.setLabelProvider(new DecoratingLabelProvider(innerLabelProvider, PlatformUI.getWorkbench().getDecoratorManager().getLabelDecorator()));
-		viewer.setContentProvider(new SearchResultTableContentProvider(this));
-		viewer.setSorter(new DecoratorIgnoringViewerSorter(innerLabelProvider));
-		fContentProvider= (IFileSearchContentProvider) viewer.getContentProvider();
-		addDragAdapters(viewer);
-	}
-
-	protected void configureTreeViewer(TreeViewer viewer) {
-		viewer.setUseHashlookup(true);
-		FileLabelProvider innerLabelProvider= new FileLabelProvider(this, FileLabelProvider.SHOW_LABEL);
-		viewer.setLabelProvider(new DecoratingLabelProvider(innerLabelProvider, PlatformUI.getWorkbench().getDecoratorManager().getLabelDecorator()));
-		viewer.setContentProvider(new SearchResultTreeContentProvider(viewer));
-		viewer.setSorter(new DecoratorIgnoringViewerSorter(innerLabelProvider));
-		fContentProvider= (IFileSearchContentProvider) viewer.getContentProvider();
-		addDragAdapters(viewer);
-	}
-
-	protected void showMatch(Match match, int offset, int length, boolean activate) throws PartInitException {
-		IFile file= (IFile) match.getElement();
-		IWorkbenchPage wbPage= UIPlugin.getActivePage();
-		IEditorPart editor= IDE.openEditor(wbPage, (IFile) match.getElement(), activate);
-		if (offset != 0 && length != 0) {
-			if (editor instanceof ITextEditor) {
-				ITextEditor textEditor= (ITextEditor) editor;
-				textEditor.selectAndReveal(offset, length);
-			} else if (editor != null) {
-				showWithMarker(editor, file, offset, length);
-			}
-		}
-	}
-	
-	private void showWithMarker(IEditorPart editor, IFile file, int offset, int length) throws PartInitException {
-		IMarker marker= null;
-		try {
-			marker= file.createMarker(NewSearchUI.SEARCH_MARKER);
-			HashMap attributes= new HashMap(4);
-			attributes.put(IMarker.CHAR_START, new Integer(offset));
-			attributes.put(IMarker.CHAR_END, new Integer(offset + length));
-			marker.setAttributes(attributes);
-			IDE.gotoMarker(editor, marker);
-		} catch (CoreException e) {
-			throw new PartInitException(SearchMessages.FileSearchPage_error_marker, e); 
-		} finally {
-			if (marker != null)
-				try {
-					marker.delete();
-				} catch (CoreException e) {
-					// ignore
-				}
-		}
-	}
-
-	protected void fillContextMenu(IMenuManager mgr) {
-		super.fillContextMenu(mgr);
-		addSortActions(mgr);
-		fActionGroup.setContext(new ActionContext(getSite().getSelectionProvider().getSelection()));
-		fActionGroup.fillContextMenu(mgr);
-//		FileSearchQuery query= (FileSearchQuery) getInput().getQuery();
-
-	}
-	
-	
-	private void addSortActions(IMenuManager mgr) {
-		if (getLayout() != FLAG_LAYOUT_FLAT)
-			return;
-		MenuManager sortMenu= new MenuManager(SearchMessages.FileSearchPage_sort_by_label); 
-		sortMenu.add(fSortByNameAction);
-		sortMenu.add(fSortByPathAction);
-		
-		fSortByNameAction.setChecked(fCurrentSortOrder == fSortByNameAction.getSortOrder());
-		fSortByPathAction.setChecked(fCurrentSortOrder == fSortByPathAction.getSortOrder());
-		
-		mgr.appendToGroup(IContextMenuConstants.GROUP_VIEWER_SETUP, sortMenu);
-	}
-
-	public void setViewPart(ISearchResultViewPart part) {
-		super.setViewPart(part);
-		fActionGroup= new NewTextSearchActionGroup(part);
-	}
-	
-	public void dispose() {
-		fActionGroup.dispose();
-		SearchPlugin.getDefault().getPreferenceStore().removePropertyChangeListener(fPropertyChangeListener);
-		super.dispose();
-	}
-
-	protected void elementsChanged(Object[] objects) {
-		if (fContentProvider != null)
-			fContentProvider.elementsChanged(objects);
-	}
-
-	protected void clear() {
-		if (fContentProvider != null)
-			fContentProvider.clear();
-	}
-
-	public void setSortOrder(int sortOrder) {
-		fCurrentSortOrder= sortOrder;
-		DecoratingLabelProvider lpWrapper= (DecoratingLabelProvider) getViewer().getLabelProvider();
-		((FileLabelProvider) lpWrapper.getLabelProvider()).setOrder(sortOrder);
-		getViewer().refresh();
-		getSettings().put(KEY_SORTING, fCurrentSortOrder);
-	}
-	
-	public void restoreState(IMemento memento) {
-		super.restoreState(memento);
-		try {
-			fCurrentSortOrder= getSettings().getInt(KEY_SORTING);
-		} catch (NumberFormatException e) {
-			//fCurrentSortOrder= fSortByNameAction.getSortOrder();
-		}
-		if (memento != null) {
-			Integer value= memento.getInteger(KEY_SORTING);
-			if (value != null)
-				fCurrentSortOrder= value.intValue();
-		}
-	}
-	public void saveState(IMemento memento) {
-		super.saveState(memento);
-		memento.putInteger(KEY_SORTING, fCurrentSortOrder);
-	}
-	
-	public Object getAdapter(Class adapter) {
-		if (IShowInTargetList.class.equals(adapter)) {
-			return SHOW_IN_TARGET_LIST;
-		}
-		return null;
-	}
-	
-	public String getLabel() {
-		String label= super.getLabel();
-		StructuredViewer viewer= getViewer();
-		if (viewer instanceof TableViewer) {
-			TableViewer tv= (TableViewer) viewer;
-
-			AbstractTextSearchResult result= getInput();
-			if (result != null) {
-				int itemCount= ((IStructuredContentProvider) tv.getContentProvider()).getElements(getInput()).length;
-				int fileCount= getInput().getElements().length;
-				if (itemCount < fileCount) {
-					String format= SearchMessages.FileSearchPage_limited_format; 
-					return MessageFormat.format(format, new Object[]{label, new Integer(itemCount), new Integer(fileCount)});
-				}
-			}
-		}
-		return label;
-	}
-	
-	class NewTextSearchActionGroup extends ActionGroup {
-
-		private ISelectionProvider fSelectionProvider;		
-		private IWorkbenchPage fPage;
-		private OpenFileAction fOpenAction;
-		private PropertyDialogAction fOpenPropertiesDialog;
-
-		public NewTextSearchActionGroup(IViewPart part) {
-			Assert.isNotNull(part);
-			IWorkbenchPartSite site= part.getSite();
-			fSelectionProvider= site.getSelectionProvider();
-			fPage= site.getPage();
-			fOpenPropertiesDialog= new PropertyDialogAction(site, fSelectionProvider);
-			fOpenAction= new OpenFileAction(fPage);
-			ISelection selection= fSelectionProvider.getSelection();
-
-			if (selection instanceof IStructuredSelection)
-				fOpenPropertiesDialog.selectionChanged((IStructuredSelection)selection);
-			else
-				fOpenPropertiesDialog.selectionChanged(selection);
-			
-		}
-		
-		public void fillContextMenu(IMenuManager menu) {
-			// view must exist if we create a context menu for it.
-			
-			ISelection selection= getContext().getSelection();
-			if (selection instanceof IStructuredSelection) {
-				addOpenWithMenu(menu, (IStructuredSelection) selection);
-				if (fOpenPropertiesDialog != null && fOpenPropertiesDialog.isEnabled() && selection != null &&fOpenPropertiesDialog.isApplicableForSelection((IStructuredSelection) selection))
-					menu.appendToGroup(IContextMenuConstants.GROUP_PROPERTIES, fOpenPropertiesDialog);
-			}
-				
-		}
-		
-		private void addOpenWithMenu(IMenuManager menu, IStructuredSelection selection) {
-			if (selection == null || selection.size() != 1)
-				return;
-		
-			Object o= selection.getFirstElement();
-		
-			if (!(o instanceof IAdaptable))
-				return; 
-		
-			fOpenAction.selectionChanged(selection);
-			menu.appendToGroup(IContextMenuConstants.GROUP_OPEN, fOpenAction);
-		
-			// Create menu
-			IMenuManager submenu= new MenuManager(SearchMessages.OpenWithMenu_label); 
-			submenu.add(new OpenWithMenu(fPage, (IAdaptable)o));
-		
-			// Add the submenu.
-			menu.appendToGroup(IContextMenuConstants.GROUP_OPEN, submenu);
-		}
-
-		/* (non-Javadoc)
-		 * Method declared in ActionGroup
-		 */
-		public void fillActionBars(IActionBars actionBar) {
-			super.fillActionBars(actionBar);
-			setGlobalActionHandlers(actionBar);
-		}
-		
-		private void setGlobalActionHandlers(IActionBars actionBars) {
-			actionBars.setGlobalActionHandler(ActionFactory.PROPERTIES.getId(), fOpenPropertiesDialog);		
-		}
-	}	
-
-
-}
-
diff --git a/plugins/org.eclipse.wst.common.ui/src-search/org/eclipse/wst/common/ui/internal/search/SearchResultTableContentProvider.java b/plugins/org.eclipse.wst.common.ui/src-search/org/eclipse/wst/common/ui/internal/search/SearchResultTableContentProvider.java
deleted file mode 100644
index 981b3b5..0000000
--- a/plugins/org.eclipse.wst.common.ui/src-search/org/eclipse/wst/common/ui/internal/search/SearchResultTableContentProvider.java
+++ /dev/null
@@ -1,78 +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
- *******************************************************************************/
-package org.eclipse.wst.common.ui.internal.search;
-
-import org.eclipse.jface.viewers.IStructuredContentProvider;
-import org.eclipse.jface.viewers.TableViewer;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.search.internal.ui.SearchPreferencePage;
-import org.eclipse.search.internal.ui.text.IFileSearchContentProvider;
-import org.eclipse.search.ui.text.AbstractTextSearchResult;
-
-public class SearchResultTableContentProvider implements IStructuredContentProvider, IFileSearchContentProvider {
-	
-	private final Object[] EMPTY_ARR= new Object[0];
-	
-	private SearchResultPage fPage;
-	private AbstractTextSearchResult fResult;
-
-	public SearchResultTableContentProvider(SearchResultPage page) {
-		fPage= page;
-	}
-	
-	public void dispose() {
-		// nothing to do
-	}
-	
-	public Object[] getElements(Object inputElement) {
-		if (inputElement instanceof SearchResult) {
-			Object[] elements= ((SearchResult)inputElement).getElements();
-			int tableLimit= SearchPreferencePage.getTableLimit();
-			if (SearchPreferencePage.isTableLimited() && elements.length > tableLimit) {
-				Object[] shownElements= new Object[tableLimit];
-				System.arraycopy(elements, 0, shownElements, 0, tableLimit);
-				return shownElements;
-			}
-			return elements;
-		}
-		return EMPTY_ARR;
-	}
-	
-	public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
-		if (newInput instanceof SearchResult) {
-			fResult= (SearchResult) newInput;
-		}
-	}
-	
-	public void elementsChanged(Object[] updatedElements) {
-		TableViewer viewer= getViewer();
-		boolean tableLimited= SearchPreferencePage.isTableLimited();
-		for (int i= 0; i < updatedElements.length; i++) {
-			if (fResult.getMatchCount(updatedElements[i]) > 0) {
-				if (viewer.testFindItem(updatedElements[i]) != null)
-					viewer.update(updatedElements[i], null);
-				else {
-					if (!tableLimited || viewer.getTable().getItemCount() < SearchPreferencePage.getTableLimit())
-						viewer.add(updatedElements[i]);
-				}
-			} else
-				viewer.remove(updatedElements[i]);
-		}
-	}
-
-	private TableViewer getViewer() {
-		return (TableViewer) fPage.getViewer();
-	}
-	
-	public void clear() {
-		getViewer().refresh();
-	}
-}
diff --git a/plugins/org.eclipse.wst.common.ui/src-search/org/eclipse/wst/common/ui/internal/search/SearchResultTreeContentProvider.java b/plugins/org.eclipse.wst.common.ui/src-search/org/eclipse/wst/common/ui/internal/search/SearchResultTreeContentProvider.java
deleted file mode 100644
index a3ca289..0000000
--- a/plugins/org.eclipse.wst.common.ui/src-search/org/eclipse/wst/common/ui/internal/search/SearchResultTreeContentProvider.java
+++ /dev/null
@@ -1,168 +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
- *******************************************************************************/
-package org.eclipse.wst.common.ui.internal.search;
-
-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.jface.viewers.AbstractTreeViewer;
-import org.eclipse.jface.viewers.ITreeContentProvider;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.search.internal.ui.text.IFileSearchContentProvider;
-import org.eclipse.search.ui.text.AbstractTextSearchResult;
-
-
-public class SearchResultTreeContentProvider implements ITreeContentProvider, IFileSearchContentProvider {
-
-	private final Object[] EMPTY_ARR= new Object[0];
-
-	private AbstractTextSearchResult fResult;
-	private AbstractTreeViewer fTreeViewer;
-	private Map fChildrenMap;
-	
-	SearchResultTreeContentProvider(AbstractTreeViewer viewer) {
-		fTreeViewer= viewer;
-	}
-	
-	public Object[] getElements(Object inputElement) {
-		return getChildren(inputElement);
-	}
-	
-	public void dispose() {
-		// nothing to do
-	}
-	
-	public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
-		if (newInput instanceof SearchResult) {
-			initialize((SearchResult) newInput);
-		}
-	}
-	
-
-	protected synchronized void initialize(AbstractTextSearchResult result) {
-		fResult= result;
-		fChildrenMap= new HashMap();
-		if (result != null) {
-			Object[] elements= result.getElements();
-			for (int i= 0; i < elements.length; i++) {
-				insert(elements[i], false);
-			}
-		}
-	}
-
-	protected void insert(Object child, boolean refreshViewer) {
-		Object parent= getParent(child);
-		while (parent != null) {
-			if (insertChild(parent, child)) {
-				if (refreshViewer)
-					fTreeViewer.add(parent, child);
-			} else {
-				if (refreshViewer)
-					fTreeViewer.refresh(parent);
-				return;
-			}
-			child= parent;
-			parent= getParent(child);
-		}
-		if (insertChild(fResult, child)) {
-			if (refreshViewer)
-				fTreeViewer.add(fResult, child);
-		}
-	}
-
-	/**
-	 * returns true if the child already was a child of parent.
-	 * 
-	 * @param parent
-	 * @param child
-	 * @return Returns <code>trye</code> if the child was added
-	 */
-	private boolean insertChild(Object parent, Object child) {
-		Set children= (Set) fChildrenMap.get(parent);
-		if (children == null) {
-			children= new HashSet();
-			fChildrenMap.put(parent, children);
-		}
-		return children.add(child);
-	}
-
-	protected void remove(Object element, boolean refreshViewer) {
-		// precondition here:  fResult.getMatchCount(child) <= 0
-	
-		if (hasChildren(element)) {
-			if (refreshViewer)
-				fTreeViewer.refresh(element);
-		} else {
-			if (fResult.getMatchCount(element) == 0) {
-				fChildrenMap.remove(element);
-				Object parent= getParent(element);
-				if (parent != null) {
-					removeFromSiblings(element, parent);
-					remove(parent, refreshViewer);
-				} else {
-					removeFromSiblings(element, fResult);
-					if (refreshViewer)
-						fTreeViewer.refresh();
-				}
-			} else {
-				if (refreshViewer) {
-					fTreeViewer.refresh(element);
-				}
-			}
-		}
-	}
-
-	private void removeFromSiblings(Object element, Object parent) {
-		Set siblings= (Set) fChildrenMap.get(parent);
-		if (siblings != null) {
-			siblings.remove(element);
-		}
-	}
-
-	public Object[] getChildren(Object parentElement) {
-		Set children= (Set) fChildrenMap.get(parentElement);
-		if (children == null)
-			return EMPTY_ARR;
-		return children.toArray();
-	}
-
-	public boolean hasChildren(Object element) {
-		return getChildren(element).length > 0;
-	}
-
-	public synchronized void elementsChanged(Object[] updatedElements) {
-		for (int i= 0; i < updatedElements.length; i++) {
-			if (fResult.getMatchCount(updatedElements[i]) > 0)
-				insert(updatedElements[i], true);
-			else
-				remove(updatedElements[i], true);
-		}
-	}
-
-	public void clear() {
-		initialize(fResult);
-		fTreeViewer.refresh();
-	}
-
-	public Object getParent(Object element) {
-		if (element instanceof IProject)
-			return null;
-		if (element instanceof IResource) {
-			IResource resource = (IResource) element;
-			return resource.getParent();
-		}
-		return null;
-	}
-}
diff --git a/plugins/org.eclipse.wst.common.ui/src-search/org/eclipse/wst/common/ui/internal/search/dialogs/ComponentSearchListDialog.java b/plugins/org.eclipse.wst.common.ui/src-search/org/eclipse/wst/common/ui/internal/search/dialogs/ComponentSearchListDialog.java
deleted file mode 100644
index 6f1b67d..0000000
--- a/plugins/org.eclipse.wst.common.ui/src-search/org/eclipse/wst/common/ui/internal/search/dialogs/ComponentSearchListDialog.java
+++ /dev/null
@@ -1,640 +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.common.ui.internal.search.dialogs;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Vector;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.jface.action.MenuManager;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.viewers.DoubleClickEvent;
-import org.eclipse.jface.viewers.IDoubleClickListener;
-import org.eclipse.jface.viewers.ILabelProvider;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.ITreeContentProvider;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.jface.viewers.TableViewer;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.jface.viewers.ViewerSorter;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.CLabel;
-import org.eclipse.swt.custom.ViewForm;
-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.Control;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Table;
-import org.eclipse.swt.widgets.TableItem;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.swt.widgets.ToolBar;
-import org.eclipse.swt.widgets.ToolItem;
-import org.eclipse.wst.common.core.search.scope.SearchScope;
-import org.eclipse.wst.common.ui.internal.UIPlugin;
-
-
-public class ComponentSearchListDialog extends Dialog {
-    private Display display = Display.getCurrent();
-    private String dialogTitle;
-
-    protected ComponentSearchListDialogConfiguration configuration;
-    private List componentTableViewerInput;
-    private List masterComponentList;
-    
-    // widgets
-    protected Composite topComposite;
-    protected Composite bottomComposite; 
-    private Text textFilter;
-    protected TableViewer componentTableViewer;
-    
-    protected String fileLocationLabel = UIPlugin.getString("_UI_LABEL_DECLARATION_LOCATION");
-    protected ViewForm fileLocationView;    
-    protected CLabel locationLabel;
-
-    // keep track of the item previously selected in the table
-	private TableItem prevItem;
-	private String prevItemText;
-
-	protected Object componentSelection;
-    protected Object qualifierTextSelection;
-    
-	protected ToolBar filterToolBar;
-	protected ToolItem toolItem;
-	protected MenuManager fMenuManager;
-	
-	protected HashMap TableDecoratorTrackingTool = new HashMap();  
-    private Button newButton;
- 
-
-	public ComponentSearchListDialog(Shell shell, String dialogTitle, ComponentSearchListDialogConfiguration configuration) {
-        super(shell);
-        setShellStyle(getShellStyle() | SWT.RESIZE);
-        this.dialogTitle = dialogTitle;
-        this.configuration = configuration;
-        componentTableViewerInput = new ArrayList();
-        masterComponentList = new ArrayList();
-        configuration.init(this);
-    }
-    
-	public void create() {
-        super.create();
-        getButton(IDialogConstants.OK_ID).setEnabled(false);
-        setTextFilterFocus();
-    }
-    
-    protected void setTextFilterFocus() {
-        textFilter.setFocus();        
-    }
-
-    protected Control createDialogArea(Composite parent) {
-        getShell().setText(dialogTitle);
-
-        Composite mainComposite = (Composite) super.createDialogArea(parent);
-        GridData gData = (GridData) mainComposite.getLayoutData();
-        gData.heightHint = 500;
-        gData.widthHint = 400;
-        
-        configuration.createWidgetAboveQualifierBox(mainComposite);        
-        // Subclasses may use this Composite to add desired widgets
-        //topComposite = new Composite(mainComposite, SWT.NONE);
-        //topComposite.setLayoutData(new GridData());
-        //topComposite.setLayout(new GridLayout());
-
-        // do we need to introduce a method here to contain this
-        // so we can add different parent other than 'topComposite'
-        Composite filterLabelAndText = new Composite(mainComposite, SWT.NONE);
-        GridLayout layoutFilterLabelAndText = new GridLayout(2, false);
-        layoutFilterLabelAndText.marginWidth = 0;
-        layoutFilterLabelAndText.marginHeight = 0;
-        filterLabelAndText.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-        filterLabelAndText.setLayout(layoutFilterLabelAndText);
-
-        // Create Text textFilter
-        
-        Label filterLabel = new Label(filterLabelAndText, SWT.NONE);
-        filterLabel.setText(configuration.getFilterLabelText());// + "(? = any character, * = any string):");
-        GridData filterLabelData = new GridData();
-        filterLabelData.horizontalSpan = 2;
-        filterLabel.setLayoutData(filterLabelData);
-
-        textFilter = new Text(filterLabelAndText, SWT.SINGLE | SWT.BORDER);
-        textFilter.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));        
-        textFilter.addModifyListener(new TextFilterModifyAdapter());
-        GridData textFilterData = new GridData();
-        textFilterData.horizontalAlignment = GridData.FILL;
-        textFilterData.grabExcessHorizontalSpace = true;
-        textFilter.setLayoutData(textFilterData);
-        
-        final INewComponentHandler handler = configuration.getNewComponentHandler();
-        if (handler != null)
-        {  
-           newButton = new Button(filterLabelAndText, SWT.NONE);
-           newButton.setText(UIPlugin.getString("_UI_LABEL_New"));  
-           newButton.addSelectionListener(new SelectionListener()
-           {
-
-            public void widgetDefaultSelected(SelectionEvent e)
-            {
-              handler.openNewComponentDialog();              
-            }
-
-            public void widgetSelected(SelectionEvent e)
-            {
-              handler.openNewComponentDialog();
-            }             
-           });                   
-        }
-        
-        // Create Component TableViewer
-        createComponentTableViewer(mainComposite);
-
-        configuration.createWidgetAboveQualifierBox(mainComposite);
-        
-        // Create Qualifier List widget
-        Label qualifierLabel = new Label(mainComposite, SWT.NONE);
-        qualifierLabel.setText(UIPlugin.getString("_UI_LABEL_QUALIFIER"));
-		qualifierLabel.setText(fileLocationLabel);
-
-        fileLocationView = new ViewForm(mainComposite, SWT.BORDER | SWT.FLAT );
-        GridData data = new GridData();
-        data.horizontalAlignment = GridData.FILL;
-        data.grabExcessHorizontalSpace = true;
-        data.heightHint = 22;
-        fileLocationView.setLayoutData(data);
-        
-    	locationLabel = new CLabel(fileLocationView, SWT.FLAT);
-        fileLocationView.setContent(locationLabel);
-    	locationLabel.setFont(fileLocationView.getFont());
-
-        configuration.createWidgetBelowQualifierBox(mainComposite);
-        
-        bottomComposite = new Composite(mainComposite, SWT.NONE);
-        bottomComposite.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-        bottomComposite.setLayout(new GridLayout());
-
-        // Populate the Component TableViewer via the provider
-        // TODO: Is this the right way to set/get the ContentProvider?
-        componentTableViewer.setContentProvider(new ComponentTableContentProvider());
-        componentTableViewer.setLabelProvider(configuration.getDescriptionProvider().getLabelProvider());
-        componentTableViewer.setSorter(new ViewerSorter());
-        componentTableViewer.setInput(componentTableViewerInput);
-        
-        
-        // TODO (cs) need to do some work to make the default search scope
-        // more well defined, currently the default behaviour is to pass a null
-        // argument in to populateMasterComponentList but we should provide
-        // getters/setters to allow the default to be controlled
-        populateMasterComponentList(null);
-        refreshTableViewer("");
-
-        return mainComposite;
-    }
-    
-    /*
-     * Creates the Component TableViewer.
-     */
-    private void createComponentTableViewer(Composite base) {
-        componentTableViewer = createFilterMenuAndTableViewer(base);    
-        
-        componentTableViewer.addSelectionChangedListener(new ISelectionChangedListener() {
-            public void selectionChanged(SelectionChangedEvent event) {
-                //IStructuredSelection structuredSelection = (IStructuredSelection) event.getSelection();
-                //List qualifiers = searchListProvider.getQualifiers(structuredSelection.getFirstElement());
-                //updateQualifierList(qualifiers);
-                updateCanFinish();
-            }
-        });
-        
-        componentTableViewer.getTable().addSelectionListener(new SelectionListener(){
-        	// Changing the text for the component selected and display its source
-        	// file in the box under the table viewer
-          
-        	IComponentDescriptionProvider descriptionProvider = configuration.getDescriptionProvider();        	
-			public void widgetSelected(SelectionEvent e) {				
-				run();
-			}
-
-			public void widgetDefaultSelected(SelectionEvent e) {
-        // bug 144548 - unnecessary
-        // run();
-			}
-
-			private void run() {
-				// restores the text of previous item
-				if (prevItem != null && !prevItem.isDisposed()){
-					prevItem.setText(prevItemText);
-				}
-				TableItem[] items = componentTableViewer.getTable().getSelection();
-				Object component = items[0].getData();
-
-				prevItem = items[0];
-				prevItemText = items[0].getText();
-
-				// add clarification for the first selected item
-				items[0].setText(  descriptionProvider.getName(component) + " - " + 
-    					descriptionProvider.getQualifier(component));
-
-				updateLocationView(component, descriptionProvider);
-			}
-        });
-        
-        componentTableViewer.addDoubleClickListener(new IDoubleClickListener() {
-
-			public void doubleClick(DoubleClickEvent event) {
-				okPressed();
-			}
-        	
-        });
-    }
-    
-    protected TableViewer createFilterMenuAndTableViewer(Composite comp) {
-    	Composite labelAndFilter = new Composite(comp, SWT.NONE);
-    	labelAndFilter.setLayoutData(new GridData(GridData.FILL_BOTH));
-		GridLayout layout= new GridLayout();
-		layout.numColumns= 2;
-		layout.marginWidth= 0; layout.marginHeight= 0;
-    	labelAndFilter.setLayout(layout);
-    	
-        Label tableLabel = new Label(labelAndFilter, SWT.NONE);
-        tableLabel.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-        tableLabel.setText(configuration.getListLabelText());
-        
-        filterToolBar = new ToolBar(labelAndFilter,SWT.FLAT);
-        configuration.createToolBarItems(filterToolBar);
-
-        TableViewer tableViewer = new TableViewer(new Table(labelAndFilter, SWT.SINGLE | SWT.BORDER));
-        Control TableWidget = tableViewer.getTable();
-        GridData gd = new GridData(GridData.FILL_BOTH);
-        gd.horizontalSpan = 2;
-        TableWidget.setLayoutData(gd);
-
-        return tableViewer;
-    }
-    
-    private void updateLocationView(Object component, IComponentDescriptionProvider lp) {
-    	IFile file = lp.getFile(component);
-    	
-    	if ( file == null ){
-    		locationLabel.setText("");
-    		locationLabel.setImage(null);
-    		return;
-    	}
-    	String filePath = "";
-    	filePath = file.getFullPath().toString();
-        //locationView.redraw();
-        
-        locationLabel.setText(filePath);
-        locationLabel.setImage(lp.getFileIcon(component));
-    }
-    
-    
-    /*
-     * Returns the processed filter text for the Text field.  Inserts a "."
-     * before each supported meta-character.
-     */
-    protected String getProcessedFilterString() {
-        return processFilterString(textFilter.getText());
-    }
-
-    /*
-     * If supported metacharacters are used in the filter string, we need to
-     * insert a "." before each metacharacter.
-     */
-    private String processFilterString(String inputString) {
-        if (!(inputString.equals(""))) {
-            inputString = insertString("*", ".", inputString);
-            inputString = insertString("?", ".", inputString);
-            inputString = inputString + ".*";
-        } else {
-            inputString = ".*";
-        }
-
-        return inputString.toLowerCase();
-    }
-    
-    /*
-     * Helper method to insert a "." before each metacharacter in the
-     * search/filter string.
-     */
-    private String insertString(String target, String newString, String string) {
-        StringBuffer stringBuffer = new StringBuffer(string);
-
-        int index = stringBuffer.indexOf(target);
-        while (index != -1) {
-            stringBuffer = stringBuffer.insert(index, newString);
-            index = stringBuffer.indexOf(target, index + newString.length() + target.length());
-        }
-
-        return stringBuffer.toString();
-    }
-    
-
-
-    /*
-     * Listens to changes made in the text filter widget
-     */
-    private class TextFilterModifyAdapter implements ModifyListener {
-        public void modifyText(ModifyEvent e) {
-            if (e.widget == textFilter) {
-                if (delayedEvent != null) {
-                    delayedEvent.CANCEL = true;
-                }
-
-                delayedEvent = new DelayedEvent();
-                Display.getCurrent().timerExec(400, delayedEvent);
-            }
-        }
-    }
-
-    //TODO... do we really need one instance?
-    private DelayedEvent delayedEvent;
-
-    /*
-     * Update the component TableViewer when the text filter is modified.
-     * Use a DelayedEvent so we don't update on every keystroke.
-     */
-    private class DelayedEvent implements Runnable {
-        public boolean CANCEL = false;
-
-        public void run() {
-            if (!CANCEL) {
-                refreshTableViewer(getProcessedFilterString());
-                
-                // Select first match
-                if (componentTableViewer.getTable().getItemCount() > 0) {
-                    TableItem item = componentTableViewer.getTable().getItems()[0];
-                    TableItem items[] = new TableItem[1];
-                    items[0] = item;
-                    componentTableViewer.getTable().setSelection(items);
-                }
-                
-                // Update qualifierList
-                //IStructuredSelection structuredSelection = (IStructuredSelection) componentTableViewer.getSelection();
-                // TODO ... manage qualifiers
-                //List qualifiers = searchListProvider.getQualifiers(structuredSelection.getFirstElement());
-                //updateQualifierList(qualifiers);
-                
-                updateCanFinish();
-            }
-        }
-    }
-
-    class ComponentList implements IComponentList {
-        private Vector objectVector = new Vector();
-        private long currentChangeCounter = 0;
-        private long lastUpdateTime = 0;
-        
-        public void add(Object o) {
-            objectVector.add(o);
-            currentChangeCounter++;
-            doViewerUpdate();
-        }
-        
-        public void addAll(Collection collection)
-        {
-          objectVector.addAll(collection);
-          currentChangeCounter += collection.size();
-          doViewerUpdate();          
-        }
-        
-        private void doViewerUpdate() {
-            // TODO: Investigate if we should also add a timer condition??
-          //  if (currentChangeCounter >= 10) {
-          //      currentChangeCounter = 0;
-          //      fireUpdateList(this);
-          //  }
-          
-          // cs: yep I think we really do need to use a time based approach
-          //          
-          long time = System.currentTimeMillis();
-          if (time - lastUpdateTime > 300)
-          {
-             lastUpdateTime = time;
-             fireUpdateList(ComponentList.this);                              
-          }          
-        }
-
-        public int size() {
-            return objectVector.size();
-        }
-        
-        public List subList(int startIndex, int endIndex) {
-            return objectVector.subList(startIndex, endIndex);
-        }
-        
-        public Iterator iterator() {
-            return objectVector.iterator();
-        }
-    }
-
-    
-    // this method gets called from a non-ui thread so needs to call
-    // asyncExec to ensure the UI updates happen on the UI thread
-    //
-    protected void fireUpdateList(final ComponentList list) {    
-        Runnable runnable = new Runnable() {
-            public void run(){
-                // add new objects
-                int growingListSize = list.size();
-                int currentSize = masterComponentList.size();
-                if (growingListSize > currentSize) {
-                    masterComponentList.addAll(list.subList(currentSize, growingListSize));
-                }
-
-                refreshTableViewer(getProcessedFilterString());
-            }
-        };
-        display.asyncExec(runnable);        
-    }
-
-    
-    public void updateForFilterChange()
-    {
-      populateMasterComponentList(null);
-      refreshTableViewer(getProcessedFilterString());
-    }  
-    
-    /*
-     * Populate the Component TreeViewer with items.
-     */
-    protected void populateMasterComponentList(final SearchScope searchScope) {
-        masterComponentList.clear();
-        
-        final ComponentList componentList = new ComponentList();
-        
-        // TODO (cs) it doesn't seem to make sennse to do any of the work on the UI thread
-        // I've change the behaviour here to do all of the work in the background
-        //
-        //searchListProvider._populateComponentListQuick(componentList, 0);        
-        Job job = new Job("read components") {
-          protected IStatus run(IProgressMonitor monitor) {
-            try {
-              // this stuff gets executed on a non-UI thread
-              //
-              long time1 = System.currentTimeMillis();
-              configuration.getSearchListProvider().populateComponentList(componentList, searchScope, null);              
-              // Do a final update of our Input for the component tree viewer.
-              fireUpdateList(componentList);
-              long time2 = System.currentTimeMillis();
-              System.out.println("time=" + (time2 - time1) + " items= " + masterComponentList.size());
-            }
-            catch (Exception e) {
-            	e.printStackTrace();
-            }
-            return Status.OK_STATUS;
-          }          
-        };
-        job.schedule();
-    }
-    
-    protected void refreshTableViewer(String filterText) {
-        componentTableViewerInput.clear();
-        ILabelProvider labelProvider = configuration.getDescriptionProvider().getLabelProvider();
-        Pattern regex = Pattern.compile(filterText);
-        Iterator it = masterComponentList.iterator();
-        while (it.hasNext()) {
-            Object item = it.next();
-            String itemString = labelProvider.getText(item);           
-            Matcher m = regex.matcher(itemString.toLowerCase());
-            if (itemString.toLowerCase().startsWith(filterText) || m.matches()) {
-                componentTableViewerInput.add(item);
-            }
-        }
-        
-        componentTableViewer.refresh();
-        decorateTable();
-    }
-    
-    /**
-     * Looking at each item in the Table. If there are other items with same name
-     * , then add extra info (namespace, file) into the the text label of all these
-     * duplicated items.
-     * - This should be called everytime the Table viewer is refreshed..
-     */
-    protected void decorateTable(){
-    	TableDecoratorTrackingTool.clear();
-    	
-    	IComponentDescriptionProvider lp = configuration.getDescriptionProvider();
-
-    	// init the name-duplicates counter
-    	for (int i = 0; i < componentTableViewerInput.size(); i++){
-    		Object currentItem = componentTableViewerInput.get(i);
-    		String name = lp.getName(currentItem);
-    		Integer count = (Integer) TableDecoratorTrackingTool.get(name);
-			if ( count == null){
-    			TableDecoratorTrackingTool.put(name, new Integer(1));
-    		}
-    		else{
-    			TableDecoratorTrackingTool.put(
-    					name, new Integer(count.intValue() + 1));
-    		}
-    	}
-
-    	// Modify/decorate those items in the Table that have duplicated name
-    	TableItem[] items = componentTableViewer.getTable().getItems();
-    	for (int i =0 ; i < items.length; i++){
-    		Object currentItem = items[i].getData();
-    		Integer count = (Integer) TableDecoratorTrackingTool.get(lp.getName(currentItem));
-    		if ( count != null && count.intValue() > 1){	
-    			items[i].setText(lp.getName(currentItem) + " - " + 
-    					lp.getQualifier(currentItem));
-    		}
-    	}
-    }
-    
-
-    
-    /*
-     * If there is a selection in the ComponentTreeViewer, enable OK
-     */
-    protected void updateCanFinish() {
-        IStructuredSelection selection = (IStructuredSelection) componentTableViewer.getSelection();
-        if (selection.getFirstElement() != null) {
-            getButton(IDialogConstants.OK_ID).setEnabled(true);
-        }
-        else {
-            getButton(IDialogConstants.OK_ID).setEnabled(false);
-        }
-    }
-    
-    protected void okPressed() {
-        IStructuredSelection selection = (IStructuredSelection) componentTableViewer.getSelection();
-        componentSelection = selection.getFirstElement();
-        
-        super.okPressed();
-    }
-    
-    private class ComponentTableContentProvider implements ITreeContentProvider {
-        public Object[] getChildren(Object parentElement) {
-            if (parentElement instanceof List) {
-                return ((List) parentElement).toArray();
-            }
-            return new Object[0];
-        }
-        
-        public Object[] getElements(Object inputElement) {
-            return getChildren(inputElement);
-        }
-        
-        public Object getParent(Object element) {
-            return null;
-        }
-        
-        public boolean hasChildren(Object element) {
-            if (getChildren(element).length > 0) {
-                return true;
-            }
-            return false;
-        }
-        
-        public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
-        }
-        
-        public void dispose() {
-        }
-    }
-
-
-    public ComponentSpecification getSelectedComponent()
-    {
-      ComponentSpecification result = null;
-      if (componentSelection != null)
-      {  
-        result = new ComponentSpecification();
-        IComponentDescriptionProvider componentDescriptionProvider = configuration.getDescriptionProvider();
-        result.setName(componentDescriptionProvider.getName(componentSelection));
-        result.setQualifier(componentDescriptionProvider.getQualifier(componentSelection));
-        result.setFile(componentDescriptionProvider.getFile(componentSelection));
-        result.setObject(componentSelection);
-      }  
-      return result;
-    }       
-}
diff --git a/plugins/org.eclipse.wst.common.ui/src-search/org/eclipse/wst/common/ui/internal/search/dialogs/ComponentSearchListDialogConfiguration.java b/plugins/org.eclipse.wst.common.ui/src-search/org/eclipse/wst/common/ui/internal/search/dialogs/ComponentSearchListDialogConfiguration.java
deleted file mode 100644
index 32f636c..0000000
--- a/plugins/org.eclipse.wst.common.ui/src-search/org/eclipse/wst/common/ui/internal/search/dialogs/ComponentSearchListDialogConfiguration.java
+++ /dev/null
@@ -1,100 +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.common.ui.internal.search.dialogs;
-
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.ToolBar;
-
-public class ComponentSearchListDialogConfiguration
-{
-  private String filterLabelText = "Name:";
-  private String listLabelText = "Components:";  
-  private IComponentSearchListProvider searchListProvider; 
-  private IComponentDescriptionProvider descriptionProvider;
-  private INewComponentHandler newComponentHandler;
-  private ComponentSearchListDialog dialog;
-
-  public void init(ComponentSearchListDialog dialog)
-  {
-    this.dialog = dialog;
-  }
-
-  public void createWidgetAtTop(Composite parent)
-  {    
-  }    
-  
-  public void createWidgetAboveQualifierBox(Composite parent)
-  {    
-  }
-  
-  public void createWidgetBelowQualifierBox(Composite parent)
-  {    
-  }
-  
-  public void createToolBarItems(ToolBar toolBar)
-  {    
-  }
-
-  public IComponentDescriptionProvider getDescriptionProvider()
-  {
-    return descriptionProvider;
-  }
-
-  public void setDescriptionProvider(IComponentDescriptionProvider descriptionProvider)
-  {
-    this.descriptionProvider = descriptionProvider;
-  }
-
-  public IComponentSearchListProvider getSearchListProvider()
-  {
-    return searchListProvider;
-  }
-
-  public void setSearchListProvider(IComponentSearchListProvider searchListProvider)
-  {
-    this.searchListProvider = searchListProvider;
-  }
-
-  public ComponentSearchListDialog getDialog()
-  {
-    return dialog;
-  }
-
-  public INewComponentHandler getNewComponentHandler()
-  {
-    return newComponentHandler;
-  }
-
-  public void setNewComponentHandler(INewComponentHandler newComponentHandler)
-  {
-    this.newComponentHandler = newComponentHandler;
-  }
-  
-  public String getFilterLabelText()
-  {
-    return filterLabelText;
-  }
-  
-  public String getListLabelText()
-  {
-    return listLabelText;
-  }
-
-  public void setFilterLabelText(String filterLabelText)
-  {
-    this.filterLabelText = filterLabelText;
-  }
-
-  public void setListLabelText(String listLabelText)
-  {
-    this.listLabelText = listLabelText;
-  }  
-}
diff --git a/plugins/org.eclipse.wst.common.ui/src-search/org/eclipse/wst/common/ui/internal/search/dialogs/ComponentSpecification.java b/plugins/org.eclipse.wst.common.ui/src-search/org/eclipse/wst/common/ui/internal/search/dialogs/ComponentSpecification.java
deleted file mode 100644
index b7cabd1..0000000
--- a/plugins/org.eclipse.wst.common.ui/src-search/org/eclipse/wst/common/ui/internal/search/dialogs/ComponentSpecification.java
+++ /dev/null
@@ -1,98 +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.common.ui.internal.search.dialogs;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.wst.common.core.search.pattern.QualifiedName;
-
-// TODO.. use QualifiedName consistently for name and metaName
-//
-public class ComponentSpecification
-{
-  String qualifier;
-  String name;
-  IFile file;
-  Object object;
-  boolean isNew;
-  QualifiedName metaName;
-  
-  public ComponentSpecification()
-  {    
-  }
-  
-  public ComponentSpecification(String qualifier, String name, IFile file)
-  {
-    super();
-    this.qualifier = qualifier;
-    this.name = name;
-    this.file = file;
-  }
-
-  public IFile getFile()
-  {
-    return file;
-  }
-
-  public void setFile(IFile file)
-  {
-    this.file = file;
-  }
-
-  public String getName()
-  {
-    return name;
-  }
-
-  public void setName(String name)
-  {
-    this.name = name;
-  }
-
-  public String getQualifier()
-  {
-    return qualifier;
-  }
-
-  public void setQualifier(String qualifier)
-  {
-    this.qualifier = qualifier;
-  }
-
-  public Object getObject()
-  {
-    return object;
-  }
-
-  public void setObject(Object object)
-  {
-    this.object = object;
-  }
-
-  public boolean isNew()
-  {
-    return isNew;
-  }
-
-  public void setNew(boolean isNew)
-  {
-    this.isNew = isNew;
-  }
-
-  public QualifiedName getMetaName()
-  {
-    return metaName;
-  }
-
-  public void setMetaName(QualifiedName metaName)
-  {
-    this.metaName = metaName;
-  }
-}
diff --git a/plugins/org.eclipse.wst.common.ui/src-search/org/eclipse/wst/common/ui/internal/search/dialogs/IComponentDescriptionProvider.java b/plugins/org.eclipse.wst.common.ui/src-search/org/eclipse/wst/common/ui/internal/search/dialogs/IComponentDescriptionProvider.java
deleted file mode 100644
index 6389ff6..0000000
--- a/plugins/org.eclipse.wst.common.ui/src-search/org/eclipse/wst/common/ui/internal/search/dialogs/IComponentDescriptionProvider.java
+++ /dev/null
@@ -1,30 +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.common.ui.internal.search.dialogs;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.jface.viewers.ILabelProvider;
-import org.eclipse.swt.graphics.Image;
-
-public interface IComponentDescriptionProvider
-{
-  boolean isApplicable(Object component);
-  
-  String getQualifier(Object component);
-
-  String getName(Object component);
-
-  IFile getFile(Object component);
-  
-  Image getFileIcon(Object component);
-
-  ILabelProvider getLabelProvider();
-}
diff --git a/plugins/org.eclipse.wst.common.ui/src-search/org/eclipse/wst/common/ui/internal/search/dialogs/IComponentList.java b/plugins/org.eclipse.wst.common.ui/src-search/org/eclipse/wst/common/ui/internal/search/dialogs/IComponentList.java
deleted file mode 100644
index 0fa248a..0000000
--- a/plugins/org.eclipse.wst.common.ui/src-search/org/eclipse/wst/common/ui/internal/search/dialogs/IComponentList.java
+++ /dev/null
@@ -1,18 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.common.ui.internal.search.dialogs;
-
-import java.util.Iterator;
-
-public interface IComponentList {
-   public void add(Object o);
-   public Iterator iterator();
-}
diff --git a/plugins/org.eclipse.wst.common.ui/src-search/org/eclipse/wst/common/ui/internal/search/dialogs/IComponentSearchListProvider.java b/plugins/org.eclipse.wst.common.ui/src-search/org/eclipse/wst/common/ui/internal/search/dialogs/IComponentSearchListProvider.java
deleted file mode 100644
index 66a79ad..0000000
--- a/plugins/org.eclipse.wst.common.ui/src-search/org/eclipse/wst/common/ui/internal/search/dialogs/IComponentSearchListProvider.java
+++ /dev/null
@@ -1,20 +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.common.ui.internal.search.dialogs;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.wst.common.core.search.scope.SearchScope;
-
-
-public interface IComponentSearchListProvider
-{
-  void populateComponentList(IComponentList list, SearchScope scope, IProgressMonitor pm);
-}
diff --git a/plugins/org.eclipse.wst.common.ui/src-search/org/eclipse/wst/common/ui/internal/search/dialogs/INewComponentHandler.java b/plugins/org.eclipse.wst.common.ui/src-search/org/eclipse/wst/common/ui/internal/search/dialogs/INewComponentHandler.java
deleted file mode 100644
index 7a5093f..0000000
--- a/plugins/org.eclipse.wst.common.ui/src-search/org/eclipse/wst/common/ui/internal/search/dialogs/INewComponentHandler.java
+++ /dev/null
@@ -1,16 +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.common.ui.internal.search.dialogs;
-
-public interface INewComponentHandler
-{
-  void openNewComponentDialog();
-}
diff --git a/plugins/org.eclipse.wst.common.ui/src-search/org/eclipse/wst/common/ui/internal/search/dialogs/ScopedComponentSearchListDialog.java b/plugins/org.eclipse.wst.common.ui/src-search/org/eclipse/wst/common/ui/internal/search/dialogs/ScopedComponentSearchListDialog.java
deleted file mode 100644
index fe565ee..0000000
--- a/plugins/org.eclipse.wst.common.ui/src-search/org/eclipse/wst/common/ui/internal/search/dialogs/ScopedComponentSearchListDialog.java
+++ /dev/null
@@ -1,229 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.common.ui.internal.search.dialogs;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.jface.window.Window;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Group;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Table;
-import org.eclipse.swt.widgets.TableItem;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.IWorkingSet;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.dialogs.IWorkingSetSelectionDialog;
-import org.eclipse.wst.common.core.search.scope.ProjectSearchScope;
-import org.eclipse.wst.common.core.search.scope.SearchScope;
-import org.eclipse.wst.common.core.search.scope.WorkingSetSearchScope;
-import org.eclipse.wst.common.core.search.scope.WorkspaceSearchScope;
-import org.eclipse.wst.common.ui.internal.UIPlugin;
-
-public class ScopedComponentSearchListDialog extends ComponentSearchListDialog
-{
-  protected final static String DEFAULT_NAME_FIELD_TITLE = UIPlugin.getString("_UI_LABEL_COMPONENT_NAME");
-  protected final static String DEFAULT_LIST_TITLE = UIPlugin.getString("_UI_LABEL_MATCHING_COMPONENTS");
-  public static final String SCOPE_SPECIFIED_FILE = UIPlugin.getString("_UI_LABEL_SPECIFIED_FILE");
-  public static final String SCOPE_ENCLOSING_PROJECT = UIPlugin.getString("_UI_LABEL_ENCLOSING_PROJECT");
-  public static final String SCOPE_WORKSPACE = UIPlugin.getString("_UI_LABEL_WORKSPACE");
-  public static final String SCOPE_CURRENT_RESOURCE = UIPlugin.getString("_UI_LABEL_CURRENT_RESOURCE");
-  public static final String SCOPE_WORKING_SETS = UIPlugin.getString("_UI_LABEL_WORKING_SETS");
-  
-  private String currentSearchScope = SCOPE_CURRENT_RESOURCE;
-  protected Button chooseButton;
-  protected Button[] radioButton = new Button[4];
-  protected String filterLabel;
-  protected String listTitle;
-  protected IResource currentResource;
-  protected Composite selectWorkingSetsGroup;
-  protected Text workingSetsText;
-  
-  protected static String valueForWorkingSetsText;
-  
-  // working sets currently chosen by the user
-  private static IWorkingSet[] workingSets;
-
-  public ScopedComponentSearchListDialog(Shell shell, String dialogTitle, ComponentSearchListDialogConfiguration configuration)
-  {
-    super(shell, dialogTitle, configuration);
-  }
-  
-  public void setFilterLabel(String filterLabel)
-  {
-    this.filterLabel = filterLabel;
-  }
-  
-  public void setListTitle(String listTitle)
-  {
-    this.listTitle = listTitle;
-  }  
-
-  protected Control createDialogArea(Composite parent)
-  {
-    //super.setFilterLabel(filterLabel != null ? filterLabel : DEFAULT_NAME_FIELD_TITLE);
-    //setListLabelText(listTitle != null ? listTitle : DEFAULT_LIST_TITLE);
-    super.createDialogArea(parent);
-    // We use the Composite topComposite to create additional widgets
-    GridLayout layout = new GridLayout();
-    layout.marginWidth = 0;
-    bottomComposite.setLayout(layout);
-    Group group = new Group(bottomComposite, SWT.NONE);
-    GridLayout gridLayout = new GridLayout(3, false);
-    // gridLayout.marginWidth = 0;
-    // gridLayout.marginLeft = 2;
-    group.setLayout(gridLayout);
-    group.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-    group.setText(UIPlugin.getString("_UI_LABEL_SEARCH_SCOPE"));
-    ScopeChangeListener scopeChangeListener = new ScopeChangeListener();
-    radioButton[0] = new Button(group, SWT.RADIO);
-    radioButton[0].setText(SCOPE_WORKSPACE);
-    radioButton[1] = new Button(group, SWT.RADIO);
-    radioButton[1].setText(SCOPE_ENCLOSING_PROJECT);
-    radioButton[2] = new Button(group, SWT.RADIO);
-    radioButton[2].setText(SCOPE_CURRENT_RESOURCE);
-    radioButton[3] = new Button(group, SWT.RADIO);
-    radioButton[3].setText(SCOPE_WORKING_SETS);
-    for (int i = 0; i < radioButton.length; i++)
-    {
-      if (radioButton[i].getText().equals(currentSearchScope))
-      {
-        radioButton[i].setSelection(true);
-      }
-      radioButton[i].addSelectionListener(scopeChangeListener);
-    }
-    
-    selectWorkingSetsGroup = new Composite(group, SWT.NONE);
-	GridData gd = new GridData(GridData.FILL_HORIZONTAL);
-    gd.horizontalSpan = 2;
-    selectWorkingSetsGroup.setLayoutData(gd);
-    GridLayout workingSetGroupLayout = new GridLayout(2, false);
-    workingSetGroupLayout.marginWidth = 0;
-    workingSetGroupLayout.marginHeight = 0;
-    selectWorkingSetsGroup.setLayout(workingSetGroupLayout);
-    
-    workingSetsText = new Text(selectWorkingSetsGroup, SWT.BORDER | SWT.READ_ONLY);
-    workingSetsText.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-    if (valueForWorkingSetsText != null )
-    	workingSetsText.setText(valueForWorkingSetsText);
-    
-    chooseButton = new Button(selectWorkingSetsGroup, SWT.NONE);
-    chooseButton.setText(UIPlugin.getString("_UI_LABEL_CHOOSE"));
-    chooseButton.addSelectionListener(new SelectionAdapter() {
-		public void widgetSelected(SelectionEvent e) {
-			Shell shell = getShell();
-			IWorkingSetSelectionDialog dialog = PlatformUI.getWorkbench().getWorkingSetManager().createWorkingSetSelectionDialog(shell, true);
-			if ( dialog.open() == Window.OK){
-				workingSets = dialog.getSelection();
-				valueForWorkingSetsText = "";
-				for (int i = 0; i < workingSets.length; i++){
-					valueForWorkingSetsText += workingSets[i].getLabel();
-					// if not the last item, we add a comma
-					if ( i != workingSets.length - 1) 
-						valueForWorkingSetsText += ", ";
-				}
-				workingSetsText.setText(valueForWorkingSetsText);
-			}
-			// Set working sets radio button enabled, disable other buttons
-			radioButton[2].setSelection(false);
-			radioButton[1].setSelection(false);
-			radioButton[0].setSelection(false);
-			radioButton[3].setSelection(true);
-
-			scopeChangeHandler(radioButton[3]);
-		}
-    });
-
-    return parent;
-  } /*
-     * Returns the selected search scope.
-     */
-
-  public String getSearchScope()
-  {
-    return currentSearchScope;
-  }
-
-private void scopeChangeHandler(Button b) {	  
-	  if ((b.getStyle() & SWT.RADIO) != 0)
-	  {
-		  currentSearchScope = b.getText();
-		  
-		  // TODO (cs) need to do some work to make the default search scope
-		  // more well defined, currently the default behaviour is to pass a null
-		  // argument in to populateMasterComponentList but we should provide
-		  // getters/setters to allow the default to be controlled          
-		  SearchScope scope = null;
-		  if (currentSearchScope == SCOPE_ENCLOSING_PROJECT &&
-				  currentResource != null) { 
-			  scope = new ProjectSearchScope(currentResource.getFullPath());
-		  } 
-		  else if (currentSearchScope == SCOPE_WORKSPACE){
-			  scope = new WorkspaceSearchScope();
-		  }
-		  else if (currentSearchScope == SCOPE_WORKING_SETS){
-			  
-			  // Constructs the working sets scope from the working sets the user
-			  // selected
-			  WorkingSetSearchScope workingSetsScope = new WorkingSetSearchScope();
-			  for (int i = 0; i < workingSets.length; i++){
-				  workingSetsScope.addAWorkingSetToScope(workingSets[i].getElements());
-			  }			  
-			  scope = workingSetsScope;
-		  }
-		  
-		  populateMasterComponentList(scope);
-		  refreshTableViewer(getProcessedFilterString());
-		  // Select the first matching component. Though we should be
-		  // smarter here
-		  // and determine if there was a selection before the scope
-		  // switch (and if
-		  // the component is still available.
-		  Table table = componentTableViewer.getTable();
-		  TableItem items[] = table.getItems();
-		  if (items.length > 0)
-		  {
-			  TableItem select[] = new TableItem[1];
-			  select[0] = items[0];
-			  table.setSelection(select);
-		  }
-		  updateCanFinish();
-	  }
-  }
-
-private class ScopeChangeListener extends SelectionAdapter
-  {
-    public void widgetSelected(SelectionEvent e)
-    {
-      if (e.widget instanceof Button)
-      {
-    	Button b = (Button) e.widget;
-        scopeChangeHandler(b);
-      }
-    }
-  }
-
-  public IResource getCurrentResource()
-  {
-    return currentResource;
-  }
-
-  public void setCurrentResource(IResource currentResource)
-  {
-    this.currentResource = currentResource;
-  }
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.ui/src-search/org/eclipse/wst/common/ui/internal/search/dialogs/Test.java b/plugins/org.eclipse.wst.common.ui/src-search/org/eclipse/wst/common/ui/internal/search/dialogs/Test.java
deleted file mode 100644
index d9883c2..0000000
--- a/plugins/org.eclipse.wst.common.ui/src-search/org/eclipse/wst/common/ui/internal/search/dialogs/Test.java
+++ /dev/null
@@ -1,105 +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.common.ui.internal.search.dialogs;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.viewers.ILabelProvider;
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.actions.ActionDelegate;
-import org.eclipse.wst.common.core.search.scope.SearchScope;
-
-public class Test extends ActionDelegate
-{
-  public void run(IAction action)
-  {
-    try
-    {
-      ComponentSearchListDialogConfiguration configuration = new ComponentSearchListDialogConfiguration();
-      configuration.setListLabelText("List:");
-      configuration.setFilterLabelText("Filter:");
-      configuration.setSearchListProvider(searchListProvider);
-      configuration.setDescriptionProvider(new BaseComponentDescriptionProvider("foo"));
-      Shell shell = Display.getCurrent().getActiveShell();
-      ComponentSearchListDialog dialog = new ComponentSearchListDialog(shell, "test", configuration);
-      dialog.setBlockOnOpen(true);
-      dialog.create();
-      dialog.open();
-    }
-    catch (Exception e)
-    {
-      e.printStackTrace();
-    }
-  }
-  class BaseComponentDescriptionProvider extends LabelProvider implements IComponentDescriptionProvider
-  {
-    String prefix;
-
-    BaseComponentDescriptionProvider(String prefix)
-    {
-      this.prefix = prefix;
-    }
-
-    public IFile getFile(Object component)
-    {
-      return null;
-    }
-
-    public ILabelProvider getLabelProvider()
-    {
-      return this;
-    }
-
-    public String getName(Object component)
-    {
-      String string = (String) component;
-      return string.substring(prefix.length() + 1);
-    }
-
-    public String getQualifier(Object component)
-    {
-      return prefix;
-    }
-
-    public String getText(Object element)
-    {
-      return getName(element);
-    }
-
-    public boolean isApplicable(Object component)
-    {
-      if (component instanceof String)
-      {
-        return ((String) component).startsWith(prefix);
-      }
-      return false;
-    }
-
-	public Image getFileIcon(Object component) {
-		return null;
-	}
-  }
-  
-  IComponentSearchListProvider searchListProvider = new IComponentSearchListProvider()
-  {
-    public void populateComponentList(IComponentList list, SearchScope scope, IProgressMonitor pm)
-    {
-      list.add("foo:" + "Hello!");
-      list.add("foo:" + "Hey!");
-      list.add("foo:" + "How-are-you?");
-      list.add("foo:" + "What-is-that-smell?");
-    }
-  };
-}
diff --git a/plugins/org.eclipse.wst.common.ui/src/org/eclipse/wst/common/ui/internal/UIPlugin.java b/plugins/org.eclipse.wst.common.ui/src/org/eclipse/wst/common/ui/internal/UIPlugin.java
deleted file mode 100644
index fafc278..0000000
--- a/plugins/org.eclipse.wst.common.ui/src/org/eclipse/wst/common/ui/internal/UIPlugin.java
+++ /dev/null
@@ -1,175 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *******************************************************************************/
-package org.eclipse.wst.common.ui.internal;
-
-import java.net.MalformedURLException;
-import java.net.URL;
-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.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.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-import org.osgi.framework.BundleContext;
-
-/**
- * The main plugin class to be used in the desktop.
- */
-public class UIPlugin extends AbstractUIPlugin {
-	//The shared instance.
-	private static UIPlugin plugin;
-	
-	/**
-	 * The constructor.
-	 */
-	public UIPlugin() {
-		super();
-		plugin = this;
-	}
-	
-	/**
-	 * Returns the shared instance.
-	 */
-	public static UIPlugin getDefault() {
-		return plugin;
-	}
-
-	/**
-	 * Returns the workspace instance.
-	 */
-	public static IWorkspace getWorkspace() {
-		return ResourcesPlugin.getWorkspace();
-	}
-
-	/**
-	 * Returns the string from the plugin's resource bundle,
-	 * or 'key' if not found.
-	 */
-	public static String getResourceString(String key) {
-		ResourceBundle aResourceBundle = getDefault().getResourceBundle();
-		try {
-			return (aResourceBundle != null) ? aResourceBundle.getString(key) : key;
-		} catch (MissingResourceException e) {
-			return key;
-		}
-	}
-
-    public static String getString(String key)
-    {
-      return getResourceString(key);     
-    }
-	/**
-	 * This gets the string resource and does one substitution.
-	 */
-	public static String getString(String key, Object s1)
-	{
-	  return MessageFormat.format(getResourceString(key), new Object [] { s1 });
-	}
-
-	/**
-	 * This gets the string resource and does two substitutions.
-	 */
-	public static String getString(String key, Object s1, Object s2)
-	{
-	  return MessageFormat.format(getResourceString(key), new Object [] { s1, s2 });
-	}     
-	
-	/**
-	 * Returns the plugin's resource bundle,
-	 */
-	public ResourceBundle getResourceBundle() {
-		try {
-			return Platform.getResourceBundle(plugin.getBundle());
-		} catch (MissingResourceException x) {
-			log(x);
-		}
-		return null;
-	}
-
-	public ImageDescriptor getImageDescriptor(String name) {
-		try {
-			URL url= new URL(getBundle().getEntry("/"), name);
-			return ImageDescriptor.createFromURL(url);
-		} catch (MalformedURLException e) {
-			return ImageDescriptor.getMissingImageDescriptor();
-		}
-	}
-	
-    public Image getImage(String iconName)
-    {
-      ImageRegistry imageRegistry = getImageRegistry();
-      
-      if (imageRegistry.get(iconName) != null)
-      {
-        return imageRegistry.get(iconName);
-      }
-      else
-      {
-        imageRegistry.put(iconName, ImageDescriptor.createFromFile(getClass(), iconName));
-        return imageRegistry.get(iconName);
-      }
-    }
-    
-    public static String getPluginId() {
-		return getDefault().getBundle().getSymbolicName();
-	}	
-
-	public static void log(IStatus status) {
-		getDefault().getLog().log(status);
-	}
-
-	public static void log(String message, Throwable e) {
-		log(new Status(IStatus.ERROR, getPluginId(), IStatus.ERROR, message, e));
-	}
-	
-	public static void log(String message) {
-		log(new Status(IStatus.ERROR, getPluginId(), IStatus.ERROR, message, null));
-	}
-
-	public static void log(Throwable e) {
-		log(new Status(IStatus.ERROR, getPluginId(), IStatus.ERROR, e.getLocalizedMessage(), e));
-	}
-	/* (non-Javadoc)
-	 * @see org.osgi.framework.BundleActivator#start(org.osgi.framework.BundleContext)
-	 */
-	public void start(BundleContext context) throws Exception {
-		// TODO Auto-generated method stub
-		super.start(context);
-	}
-	/* (non-Javadoc)
-	 * @see org.osgi.framework.BundleActivator#stop(org.osgi.framework.BundleContext)
-	 */
-	public void stop(BundleContext context) throws Exception {
-		// TODO Auto-generated method stub
-		super.stop(context);
-	}
-    
-    public static IWorkbenchPage getActivePage() {
-        return getDefault().internalGetActivePage();
-    }
-    
-    private IWorkbenchPage internalGetActivePage() {
-        IWorkbenchWindow window= getWorkbench().getActiveWorkbenchWindow();
-        if (window == null)
-            return null;
-        return getWorkbench().getActiveWorkbenchWindow().getActivePage();
-    }    
-}
diff --git a/plugins/org.eclipse.wst.common.ui/src/org/eclipse/wst/common/ui/internal/dialogs/SaveDirtyFilesDialog.java b/plugins/org.eclipse.wst.common.ui/src/org/eclipse/wst/common/ui/internal/dialogs/SaveDirtyFilesDialog.java
deleted file mode 100644
index 566bf48..0000000
--- a/plugins/org.eclipse.wst.common.ui/src/org/eclipse/wst/common/ui/internal/dialogs/SaveDirtyFilesDialog.java
+++ /dev/null
@@ -1,157 +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 Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *   IBM - Initial API and implementation
- */
-package org.eclipse.wst.common.ui.internal.dialogs;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-import org.eclipse.jface.viewers.ILabelProvider;
-import org.eclipse.jface.viewers.IStructuredContentProvider;
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.jface.window.Window;
-import org.eclipse.swt.graphics.Image;
-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.IWorkbench;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.dialogs.ListDialog;
-import org.eclipse.wst.common.ui.internal.UIPlugin;
-/**
- * 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 SaveDirtyFilesDialog extends ListDialog
-{
-  public static boolean saveDirtyFiles()
-  {
-    boolean result = true;
-    // TODO (cs) add support for save automatically
-    Shell shell = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell();
-    IEditorPart[] dirtyEditors = getDirtyEditors();
-    if (dirtyEditors.length > 0)
-    {  
-      result = false;
-      SaveDirtyFilesDialog saveDirtyFilesDialog = new SaveDirtyFilesDialog(shell);
-      saveDirtyFilesDialog.setInput(Arrays.asList(dirtyEditors));
-      // Save all open editors.
-      if (saveDirtyFilesDialog.open() == Window.OK)
-      {
-        result = true;        
-        int numDirtyEditors = dirtyEditors.length;
-        for (int i = 0; i < numDirtyEditors; i++)
-        {
-          dirtyEditors[i].doSave(null);
-        }
-      }     
-    }
-    return result;    
-  }
-
-  private static IEditorPart[] getDirtyEditors()
-  {
-    List result = new ArrayList(0);
-    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];
-          result.add(ep);
-        }
-      }
-    }
-    return (IEditorPart[]) result.toArray(new IEditorPart[result.size()]);
-  }
-
-  public SaveDirtyFilesDialog(Shell parent)
-  {
-    super(parent);
-    setTitle(UIPlugin.getResourceString("SaveFilesDialog_save_all_resources"));
-    setAddCancelButton(true);
-    setLabelProvider(createDialogLabelProvider());
-    setMessage(UIPlugin.getResourceString("SaveFilesDialog_must_save"));
-    setContentProvider(new ListContentProvider());
-  }
-
-  protected Control createDialogArea(Composite container)
-  {
-    Composite result = (Composite) super.createDialogArea(container);
-    // TODO... provide preference that supports 'always save'
-    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();
-      }
-    };
-  }
-  
-  /** 
-   * 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.
-   */   
-  private static 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.common.ui/src/org/eclipse/wst/common/ui/internal/dialogs/SelectSingleFileDialog.java b/plugins/org.eclipse.wst.common.ui/src/org/eclipse/wst/common/ui/internal/dialogs/SelectSingleFileDialog.java
deleted file mode 100644
index d4e2f04..0000000
--- a/plugins/org.eclipse.wst.common.ui/src/org/eclipse/wst/common/ui/internal/dialogs/SelectSingleFileDialog.java
+++ /dev/null
@@ -1,115 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *******************************************************************************/
-package  org.eclipse.wst.common.ui.internal.dialogs;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.dialogs.TitleAreaDialog;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.internal.WorkbenchImages;
-import org.eclipse.ui.internal.ide.IDEInternalWorkbenchImages;
-import org.eclipse.wst.common.ui.internal.viewers.SelectSingleFileView;
-
-
-
-public class SelectSingleFileDialog extends TitleAreaDialog
-{            
-  protected SelectSingleFileView selectSingleFileView; 
-  protected Button okButton;
- 
-  public SelectSingleFileDialog(Shell parentShell, IStructuredSelection selection, boolean isFileMandatory) 
-  {
-    super(parentShell);                      
-    if (selection == null)
-    {
-      selection = new StructuredSelection();
-    }
-    selectSingleFileView = new SelectSingleFileView(selection, isFileMandatory)
-    {
-	  public void createFilterControl(Composite composite)
-	  {
-		SelectSingleFileDialog.this.createFilterControl(composite);
-	  }
-    };  
-  }
-
-  protected Control createDialogArea(Composite parent) 
-  {                                                 
-    Composite dialogArea = (Composite)super.createDialogArea(parent);
-    
-    //TODO.. enable context help
-    //WorkbenchHelp.setHelp(dialogArea, B2BGUIContextIds.BTBG_SELECT_SINGLE_FILE_DIALOG);
-
-    Composite composite = new Composite(dialogArea, SWT.NONE);
-    composite.setLayout(new GridLayout());
-    GridData gd = new GridData(GridData.FILL_BOTH);
-    gd.widthHint = 350;
-    gd.heightHint = 350;
-    composite.setLayoutData(gd);   
-            
-    SelectSingleFileView.Listener listener = new SelectSingleFileView.Listener()
-    {                                             
-      public void setControlComplete(boolean isComplete)
-      {                            
-        okButton.setEnabled(isComplete);
-      }
-    };
-    selectSingleFileView.setListener(listener);
-    selectSingleFileView.createControl(composite);
-    return dialogArea;
-  }  
-
-  protected void createButtonsForButtonBar(Composite parent) 
-  {
-    okButton = createButton(parent, IDialogConstants.OK_ID, IDialogConstants.OK_LABEL, true);
-    okButton.setEnabled(false);
-    createButton(parent, IDialogConstants.CANCEL_ID, IDialogConstants.CANCEL_LABEL, false);
-  }  
-       
-  public void create()
-  {
-    super.create();
-    selectSingleFileView.setVisibleHelper(true);   
-	  setTitleImage(WorkbenchImages.getImageDescriptor(IDEInternalWorkbenchImages.IMG_DLGBAN_SAVEAS_DLG).createImage());
-  }
-
-  public void createFilterCombo(Composite composite)
-  {
-  } 
-
-  public IFile getFile()
-  {  
-    return selectSingleFileView.getFile();
-  }   
-
-  public void addFilterExtensions(String[] filterExtensions)
-  { 
-    selectSingleFileView.addFilterExtensions(filterExtensions);
-  }
-
-  public void addFilterExtensions(String[] filterExtensions, IFile [] excludedFiles)
-  {
-    selectSingleFileView.addFilterExtensions(filterExtensions, excludedFiles);
-  }
-  
-  public void createFilterControl(Composite composite)
-  { 
-  }
-}
diff --git a/plugins/org.eclipse.wst.common.ui/src/org/eclipse/wst/common/ui/internal/dnd/DefaultDragAndDropCommand.java b/plugins/org.eclipse.wst.common.ui/src/org/eclipse/wst/common/ui/internal/dnd/DefaultDragAndDropCommand.java
deleted file mode 100644
index 9631e6a..0000000
--- a/plugins/org.eclipse.wst.common.ui/src/org/eclipse/wst/common/ui/internal/dnd/DefaultDragAndDropCommand.java
+++ /dev/null
@@ -1,110 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *******************************************************************************/
-package org.eclipse.wst.common.ui.internal.dnd;
-
-import java.util.ArrayList;
-import java.util.Collection;
-
-import org.eclipse.swt.dnd.DND;
-
-
-abstract public class DefaultDragAndDropCommand implements DragAndDropCommand
-{
-  /**
-   * This keeps track of the owner that is the target of the drag and drop.
-   */
-  protected Object target;
-
-  /**
-   * This keeps track of the location of the drag and drop.
-   */
-  protected float location;
-
-  /**
-   * This keeps track of the lower range of locations in which the effect of this command remains unchanged.
-   */
-  protected float lowerLocationBound;
-
-  /**
-   * This keeps track of the upper range of locations in which the effect of this command remains unchanged.
-   */
-  protected float upperLocationBound;
-
-  /**
-   * This keeps track of the permitted operations.
-   */
-  protected int operations;
-
-  /**
-   * This keeps track of the current operation that will be returned by {@link #getOperation}.
-   */
-  protected int operation;
-
-  /**
-   * This keeps track of the feedback that will be returned by {@link #getFeedback}.
-   */
-  protected int feedback;
-
-  /**
-   * This keeps track of the collection of dragged sources.
-   */
-  protected Collection sources;
-
-  public DefaultDragAndDropCommand(Object target, float location, int operations, int operation, Collection sources)
-  {
-    this.target = target;
-    this.location = location;
-    this.operations = operations;
-    this.operation = operation;
-    this.sources = new ArrayList(sources);
-    if (!canExecute()) 
-    {
-      this.operation = DND.DROP_NONE;
-    }
-    
-  }
-
-  public int getFeedback()
-  {
-    if (isAfter())
-    {
-      return DND.FEEDBACK_INSERT_AFTER;
-    }
-    else 
-    {
-      return DND.FEEDBACK_INSERT_BEFORE;
-    }
-  }    
-
-  public boolean isAfter()
-  {
-    return location > 0.5;
-  }
-
-  public int getOperation()
-  {
-    return operation;
-  }
-
-  public void reinitialize(Object target, float location, int operations, int operation, Collection sources)
-  {
-    this.target = target;
-    this.location = location;
-    this.operations = operations;
-    this.operation = operation;
-    this.sources = new ArrayList(sources);
-    if (!canExecute()) 
-    {
-      this.operation = DND.DROP_NONE;
-    }
-  }    
-}
diff --git a/plugins/org.eclipse.wst.common.ui/src/org/eclipse/wst/common/ui/internal/dnd/DragAndDropCommand.java b/plugins/org.eclipse.wst.common.ui/src/org/eclipse/wst/common/ui/internal/dnd/DragAndDropCommand.java
deleted file mode 100644
index 0ceb414..0000000
--- a/plugins/org.eclipse.wst.common.ui/src/org/eclipse/wst/common/ui/internal/dnd/DragAndDropCommand.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *******************************************************************************/
-package org.eclipse.wst.common.ui.internal.dnd;
-
-import java.util.Collection;
-
-public interface DragAndDropCommand
-{
-  //  public DragAndDropCommand(Object target, float location, int operations, int operation, Collection sources);
-
-  public boolean canExecute();
-
-  public void execute();
-
-  public int getFeedback();
-  
-  public int getOperation();
-
-  public void reinitialize(Object target, float location, int operations, int operation, Collection sources);
-}
diff --git a/plugins/org.eclipse.wst.common.ui/src/org/eclipse/wst/common/ui/internal/dnd/DragAndDropManager.java b/plugins/org.eclipse.wst.common.ui/src/org/eclipse/wst/common/ui/internal/dnd/DragAndDropManager.java
deleted file mode 100644
index 013a5b2..0000000
--- a/plugins/org.eclipse.wst.common.ui/src/org/eclipse/wst/common/ui/internal/dnd/DragAndDropManager.java
+++ /dev/null
@@ -1,19 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *******************************************************************************/
-package org.eclipse.wst.common.ui.internal.dnd;
-
-import java.util.Collection;
-
-public interface DragAndDropManager
-{
-  public DragAndDropCommand createCommand(Object target, float location, int operations, int operation, Collection source);
-}
diff --git a/plugins/org.eclipse.wst.common.ui/src/org/eclipse/wst/common/ui/internal/dnd/ObjectTransfer.java b/plugins/org.eclipse.wst.common.ui/src/org/eclipse/wst/common/ui/internal/dnd/ObjectTransfer.java
deleted file mode 100644
index 684eafa..0000000
--- a/plugins/org.eclipse.wst.common.ui/src/org/eclipse/wst/common/ui/internal/dnd/ObjectTransfer.java
+++ /dev/null
@@ -1,117 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *******************************************************************************/
-package org.eclipse.wst.common.ui.internal.dnd;
-
-
-import org.eclipse.swt.dnd.ByteArrayTransfer;
-import org.eclipse.swt.dnd.TransferData;
-
-
-/**
- * This derived implementation of a byte array transfer short circuits the transfer process
- * so that a local transfer does not serialize the object
- * and hence can and will return the original object, not just a clone.
- * You only really need ever know about {@link #getInstance ObjectTransfer.getInstance()},
- * so that you can include it in when adding drag support to a viewer.
- * See {@link EditingDomainViewerDropAdapter} and {@link ViewerDragAdapter} for more details.
- * <p>
- * As an addded guard, the time is recorded and serialized in javaToNative
- * to that navive to java can ensure that it's returns the value that was really to have been transferred.
- */
-public class ObjectTransfer extends ByteArrayTransfer
-{
-  /**
-   * This is the register transfer type name.
-   */
-  protected static final String TYPE_NAME = "local-transfer-format";
-
-  /**
-   * This is the ID that is registered to the name.
-   */
-  protected static final int TYPE_ID = registerType(TYPE_NAME);
-
-  /**
-   * This is initialized and returned by {@link #getInstance}.
-   */
-  protected static ObjectTransfer instance;
-
-  /**
-   * This returns the one instance of this transfer agent.
-   */
-  public static ObjectTransfer getInstance()
-  {
-    if (instance == null)
-    {
-      instance = new ObjectTransfer();
-    }
-
-    return instance;
-  }
-
-  /**
-   * This records the time at which the transfer data was recorded.
-   */
-  protected long startTime;
-
-  /**
-   * This records the data being transferred.
-   */
-  protected Object object;
-
-  /**
-   * This creates an instance; typically you get one from {@link #getInstance}.
-   */
-  protected ObjectTransfer()
-  {
-  }
-
-  /**
-   * This returns the transfer ids that this agent supports.
-   */
-  protected int[] getTypeIds() 
-  {
-    return new int[] { TYPE_ID };
-  }
-
-  /**
-   * This returns the transfer names that this agent supports.
-   */
-  public String[] getTypeNames() 
-  {
-    return new String[] { TYPE_NAME };
-  }
-
-  /**
-   * This records the object and current time and encodes only the current time into the transfer data.
-   */
-  public void javaToNative(Object object, TransferData transferData) 
-  {
-    startTime = System.currentTimeMillis();
-    this.object = object;
-    if (transferData != null)
-    {
-      super.javaToNative(String.valueOf(startTime).getBytes(), transferData);
-    }
-  }
-
-  /**
-   * This decodes the time of the transfer and returns the recorded the object if the recorded time and the decoded time match.
-   */
-  public Object nativeToJava(TransferData transferData) 
-  {
-    long startTime  = Long.valueOf(new String((byte[])super.nativeToJava(transferData))).longValue();
-    return
-      this.startTime == startTime ?
-        object :
-        null;
-  }
-}
diff --git a/plugins/org.eclipse.wst.common.ui/src/org/eclipse/wst/common/ui/internal/dnd/ViewerDragAdapter.java b/plugins/org.eclipse.wst.common.ui/src/org/eclipse/wst/common/ui/internal/dnd/ViewerDragAdapter.java
deleted file mode 100644
index d3aa343..0000000
--- a/plugins/org.eclipse.wst.common.ui/src/org/eclipse/wst/common/ui/internal/dnd/ViewerDragAdapter.java
+++ /dev/null
@@ -1,86 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *******************************************************************************/
-package org.eclipse.wst.common.ui.internal.dnd;
-
-
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.swt.dnd.DragSourceEvent;
-import org.eclipse.swt.dnd.DragSourceListener;
-
-
-/**
- * This is an implemention of {@link DragSourceListener}.
- * It allows the selection in effect at the start of the drag and drop interaction to be recorded,
- * which is especially important for a drag and drop interaction within a single view.
- * This is how one of these adapters is typically hooked up:
- * <pre>
- *   viewer.addDragSupport
- *     (DND.DROP_COPY | DND.DROP_MOVE | DND.DROP_LINK, 
- *      new Transfer [] { LocalTransfer.getInstance() },
- *      ViewerDragAdapter(viewer));
- * </pre>
- * Doing so simply allows a drag operation to be initiated from the viewer
- * such that the viewer's selection is transferred to the drop target.
- * See {@link EditingDomainViewerDropAdapter} and {@link LocalTransfer} for more details.
- */
-public class ViewerDragAdapter implements DragSourceListener
-{
-  /**
-   * This keeps track of the viewer to which we are listening.
-   */
-  protected Viewer viewer;
-
-  /**
-   * This keeps track of the selection that is in effect at the start of the drag operation
-   */
-  protected ISelection selection;
-
-  /**
-   * This creates an instance for the given viewer.
-   */
-  public ViewerDragAdapter(Viewer viewer)
-  {
-    super();
-
-    // Remember the viewer and listen to SWT.DragDetect to alert the start of the drag operation.
-    //
-    this.viewer = viewer;
-  }
-
-  /**
-   * This is called when dragging is initiated; it records the {@link #selection} of {@link #viewer}.
-   */
-  public void dragStart(DragSourceEvent event)
-  {
-    selection = viewer.getSelection();
-  }
-
-  /**
-   * This is called when dragging is completed; it forgets the {@link #selection}.
-   */
-  public void dragFinished(DragSourceEvent event)
-  {
-    selection = null;
-  }
-  
-  /**
-   * This is called to transfer the data.
-   */
-  public void dragSetData(DragSourceEvent event)
-  {
-    if (ObjectTransfer.getInstance().isSupportedType(event.dataType))
-    {
-      event.data = selection;
-    }
-  }
-}
diff --git a/plugins/org.eclipse.wst.common.ui/src/org/eclipse/wst/common/ui/internal/dnd/ViewerDropAdapter.java b/plugins/org.eclipse.wst.common.ui/src/org/eclipse/wst/common/ui/internal/dnd/ViewerDropAdapter.java
deleted file mode 100644
index 3bd03f2..0000000
--- a/plugins/org.eclipse.wst.common.ui/src/org/eclipse/wst/common/ui/internal/dnd/ViewerDropAdapter.java
+++ /dev/null
@@ -1,768 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *******************************************************************************/
-package org.eclipse.wst.common.ui.internal.dnd;
-
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.Iterator;
-
-import org.eclipse.jface.viewers.AbstractTreeViewer;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.swt.custom.TableTreeItem;
-import org.eclipse.swt.dnd.DND;
-import org.eclipse.swt.dnd.DropTargetAdapter;
-import org.eclipse.swt.dnd.DropTargetEvent;
-import org.eclipse.swt.dnd.TransferData;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.graphics.Rectangle;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.ScrollBar;
-import org.eclipse.swt.widgets.Table;
-import org.eclipse.swt.widgets.TableItem;
-import org.eclipse.swt.widgets.Tree;
-import org.eclipse.swt.widgets.TreeItem;
-import org.eclipse.swt.widgets.Widget;
-
-
-/**
- * This implementation of a drop target listener 
- * is designed to turn a drag and drop operation into a {@link Command} based on the model objects of an {@link EditingDomain}
- * and created by {@link DragAndDropManager#create}.
- * It is designed to do early data transfer so the the enablement and feedback of the drag and drop interaction
- * can intimately depend on the state of the model objects involed.
- * <p>
- * The base implementation of this class should be sufficient for most applications.
- * Any change in behaviour is typically accomplished by overriding 
- * {@link ItemProviderAdapter}.createDragAndDropCommand
- * to return a derived implementation of {@link DragAndDropCommand}.
- * This is how one these adapters is typically hooked up:
- * <pre>
- *   viewer.addDropSupport
- *     (DND.DROP_COPY | DND.DROP_MOVE | DND.DROP_LINK,
- *      new Transfer [] { ObjectTransfer.getInstance() },
- *      EditingDomainViewerDropAdapter(viewer));
- * </pre>
- * <p>
- * This implementation prefers to use a {@link ObjectTransfer}, 
- * which short-circuits the transfer process for simple transfers within the workbench,
- * the method {@link #getDragSource} can be overriden to change the behaviour.
- * The implementation also only handles an {@link IStructuredSelection},
- * but the method {@link #extractDragSource} can be overriden to change the behaviour.
- * <p>
- * You can call {@link #setHoverThreshold} to set the amount of time, in milliseconds, 
- * to hover over an item before {@link #hover} is called;
- * the default is 1500 milliseconds.
- */
-public class ViewerDropAdapter extends DropTargetAdapter
-{
-  /**
-   * This is the viewer for which this is a drop target listener.
-   */
-  protected Viewer viewer;
-
-  /**
-   * This is the collection of source objects being dragged.
-   */
-  protected Collection source;
-
-  /**
-   * This is the command created during dragging which provides the feedback and will carry out the action upon completion.
-   */
-  //  protected Command command;
-  protected DragAndDropCommand command;
- 
-  /**
-   * This records the object for which the {@link #command} was created.
-   */
-  protected Object commandTarget;
-
-  /**
-   * The amount of time to hover over a tree item before expanding it
-   */
-  protected int hoverThreshold = 1500;
-
-  /**
-   * The is the time the mouse first started hovering over the current item.
-   */
-  protected long hoverStart = 0;
-
-  /**
-   * This keeps track of the most recent item for the {@link #hoverStart}.
-   */
-  protected Widget previousItem;
-
-  /**
-   * This keeps track of the original operation that was in effect before we set the event.detail in here.
-   */
-  protected int originalOperation;
-
-  /**
-   * This keeps track of the information used to create the current command.
-   */
-  protected DragAndDropCommandInformation dragAndDropCommandInformation;
-
-  protected DragAndDropManager dragAndDropManager;
-
-  /**
-   * This creates and instance of the given domain and viewer.
-   */
-  public ViewerDropAdapter(Viewer viewer, DragAndDropManager dragAndDropManager)
-  {
-    this.viewer = viewer;
-    this.dragAndDropManager = dragAndDropManager;
-  }
-
-  /**
-   * This is called when the mouse first enters or starts dragging in the viewer.
-   */
-  public void dragEnter(DropTargetEvent event)
-  {
-    originalOperation = event.detail;
-    helper(event);
-  }
-
-  /**
-   * This is called when the mouse leaves or stops dragging in the viewer
-   */
-  public void dragLeave(DropTargetEvent event)
-  {
-    // Clean up the command if there is one.
-    //
-    if (command != null)
-    {
-//        command.dispose();
-      command = null;
-      commandTarget = null;
-    }
-
-    // Reset the other values.
-    //
-    previousItem = null;
-    hoverStart = 0;
-    source = null;
-  }
-
-  /**
-   * This is called when the operation has changed in some way, typically because the user changes keyboard modifiers.
-   */
-  public void dragOperationChanged(DropTargetEvent event)
-  {
-    originalOperation = event.detail;
-    helper(event);
-  }
-
-  /**
-   * This is called repeated when the mouse over the viewer.
-   */
-  public void dragOver(DropTargetEvent event) 
-  {
-    helper(event);
-  }
-
-  /**
-   * This is called just as the mouse is released over the viewer to initiate a drop.
-   */
-  public void dropAccept(DropTargetEvent event) 
-  {
-    // There seems to be a bug in SWT that the view may have scrolled.
-    // helper(event);
-  }
-
-  /**
-   * This is called to indate that the drop action should be invoked.
-   */
-  public void drop(DropTargetEvent event)
-  {
-    // There seems to be a bug in SWT that the view may have scrolled.
-    // helper(event);
-    if (dragAndDropCommandInformation != null)
-    {
-      command = dragAndDropCommandInformation.createCommand();
-
-      // Execute the command
-      command.execute();
-
-      // Clean up the state.
-      //
-      command = null;
-      commandTarget = null;
-      previousItem = null;
-      hoverStart = 0;
-      source = null;
-    }
-  }
-
-  /**
-   * This method is called the same way for each of the {@link org.eclipse.swt.dnd.DropTargetListener} methods, except during leave.
-   */
-  protected void helper(DropTargetEvent event)
-  {
-    // Try to get the source if there isn't one.
-    //
-    if (source == null)
-    {
-      source = getDragSource(event);
-    }                   
-    else if (event.currentDataType == null)
-    {
-      setCurrentDataType(event);
-    }
-
-    // If there's still no source, wait until the next time to try again.
-    //
-    if (source == null)
-    {
-      event.detail = DND.DROP_NONE;
-      event.feedback = DND.FEEDBACK_SELECT;
-    }
-    // Otherwise, if we need to scroll...
-    //
-    else if (scrollIfNeeded(event))
-    {
-      // In the case that we scroll, we just do all the work on the next event and only just scroll now.
-      //
-      event.feedback = DND.FEEDBACK_SELECT;
-    }
-    else
-    {
-      // Get the data from the item, if there is one.
-      //
-      Object target = event.item == null ? null : event.item.getData();
-      if (target instanceof TableTreeItem)
-      {
-        target = ((TableTreeItem)target).getData();
-      }
-
-      // Do the logic to determine the hover information.
-      // If we're over a new item from before.
-      //
-      if (event.item != previousItem)
-      {
-        // Remember the item and the time.
-        //
-        previousItem = event.item;
-        hoverStart = event.time;
-      } 
-      else if (target != null)
-      {
-        if (event.time - hoverStart > hoverThreshold)
-        {
-          hover(target);
-
-          // We don't need to hover over this guy again.
-          //
-          hoverStart = Integer.MAX_VALUE;
-        }
-      }
-
-      // Determine if we can create a valid command at the current mouse location.
-      //
-      boolean valid = false;
-
-      // If we don't have a previous cached command...
-      //
-      if (command == null)
-      {
-        // Create the command and test if it is executable.
-        //
-        commandTarget = target;
-        command = dragAndDropManager.createCommand(target, getLocation(event), event.operations, event.detail, source);
-        if (command != null)
-        {
-        	valid = command.canExecute();
-        }
-      }
-      else
-      {
-        int operation = originalOperation != event.detail ? originalOperation : event.detail;
-
-        // Check if the cached command is able to provide drag and drop feedback.
-        //
-        if (target == commandTarget)// && command instanceof DragAndDropFeedback)
-        {
-          float location = getLocation(event);
-
-          dragAndDropCommandInformation = 
-            new DragAndDropCommandInformation(target, location, event.operations, operation, source);
-
-          // If so, revalidate the command.
-          //
-          command.reinitialize(target, location, event.operations, operation, source);
-          if (command != null)
-          {
-          valid = command.canExecute();
-          }
-        }
-        else
-        {
-          // If not, dispose the current command and create a new one.
-          //
-          //          command.dispose();
-          commandTarget = target;
-
-          dragAndDropCommandInformation = 
-            new DragAndDropCommandInformation(target, getLocation(event), event.operations, operation, source);
-
-          // DragAndDropManager.create(domain, target, getLocation(event), event.operations, operation, source);
-          //
-          command = dragAndDropCommandInformation.createCommand();
-
-          if (command != null)
-          {
-          	valid = command.canExecute();
-          }
-        }
-      }
-
-      // If this command can provide detailed drag and drop feedback...
-      //
-      //if (command instanceof DragAndDropCommand)
-      if (command != null)
-      {
-        // Use the feedback for the operation and mouse point from the command.
-        //
-        event.detail = command.getOperation();
-        event.feedback = command.getFeedback();
-      }
-      else if (valid)
-      {
-        // All we can know is to provide selection feedback.
-        //
-        event.feedback = DND.FEEDBACK_SELECT;
-      }
-      else
-      {
-        // There is no executable command, so we'd better nix the whole deal.
-        //
-        event.detail = DND.DROP_NONE;
-        event.feedback = DND.FEEDBACK_SELECT;
-      }
-    }
-  }
-    
-
-  protected void setCurrentDataType(DropTargetEvent event)
-  {                                
-    ObjectTransfer objectTransfer = ObjectTransfer.getInstance();
-    TransferData [] dataTypes = event.dataTypes;
-    for (int i = 0; i < dataTypes.length; ++i)
-    {
-      TransferData transferData = dataTypes[i];
-      // If the local tansfer supports this datatype, switch to that data type
-      //
-      if (objectTransfer.isSupportedType(transferData))
-      {
-        event.currentDataType = transferData;
-      }
-    }
-  }
-
-  /** 
-   * This  attempts to extract the drag source from the event early, i.e., before the drop method.
-   * This implementation tries to use a {@link org.eclipse.wst.common.ui.internal.dnd.ObjectTransfer}.
-   */
-  protected Collection getDragSource(DropTargetEvent event)
-  {
-    // Check whether the current data type can be transfered locally.
-    //
-    ObjectTransfer objectTransfer = ObjectTransfer.getInstance();
-    if (!objectTransfer.isSupportedType(event.currentDataType))
-    {
-      // Iterate over the data types to see if there is a datatype that supports a local transfer.
-      //
-      setCurrentDataType(event);
-      return null;
-    }
-    else
-    {
-      // Transfer the data and extract it.
-      //
-      Object object = objectTransfer.nativeToJava(event.currentDataType);
-      if (object == null)
-      {
-      	return null;
-      }
-      else
-      {
-      	return extractDragSource(object);
-      }
-    }
-  }
-
-  /**
-   * This extracts a collection of dragged source objects from the given object retrieved from the transfer agent.
-   * This default implementation converts a structured selection into a collection of elements.
-   */
-  protected Collection extractDragSource(Object object)
-  {
-    // Transfer the data and convert the structured selection to a collection of objects.
-    //
-    if (object instanceof IStructuredSelection)
-    {
-      Collection result = new ArrayList();
-      for (Iterator elements = ((IStructuredSelection)object).iterator(); elements.hasNext(); )
-      {
-        result.add(elements.next());
-      }
-      return result;
-    }
-    else
-    {
-      return Collections.EMPTY_LIST;
-    }
-  }
-
-  /**
-   * This gets the amount of time, in milliseconds, to hover over an item before {@link #hover} is called.
-   */
-  public int getHoverThreshold()
-  {
-    return hoverThreshold;
-  }
-
-  /**
-   * This set the amount of time, in milliseconds, to hover over an item before {@link #hover} is called.
-   */
-  public void setHoverThreshold(int hoverThreshold)
-  {
-    this.hoverThreshold = hoverThreshold;
-  }
-
-  /**
-   * This is called when the cursor has hovered over the given target for longer than {@link #hoverThreshold}.
-   */
-  protected void hover(Object target)
-  {
-    if (viewer instanceof AbstractTreeViewer)
-    {
-      ((AbstractTreeViewer)viewer).expandToLevel(target, 1);
-    }
-  }
-
-  /** 
-   * This returns whether a scroll was performed based on the given drag coordinates.
-   */
-  protected boolean scrollIfNeeded(DropTargetEvent event)
-  {
-    // By default we'll not scroll
-    //
-    boolean result = false;
-
-    // We only handle a tree item right now.
-    //
-    if (event.item instanceof TreeItem)
-    {
-      // Tree items have special data that will help.
-      //
-      TreeItem treeItem = (TreeItem)event.item;
-
-      // We need need the point in the coordinates of the control and the control's bounds.
-      //
-      Tree tree = treeItem.getParent();
-      Point point = tree.toControl(new Point(event.x, event.y));
-      Rectangle bounds = tree.getClientArea();
-
-      // This is the distance in pixels from the top or bottom that will cause scrolling.
-      //
-      int scrollEpsilon = Math.min(treeItem.getBounds().height, bounds.height / 3);
-
-      // This will be the item that should be scrolled into the view.
-      //
-      TreeItem scrollTreeItem = null;
-
-      // If we should scroll up.
-      //
-      if (point.y < scrollEpsilon)
-      {
-        // Determine the parent to find the sibling.
-        //
-        TreeItem parent = treeItem.getParentItem();
-        // Walk through the siblings.
-        //
-        TreeItem [] children = parent == null ? tree.getItems() : parent.getItems();
-        for (int i = 0; i < children.length; ++i)
-        {
-          // Is this a match.
-          //
-          if (children[i] == treeItem)
-          {
-            // If there is a previous sibling...
-            //
-            if (i > 0)
-            {
-              scrollTreeItem = children[i - 1];
-
-              // Get the last deepest descendent of this previous sibling.
-              //
-              for (;;)
-              {
-                children = scrollTreeItem.getItems();
-                if (children != null && children.length != 0 && scrollTreeItem.getExpanded())
-                {
-                  scrollTreeItem = children[children.length - 1];
-                }
-                else
-                {
-                  break;
-                }
-              }
-            }
-            else
-            {
-              // The parent must be the previous.
-              //
-              scrollTreeItem = parent;
-            }
-
-            // We're done after the match.
-            //
-            break;
-          }
-        }
-      }
-      // If we should scroll down...
-      //
-      else if (bounds.height - point.y < scrollEpsilon)
-      {
-        // If this thing has visible children, then the first child must be next.
-        //
-        TreeItem [] children = treeItem.getItems();
-        if (children != null && children.length != 0 && treeItem.getExpanded())
-        {
-          scrollTreeItem = children[0];
-        }
-        else
-        {
-          // We need the parent to determine siblings and will walk up the tree if we are the last sibling.
-          //
-          while (scrollTreeItem == null)
-          {
-            // If there's no parent, we're done.
-            //
-            TreeItem parent = treeItem.getParentItem();
-            // Walk the children.
-            //
-            children = parent == null ? tree.getItems() : parent.getItems();
-            for (int i = 0; i < children.length; ++i)
-            {
-              // When we find the child.
-              //
-              if (children[i] == treeItem)
-              {
-                // If the next index is a valid index...
-                //
-                if (++i < children.length)
-                {
-                  // We've found the item.
-                  //
-                  scrollTreeItem = children[i];
-                }
-
-                // We're done with this parent.
-                //
-                break;
-              }
-            }
-
-            if (parent == null)
-            {
-              break;
-            }
-
-            // Walk up.
-            //
-            treeItem = parent;
-          }
-        }
-      }
-
-      // If we should scroll.
-      //
-      if (scrollTreeItem != null)
-      {
-        // Only scroll if we're on an item for a while.
-        //
-        if (previousItem != null && event.time - hoverStart > 200)
-        {
-          ScrollBar verticalScrollBar = tree.getVerticalBar();
-          if (verticalScrollBar != null)
-          {
-            int before = verticalScrollBar.getSelection();
-
-            // Make sure the item is scrolled in place.
-            //
-            tree.showItem(scrollTreeItem);
-
-            // Make sure we don't scroll again quickly.
-            //
-            previousItem = null;
-
-            // Indicate that we've done a scroll and nothing else should be done.
-            //
-            result = before != verticalScrollBar.getSelection();
-          }
-        }
-        else
-        {
-          // If the item changes, reset the timer information.
-          //
-          if (event.item != previousItem)
-          {
-            previousItem = event.item;
-            hoverStart = event.time;
-          }
-        }
-      }
-    }
-    else if (event.item instanceof TableItem)
-    {
-      // Table items have special data that will help.
-      //
-      TableItem tableItem = (TableItem)event.item;
-
-      // We need need the point in the coordinates of the control and the control's bounds.
-      //
-      Table table = tableItem.getParent();
-      Point point = table.toControl(new Point(event.x, event.y));
-      Rectangle bounds = table.getClientArea();
-      if (table.getHeaderVisible())
-      {
-        int offset = table.getItemHeight();
-        bounds.y += offset;
-        bounds.height -= offset;
-        point.y -= offset;
-      }
-
-      // The position of this item.
-      //
-      int index = table.indexOf(tableItem);
-
-      // This is the distance in pixels from the top or bottom that will cause scrolling.
-      //
-      int scrollEpsilon = Math.min(tableItem.getBounds(0).height, bounds.height / 3);
-
-      // This will be the item that should be scrolled into the view.
-      //
-      TableItem scrollTableItem = null;
-
-      // If we should scroll up.
-      //
-      if (point.y < scrollEpsilon)
-      {
-        if (index > 0)
-        {
-          scrollTableItem = table.getItems()[index - 1];
-        }
-      }
-      // If we should scroll down...
-      //
-      else if (bounds.height - point.y < scrollEpsilon)
-      {
-        if (index + 1 < table.getItems().length)
-        {
-          scrollTableItem =  table.getItems()[index + 1];
-        }
-      }
-
-      // If we should scroll.
-      //
-      if (scrollTableItem != null)
-      {
-        // Only scroll if we're on an item for a while.
-        //
-        if (previousItem != null && event.time - hoverStart > 200)
-        {
-          ScrollBar verticalScrollBar = table.getVerticalBar();
-          if (verticalScrollBar != null)
-          {
-            int before = verticalScrollBar.getSelection();
-
-            // Make sure the item is scrolled in place.
-            //
-            table.showItem(scrollTableItem);
-
-            // Make sure we don't scroll again quickly.
-            //
-            previousItem = null;
-
-            // Indicate that we've done a scroll and nothing else should be done.
-            //
-            result = before != verticalScrollBar.getSelection();
-          }
-        }
-        else
-        {
-          // If the item changes, reset the timer information.
-          //
-          if (event.item != previousItem)
-          {
-            previousItem = event.item;
-            hoverStart = event.time;
-          }
-        }
-      }
-    }
-
-    return result;
-  }
-
-  protected static float getLocation(DropTargetEvent event) 
-  {
-    if (event.item instanceof TreeItem)
-    {
-      TreeItem treeItem = (TreeItem)event.item;
-      Control control = treeItem.getParent();
-      Point point = control.toControl(new Point(event.x, event.y));
-      Rectangle bounds = treeItem.getBounds();
-      return (float)(point.y - bounds.y) / (float)bounds.height;
-    }
-    else if (event.item instanceof TableItem)
-    {
-      TableItem tableItem = (TableItem)event.item;
-      Control control = tableItem.getParent();
-      Point point = control.toControl(new Point(event.x, event.y));
-      Rectangle bounds = tableItem.getBounds(0);
-      return (float)(point.y - bounds.y) / (float)bounds.height;
-    }
-    else
-    {
-      return 0.0F;
-    }
-  }
-
-  protected class DragAndDropCommandInformation
-  {
-    //    protected EditingDomain domain;
-    protected Object target;
-    protected float location;
-    protected int operations;
-    protected int operation;
-    protected Collection source;
-    public DragAndDropCommandInformation
-      (Object target, float location, int operations, int operation, Collection source)
-    {
-      this.target = target;
-      this.location = location;
-      this.operations = operations;
-      this.operation = operation;
-      this.source = new ArrayList(source);
-    }
-
-    public DragAndDropCommand createCommand()
-    {
-      return dragAndDropManager.createCommand(target, location, operations, operation, source);
-    }
-  }
-}
diff --git a/plugins/org.eclipse.wst.common.ui/src/org/eclipse/wst/common/ui/internal/viewers/NavigableTableViewer.java b/plugins/org.eclipse.wst.common.ui/src/org/eclipse/wst/common/ui/internal/viewers/NavigableTableViewer.java
deleted file mode 100644
index 9f03d3b..0000000
--- a/plugins/org.eclipse.wst.common.ui/src/org/eclipse/wst/common/ui/internal/viewers/NavigableTableViewer.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *******************************************************************************/
-package org.eclipse.wst.common.ui.internal.viewers;
-
-import org.eclipse.jface.viewers.CellEditor;
-import org.eclipse.jface.viewers.TableViewer;
-import org.eclipse.swt.widgets.Table;
-
-public class NavigableTableViewer extends TableViewer
-{
-   TableNavigator navigator;
-
-   public NavigableTableViewer(Table parent)
-   {
-      super(parent);
-      navigator = new TableNavigator(getTable(), this);
-   }
-
-   //override setCellEditors to put in call to moveAboveCellEditors for TableNavigator
-   public void setCellEditors(CellEditor[] editors)
-   {
-     super.setCellEditors(editors);
-     navigator.moveCellEditorsAbove(editors);
-
-   }
-
-   //override refresh so that TableNavigator is refreshed for all model changes
-   public void refresh()
-   {
-   	if( !this.getTable().isDisposed() )
-   	{
-      	super.refresh();
-      	navigator.refresh();
-   	}
-   }
-
-}
diff --git a/plugins/org.eclipse.wst.common.ui/src/org/eclipse/wst/common/ui/internal/viewers/ResourceFilter.java b/plugins/org.eclipse.wst.common.ui/src/org/eclipse/wst/common/ui/internal/viewers/ResourceFilter.java
deleted file mode 100644
index aaa3f5d..0000000
--- a/plugins/org.eclipse.wst.common.ui/src/org/eclipse/wst/common/ui/internal/viewers/ResourceFilter.java
+++ /dev/null
@@ -1,101 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *******************************************************************************/
-package org.eclipse.wst.common.ui.internal.viewers;
-
-import java.util.Collection;
-
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.jface.viewers.ViewerFilter;
-
-public class ResourceFilter extends ViewerFilter 
-{
-  protected String[] fExtensions;
-  protected IFile[] fExcludedFiles;
-  protected Collection fExcludes;
-	
-  public ResourceFilter(String[] extensions, Collection exclude) 
-  {
-    fExtensions= extensions;
-    fExcludes= exclude;
-    fExcludedFiles = null;
-  }
-
-  public ResourceFilter(String[] extensions, IFile[] excludedFiles, Collection exclude) 
-  {
-    fExtensions= extensions;
-    fExcludes= exclude;
-    fExcludedFiles = excludedFiles;
-  }
-	
-  public boolean isFilterProperty(Object element, Object property) 
-  {
-    return false;
-  }
-	
-  public boolean select(Viewer viewer, Object parent, Object element) 
-  {
-    if (element instanceof IFile) 
-    {
-      if (fExcludes != null && fExcludes.contains(element)) 
-      {
-	return false;
-      }
-      String name= ((IFile)element).getName();
-      if (fExcludedFiles != null) 
-      {
-        for (int j= 0; j < fExcludedFiles.length; j++) 
-        {
-          if ( ((IFile)element).getLocation().
-               toOSString().compareTo((fExcludedFiles[j]).getLocation().toOSString()) == 0 )
-           return false;             
-        }            
-      }
-      if (fExtensions.length == 0) 
-      {
-        // assume that we don't want to filter any files based on 
-        // extension
-        return true;
-      }
-      for (int i= 0; i < fExtensions.length; i++) 
-      {
-        if (name.endsWith(fExtensions[i]))
-        {
-          return true;
-        }
-      } 
-      return false;
-    } 
-    else if (element instanceof IContainer) 
-    { // IProject, IFolder
-      try 
-      {
-      	IResource[] resources= ((IContainer)element).members();
-	for (int i= 0; i < resources.length; i++) 
-        {
-	  // recursive!
-	  if (select(viewer, parent, resources[i])) 
-          {
-	    return true;
-	  }
-	}
-      } 
-      catch (CoreException e) 
-      {
-      }				
-    }
-    return false;
-  }
-}
diff --git a/plugins/org.eclipse.wst.common.ui/src/org/eclipse/wst/common/ui/internal/viewers/SelectMultiFilePage.java b/plugins/org.eclipse.wst.common.ui/src/org/eclipse/wst/common/ui/internal/viewers/SelectMultiFilePage.java
deleted file mode 100644
index 2ee7982..0000000
--- a/plugins/org.eclipse.wst.common.ui/src/org/eclipse/wst/common/ui/internal/viewers/SelectMultiFilePage.java
+++ /dev/null
@@ -1,389 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *******************************************************************************/
-package org.eclipse.wst.common.ui.internal.viewers;
-
-import java.util.*;
-import org.eclipse.jface.viewers.*;
-import org.eclipse.jface.wizard.*;
-import org.eclipse.swt.*;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.widgets.List;
-import org.eclipse.core.resources.*;
-import org.eclipse.ui.*;
-import org.eclipse.ui.model.*;
-import org.eclipse.ui.wizards.datatransfer.*;
-import org.eclipse.wst.common.ui.internal.UIPlugin;
-
-
-// Page to specify the source files
-public class SelectMultiFilePage extends WizardPage {
-  IWorkbench workbench;
-  IStructuredSelection selection;
-  boolean isFileMandatory;
-  TreeViewer sourceFileViewer;
-  Button addButton;
-  Button removeButton;
-  Button removeAllButton;
-  org.eclipse.swt.widgets.List selectedListBox;
-  Button importButton;
-  private Vector fFilters;
-  protected IFile[] fileNames;
-  IWorkspaceRoot workspaceRoot;
-
-  private final static int SIZING_LISTS_HEIGHT = 200;
-  private final static int SIZING_LISTS_WIDTH = 150;
-
-  // parameter isFileMandatory is used to determine if at least one file must be selected  
-  // before being able to proceed to the next page
-  public SelectMultiFilePage(
-      IWorkbench workbench,
-      IStructuredSelection selection,
-      boolean isFileMandatory) {
-    super("SelectMultiFilePage");
-    this.workbench = workbench;
-    this.selection = selection;
-    this.isFileMandatory = isFileMandatory;
-    this.workspaceRoot = ResourcesPlugin.getWorkspace().getRoot();
-    this.fileNames = null;
-  }
-
-  public void createControl(Composite parent) {
-    
-    Composite pageContent = new Composite(parent, SWT.NONE);
-    GridLayout layout = new GridLayout();
-    layout.numColumns = 3;
-    pageContent.setLayout(layout);
-    pageContent.setLayoutData(new GridData(GridData.FILL_BOTH));
-
-    GridData outerFrameGridData = (GridData) pageContent.getLayoutData();
-    //		outerFrameGridData.horizontalAlignment = GridData.HORIZONTAL_ALIGN_FILL;
-    //		outerFrameGridData.verticalAlignment = GridData.VERTICAL_ALIGN_FILL;
-
-    //    WorkbenchHelp.setHelp(
-    //        pageContent,
-    //        B2BGUIContextIds.BTBG_SELECT_MULTI_FILE_PAGE);
-
-    createLabels(pageContent);
-    createSourceViewer(pageContent);
-    createButtonPanel(pageContent);
-    createSelectedListBox(pageContent);
-    createImportButton(pageContent);
-
-    setControl(pageContent);
-    if (isFileMandatory)
-      setPageComplete(false);
-
-  }
-
-  public IFile[] getFiles() {
-    return fileNames;
-  }
-
-  // This is a convenience method that allows filtering of the given file
-  // exensions. It internally creates a ResourceFilter so that users of this
-  // class don't have to construct one.
-  // If the extensions provided don't have '.', one will be added.
-  public void addFilterExtensions(String[] filterExtensions) {
-    // First add the '.' to the filterExtensions if they don't already have one
-    String[] correctedFilterExtensions =
-      new String[filterExtensions.length];
-    for (int i = 0; i < filterExtensions.length; i++) {
-      // If the extension doesn't start with a '.', then add one.
-      if (filterExtensions[i].startsWith("."))
-        correctedFilterExtensions[i] = filterExtensions[i];
-      else
-        correctedFilterExtensions[i] = "." + filterExtensions[i];
-    }
-
-    ViewerFilter filter =
-      new ResourceFilter(correctedFilterExtensions, null);
-    addFilter(filter);
-  }
-
-  public boolean isValidSourceFileViewerSelection(ISelection selection) {
-    return true;
-  }
-
-  public void setVisible(boolean visible) {
-    if (visible == true) {
-      if (fFilters != null) {
-        sourceFileViewer.resetFilters();
-        for (Iterator i = fFilters.iterator(); i.hasNext();)
-          sourceFileViewer.addFilter((ViewerFilter) i.next());
-      }
-      sourceFileViewer.setInput(ResourcesPlugin.getWorkspace().getRoot());
-    }
-    super.setVisible(visible);
-  }
-
-  public void setFiles(String[] fileNames) {
-    int size = Arrays.asList(fileNames).size();
-    Vector iFileNames = new Vector();
-    for (int i = 0; i < size; i++) {
-      IResource resource = workspaceRoot.findMember(fileNames[i]);
-      if (resource instanceof IFile)
-        iFileNames.addElement(resource);
-    }
-    IFile[] dummyArray = new IFile[iFileNames.size()];
-    this.fileNames = (IFile[]) (iFileNames.toArray(dummyArray));
-  }
-
-  public void resetFilters() {
-    fFilters = null;
-  }
-
-  public void addFilter(ViewerFilter filter) {
-    if (fFilters == null)
-      fFilters = new Vector();
-    fFilters.add(filter);
-  }
-
-  public void setAddButtonEnabled(boolean isEnabled) {
-    addButton.setEnabled(isEnabled);
-  }
-
-  public void setRemoveButtonEnabled(boolean isEnabled) {
-    removeButton.setEnabled(isEnabled);
-  }
-
-  private void createLabels(Composite pageContent) {
-    Label label = new Label(pageContent, SWT.LEFT);
-    label.setText(UIPlugin.getResourceString("_UI_LABEL_SOURCE_FILES"));
-
-    GridData data = new GridData();
-    data.horizontalAlignment = GridData.FILL;
-    data.horizontalSpan = 2;
-    label.setLayoutData(data);
-
-    label = new Label(pageContent, SWT.LEFT);
-    label.setText(UIPlugin.getResourceString("_UI_LABEL_SELECTED_FILES"));
-  }
-
-  public boolean checkIfFileInTarget(IFile fileToCheck) {
-    String[] strings = selectedListBox.getItems();
-    int size = selectedListBox.getItemCount();
-    for (int i = 0; i < size; i++) {
-      if (strings[i].compareTo(fileToCheck.getFullPath().toString())
-          == 0)
-        return true;
-    }
-    return false;
-  }
-
-  private void createSourceViewer(Composite parent) {
-    sourceFileViewer =
-      new TreeViewer(
-          new Tree(
-              parent,
-              SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER));
-    sourceFileViewer.setContentProvider(new WorkbenchContentProvider());
-    sourceFileViewer.setLabelProvider(new WorkbenchLabelProvider());
-    sourceFileViewer
-    .addSelectionChangedListener(new ISelectionChangedListener() {
-      public void selectionChanged(SelectionChangedEvent event) {
-        java.util.List list;
-        ISelection selection = event.getSelection();
-        boolean newFilesSelected = false;
-
-        if (selection instanceof IStructuredSelection) {
-          list = ((IStructuredSelection) selection).toList();
-          for (Iterator i = list.iterator(); i.hasNext();) {
-            IResource resource = (IResource) i.next();
-            if (resource instanceof IFile) {
-              if (checkIfFileInTarget((IFile) resource) == false)
-                newFilesSelected = true;
-            }
-          }
-          setAddButtonEnabled(newFilesSelected);
-        }
-      }
-    });
-    sourceFileViewer.addDoubleClickListener(new IDoubleClickListener() {
-      public void doubleClick(DoubleClickEvent event) {
-        addSelectedFilesToTargetList();
-      }
-    });
-
-    Control treeWidget = sourceFileViewer.getTree();
-    GridData gd = new GridData(GridData.FILL_BOTH);
-    gd.widthHint = SIZING_LISTS_WIDTH;
-    gd.heightHint = SIZING_LISTS_HEIGHT;
-    treeWidget.setLayoutData(gd);
-  }
-
-  private void createButtonPanel(Composite pageContent) {
-    Composite buttonPanel = new Composite(pageContent, SWT.NONE);
-    GridLayout layout = new GridLayout();
-    layout.numColumns = 1;
-    buttonPanel.setLayout(layout);
-    
-    GridData gridData = new GridData();
-    gridData.grabExcessHorizontalSpace = false;
-    gridData.grabExcessVerticalSpace = true;
-    gridData.verticalAlignment = GridData.CENTER;
-    gridData.horizontalAlignment = GridData.CENTER;
-    buttonPanel.setLayoutData(gridData);
-
-    addButton = new Button(buttonPanel, SWT.PUSH);
-    addButton.setText(UIPlugin.getResourceString("_UI_ADD_BUTTON"));
-    gridData = new GridData();
-    gridData.horizontalAlignment = GridData.FILL;
-    gridData.verticalAlignment = GridData.CENTER;
-    addButton.setLayoutData(gridData);
-    addButton.addSelectionListener(new ButtonSelectListener());
-    addButton.setToolTipText(
-        UIPlugin.getResourceString("_UI_ADD_BUTTON_TOOL_TIP"));
-    addButton.setEnabled(false);
-
-    removeButton = new Button(buttonPanel, SWT.PUSH);
-    removeButton.setText(UIPlugin.getResourceString("_UI_REMOVE_BUTTON"));
-    gridData = new GridData();
-    gridData.horizontalAlignment = GridData.FILL;
-    gridData.verticalAlignment = GridData.CENTER;
-    removeButton.setLayoutData(gridData);
-    removeButton.addSelectionListener(new ButtonSelectListener());
-    removeButton.setToolTipText(
-        UIPlugin.getResourceString("_UI_REMOVE_BUTTON_TOOL_TIP"));
-    removeButton.setEnabled(false);
-
-    removeAllButton = new Button(buttonPanel, SWT.PUSH);
-    removeAllButton.setText(UIPlugin.getResourceString("_UI_REMOVE_ALL_BUTTON"));
-    gridData = new GridData();
-    gridData.horizontalAlignment = GridData.FILL;
-    gridData.verticalAlignment = GridData.CENTER;
-    removeAllButton.setLayoutData(gridData);
-    removeAllButton.addSelectionListener(new ButtonSelectListener());
-    removeAllButton.setToolTipText(
-        UIPlugin.getResourceString("_UI_REMOVE_ALL_BUTTON_TOOL_TIP"));
-    removeAllButton.setEnabled(false);
-  }
-
-  private void createSelectedListBox(Composite parent) {
-    selectedListBox = new List(parent, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER);
-    selectedListBox.addSelectionListener(new SelectionListener() {
-      public void widgetDefaultSelected(SelectionEvent event) {
-      }
-
-      public void widgetSelected(SelectionEvent event) {
-        java.util.List list;
-        if (selectedListBox.getSelectionCount() > 0)
-          setRemoveButtonEnabled(true);
-        else
-          setRemoveButtonEnabled(false);
-        return;
-      }
-    });
-
-    GridData gd = new GridData(GridData.FILL_BOTH);
-    gd.widthHint = SIZING_LISTS_WIDTH;
-    gd.heightHint = SIZING_LISTS_HEIGHT;
-    selectedListBox.setLayoutData(gd);
-  }
-
-  void createImportButton(Composite parent) {
-    importButton = new Button(parent, SWT.PUSH);
-    importButton.setText(UIPlugin.getResourceString("_UI_IMPORT_BUTTON"));
-    
-    GridData gridData = new GridData();
-    gridData.horizontalAlignment = GridData.CENTER;
-    importButton.setLayoutData(gridData);
-    importButton.addSelectionListener(new SelectionListener() {
-      public void widgetDefaultSelected(SelectionEvent e) {
-      }
-
-      public void widgetSelected(SelectionEvent e) {
-        FileSystemImportWizard importWizard =
-          new FileSystemImportWizard();
-        importWizard.init(workbench, selection);
-        Shell shell = Display.getCurrent().getActiveShell();
-        WizardDialog wizardDialog =
-          new WizardDialog(shell, importWizard);
-        wizardDialog.create();
-        wizardDialog.open();
-        sourceFileViewer.refresh();
-      }
-    });
-    importButton.setToolTipText(
-        UIPlugin.getResourceString("_UI_IMPORT_BUTTON_TOOL_TIP"));
-  }
-
-  public void addSelectedFilesToTargetList() {
-    ISelection selection = sourceFileViewer.getSelection();
-
-    if (isValidSourceFileViewerSelection(selection)) {
-      java.util.List list = null;
-      if (selection instanceof IStructuredSelection) {
-        list = ((IStructuredSelection) selection).toList();
-
-        if (list != null) {
-          list = ((IStructuredSelection) selection).toList();
-          for (Iterator i = list.iterator(); i.hasNext();) {
-            IResource resource = (IResource) i.next();
-            if (resource instanceof IFile) {
-              // Check if its in the list. Don't add it if it is.
-              String resourceName =
-                resource.getFullPath().toString();
-              if (selectedListBox.indexOf(resourceName) == -1)
-                selectedListBox.add(resourceName);
-            }
-          }
-          setFiles(selectedListBox.getItems());
-        }
-
-        setAddButtonEnabled(false);
-
-        if (selectedListBox.getItemCount() > 0) {
-          removeAllButton.setEnabled(true);
-          if (isFileMandatory)
-            setPageComplete(true);
-          if (selectedListBox.getSelectionCount() > 0)
-            setRemoveButtonEnabled(true);
-          else
-            setRemoveButtonEnabled(false);
-        }
-      }
-    }
-  }
-
-  class ButtonSelectListener implements SelectionListener {
-    public void widgetDefaultSelected(SelectionEvent e) {
-    }
-
-    public void widgetSelected(SelectionEvent e) {
-      if (e.widget == addButton) {
-        addSelectedFilesToTargetList();
-      } else if (e.widget == removeButton) {
-        String[] strings = selectedListBox.getSelection();
-        int size = selectedListBox.getSelectionCount();
-        for (int i = 0; i < size; i++) {
-          selectedListBox.remove(strings[i]);
-        }
-        removeButton.setEnabled(false);
-        if (selectedListBox.getItemCount() == 0) {
-          removeAllButton.setEnabled(false);
-          if (isFileMandatory)
-            setPageComplete(false);
-        }
-        setFiles(selectedListBox.getItems());
-      } else if (e.widget == removeAllButton) {
-        selectedListBox.removeAll();
-        removeButton.setEnabled(false);
-        removeAllButton.setEnabled(false);
-        if (isFileMandatory)
-          setPageComplete(false);
-        setFiles(selectedListBox.getItems());
-      }
-    }
-  }
-}
diff --git a/plugins/org.eclipse.wst.common.ui/src/org/eclipse/wst/common/ui/internal/viewers/SelectSingleFilePage.java b/plugins/org.eclipse.wst.common.ui/src/org/eclipse/wst/common/ui/internal/viewers/SelectSingleFilePage.java
deleted file mode 100644
index 78af295..0000000
--- a/plugins/org.eclipse.wst.common.ui/src/org/eclipse/wst/common/ui/internal/viewers/SelectSingleFilePage.java
+++ /dev/null
@@ -1,95 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *******************************************************************************/
-package org.eclipse.wst.common.ui.internal.viewers;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.TreeViewer;
-import org.eclipse.jface.viewers.ViewerFilter;
-import org.eclipse.jface.wizard.WizardPage;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.ui.IWorkbench;
-//import org.eclipse.ui.help.WorkbenchHelp;
-
-public class SelectSingleFilePage extends WizardPage
-{
-  protected IWorkbench workbench;
-  protected SelectSingleFileView selectSingleFileView;
-  
-  // parameter isFileMandatory is used to determine if a file must be selected  
-  // before being able to proceed to the next page
-  public SelectSingleFilePage(IWorkbench workbench, IStructuredSelection selection, boolean isFileMandatory)
-  {
-    super("SelectSingleFilePage");
-    this.workbench = workbench;           
-    selectSingleFileView = new SelectSingleFileView(selection, isFileMandatory);    
-  }
-
-  public void setVisible(boolean visible)
-  {
-    selectSingleFileView.setVisibleHelper(visible);
-    super.setVisible(visible);
-  }
-
-  public void createControl(Composite parent)
-  {                          
-    SelectSingleFileView.Listener listener = new SelectSingleFileView.Listener()
-    {                                             
-      public void setControlComplete(boolean isComplete)
-      {
-        setPageComplete(isComplete);
-      }
-    };
-    selectSingleFileView.setListener(listener);
-    Control control = selectSingleFileView.createControl(parent);
-//    WorkbenchHelp.setHelp(control, B2BGUIContextIds.BTBG_SELECT_SINGLE_FILE_PAGE);
-    setControl(control);
-  }  
-
-  public void addFilter(ViewerFilter filter) 
-  { 
-    selectSingleFileView.addFilter(filter);
-  }
-
-  public void addFilterExtensions(String[] filterExtensions)
-  { 
-    selectSingleFileView.addFilterExtensions(filterExtensions);
-  }     
-
-  public void resetFilters()
-  {    
-    selectSingleFileView.resetFilters();
-  }
-  
-  public IFile getFile()
-  {  
-    return selectSingleFileView.getFile();
-  }
-  
-  
-  /**
-   * Returns the selectSingleFileView.
-   * @return SelectSingleFileView
-   */
-  public TreeViewer getSourceFileViewer() {
-    return selectSingleFileView.sourceFileViewer;
-  }
-
-  /**
-   * Returns the selectSingleFileView.
-   * @return SelectSingleFileView
-   */
-  public SelectSingleFileView getSelectSingleFileView() {
-    return selectSingleFileView;
-  }
-}
diff --git a/plugins/org.eclipse.wst.common.ui/src/org/eclipse/wst/common/ui/internal/viewers/SelectSingleFileView.java b/plugins/org.eclipse.wst.common.ui/src/org/eclipse/wst/common/ui/internal/viewers/SelectSingleFileView.java
deleted file mode 100644
index b63c506..0000000
--- a/plugins/org.eclipse.wst.common.ui/src/org/eclipse/wst/common/ui/internal/viewers/SelectSingleFileView.java
+++ /dev/null
@@ -1,400 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *******************************************************************************/
-package org.eclipse.wst.common.ui.internal.viewers;
-
-import java.util.Collection;
-import java.util.Iterator;
-import java.util.Vector;
-
-import org.eclipse.core.resources.IFile;
-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.ResourcesPlugin;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.jface.viewers.TreeViewer;
-import org.eclipse.jface.viewers.ViewerFilter;
-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.Control;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Tree;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.model.WorkbenchContentProvider;
-import org.eclipse.ui.model.WorkbenchLabelProvider;
-import org.eclipse.ui.wizards.datatransfer.FileSystemImportWizard;
-import org.eclipse.wst.common.ui.internal.UIPlugin;
-
-    
-
-public class SelectSingleFileView
-{                                
-  protected Composite            composite;
-  protected IStructuredSelection selection;
-  protected boolean              isFileMandatory;
-  protected TreeViewer           sourceFileViewer;
-  protected Button               importButton;
-  protected Vector               fFilters;
-  protected IFile                selectedFile;
-  protected ISelection           defaultSelection;  
-  protected Listener             listener;
-  
-  public static interface Listener
-  {
-    public void setControlComplete(boolean isComplete); 
-  }
-
-  public SelectSingleFileView(IStructuredSelection selection, boolean isFileMandatory)
-  {                      
-    this.selection = selection;
-    this.isFileMandatory = isFileMandatory;
-    this.selectedFile= null;
-    this.defaultSelection = null;      
-  }                              
-
-  public Composite createControl(Composite parent)
-  {              
-    Composite composite = new Composite(parent, SWT.NONE);
-    composite.setLayout(new GridLayout());
-    composite.setLayoutData(new GridData(GridData.FILL_BOTH));
-	Label label = new Label(composite, SWT.NONE);
-	label.setText(UIPlugin.getResourceString("_UI_LABEL_SOURCE_FILES"));
-    createSourceViewer(composite);
-	  createFilterControl(composite);   
-    createImportButton(composite);  
-    return composite;
-  }
-
-
-  protected void createFilterControl(Composite composite) 
-  {	
-  } 
-
-public void setListener(Listener listener)
-  {
-    this.listener = listener;
-  }  
-
-  protected void createSourceViewer(Composite parent)
-  {
-    sourceFileViewer = new TreeViewer(new Tree(parent, SWT.SINGLE | SWT.BORDER));
-    sourceFileViewer.setContentProvider(new WorkbenchContentProvider());
-    sourceFileViewer.setLabelProvider(new WorkbenchLabelProvider());
-    sourceFileViewer.addSelectionChangedListener(new ISelectionChangedListener() 
-    {
-      public void selectionChanged(SelectionChangedEvent event) 
-      {                  
-        boolean isComplete = true;
-        java.util.List list;
-        ISelection selection = event.getSelection();
-        if (selection instanceof IStructuredSelection) 
-        {
-          list = ((IStructuredSelection)selection).toList();
-          for (Iterator i = list.iterator(); i.hasNext();)
-          {
-            IResource resource = (IResource) i.next();
-            if (resource instanceof IFile) 
-            {
-              selectedFile = (IFile) resource;
-              if (isFileMandatory) 
-              {                                   
-                isComplete = true;
-                break;     
-              }                                   
-            }            
-            else 
-            {
-              selectedFile = null;
-              if (isFileMandatory) 
-              {            
-                isComplete = false;
-              }
-            }
-          } 
-          
-          if (listener != null)
-          {           
-            listener.setControlComplete(isComplete);
-          }
-        }
-      }	
-    });
-    Control treeWidget = sourceFileViewer.getTree();
-    GridData gd = new GridData(GridData.FILL_BOTH);
-    treeWidget.setLayoutData(gd);
-  }
-  
-                                        
-  protected void createImportButton(Composite parent)
-  {   
-    importButton = new Button(parent, SWT.NONE);
-    importButton.setText(UIPlugin.getResourceString("_UI_IMPORT_BUTTON"));
-    
-    GridData gridData = new GridData();    
-    gridData.horizontalAlignment = GridData.CENTER;
-    importButton.setLayoutData(gridData);
-    importButton.addSelectionListener(new SelectionListener()
-    {
-      public void widgetDefaultSelected(SelectionEvent e)
-      {
-      }
-
-      public void widgetSelected(SelectionEvent e)
-      {                 
-        // This listener is if the Import Wizard adds a new few, we want
-        // it to be selected when we come back from it
-        ImportAddResourceListener importAddResourceListener= new ImportAddResourceListener();
-        
-        ResourcesPlugin.getWorkspace().addResourceChangeListener(importAddResourceListener);
-          
-        FileSystemImportWizard importWizard = new FileSystemImportWizard();
-        IWorkbench workbench = UIPlugin.getDefault().getWorkbench();
-        selection = (IStructuredSelection) sourceFileViewer.getSelection();
-        importWizard.init(workbench, selection != null ? selection : new StructuredSelection());
-        Shell shell = Display.getCurrent().getActiveShell();
-        WizardDialog wizardDialog = new WizardDialog(shell, importWizard);
-        wizardDialog.create();
-        wizardDialog.open();
-        sourceFileViewer.refresh();
-        ResourcesPlugin.getWorkspace().removeResourceChangeListener(importAddResourceListener);
-        IFile importedFile = importAddResourceListener.getImportedFile();
-        if (importedFile != null) 
-        {          
-          StructuredSelection structuredSelection = new StructuredSelection(importedFile);
-          sourceFileViewer.setSelection(structuredSelection);
-        }
-      }
-    });                  
-    importButton.setToolTipText(UIPlugin.getResourceString("_UI_IMPORT_BUTTON_TOOL_TIP"));
-  } 
-
-  public IFile getFile()
-  {
-    return selectedFile;
-  }
-
-  public void setDefaultSelection(ISelection selection)
-  {
-    this.defaultSelection = selection;
-  } 
-
-  public void resetFilters()
-  {
-    fFilters=null;
-  }
-
-  public void addFilter(ViewerFilter filter) 
-  {
-    if (fFilters == null)
-    {
-      fFilters= new Vector();
-    }
-    fFilters.add(filter);
-  }
-
-  // This is a convenience method that allows filtering of the given file
-  // exensions. It internally creates a ResourceFilter so that users of this
-  // class don't have to construct one.
-  // If the extensions provided don't have '.', one will be added.
-  public void addFilterExtensions(String[] filterExtensions)
-  {
-    // First add the '.' to the filterExtensions if they don't already have one
-    String[] correctedFilterExtensions = new String[filterExtensions.length];
-    for (int i=0; i < filterExtensions.length; i++) 
-    {
-      // If the extension doesn't start with a '.', then add one.
-      if (filterExtensions[i].startsWith("."))
-      {
-        correctedFilterExtensions[i] = filterExtensions[i];
-      }
-      else
-      {
-        correctedFilterExtensions[i] = "." + filterExtensions[i];
-      }
-    }
-
-    ViewerFilter filter = new ResourceFilter(correctedFilterExtensions, null);
-    addFilter(filter);
-  }                     
-
-// This is a convenience method that allows filtering of the given file
-// exensions. It internally creates a ResourceFilter so that users of this
-// class don't have to construct one.
-// If the extensions provided don't have '.', one will be added.
-  public void addFilterExtensions(String[] filterExtensions, IFile [] excludedFiles)
-  {
-    // First add the '.' to the filterExtensions if they don't already have one
-    String[] correctedFilterExtensions = new String[filterExtensions.length];
-    for (int i=0; i < filterExtensions.length; i++)
-    {
-      // If the extension doesn't start with a '.', then add one.
-      if (filterExtensions[i].startsWith("."))
-      {
-        correctedFilterExtensions[i] = filterExtensions[i];
-      }
-      else
-      {
-        correctedFilterExtensions[i] = "." + filterExtensions[i];
-      }
-    }
-    ViewerFilter filter;
-    if (excludedFiles != null)
-    {
-      filter = new ResourceFilter(correctedFilterExtensions, excludedFiles, null);
-    }
-    else
-    {
-      filter = new ResourceFilter(correctedFilterExtensions, null);
-    }
-    addFilter(filter);
-  }
-  
-  // This is a convenience method that allows filtering of the given file
-  // exensions. It internally creates a ResourceFilter so that users of this
-  // class don't have to construct one.
-  // If the extensions provided don't have '.', one will be added.
-  public void setFilterExtensions(String[] filterExtensions)
-  {
-	// First add the '.' to the filterExtensions if they don't already have one
-	String[] correctedFilterExtensions = new String[filterExtensions.length];
-	for (int i=0; i < filterExtensions.length; i++) 
-	{		
-	  // If the extension doesn't start with a '.', then add one.
-	  if (filterExtensions[i].startsWith("."))
-	  {
-		correctedFilterExtensions[i] = filterExtensions[i];
-	  }
-	  else
-	  {
-		correctedFilterExtensions[i] = "." + filterExtensions[i];
-	  }
-	}
-	ViewerFilter filter = new ResourceFilter(correctedFilterExtensions, null);
-    fFilters= new Vector();
-	fFilters.add(filter);
-	if (sourceFileViewer != null)
-	{	
-	  sourceFileViewer.getTree().setRedraw(false);
-      sourceFileViewer.resetFilters();
-      for (Iterator i=fFilters.iterator(); i.hasNext();)
-      {     
-	    sourceFileViewer.addFilter((ViewerFilter)i.next());
- 	  }
-	  sourceFileViewer.getTree().setRedraw(true);
-	  sourceFileViewer.getTree().redraw();
-	}	
-  }     
-                                 
-  // this method should be called by a Wizard page or Dialog when it becomes visible
-  public void setVisibleHelper(boolean visible)
-  {    
-    if (visible == true) 
-    {
-      if (fFilters != null) 
-      {
-        sourceFileViewer.resetFilters();
-        for (Iterator i=fFilters.iterator(); i.hasNext();) 
-       	  sourceFileViewer.addFilter((ViewerFilter)i.next());
-      }
-      sourceFileViewer.setInput(ResourcesPlugin.getWorkspace().getRoot());
-      sourceFileViewer.expandToLevel(2);
-
-      if (defaultSelection != null) 
-      {
-        sourceFileViewer.setSelection(defaultSelection, true);        
-      }   
-      else if (!sourceFileViewer.getSelection().isEmpty())
-      {     
-        sourceFileViewer.setSelection(sourceFileViewer.getSelection());
-      } 
-      else
-      {                         
-        if (isFileMandatory && listener != null)
-        {           
-          listener.setControlComplete(false);
-        }
-      }         
-    }                                   
-  }
-  
-  class ImportAddResourceListener implements IResourceChangeListener, IResourceDeltaVisitor
-  {
-	Vector importedFiles;
-
-	ImportAddResourceListener()
-	{
-	  importedFiles = new Vector(); 
-	}
-  
-	public void resourceChanged(IResourceChangeEvent event)
-	{
-	  IResourceDelta resourceDelta = event.getDelta();
-    
-	  try
-	  {
-		if (resourceDelta != null) 
-		{
-		  resourceDelta.accept(this);
-		}
-	  }
-	  catch (Exception e)
-	  {
-		//TODO... log exception
-		//UIPlugin.getMsgLogger().write("Exception caught during resource change" + e);
-		//UIPlugin.getMsgLogger().writeCurrentThread(); 
-	  }      
-	}
-
-	public boolean visit(IResourceDelta delta)
-	{
-	  if (delta.getKind() == IResourceDelta.ADDED)
-	  {
-		if (delta.getResource() instanceof IFile) 
-		  importedFiles.add(delta.getResource());
-	  }
-	  return true;
-	}
-
-	public Collection getImportedFiles()
-	{
-	  return importedFiles;
-	}
-    
-	// This returns the first imported file in the list of imported files
-	public IFile getImportedFile()
-	{
-	  if (importedFiles.isEmpty() == false) 
-		return (IFile)importedFiles.firstElement();
-  
-	  return null;
-	}
-  }  
-  
-  public void addSelectionChangedTreeListener(ISelectionChangedListener treeListener) {
-  	sourceFileViewer.addSelectionChangedListener(treeListener);
-  }
-}              
-
diff --git a/plugins/org.eclipse.wst.common.ui/src/org/eclipse/wst/common/ui/internal/viewers/TableNavigator.java b/plugins/org.eclipse.wst.common.ui/src/org/eclipse/wst/common/ui/internal/viewers/TableNavigator.java
deleted file mode 100644
index e729cfb..0000000
--- a/plugins/org.eclipse.wst.common.ui/src/org/eclipse/wst/common/ui/internal/viewers/TableNavigator.java
+++ /dev/null
@@ -1,409 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *******************************************************************************/
-package org.eclipse.wst.common.ui.internal.viewers;
-
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.widgets.*;
-
-import org.eclipse.swt.custom.TableCursor;
-import org.eclipse.swt.custom.TableTreeItem;
-import org.eclipse.jface.viewers.*;
-
-
-  /**
-   * Adds a TableCursor to a StructuredViewer - for keyboard navigation of the table
-   * The intent of this class is to provide the standard listeners for using F2 to
-   * activate cell editors.
-   *
-   * Due to a current bug in the TableCursor, TableViewers using this class must make
-   * a call similar to the TableNavigator method moveCellEditorsAbove(cellEditors)
-   * whenever a setCellEditors call is made in the StructuredViewer.  This is so that the
-   * cell editor control shows up above the table cursor control.
-   */
-
-public class TableNavigator extends TableCursor
-{
-  private static final String TABLETREEITEM_ID = "TableTreeItemID";
-
-   final Table table;
-
-   public TableNavigator(Table table, StructuredViewer viewer)
-   {
-      super(table, SWT.NONE);
-      this.table = table;
-      final Table currentTable = table;
-      final StructuredViewer sViewer = viewer;
-
-      // Linux index out of bounds fix.  See defect 253429, 253433, and more
-      setVisible(false);
-
-      addPaintListener(viewer);
-      addKeyListeners(viewer);
-      addMouseListeners(viewer);
-      addSelectionListener(new SelectionAdapter()
-      {
-      	/**
-		 * @see org.eclipse.swt.events.SelectionAdapter#widgetSelected(SelectionEvent)
-		 */
-		public void widgetSelected(SelectionEvent e) {
-			super.widgetSelected(e);
-			     if (sViewer instanceof TableTreeViewer)
-                 {
-                   TableTreeItem tableTreeItem = (TableTreeItem)getRow().getData(TABLETREEITEM_ID);
-                   StructuredSelection selection = new StructuredSelection(tableTreeItem.getData());
-                   sViewer.setSelection(selection, true);
-                 }
-		}
-
-
-      });
-      addFocusListener(new FocusAdapter(){
-         public void focusGained(FocusEvent e)
-         {
-         	// if e.source is not a child of the table then set selection - this is for tab into viewer
-         	Object eventSource = e.getSource();
-         	if (eventSource instanceof Control)
-         	{
-         	if (!isChild(currentTable, (Control)eventSource))
-         	{
-         	  if (currentTable.getItemCount() > 0 && currentTable.getSelectionCount() <= 0)
-              {
-                 if (sViewer instanceof TableTreeViewer)
-                 {
-                   TableTreeItem tableTreeItem = (TableTreeItem)getRow().getData(TABLETREEITEM_ID);
-                   StructuredSelection selection = new StructuredSelection(tableTreeItem.getData());
-                   sViewer.setSelection(selection, true);
-                 }
-                 else
-                 {
-               	   currentTable.setSelection(0); 
-               	   setSelection(0,0);
-                 }              
-              }              
-       	    }
-       	    else 
-       	    {
-       	      if (currentTable.getItems().length > 0)
-       	      {
-       	      	 // cursor can end up on a non-existent table row 
-       	         //   currently no way to get the current table cursor row 
-       	      	 //   so for now just catch the exception since it doesn't
-       	      	 //   cause any side effects.
-       	      	 try
-       	      	 {
-                   setVisible(true);
-       	      	 }
-       	      	 catch (Exception ee)
-       	      	 {     	            	      	
-       	      		currentTable.setSelection(0);       	      		         
-       	      		setSelection(0,0);
-       	      	 }
-       	       }       	    
-       	       else  // do not show table cursor if there are no elements in the table - avoid repaint
-       	       {
-       	         setVisible(false);
-       	       }
-              }
-         	}          
-          }
-          
-          protected boolean isChild(Control parent, Control child)
-          {
-            Control tempChild = child;
-            while (tempChild != null)
-            {
-              if (tempChild == parent)
-              {
-                return true;
-              }
-              tempChild = tempChild.getParent();
-            }
-            return false;
-          }
-          
-          /**
-           * @see org.eclipse.swt.events.FocusAdapter#focusLost(FocusEvent)
-           */
-          public void focusLost(FocusEvent e)
-          {
-            // Set the table navigator to be not visible if the the table
-            // is not in focus and a child of the table is not in focus
-            // note that we do this asynchronously so we don't mess up the
-            // current focus handling.
-            Display.getDefault().asyncExec(new Runnable()
-            { 
-              /**
-               * @see java.lang.Runnable#run()
-               */
-              public void run()
-              {
-                if (currentTable != null && !currentTable.isDisposed() && !currentTable.isFocusControl() &&
-                    !isChild(currentTable, Display.getDefault().getFocusControl()))
-                {
-                  setVisible(false);
-                }
-              }
-            });
-          }
-
-      }); 
-      
-     
-      
-
-      table.addFocusListener(new FocusAdapter()
-      {
-        /**
-         * @see org.eclipse.swt.events.FocusListener#focusGained(FocusEvent)
-         */
-        public void focusGained(FocusEvent e)
-        {
-          // only display navigator if there are items in the table 
-          // and if the focus wasn't gained from our own table navigator
-          // (ie focus came from outside)
-          if (currentTable.getItemCount() > 0 &&
-              (Display.getDefault().getFocusControl() != null) &&
-              !Display.getDefault().getFocusControl().equals(TableNavigator.this))
-          {
-            // note that we do this asynchronously so we don't mess up the
-            // current focus handling.
-            Display.getDefault().asyncExec(new Runnable()            
-            {
-              /**
-               * @see java.lang.Runnable#run()
-               */
-              public void run()
-              {
-                if (!isVisible())
-                {
-                  try
-                  {
-                    setVisible(true);
-                    setFocus();
-                  }
-                  catch (Exception e)
-                  {
-                      // catch IllegalArgumentExceptions here - index out of bounds on tableviewer
-                      if (currentTable.getItemCount() > 0)
-                      {
-                      currentTable.setSelection(0);                     
-                      setSelection(0,0);                   
-                      }
-                      else  // do not show table cursor if there are no elements in the table - avoid repaint
-                      {
-                        setVisible(false);
-                      }
-                  }
-                }
-              }
-            });
-          }
-        }
-      });           
-   }
-
-   public Table getTable()
-   {
-     return table;
-   }
-
-    public void addPaintListener(StructuredViewer viewer)
-    {
-      final StructuredViewer tableViewer = viewer;
-
-      addPaintListener(new PaintListener() 
-      {
-         public void paintControl(PaintEvent e)
-         {
-         	TableItem[] selection = table.getSelection();
-            final TableItem row = (selection.length == 0) ? table.getItem(table.getTopIndex()) : selection[0];
-            final String cellText = row.getText(getColumn());
-            final Image cellImage = row.getImage(getColumn());
-            final int col = getColumn();
-
-            Display.getCurrent().asyncExec(new Runnable()
-            {
-               public void run()
-               {
-                  if (!row.isDisposed())
-                  {
-                     String newText = row.getText(getColumn());
-                     TableItem cursorRow = getRow();
-                     if (!newText.equals(cellText) || !(row.getImage(col) == cellImage)) 
-                     {
-                       redraw();
-                     }
-                  }
-                }
-             });
-           }
-       });
-    }
-
-
-    public SelectionKeyAdapter getKeyAdapter(StructuredViewer viewer)
-    {
-        if (keyAdapter == null)
-        {
-           return new SelectionKeyAdapter(viewer);
-        }
-        else return keyAdapter;
-    }
-
-    public void setKeyAdapter(SelectionKeyAdapter kAdapter)
-    {
-       keyAdapter = kAdapter;
-    }
-
-    protected SelectionKeyAdapter keyAdapter = null;
-
-    public class SelectionKeyAdapter extends KeyAdapter
-    {
-       StructuredViewer structuredViewer;
-
-       public SelectionKeyAdapter(StructuredViewer viewer)
-       {
-          super();
-          this.structuredViewer = viewer;
-       }
-
-       int lastKeyPressed = -1;  // used to cache the last key for key combos
-
-       public void keyPressed(KeyEvent e) 
-       {       	
-               TableItem row = getRow();
-               int column = getColumn();                
-
-               // hack to emulate SHIFT+F10 popup menu - otherwise table cursor
-               //   obscures the table popup mechanism and it doesn't work.
-               if (lastKeyPressed == SWT.SHIFT && e.keyCode == SWT.F10)
-               {
-                  Menu popup = getTable().getMenu();
-                  popup.setVisible(true);
-               }
-               lastKeyPressed = e.keyCode;
-               
-               //jvh - look for + or - key
-               // column == 0
-               if (row.getData(TABLETREEITEM_ID) instanceof TableTreeItem)
-               {
-	               if (column == 0 && e.character == '+') 
-	               {
-               	  	  TableTreeItem tableTreeItem = (TableTreeItem)row.getData(TABLETREEITEM_ID);	               	
-	               	  ((TableTreeViewer)structuredViewer).setExpandedState(tableTreeItem.getData(), true);                       
-	               	  refresh();
-	               }
-	               else if (column == 0 && e.character == '-') 
-	               {
-	               	  TableTreeItem tableTreeItem = (TableTreeItem)row.getData(TABLETREEITEM_ID);	               	
-	               	  ((TableTreeViewer)structuredViewer).setExpandedState(tableTreeItem.getData(), false);                       
-                      refresh();
-	               }               
-               }
-               // use F2 to invoke editing for a cell
-               if (e.keyCode == SWT.F2)     
-               {
-               	  if (structuredViewer instanceof TableViewer)
-               	  {
-                    ((TableViewer)structuredViewer).editElement(row.getData(), column);   
-               	  }
-               	  else if (structuredViewer instanceof TableTreeViewer)
-               	  {  
-               	  	  TableTreeItem tableTreeItem = (TableTreeItem)row.getData(TABLETREEITEM_ID);
-               	  	 ((TableTreeViewer)structuredViewer).editElement(tableTreeItem.getData(), column);   
-               	  }
-               }
-        }
-    }
-
-    public void addKeyListeners(StructuredViewer viewer)
-    {
-      final StructuredViewer structuredViewer = viewer;
-                     
-      addKeyListener(getKeyAdapter(structuredViewer));
-    }      
-    
-   public void addMouseListeners(StructuredViewer viewer)
-   {
-      final StructuredViewer structuredViewer = viewer;
-
-      addMouseListener(new MouseAdapter()
-      {
-
-         public void mouseUp(MouseEvent e) 
-         {        
-               TableItem row = getRow();
-               int column = getColumn(); 
-         
-               // use mouse button 1 to invoke editing for a cell
-               if (e.button == 1)     
-               {
-                  if (structuredViewer instanceof TableViewer)
-                        {
-                     ((TableViewer)structuredViewer).editElement(row.getData(), column);   
-                        }
-                        else if (structuredViewer instanceof TableTreeViewer && column == 1)
-                        {
-                                 TableTreeItem tableTreeItem = (TableTreeItem)row.getData(TABLETREEITEM_ID);
-                                ((TableTreeViewer)structuredViewer).editElement(tableTreeItem.getData(), column);   
-                        }                                               
-               
-                 if (structuredViewer instanceof TableTreeViewer && row.getData(TABLETREEITEM_ID) instanceof TableTreeItem)
-                 {              
-                                   if (column == 0)
-                                   {
-                                    TableTreeItem tableTreeItem = (TableTreeItem)row.getData(TABLETREEITEM_ID);                             
-                                          boolean expandState = tableTreeItem.getExpanded();
-                       ((TableTreeViewer)structuredViewer).setExpandedState(tableTreeItem.getData(), !expandState);
-                       refresh();
-                    }
-                 }
-               }          
-            }
-      });
-     }
-
-
-  /**
-   * Ensure that cell editor control shows up above the table cursor control.
-   * Should be called whenever the table viewer makes a new call to setCellEditors
-   * i.e. in constructor and in refreshCellEditors
-   *
-   * @param - array of cell editors for the StructuredViewer
-   */
-
-  public void moveCellEditorsAbove(CellEditor[] editorArray)
-  {
-    for (int i = 0; i < editorArray.length ; i++)
-    {
-      CellEditor cEd = editorArray[i];
-      if (cEd != null && cEd.getControl() != null)
-      {
-        cEd.getControl().moveAbove(null);
-      }
-    }
-  }
-
-  public void refresh()
-  {
-     Display.getCurrent().asyncExec(new Runnable()
-     {
-        public void run()
-        {
-           if (!isDisposed() && isVisible())
-             redraw();
-        }
-     });
-  }
-}
diff --git a/plugins/org.eclipse.wst.common.ui/src/org/eclipse/wst/common/ui/provisional/editors/PostMultiPageEditorSite.java b/plugins/org.eclipse.wst.common.ui/src/org/eclipse/wst/common/ui/provisional/editors/PostMultiPageEditorSite.java
deleted file mode 100644
index ee280ca..0000000
--- a/plugins/org.eclipse.wst.common.ui/src/org/eclipse/wst/common/ui/provisional/editors/PostMultiPageEditorSite.java
+++ /dev/null
@@ -1,103 +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
- *******************************************************************************/
-package org.eclipse.wst.common.ui.provisional.editors;
-
-import org.eclipse.jface.viewers.IPostSelectionProvider;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.ISelectionProvider;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.part.MultiPageEditorPart;
-import org.eclipse.ui.part.MultiPageEditorSite;
-
-/**
- * @deprecated - No longer necessary as of 3.2M3.
- */
-public class PostMultiPageEditorSite extends MultiPageEditorSite {
-	/**
-	 * The post selection change listener, initialized lazily;
-	 * <code>null</code> if not yet created.
-	 */
-	private ISelectionChangedListener postSelectionChangedListener = null;
-
-	public PostMultiPageEditorSite(MultiPageEditorPart multiPageEditor, IEditorPart editor) {
-		super(multiPageEditor, editor);
-	}
-
-	/**
-	 * Returns the selection changed listener which listens to the nested
-	 * editor's post selection changes, and calls
-	 * <code>handlePostSelectionChanged</code>.
-	 * 
-	 * @return the selection changed listener
-	 */
-	private ISelectionChangedListener getPostSelectionChangedListener() {
-		if (postSelectionChangedListener == null) {
-			postSelectionChangedListener = new ISelectionChangedListener() {
-				public void selectionChanged(SelectionChangedEvent event) {
-					PostMultiPageEditorSite.this.handlePostSelectionChanged(event);
-				}
-			};
-		}
-		return postSelectionChangedListener;
-	}
-
-	/**
-	 * Handles a post selection changed event from the nested editor. The
-	 * default implementation gets the selection provider from the multi-page
-	 * editor's site, and calls <code>firePostSelectionChanged</code> on it
-	 * (only if it is an instance of <code>MultiPageSelectionProvider</code>),
-	 * passing a new event object.
-	 * <p>
-	 * Subclasses may extend or reimplement this method.
-	 * </p>
-	 * 
-	 * @param event
-	 *            the event
-	 */
-	protected void handlePostSelectionChanged(SelectionChangedEvent event) {
-		ISelectionProvider parentProvider = getMultiPageEditor().getSite().getSelectionProvider();
-		if (parentProvider instanceof PostMultiPageSelectionProvider) {
-			SelectionChangedEvent newEvent = new SelectionChangedEvent(parentProvider, event.getSelection());
-			((PostMultiPageSelectionProvider) parentProvider).firePostSelectionChanged(newEvent);
-		}
-	}
-
-	/**
-	 * The <code>MultiPageEditorSite</code> implementation of this
-	 * <code>IWorkbenchPartSite</code> method remembers the selection
-	 * provider, and also hooks a listener on it, which calls
-	 * <code>handleSelectionChanged</code> when a selection changed event
-	 * occurs and <code>handlePostSelectionChanged</code> when a post
-	 * selection changed event occurs.
-	 * 
-	 * @param provider
-	 *            The selection provider.
-	 * @see PostMultiPageEditorSite#handleSelectionChanged(SelectionChangedEvent)
-	 */
-	public void setSelectionProvider(ISelectionProvider provider) {
-		ISelectionProvider oldSelectionProvider = getSelectionProvider();
-		if (oldSelectionProvider != null) {
-			if (oldSelectionProvider instanceof IPostSelectionProvider) {
-				((IPostSelectionProvider) oldSelectionProvider).removePostSelectionChangedListener(getPostSelectionChangedListener());
-			}
-		}
-
-		super.setSelectionProvider(provider);
-
-		if (provider != null) {
-			if (provider instanceof IPostSelectionProvider) {
-				((IPostSelectionProvider) provider).addPostSelectionChangedListener(getPostSelectionChangedListener());
-			}
-		}
-	}
-
-}
diff --git a/plugins/org.eclipse.wst.common.ui/src/org/eclipse/wst/common/ui/provisional/editors/PostMultiPageSelectionProvider.java b/plugins/org.eclipse.wst.common.ui/src/org/eclipse/wst/common/ui/provisional/editors/PostMultiPageSelectionProvider.java
deleted file mode 100644
index 3a4f908..0000000
--- a/plugins/org.eclipse.wst.common.ui/src/org/eclipse/wst/common/ui/provisional/editors/PostMultiPageSelectionProvider.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 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.ui.provisional.editors;
-
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jface.util.ListenerList;
-import org.eclipse.jface.util.SafeRunnable;
-import org.eclipse.jface.viewers.IPostSelectionProvider;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.ui.part.MultiPageEditorPart;
-import org.eclipse.ui.part.MultiPageSelectionProvider;
-
-/**
- * @deprecated - No longer necessary as of 3.2M3.
- */
-public class PostMultiPageSelectionProvider extends MultiPageSelectionProvider implements IPostSelectionProvider {
-	private ListenerList postListeners;
-
-	public PostMultiPageSelectionProvider(MultiPageEditorPart multiPageEditor) {
-		super(multiPageEditor);
-		postListeners = new ListenerList();
-	}
-
-	public void addPostSelectionChangedListener(ISelectionChangedListener listener) {
-		postListeners.add(listener);
-	}
-
-	public void firePostSelectionChanged(final SelectionChangedEvent event) {
-		Object[] listeners = postListeners.getListeners();
-		for (int i = 0; i < listeners.length; ++i) {
-			final ISelectionChangedListener pl = (ISelectionChangedListener) listeners[i];
-			Platform.run(new SafeRunnable() {
-				public void run() {
-					pl.selectionChanged(event);
-				}
-			});
-		}
-	}
-
-	public void removePostSelectionChangedListener(ISelectionChangedListener listener) {
-		postListeners.remove(listener);
-	}
-}
diff --git a/plugins/org.eclipse.wst.common.ui/src/org/eclipse/wst/common/ui/provisional/editors/PostSelectionMultiPageEditorPart.java b/plugins/org.eclipse.wst.common.ui/src/org/eclipse/wst/common/ui/provisional/editors/PostSelectionMultiPageEditorPart.java
deleted file mode 100644
index bcd2f07..0000000
--- a/plugins/org.eclipse.wst.common.ui/src/org/eclipse/wst/common/ui/provisional/editors/PostSelectionMultiPageEditorPart.java
+++ /dev/null
@@ -1,46 +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
- *******************************************************************************/
-package org.eclipse.wst.common.ui.provisional.editors;
-
-import org.eclipse.jface.viewers.ISelectionProvider;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IEditorSite;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.part.MultiPageEditorPart;
-
-/**
- * Adds posts selection notifications from contained editor parts to
- * listeners. This part was created as a workaround for
- * https://bugs.eclipse.org/bugs/show_bug.cgi?id=108324 and will be removed
- * once WTP is building on a platform milestone that includes a fix.
- * 
- * @deprecated - No longer necessary as of 3.2M3.
- */
-public abstract class PostSelectionMultiPageEditorPart extends MultiPageEditorPart {
-	public void init(IEditorSite site, IEditorInput input) throws PartInitException {
-		super.init(site, input);
-		site.setSelectionProvider(new PostMultiPageSelectionProvider(this));
-	}
-
-	protected void pageChange(int newPageIndex) {
-		super.pageChange(newPageIndex);
-		IEditorPart activeEditor = getEditor(newPageIndex);
-		if (activeEditor != null) {
-			ISelectionProvider selectionProvider = activeEditor.getSite().getSelectionProvider();
-			if (selectionProvider != null) {
-				SelectionChangedEvent event = new SelectionChangedEvent(selectionProvider, selectionProvider.getSelection());
-				((PostMultiPageSelectionProvider) getSite().getSelectionProvider()).firePostSelectionChanged(event);
-			}
-		}
-	}
-}
diff --git a/plugins/org.eclipse.wst.common.uriresolver/.classpath b/plugins/org.eclipse.wst.common.uriresolver/.classpath
deleted file mode 100644
index 751c8f2..0000000
--- a/plugins/org.eclipse.wst.common.uriresolver/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/plugins/org.eclipse.wst.common.uriresolver/.cvsignore b/plugins/org.eclipse.wst.common.uriresolver/.cvsignore
deleted file mode 100644
index 30d3363..0000000
--- a/plugins/org.eclipse.wst.common.uriresolver/.cvsignore
+++ /dev/null
@@ -1,8 +0,0 @@
-bin
-uriresolver.jar
-build.xml
-temp.folder
-org.eclipse.wst.common.uriresolver_1.0.0.jar
-@dot
-src.zip
-javaCompiler...args
diff --git a/plugins/org.eclipse.wst.common.uriresolver/.project b/plugins/org.eclipse.wst.common.uriresolver/.project
deleted file mode 100644
index e19b693..0000000
--- a/plugins/org.eclipse.wst.common.uriresolver/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.wst.common.uriresolver</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.uriresolver/.settings/org.eclipse.jdt.core.prefs b/plugins/org.eclipse.wst.common.uriresolver/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index b8a0d61..0000000
--- a/plugins/org.eclipse.wst.common.uriresolver/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,57 +0,0 @@
-#Mon Jan 30 19:48:07 EST 2006
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=disabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.4
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=warning
-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=warning
-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=ignore
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=ignore
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
-org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
-org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=ignore
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=error
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=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.unusedLocal=error
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.3
diff --git a/plugins/org.eclipse.wst.common.uriresolver/META-INF/MANIFEST.MF b/plugins/org.eclipse.wst.common.uriresolver/META-INF/MANIFEST.MF
deleted file mode 100644
index 0b06176..0000000
--- a/plugins/org.eclipse.wst.common.uriresolver/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,15 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %pluginName
-Bundle-SymbolicName: org.eclipse.wst.common.uriresolver; singleton:=true
-Bundle-Version: 1.1.0.qualifier
-Bundle-Activator: org.eclipse.wst.common.uriresolver.internal.provisional.URIResolverPlugin
-Bundle-Vendor: %providerName
-Bundle-Localization: plugin
-Export-Package: org.eclipse.wst.common.uriresolver.internal,
- org.eclipse.wst.common.uriresolver.internal.provisional,
- org.eclipse.wst.common.uriresolver.internal.util
-Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.2.0,3.3.0)",
- org.eclipse.core.resources;bundle-version="[3.2.0,3.3.0)"
-Eclipse-LazyStart: true
-Bundle-ClassPath: .
diff --git a/plugins/org.eclipse.wst.common.uriresolver/README.txt b/plugins/org.eclipse.wst.common.uriresolver/README.txt
deleted file mode 100644
index acaf514..0000000
--- a/plugins/org.eclipse.wst.common.uriresolver/README.txt
+++ /dev/null
@@ -1 +0,0 @@
-API for an URI resolver.
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.uriresolver/about.html b/plugins/org.eclipse.wst.common.uriresolver/about.html
deleted file mode 100644
index 4ec5989..0000000
--- a/plugins/org.eclipse.wst.common.uriresolver/about.html
+++ /dev/null
@@ -1,34 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<HTML>
-
-<head>
-<title>About</title>
-<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
-</head>
-
-<BODY lang="EN-US">
-
-<H3>About This Content</H3>
-
-<P>May 2, 2006</P>
-
-<H3>License</H3>
-
-<P>The Eclipse Foundation makes available all content in this plug-in 
-("Content"). Unless otherwise indicated below, the Content is provided to you 
-under the terms and conditions of the Eclipse Public License Version 1.0 
-("EPL"). A copy of the EPL is available at
-<A href="http://www.eclipse.org/org/documents/epl-v10.php">http://www.eclipse.org/org/documents/epl-v10.php</A>. 
-For purposes of the EPL, "Program" will mean the Content.</P>
-
-<P>If you did not receive this Content directly from the Eclipse Foundation, the 
-Content is being redistributed by another party ("Redistributor") and different 
-terms and conditions may apply to your use of any object code in the Content. 
-Check the Redistributor’s license that was provided with the Content. If no such 
-license exists, contact the Redistributor. Unless otherwise indicated below, the 
-terms and conditions of the EPL still apply to any source code in the Content 
-and such source code may be obtained at
-<A href="http://www.eclipse.org/">http://www.eclipse.org/</A>.</P>
-
-</BODY>
-</HTML>
diff --git a/plugins/org.eclipse.wst.common.uriresolver/build.properties b/plugins/org.eclipse.wst.common.uriresolver/build.properties
deleted file mode 100644
index afe5fa3..0000000
--- a/plugins/org.eclipse.wst.common.uriresolver/build.properties
+++ /dev/null
@@ -1,11 +0,0 @@
-source.. = src/
-output.. = bin/
-bin.includes = plugin.xml,\
-               META-INF/,\
-               about.html,\
-               .,\
-               plugin.properties
-bin.excludes = bin/**,\
-               @dot/**,\
-               temp.folder/**
-               
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.uriresolver/plugin.properties b/plugins/org.eclipse.wst.common.uriresolver/plugin.properties
deleted file mode 100644
index 307664b..0000000
--- a/plugins/org.eclipse.wst.common.uriresolver/plugin.properties
+++ /dev/null
@@ -1,15 +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
-###############################################################################
-providerName=Eclipse.org
-pluginName=Common URI Resolver Framework
-###############################################################################
-
-resolverExtensions=URI Resolver Extensions Point
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.uriresolver/plugin.xml b/plugins/org.eclipse.wst.common.uriresolver/plugin.xml
deleted file mode 100644
index 9aa99c4..0000000
--- a/plugins/org.eclipse.wst.common.uriresolver/plugin.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin>
-   <extension-point id="resolverExtensions" name="%resolverExtensions" schema="schema/resolverExtensions.exsd"/>
-
-
-</plugin>
diff --git a/plugins/org.eclipse.wst.common.uriresolver/schema/resolverExtensions.exsd b/plugins/org.eclipse.wst.common.uriresolver/schema/resolverExtensions.exsd
deleted file mode 100644
index 702bb0c..0000000
--- a/plugins/org.eclipse.wst.common.uriresolver/schema/resolverExtensions.exsd
+++ /dev/null
@@ -1,167 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.wst.common.uriresolver">
-<annotation>
-      <appInfo>
-         <meta.schema plugin="org.eclipse.wst.common.uriresolver" id="resolverExtensions" name="URI Resolver Extensions Point"/>
-      </appInfo>
-      <documentation>
-         The URI Resolver Extensions point allows clients to register custom URI resolvers that will be used in the resolution of resources by tools such as editors, generators, validators, and wizards.
-      </documentation>
-   </annotation>
-
-   <element name="extension">
-      <complexType>
-         <sequence>
-            <element ref="resolverExtension" minOccurs="1" maxOccurs="unbounded"/>
-         </sequence>
-         <attribute name="point" type="string" use="required">
-            <annotation>
-               <documentation>
-                  a fully qualified identifier of the target extension point
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="id" type="string">
-            <annotation>
-               <documentation>
-                  an optional identifier of the extension instance
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="name" type="string">
-            <annotation>
-               <documentation>
-                  an optional name of the extension instance
-               </documentation>
-               <appInfo>
-                  <meta.attribute translatable="true"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="resolverExtension">
-      <complexType>
-         <sequence>
-            <element ref="projectNature" minOccurs="0" maxOccurs="unbounded"/>
-         </sequence>
-         <attribute name="stage" type="string">
-            <annotation>
-               <documentation>
-                  The stage in which to run this extension resolver: prenormalization, postnormalization, or physical. Defaults to postnormalization.&lt;br&gt;
-prenormalization:  run before normalization of the input&lt;br&gt;
-postnormalization: run after normalization of the input&lt;br&gt;
-physical:          run after all pre and postnormalization resolvers
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="class" type="string" use="required">
-            <annotation>
-               <documentation>
-                  The class that implements &lt;code&gt;org.eclipse.wst.common.uriresolver.internal.provisional.URIResolver&lt;/code&gt;.
-               </documentation>
-               <appInfo>
-                  <meta.attribute kind="java"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-         <attribute name="priority" type="string">
-            <annotation>
-               <documentation>
-                  The priority of this resolver: high, medium, or low. Defaults to medium. The priority allows you to specify when this resolver should run with respect to other resolvers defined for the same stage.
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="projectNature">
-      <annotation>
-         <documentation>
-            If a project nature is specified the URI resolver will only be used for projects that contain one of the specified project natures. If no project natures are specified the URI resolver will be used for all projects.
-         </documentation>
-      </annotation>
-      <complexType>
-         <attribute name="value" type="string" use="required">
-            <annotation>
-               <documentation>
-                  A project nature ID for which the URI resolver should be used.
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="since"/>
-      </appInfo>
-      <documentation>
-         &lt;b&gt;This extension point is part of an interim API that is still under development and expected to change significantly before reaching stability. It is being made available at this early stage to solicit feedback from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken (repeatedly) as the API evolves.&lt;/b&gt;
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="examples"/>
-      </appInfo>
-      <documentation>
-         The following is an example of an URI resolver contribution:
-&lt;pre&gt;
-   &lt;extension
-         point=&quot;org.eclipse.wst.common.uriresolver.resolverExtensions&quot;&gt;
-      &lt;resolverExtension
-            stage=&quot;physical&quot;
-            priority=&quot;low&quot;
-            class=&quot;org.eclipse.wst.common.uriresolver.SampleResolver&quot;&gt;
-      &lt;/resolverExtension&gt;
-   &lt;/extension&gt;
-&lt;/pre&gt;
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="apiInfo"/>
-      </appInfo>
-      <documentation>
-         The supplied class must implement &lt;code&gt;org.eclipse.wst.common.uriresolver.internal.provisional.URIResolver&lt;/code&gt;.
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="implementation"/>
-      </appInfo>
-      <documentation>
-         &lt;code&gt;
-org.eclipse.wst.common.componentcore.internal.util.ComponentResolver
-&lt;/code&gt;
-provides an URI resolver that resolves references in a project with multiple components
-&lt;code&gt;
-org.eclipse.wst.internet.cache.internal.CacheURIResolverExtension
-&lt;/code&gt;
-provides an URI resolver that resolves references in a cache
-&lt;code&gt;
-org.eclipse.wst.xml.core.internal.catalog.XMLCatalogURIResolverExtension
-&lt;/code&gt;
-provides an URI resolver that resolves references from an XML catalog
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="copyright"/>
-      </appInfo>
-      <documentation>
-         Copyright (c) 2000, 2005 IBM Corporation and others.&lt;br&gt;
-All rights reserved. This program and the accompanying materials are made 
-available under the terms of the Eclipse Public License v1.0 which accompanies 
-this distribution, and is available at &lt;a
-href=&quot;http://www.eclipse.org/legal/epl-v10.html&quot;&gt;http://www.eclipse.org/legal/epl-v10.html&lt;/a&gt;
-      </documentation>
-   </annotation>
-
-</schema>
diff --git a/plugins/org.eclipse.wst.common.uriresolver/src/org/eclipse/wst/common/uriresolver/internal/ExtensibleURIResolver.java b/plugins/org.eclipse.wst.common.uriresolver/src/org/eclipse/wst/common/uriresolver/internal/ExtensibleURIResolver.java
deleted file mode 100644
index e9b2c17..0000000
--- a/plugins/org.eclipse.wst.common.uriresolver/src/org/eclipse/wst/common/uriresolver/internal/ExtensibleURIResolver.java
+++ /dev/null
@@ -1,203 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *******************************************************************************/
-package org.eclipse.wst.common.uriresolver.internal;
-
-import java.util.Iterator;
-import java.util.List;
-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.IStatus;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.wst.common.uriresolver.internal.provisional.URIResolver;
-import org.eclipse.wst.common.uriresolver.internal.provisional.URIResolverExtension;
-import org.eclipse.wst.common.uriresolver.internal.provisional.URIResolverPlugin;
-import org.osgi.framework.Bundle;
-
-
-/**
- * @author csalter
- * 
- */
-public class ExtensibleURIResolver implements URIResolver
-{
-	private static final boolean logExceptions = false;
-
-	//protected IProject project;
-
-	//TODO... consider ctor that takes a project arg
-	//public ExtensibleURIResolver(IProject project)
-	//{
-	//	this.project = project;
-	//}
-
-	public ExtensibleURIResolver()
-	{
-	}
-
-	public String resolve(String baseLocation, String publicId, String systemId)
-	{
-		String result = systemId;
-
-		// compute the project that holds the resource
-		//
-    IFile file = computeFile(baseLocation);
-		IProject project =  file != null ? file.getProject() : null;
-
-		URIResolverExtensionRegistry resolverRegistry = URIResolverExtensionRegistry.getIntance();
-		List list = resolverRegistry.getExtensionDescriptors(project);
-
-		// get the list of applicable pre-normalized resolvers from the
-		// extension registry
-		//
-		for (Iterator i = resolverRegistry.getMatchingURIResolvers(list, URIResolverExtensionRegistry.STAGE_PRENORMALIZATION).iterator(); i.hasNext();)
-		{
-			URIResolverExtension resolver = (URIResolverExtension) i.next();
-			String tempresult = resolver.resolve(file, baseLocation, publicId, result);
-			if(tempresult != null)
-			{
-			  result = tempresult;
-			}
-		}
-
-		// normalize the uri
-		//
-		result = normalize(baseLocation, result);
-
-		// get the list of applicable post-normalized resolvers from the
-		// extension registry
-		//		
-		for (Iterator i = resolverRegistry.getMatchingURIResolvers(list, URIResolverExtensionRegistry.STAGE_POSTNORMALIZATION).iterator(); i.hasNext();)
-		{ 
-			URIResolverExtension resolver = (URIResolverExtension) i.next();
-			String tempresult = resolver.resolve(file, baseLocation, publicId, result);
-			if(tempresult != null)
-			{
-			  result = tempresult;
-			}
-		}
-
-		return result;
-	}
-    
-    public String resolvePhysicalLocation(String baseLocation, String publicId, String logicalLocation)
-    {
-      String result = logicalLocation;
-      URIResolverExtensionRegistry resolverRegistry = URIResolverExtensionRegistry.getIntance();
-      IFile file = computeFile(baseLocation);
-      
-      // compute the project that holds the resource
-      //      
-      IProject project =  file != null ? file.getProject() : null;            
-      List list = resolverRegistry.getExtensionDescriptors(project);      
-      for (Iterator i = resolverRegistry.getMatchingURIResolvers(list, URIResolverExtensionRegistry.STAGE_PHYSICAL).iterator(); i.hasNext(); )
-      {        
-        // get the list of applicable physical resolvers from the extension registry
-        //
-        while (i.hasNext())
-        {
-          URIResolverExtension resolver = (URIResolverExtension) i.next();
-          String tempresult = resolver.resolve(file, baseLocation, publicId, result);
-          if(tempresult != null)
-          {
-            result = tempresult;
-          }
-        }
-      }        
-      return result;
-    }
-    
-
-	protected String normalize(String baseLocation, String systemId)
-	{
-	  // If no systemId has been specified there is nothing to do
-	  // so return null;
-	  if(systemId == null)
-	    return null;
-	  String result = systemId;
-      
-      // cs : sometimes normalizing the URI will cause an exception to get thrown
-      // for example the 'bad' version of the URI below ...
-      //
-      //   good = "jar:/resource/project-name/WebContent/WEB-INF/lib/generator.jar!/META-INF/schema/config.dtd"
-      //   bad  = "jar:/resource/project-name/WebContent/WEB-INF/lib/generator.jar/META-INF/schema/config.dtd"
-      //
-      // Here we enclose the normalization in a try/catch block with the assumption that the caller
-      // (i.e. the 'resolve' method) isn't interested in handling this exception.        
-	  try
-	  {
-	    // normalize the URI
-	    URI systemURI = URI.createURI(systemId);
-	    if (systemURI.isRelative())
-	    {
-	      baseLocation = baseLocation.replace('\\','/');
-	      URI baseURI = URI.createURI(baseLocation);
-          
-          // TODO (cs) we should add more comments to explain this in a bit more detail
-	      try
-	      {
-	        result = systemURI.resolve(baseURI).toString();
-	      }
-	      catch (IllegalArgumentException e) {
-	        Bundle bundle = URIResolverPlugin.getInstance().getBundle();
-	        IStatus statusObj = null;
-	        java.net.URI baseURI2 = null;
-	        try {
-	          baseURI2 = java.net.URI.create(baseLocation);
-	        }
-	        catch (IllegalArgumentException e2) {
-	          if(logExceptions) {
-	            statusObj = new Status(IStatus.ERROR, bundle.getSymbolicName(), IStatus.ERROR, "Problem in creating java.net.URI in ExtensibleURIResolver:" + e2.getMessage(), e2); //$NON-NLS-1$
-	            Platform.getLog(bundle).log(statusObj);
-	          }
-	        }
-	        try {
-	          if(baseURI2 != null) {
-	            java.net.URI resultURI = baseURI2.resolve(systemId);
-	            result = resultURI.toString();
-	          }
-	        }
-	        catch (IllegalArgumentException e2) {
-	          if(logExceptions) {
-	            statusObj = new Status(IStatus.ERROR, bundle.getSymbolicName(), IStatus.ERROR, "Problem in resolving with java.net.URI in ExtensibleURIResolver:" + e2.getMessage(), null); //$NON-NLS-1$
-	            Platform.getLog(bundle).log(statusObj);
-	          }
-	        }
-	      }
-	    }
-	  }
-	  catch (Exception e)
-	  {     
-        // just eat the exception and return back the original systemId
-	  }
-	  return result;
-	}
-
-  protected IFile computeFile(String baseLocation)
-  {
-    IFile file = null;
-    if (baseLocation != null)
-    {
-      String pattern = "file:///"; //$NON-NLS-1$
-      if (baseLocation.startsWith(pattern))
-      {
-        baseLocation = baseLocation.substring(pattern.length());
-      }
-      IPath path = new Path(baseLocation);
-      file = ResourcesPlugin.getWorkspace().getRoot().getFileForLocation(path);
-    }
-    return file;    
-  }
-}
diff --git a/plugins/org.eclipse.wst.common.uriresolver/src/org/eclipse/wst/common/uriresolver/internal/URI.java b/plugins/org.eclipse.wst.common.uriresolver/src/org/eclipse/wst/common/uriresolver/internal/URI.java
deleted file mode 100644
index aa411a9..0000000
--- a/plugins/org.eclipse.wst.common.uriresolver/src/org/eclipse/wst/common/uriresolver/internal/URI.java
+++ /dev/null
@@ -1,2875 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *******************************************************************************/
-package org.eclipse.wst.common.uriresolver.internal;
-
-import java.io.File;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
-/**
- * A representation of a Uniform Resource Identifier (URI), as specified by
- * <a href="http://www.ietf.org/rfc/rfc2396.txt">RFC 2396</a>, with certain
- * enhancements.  A <code>URI</code> instance can be created by specifying
- * values for its components, or by providing a single URI string, which is
- * parsed into its components.  Static factory methods whose names begin
- * with "create" are used for both forms of object creation.  No public or
- * protected constructors are provided; this class can not be subclassed.
- *
- * <p>Like <code>String</code>, <code>URI</code> is an immutable class;
- * a <code>URI</code> instance offers several by-value methods that return a
- * new <code>URI</code> object based on its current state.  Most useful,
- * a relative <code>URI</code> can be {@link #resolve(URI) resolve}d against
- * a base absolute <code>URI</code> -- the latter typically identifies the
- * document in which the former appears.  The inverse to this is {@link
- * #deresolve(URI) deresolve}, which answers the question, "what relative
- * URI will resolve, against the given base, to this absolute URI?"
- *
- * <p>In the <a href="http://www.ietf.org/rfc/rfc2396.txt">RFC</a>, much
- * attention is focused on a hierarchical naming system used widely to
- * locate resources via common protocols such as HTTP, FTP, and Gopher, and
- * to identify files on a local file system.  Acordingly, most of this
- * class's functionality is for handling such URIs, which can be identified
- * via {@link #isHierarchical isHierarchical}.
- *
- * <p><a name="device_explanation">
- * The primary enhancement beyond the RFC description is an optional
- * device component.  Instead of treating the device as just another segment
- * in the path, it can be stored as a separate component (almost a
- * sub-authority), with the root below it.  For example, resolving
- * <code>/bar</code> against <code>file:///c:/foo</code> would result in
- * <code>file:///c:/bar</code> being returned.  Also, you cannot take
- * the parent of a device, so resolving <code>..</code> against
- * <code>file:///c:/</code> would not yield <code>file:///</code>, as you
- * might expect.  This feature is useful when working with file-scheme
- * URIs, as devices do not typically occur in protocol-based ones.  A
- * device-enabled <code>URI</code> is created by parsing a string with
- * {@link #createURI(String) createURI}; if the first segment of the path
- * ends with the <code>:</code> character, it is stored (including the colon)
- * as the device, instead.  Alternately, either the {@link
- * #createHierarchicalURI(String, String, String, String, String) no-path}
- * or the {@link #createHierarchicalURI(String, String, String, String[],
- * String, String) absolute-path} form of <code>createHierarchicalURI()</code>
- * can be used, in which a non-null <code>device</code> parameter can be
- * specified.
- *
- * <p><a name="archive_explanation"> 
- * The other enhancement provides support for the almost-hierarchical
- * form used for files within archives, such as the JAR scheme, defined
- * for the Java Platform in the documentation for {@link
- * java.net.JarURLConnection}. By default, this support is enabled for
- * absolute URIs with scheme equal to "jar", "zip", or "archive" (ignoring case), and
- * is implemented by a hierarchical URI, whose authority includes the
- * entire URI of the archive, up to and including the <code>!</code>
- * character.  The URI of the archive must have no fragment.  The whole
- * archive URI must have no device and an absolute path.  Special handling
- * is supported for {@link #createURI creating}, {@link
- * #validArchiveAuthority validating}, {@link #devicePath getting the path}
- * from, and {@link #toString displaying} archive URIs. In all other
- * operations, including {@link #resolve(URI) resolving} and {@link
- * #deresolve(URI) deresolving}, they are handled like any ordinary URI.
- *
- * <p>This implementation does not impose the all of the restrictions on
- * character validity that are specified in the RFC.  Static methods whose
- * names begin with "valid" are used to test whether a given string is valid
- * value for the various URI components.  Presently, these tests place no
- * restrictions beyond what would have been required in order for {@link
- * createURI(String) createURI} to have parsed them correctly from a single
- * URI string.  If necessary in the future, these tests may be made more
- * strict, to better coform to the RFC.
- * 
- * <p>Another group of static methods, whose names begin with "encode", use
- * percent escaping to encode any characters that are not permitted in the
- * various URI components. Another static method is provided to {@link
- * #decode decode} encoded strings.  An escaped character is represented as
- * a percent sybol (<code>%</code>), followed by two hex digits that specify
- * the character code.  These encoding methods are more strict than the
- * validation methods described above.  They ensure validity according to the
- * RFC, with one exception: non-ASCII characters.
- *
- * <p>The RFC allows only characters that can be mapped to 7-bit US-ASCII
- * representations.  Non-ASCII, single-byte characters can be used only via
- * percent escaping, as described above.  This implementation uses Java's
- * Unicode <code>char</code> and <code>String</code> representations, and
- * makes no attempt to encode characters 0xA0 and above.  Characters in the
- * range 0x80-0x9F are still escaped.  In this respect, this notion of a URI
- * is actually more like an IRI (Internationalized Resource Identifier), for
- * which an RFC is now in <href="http://www.w3.org/International/iri-edit/draft-duerst-iri-09.txt">draft
- * form</a>.
- *
- * <p>Finally, note the difference between a <code>null</code> parameter to
- * the static factory methods and an empty string.  The former signifies the
- * absense of a given URI component, while the latter simply makes the
- * component blank.  This can have a significant effect when resolving.  For
- * example, consider the following two URIs: <code>/bar</code> (with no
- * authority) and <code>///bar</code> (with a blank authority).  Imagine
- * resolving them against a base with an authority, such as
- * <code>http://www.eclipse.org/</code>.  The former case will yield
- * <code>http://www.eclipse.org/bar</code>, as the base authority will be
- * preserved.  In the latter case, the empty authority will override the
- * base authority, resulting in <code>http:///bar</code>!
- */
-public final class URI
-{
-  // Common to all URI types.
-  private final int hashCode;
-  private final boolean hierarchical;
-  private final String scheme;  // null -> relative URI reference
-  private final String authority;
-  private final String fragment;
-  private URI cachedTrimFragment;
-  private String cachedToString;
-  //private final boolean iri;
-  //private URI cachedASCIIURI;
-
-  // Applicable only to a hierarchical URI.
-  private final String device;
-  private final boolean absolutePath;
-  private final String[] segments; // empty last segment -> trailing separator
-  private final String query;
-
-  // A cache of URIs, keyed by the strings from which they were created.
-  // The fragment of any URI is removed before caching it here, to minimize
-  // the size of the cache in the usual case where most URIs only differ by
-  // the fragment.
-  private static final Map uriCache = Collections.synchronizedMap(new HashMap());
-
-  // The lower-cased schemes that will be used to identify archive URIs.
-  private static final Set archiveSchemes;
-
-  // Identifies a file-type absolute URI.
-  private static final String SCHEME_FILE = "file";
-  private static final String SCHEME_JAR = "jar";
-  private static final String SCHEME_ZIP = "zip";
-  private static final String SCHEME_ARCHIVE = "archive";
-
-  // Special segment values interpreted at resolve and resolve time.
-  private static final String SEGMENT_EMPTY = "";
-  private static final String SEGMENT_SELF = ".";
-  private static final String SEGMENT_PARENT = "..";
-  private static final String[] NO_SEGMENTS = new String[0];
-
-  // Separators for parsing a URI string.
-  private static final char SCHEME_SEPARATOR = ':';
-  private static final String AUTHORITY_SEPARATOR = "//";
-  private static final char DEVICE_IDENTIFIER = ':';
-  private static final char SEGMENT_SEPARATOR = '/';
-  private static final char QUERY_SEPARATOR = '?';
-  private static final char FRAGMENT_SEPARATOR = '#';
-  private static final char USER_INFO_SEPARATOR = '@';
-  private static final char PORT_SEPARATOR = ':';
-  private static final char FILE_EXTENSION_SEPARATOR = '.';
-  private static final char ARCHIVE_IDENTIFIER = '!';
-  private static final String ARCHIVE_SEPARATOR = "!/";
-
-  // Characters to use in escaping.
-  private static final char ESCAPE = '%';
-  private static final char[] HEX_DIGITS = {
-    '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F' };
-
-  // Some character classes, as defined in RFC 2396's BNF for URI.
-  // These are 128-bit bitmasks, stored as two longs, where the Nth bit is set
-  // iff the ASCII character with value N is included in the set.  These are
-  // created with the highBitmask() and lowBitmask() methods defined below,
-  // and a character is tested against them using matches().
-  //
-  private static final long ALPHA_HI = highBitmask('a', 'z') | highBitmask('A', 'Z');
-  private static final long ALPHA_LO = lowBitmask('a', 'z')  | lowBitmask('A', 'Z');
-  private static final long DIGIT_HI = highBitmask('0', '9');
-  private static final long DIGIT_LO = lowBitmask('0', '9');
-  private static final long ALPHANUM_HI = ALPHA_HI | DIGIT_HI;
-  private static final long ALPHANUM_LO = ALPHA_LO | DIGIT_LO;
-  private static final long HEX_HI = DIGIT_HI | highBitmask('A', 'F') | highBitmask('a', 'f');
-  private static final long HEX_LO = DIGIT_LO | lowBitmask('A', 'F')  | lowBitmask('a', 'f');
-  private static final long UNRESERVED_HI = ALPHANUM_HI | highBitmask("-_.!~*'()"); 
-  private static final long UNRESERVED_LO = ALPHANUM_LO | lowBitmask("-_.!~*'()");
-  private static final long RESERVED_HI = highBitmask(";/?:@&=+$,");
-  private static final long RESERVED_LO = lowBitmask(";/?:@&=+$,");
-  private static final long URIC_HI = RESERVED_HI | UNRESERVED_HI;  // | ucschar | escaped
-  private static final long URIC_LO = RESERVED_LO | UNRESERVED_LO;
-
-  // Additional useful character classes, including characters valid in certain
-  // URI components and separators used in parsing them out of a string. 
-  //
-  private static final long SEGMENT_CHAR_HI = UNRESERVED_HI | highBitmask(";:@&=+$,");  // | ucschar | escaped
-  private static final long SEGMENT_CHAR_LO = UNRESERVED_LO | lowBitmask(";:@&=+$,");
-  private static final long PATH_CHAR_HI = SEGMENT_CHAR_HI | highBitmask('/');  // | ucschar | escaped
-  private static final long PATH_CHAR_LO = SEGMENT_CHAR_LO | lowBitmask('/');
-//  private static final long SCHEME_CHAR_HI = ALPHANUM_HI | highBitmask("+-.");
-//  private static final long SCHEME_CHAR_LO = ALPHANUM_LO | lowBitmask("+-.");
-  private static final long MAJOR_SEPARATOR_HI = highBitmask(":/?#");
-  private static final long MAJOR_SEPARATOR_LO = lowBitmask(":/?#");
-  private static final long SEGMENT_END_HI = highBitmask("/?#");
-  private static final long SEGMENT_END_LO = lowBitmask("/?#");
-
-  // Static initializer for archiveSchemes.
-  static
-  {
-    Set set = new HashSet();
-    set.add(SCHEME_JAR);
-    set.add(SCHEME_ZIP);
-    set.add(SCHEME_ARCHIVE);
-    
-    
-    archiveSchemes = Collections.unmodifiableSet(set);
-  }
-
-  // Returns the lower half bitmask for the given ASCII character.
-  private static long lowBitmask(char c)
-  {
-    return c < 64 ? 1L << c : 0L;
-  }
-
-  // Returns the upper half bitmask for the given ACSII character.
-  private static long highBitmask(char c)
-  {
-    return c >= 64 && c < 128 ? 1L << (c - 64) : 0L;
-  }
-
-  // Returns the lower half bitmask for all ASCII characters between the two
-  // given characters, inclusive.
-  private static long lowBitmask(char from, char to)
-  {
-    long result = 0L;
-    if (from < 64 && from <= to)
-    {
-      to = to < 64 ? to : 63;
-      for (char c = from; c <= to; c++)
-      {
-        result |= (1L << c);
-      }
-    }
-    return result;
-  }
-
-  // Returns the upper half bitmask for all AsCII characters between the two
-  // given characters, inclusive.
-  private static long highBitmask(char from, char to)
-  {
-    return to < 64 ? 0 : lowBitmask((char)(from < 64 ? 0 : from - 64), (char)(to - 64));
-  }
-
-  // Returns the lower half bitmask for all the ASCII characters in the given
-  // string.
-  private static long lowBitmask(String chars)
-  {
-    long result = 0L;
-    for (int i = 0, len = chars.length(); i < len; i++)
-    {
-      char c = chars.charAt(i);
-      if (c < 64) result |= (1L << c);
-    }
-    return result;
-  }
-
-  // Returns the upper half bitmask for all the ASCII characters in the given
-  // string.
-  private static long highBitmask(String chars)
-  {
-    long result = 0L;
-    for (int i = 0, len = chars.length(); i < len; i++)
-    {
-      char c = chars.charAt(i);
-      if (c >= 64 && c < 128) result |= (1L << (c - 64));
-    }
-    return result;
-  }
-
-  // Returns whether the given character is in the set specified by the given
-  // bitmask.
-  private static boolean matches(char c, long highBitmask, long lowBitmask)
-  {
-    if (c >= 128) return false;
-    return c < 64 ?
-      ((1L << c) & lowBitmask) != 0 :
-      ((1L << (c - 64)) & highBitmask) != 0;
-  }
-
-  // Debugging method: converts the given long to a string of binary digits.
-/*
-  private static String toBits(long l)
-  {
-    StringBuffer result = new StringBuffer();
-    for (int i = 0; i < 64; i++)
-    {
-      boolean b = (l & 1L) != 0;
-      result.insert(0, b ? '1' : '0');
-      l >>= 1;
-    }
-    return result.toString();
-  }
-*/
-
-  /**
-   * Static factory method for a generic, non-hierarchical URI.  There is no
-   * concept of a relative non-hierarchical URI; such an object cannot be
-   * created.
-   *
-   * @exception java.lang.IllegalArgumentException if <code>scheme</code> is
-   * null, if <code>scheme</code> is an <a href="#archive_explanation">archive
-   * URI</a> scheme, or if <code>scheme</code>, <code>opaquePart</code>, or
-   * <code>fragment</code> is not valid according to {@link #validScheme
-   * validScheme}, {@link #validOpaquePart validOpaquePart}, or {@link
-   * #validFragment validFragment}, respectively.
-   */
-  public static URI createGenericURI(String scheme, String opaquePart,
-                                     String fragment)
-  {
-    if (scheme == null)
-    {
-      throw new IllegalArgumentException("relative non-hierarchical URI");
-    }
-
-    if (isArchiveScheme(scheme))
-    {
-      throw new IllegalArgumentException("non-hierarchical archive URI");
-    }
-
-    validateURI(false, scheme, opaquePart, null, false, NO_SEGMENTS, null, fragment);
-    return new URI(false, scheme, opaquePart, null, false, NO_SEGMENTS, null, fragment);
-  }
-
-  /**
-   * Static factory method for a hierarchical URI with no path.  The
-   * URI will be relative if <code>scheme</code> is non-null, and absolute
-   * otherwise.  An absolute URI with no path requires a non-null
-   * <code>authority</code> and/or <code>device</code>.
-   *
-   * @exception java.lang.IllegalArgumentException if <code>scheme</code> is
-   * non-null while <code>authority</code> and <code>device</code> are null,
-   * if <code>scheme</code> is an <a href="#archive_explanation">archive
-   * URI</a> scheme, or if <code>scheme</code>, <code>authority</code>,
-   * <code>device</code>, <code>query</code>, or <code>fragment</code> is not
-   * valid according to {@link #validScheme validSheme}, {@link
-   * #validAuthority validAuthority}, {@link #validDevice validDevice},
-   * {@link #validQuery validQuery}, or {@link #validFragment validFragment},
-   * respectively.
-   */
-  public static URI createHierarchicalURI(String scheme, String authority,
-                                          String device, String query,
-                                          String fragment)
-  {
-    if (scheme != null && authority == null && device == null)
-    {
-      throw new IllegalArgumentException(
-        "absolute hierarchical URI without authority, device, path");
-    }
-
-    if (isArchiveScheme(scheme))
-    {
-      throw new IllegalArgumentException("archive URI with no path");
-    }
-
-    validateURI(true, scheme, authority, device, false, NO_SEGMENTS, query, fragment);
-    return new URI(true, scheme, authority, device, false, NO_SEGMENTS, query, fragment);
-  }
-
-  /**
-   * Static factory method for a hierarchical URI with absolute path.
-   * The URI will be relative if <code>scheme</code> is non-null, and
-   * absolute otherwise. 
-   *
-   * @param segments an array of non-null strings, each representing one
-   * segment of the path.  As an absolute path, it is automatically
-   * preceeded by a <code>/</code> separator.  If desired, a trailing
-   * separator should be represented by an empty-string segment as the last
-   * element of the array. 
-   *
-   * @exception java.lang.IllegalArgumentException if <code>scheme</code> is
-   * an <a href="#archive_explanation">archive URI</a> scheme and 
-   * <code>device</code> is non-null, or if <code>scheme</code>,
-   * <code>authority</code>, <code>device</code>, <code>segments</code>,
-   * <code>query</code>, or <code>fragment</code> is not valid according to
-   * {@link #validScheme validScheme}, {@link #validAuthority validAuthority}
-   * or {@link #validArchiveAuthority validArchiveAuthority}, {@link
-   * #validDevice validDevice}, {@link #validSegments validSegments}, {@link
-   * #validQuery validQuery}, or {@link #validFragment validFragment}, as
-   * appropriate.
-   */
-  public static URI createHierarchicalURI(String scheme, String authority,
-                                          String device, String[] segments,
-                                          String query, String fragment)
-  {
-    if (isArchiveScheme(scheme) && device != null)
-    {
-      throw new IllegalArgumentException("archive URI with device");
-    }
-
-    segments = fix(segments);
-    validateURI(true, scheme, authority, device, true, segments, query, fragment);
-    return new URI(true, scheme, authority, device, true, segments, query, fragment);
-  }
-
-  /**
-   * Static factory method for a relative hierarchical URI with relative
-   * path.
-   *
-   * @param segments an array of non-null strings, each representing one
-   * segment of the path.  A trailing separator is represented by an
-   * empty-string segment at the end of the array.
-   *
-   * @exception java.lang.IllegalArgumentException if <code>segments</code>,
-   * <code>query</code>, or <code>fragment</code> is not valid according to 
-   * {@link #validSegments validSegments}, {@link #validQuery validQuery}, or
-   * {@link #validFragment validFragment}, respectively.
-   */
-  public static URI createHierarchicalURI(String[] segments, String query,
-                                          String fragment)
-  {
-    segments = fix(segments);
-    validateURI(true, null, null, null, false, segments, query, fragment);
-    return new URI(true, null, null, null, false, segments, query, fragment);
-  }
-
-  // Converts null to length-zero array, and clones array to ensure
-  // immutability.
-  private static String[] fix(String[] segments)
-  {
-    return segments == null ? NO_SEGMENTS : (String[])segments.clone();
-  }
-  
-  /**
-   * Static factory method based on parsing a URI string, with 
-   * <a href="#device_explanation">explicit device support</a> and handling
-   * for <a href="#archive_explanation">archive URIs</a> enabled. The
-   * specified string is parsed as described in <a
-   * href="http://www.ietf.org/rfc/rfc2396.txt">RFC 2396</a>, and an
-   * appropriate <code>URI</code> is created and returned.  Note that
-   * validity testing is not as strict as in the RFC; essentially, only
-   * separator characters are considered.  So, for example, non-Latin
-   * alphabet characters appearing in the scheme would not be considered an
-   * error.
-   *
-   * @exception java.lang.IllegalArgumentException if any component parsed
-   * from <code>uri</code> is not valid according to {@link #validScheme
-   * validScheme}, {@link #validOpaquePart validOpaquePart}, {@link
-   * #validAuthority validAuthority}, {@link #validArchiveAuthority
-   * validArchiveAuthority}, {@link #validDevice validDevice}, {@link
-   * #validSegments validSegments}, {@link #validQuery validQuery}, or {@link
-   * #validFragment validFragment}, as appropriate.
-   */
-  public static URI createURI(String uri)
-  {
-    return createURIWithCache(uri); 
-  }
-
-  /**
-   * Static factory method that encodes and parses the given URI string.
-   * Appropriate encoding is performed for each component of the URI.
-   * If more than one <code>#</code> is in the string, the last one is
-   * assumed to be the fragment's separator, and any others are encoded.
-   *  
-   * @param ignoreEscaped <code>true</code> to leave <code>%</code> characters
-   * unescaped if they already begin a valid three-character escape sequence;
-   * <code>false</code> to encode all <code>%</code> characters.  Note that
-   * if a <code>%</code> is not followed by 2 hex digits, it will always be
-   * escaped. 
-   *
-   * @exception java.lang.IllegalArgumentException if any component parsed
-   * from <code>uri</code> is not valid according to {@link #validScheme
-   * validScheme}, {@link #validOpaquePart validOpaquePart}, {@link
-   * #validAuthority validAuthority}, {@link #validArchiveAuthority
-   * validArchiveAuthority}, {@link #validDevice validDevice}, {@link
-   * #validSegments validSegments}, {@link #validQuery validQuery}, or {@link
-   * #validFragment validFragment}, as appropriate.
-   */
-  public static URI createURI(String uri, boolean ignoreEscaped)
-  {
-    return createURIWithCache(encodeURI(uri, ignoreEscaped));
-  }
-
-  /**
-   * Static factory method based on parsing a URI string, with 
-   * <a href="#device_explanation">explicit device support</a> enabled.  
-   * Note that validity testing is not a strict as in the RFC; essentially,
-   * only separator characters are considered.  So, for example, non-Latin
-   * alphabet characters appearing in the scheme would not be considered an
-   * error.
-   *
-   * @exception java.lang.IllegalArgumentException if any component parsed
-   * from <code>uri</code> is not valid according to {@link #validScheme
-   * validScheme}, {@link #validOpaquePart validOpaquePart}, {@link
-   * #validAuthority validAuthority}, {@link #validArchiveAuthority
-   * validArchiveAuthority}, {@link #validDevice validDevice}, {@link
-   * #validSegments validSegments}, {@link #validQuery validQuery}, or {@link
-   * #validFragment validFragment}, as appropriate.
-   *
-   * @deprecated Use {@link #createURI createURI}, which now has explicit
-   * device support enabled. The two methods now operate identically.
-   */
-  public static URI createDeviceURI(String uri)
-  {
-    return createURIWithCache(uri);
-  }
-
-  // Uses a cache to speed up creation of a URI from a string.  The cache
-  // is consulted to see if the URI, less any fragment, has already been
-  // created.  If needed, the fragment is re-appended to the cached URI,
-  // which is considerably more efficient than creating the whole URI from
-  // scratch.  If the URI wasn't found in the cache, it is created using
-  // parseIntoURI() and then cached.  This method should always be used
-  // by string-parsing factory methods, instead of parseIntoURI() directly.
-  /**
-   * This method was included in the public API by mistake.
-   * 
-   * @deprecated Please use {@link #createURI createURI} instead.
-   */
-  public static URI createURIWithCache(String uri)
-  {
-    int i = uri.indexOf(FRAGMENT_SEPARATOR);
-    String base = i == -1 ? uri : uri.substring(0, i);
-    String fragment = i == -1 ? null : uri.substring(i + 1);
-
-    URI result = (URI)uriCache.get(base);
-
-    if (result == null)
-    {
-      result = parseIntoURI(base);
-      uriCache.put(base, result);
-    }
-
-    if (fragment != null)
-    {
-      result = result.appendFragment(fragment);
-    }
-    return result;
-  }
-
-  // String-parsing implementation.
-  private static URI parseIntoURI(String uri)
-  {
-    boolean hierarchical = true;
-    String scheme = null;
-    String authority = null;
-    String device = null;
-    boolean absolutePath = false;
-    String[] segments = NO_SEGMENTS;
-    String query = null;
-    String fragment = null;
-
-    int i = 0;
-    int j = find(uri, i, MAJOR_SEPARATOR_HI, MAJOR_SEPARATOR_LO);
-
-    if (j < uri.length() && uri.charAt(j) == SCHEME_SEPARATOR)
-    {
-      scheme = uri.substring(i, j);
-      i = j + 1;
-    }
-
-    boolean archiveScheme = isArchiveScheme(scheme);
-    if (archiveScheme)
-    {
-      j = uri.lastIndexOf(ARCHIVE_SEPARATOR);
-      if (j == -1)
-      {
-        throw new IllegalArgumentException("no archive separator");
-      }
-      hierarchical = true;
-      authority = uri.substring(i, ++j);
-      i = j;
-    }
-    else if (uri.startsWith(AUTHORITY_SEPARATOR, i))
-    {
-      i += AUTHORITY_SEPARATOR.length();
-      j = find(uri, i, SEGMENT_END_HI, SEGMENT_END_LO);
-      authority = uri.substring(i, j);
-      i = j;
-    }
-    else if (scheme != null &&
-             (i == uri.length() || uri.charAt(i) != SEGMENT_SEPARATOR))
-    {
-      hierarchical = false;
-      j = uri.indexOf(FRAGMENT_SEPARATOR, i);
-      if (j == -1) j = uri.length();
-      authority = uri.substring(i, j);
-      i = j;
-    }
-
-    if (!archiveScheme && i < uri.length() && uri.charAt(i) == SEGMENT_SEPARATOR)
-    {
-      j = find(uri, i + 1, SEGMENT_END_HI, SEGMENT_END_LO);
-      String s = uri.substring(i + 1, j);
-      
-      if (s.length() > 0 && s.charAt(s.length() - 1) == DEVICE_IDENTIFIER)
-      {
-        device = s;
-        i = j;
-      }
-    }
-
-    if (i < uri.length() && uri.charAt(i) == SEGMENT_SEPARATOR)
-    {
-      i++;
-      absolutePath = true;
-    }
-
-    if (segmentsRemain(uri, i))
-    {
-      List segmentList = new ArrayList();
-
-      while (segmentsRemain(uri, i))
-      {
-        j = find(uri, i, SEGMENT_END_HI, SEGMENT_END_LO);
-        segmentList.add(uri.substring(i, j));
-        i = j;
-
-        if (i < uri.length() && uri.charAt(i) == SEGMENT_SEPARATOR)
-        {
-          if (!segmentsRemain(uri, ++i)) segmentList.add(SEGMENT_EMPTY);
-        }
-      }
-      segments = new String[segmentList.size()];
-      segmentList.toArray(segments);
-    }
-
-    if (i < uri.length() && uri.charAt(i) == QUERY_SEPARATOR)
-    {
-      j = uri.indexOf(FRAGMENT_SEPARATOR, ++i);
-      if (j == -1) j = uri.length();
-      query = uri.substring(i, j);
-      i = j;
-    }
-
-    if (i < uri.length()) // && uri.charAt(i) == FRAGMENT_SEPARATOR (implied)
-    {
-      fragment = uri.substring(++i);
-    }
-
-    validateURI(hierarchical, scheme, authority, device, absolutePath, segments, query, fragment);
-    return new URI(hierarchical, scheme, authority, device, absolutePath, segments, query, fragment);
-  }
-
-  // Checks whether the string contains any more segments after the one that
-  // starts at position i.
-  private static boolean segmentsRemain(String uri, int i)
-  {
-    return i < uri.length() && uri.charAt(i) != QUERY_SEPARATOR &&
-      uri.charAt(i) != FRAGMENT_SEPARATOR;
-  }
-
-  // Finds the next occurance of one of the characters in the set represented
-  // by the given bitmask in the given string, beginning at index i. The index
-  // of the first found character, or s.length() if there is none, is
-  // returned.  Before searching, i is limited to the range [0, s.length()].
-  //
-  private static int find(String s, int i, long highBitmask, long lowBitmask)
-  {
-    int len = s.length();
-    if (i >= len) return len;
-
-    for (i = i > 0 ? i : 0; i < len; i++)
-    {
-      if (matches(s.charAt(i), highBitmask, lowBitmask)) break;
-    }
-    return i;
-  }
-
-  /**
-   * Static factory method based on parsing a {@link java.io.File} path
-   * string.  The <code>pathName</code> is converted into an appropriate
-   * form, as follows: platform specific path separators are converted to
-   * <code>/<code>; the path is encoded; and a "file" scheme and, if missing,
-   * a leading <code>/</code>, are added to an absolute path.  The result
-   * is then parsed using {@link #createURI(String) createURI}.
-   *
-   * <p>The encoding step escapes all spaces, <code>#</code> characters, and
-   * other characters disallowed in URIs, as well as <code>?</code>, which
-   * would delimit a path from a query.  Decoding is automatically performed
-   * by {@link #toFileString toFileString}, and can be applied to the values
-   * returned by other accessors by via the static {@link #decode(String)
-   * decode} method.
-   *
-   * <p>A relative path with a specified device (something like
-   * <code>C:myfile.txt</code>) cannot be expressed as a valid URI.
-   * 
-   * @exception java.lang.IllegalArgumentException if <code>pathName</code>
-   * specifies a device and a relative path, or if any component of the path
-   * is not valid according to {@link #validAuthority validAuthority}, {@link
-   * #validDevice validDevice}, or {@link #validSegments validSegments},
-   * {@link #validQuery validQuery}, or {@link #validFragment validFragment}.
-   */
-  public static URI createFileURI(String pathName)
-  {
-    File file = new File(pathName);
-    String uri = File.separatorChar != '/' ? pathName.replace(File.separatorChar, SEGMENT_SEPARATOR) : pathName;
-    uri = encode(uri, PATH_CHAR_HI, PATH_CHAR_LO, false);
-    if (file.isAbsolute())
-    {
-      URI result = createURI((uri.charAt(0) == SEGMENT_SEPARATOR ? "file:" : "file:/") + uri);
-      return result;
-    }
-    else
-    {
-      URI result = createURI(uri);
-      if (result.scheme() != null)
-      {
-        throw new IllegalArgumentException("invalid relative pathName: " + pathName);
-      }
-      return result;
-    }
-  }
-
-  /**
-   * Static factory method based on parsing a platform-relative path string.
-   *
-   * <p>The <code>pathName</code> must be of the form:
-   * <pre>
-   *   /project-name/path</pre>
-   *
-   * <p>Platform-specific path separators will be converterted to slashes.
-   * If not included, the leading path separator will be added.  The
-   * result will be of this form, which is parsed using {@link #createURI
-   * createURI}:
-   * <pre>
-   *   platform:/resource/project-name/path</pre>
-   *
-   * 
-   * @exception java.lang.IllegalArgumentException if any component parsed
-   * from the path is not valid according to {@link #validDevice validDevice},
-   * {@link #validSegments validSegments}, {@link #validQuery validQuery}, or
-   * {@link #validFragment validFragment}.
-   *
-   * @see org.eclipse.core.runtime.Platform#resolve
-   * @see #createPlatformResourceURI(String, boolean)
-   */
-  public static URI createPlatformResourceURI(String pathName)
-  {
-    return createPlatformResourceURI(pathName, false);
-  }
-
-  /**
-   * Static factory method based on parsing a platform-relative path string,
-   * with an option to encode the created URI.
-   *
-   * <p>The <code>pathName</code> must be of the form:
-   * <pre>
-   *   /project-name/path</pre>
-   *
-   * <p>Platform-specific path separators will be converterted to slashes.
-   * If not included, the leading path separator will be added.  The
-   * result will be of this form, which is parsed using {@link #createURI
-   * createURI}:
-   * <pre>
-   *   platform:/resource/project-name/path</pre>
-   *
-   * <p>This scheme supports relocatable projects in Eclipse and in
-   * stand-alone .
-   *
-   * <p>Depending on the <code>encode</code> argument, the path may be
-   * automatically encoded to escape all spaces, <code>#</code> characters,
-   * and other characters disallowed in URIs, as well as <code>?</code>,
-   * which would delimit a path from a query.  Decoding can be performed with
-   * the static {@link #decode(String) decode} method.
-   * 
-   * @exception java.lang.IllegalArgumentException if any component parsed
-   * from the path is not valid according to {@link #validDevice validDevice},
-   * {@link #validSegments validSegments}, {@link #validQuery validQuery}, or
-   * {@link #validFragment validFragment}.
-   *
-   * @see org.eclipse.core.runtime.Platform#resolve
-   */
-  public static URI createPlatformResourceURI(String pathName, boolean encode)
-  {
-    if (File.separatorChar != SEGMENT_SEPARATOR)
-    {
-      pathName = pathName.replace(File.separatorChar, SEGMENT_SEPARATOR);
-    }
-
-    if (encode)
-    {
-      pathName = encode(pathName, PATH_CHAR_HI, PATH_CHAR_LO, false);
-    }
-    URI result = createURI((pathName.charAt(0) == SEGMENT_SEPARATOR ? "platform:/resource" : "platform:/resource/") + pathName);
-    return result;
-  }
-  
-  // Private constructor for use of static factory methods.
-  private URI(boolean hierarchical, String scheme, String authority,
-              String device, boolean absolutePath, String[] segments,
-              String query, String fragment)
-  {
-    int hashCode = 0;
-    //boolean iri = false;
-
-    if (hierarchical)
-    {
-      ++hashCode;
-    }
-    if (absolutePath)
-    {
-      hashCode += 2;
-    }
-    if (scheme != null)
-    {
-      hashCode ^= scheme.toLowerCase().hashCode();
-    }
-    if (authority != null)
-    {
-      hashCode ^= authority.hashCode();
-      //iri = iri || containsNonASCII(authority);
-    }
-    if (device != null)
-    {
-      hashCode ^= device.hashCode();
-      //iri = iri || containsNonASCII(device);
-    }
-    if (query != null)
-    {
-      hashCode ^= query.hashCode();
-      //iri = iri || containsNonASCII(query);
-    }
-    if (fragment != null)
-    {
-      hashCode ^= fragment.hashCode();
-      //iri = iri || containsNonASCII(fragment);
-    }
-
-    for (int i = 0, len = segments.length; i < len; i++)
-    {
-      hashCode ^= segments[i].hashCode();
-      //iri = iri || containsNonASCII(segments[i]);
-    }
-
-    this.hashCode = hashCode;
-    //this.iri = iri;
-    this.hierarchical = hierarchical;
-    this.scheme = scheme == null ? null : scheme.intern();
-    this.authority = authority;
-    this.device = device;
-    this.absolutePath = absolutePath;
-    this.segments = segments;
-    this.query = query;
-    this.fragment = fragment;
-  }
-  
-  // Validates all of the URI components.  Factory methods should call this
-  // before using the constructor, though they must ensure that the
-  // inter-component requirements described in their own Javadocs are all
-  // satisfied, themselves.  If a new URI is being constructed out of
-  // an existing URI, this need not be called.  Instead, just the new
-  // components may be validated individually.
-  private static void validateURI(boolean hierarchical, String scheme,
-                                    String authority, String device,
-                                    boolean absolutePath, String[] segments,
-                                    String query, String fragment)
-  {
-    if (!validScheme(scheme))
-    {
-      throw new IllegalArgumentException("invalid scheme: " + scheme);
-    }
-    if (!hierarchical && !validOpaquePart(authority))
-    {
-      throw new IllegalArgumentException("invalid opaquePart: " + authority);
-    }
-    if (hierarchical && !isArchiveScheme(scheme) && !validAuthority(authority))
-    {
-      throw new IllegalArgumentException("invalid authority: " + authority);
-    }
-    if (hierarchical && isArchiveScheme(scheme) && !validArchiveAuthority(authority))
-    {
-      throw new IllegalArgumentException("invalid authority: " + authority);
-    }
-    if (!validDevice(device))
-    {
-      throw new IllegalArgumentException("invalid device: " + device);
-    }
-    if (!validSegments(segments))
-    {
-      String s = segments == null ? "invalid segments: " + segments :
-        "invalid segment: " + firstInvalidSegment(segments);
-      throw new IllegalArgumentException(s);
-    }
-    if (!validQuery(query))
-    {
-      throw new IllegalArgumentException("invalid query: " + query);
-    }
-    if (!validFragment(fragment))
-    {
-      throw new IllegalArgumentException("invalid fragment: " + fragment);
-    }
-  }
-
-  // Alternate, stricter implementations of the following validation methods
-  // are provided, commented out, for possible future use...
-
-  /**
-   * Returns <code>true</code> if the specified <code>value</code> would be
-   * valid as the scheme component of a URI; <code>false</code> otherwise.
-   *
-   * <p>A valid scheme may be null or contain any characters except for the
-   * following: <code>: / ? #</code>
-   */
-  public static boolean validScheme(String value)
-  {
-    return value == null || !contains(value, MAJOR_SEPARATOR_HI, MAJOR_SEPARATOR_LO);  
-
-  // <p>A valid scheme may be null, or consist of a single letter followed
-  // by any number of letters, numbers, and the following characters:
-  // <code>+ - .</code>
-
-    //if (value == null) return true;
-    //return value.length() != 0 &&
-    //  matches(value.charAt(0), ALPHA_HI, ALPHA_LO) &&
-    //  validate(value, SCHEME_CHAR_HI, SCHEME_CHAR_LO, false, false);
-  }
-
-  /**
-   * Returns <code>true</code> if the specified <code>value</code> would be
-   * valid as the opaque part component of a URI; <code>false</code>
-   * otherwise.
-   *
-   * <p>A valid opaque part must be non-null, non-empty, and not contain the
-   * <code>#</code> character.  In addition, its first character must not be
-   * <code>/</code>
-   */
-  public static boolean validOpaquePart(String value)
-  {
-    return value != null && value.indexOf(FRAGMENT_SEPARATOR) == -1 &&
-    value.length() > 0 && value.charAt(0) != SEGMENT_SEPARATOR;
-
-  // <p>A valid opaque part must be non-null and non-empty. It may contain
-  // any allowed URI characters, but its first character may not be
-  // <code>/</code> 
-
-    //return value != null && value.length() != 0 &&
-    //  value.charAt(0) != SEGMENT_SEPARATOR &&
-    //  validate(value, URIC_HI, URIC_LO, true, true);
-  }
-
-  /**
-   * Returns <code>true</code> if the specified <code>value</code> would be
-   * valid as the authority component of a URI; <code>false</code> otherwise.
-   *
-   * <p>A valid authority may be null or contain any characters except for
-   * the following: <code>/ ? #</code>
-   */
-  public static boolean validAuthority(String value)
-  {
-    return value == null || !contains(value, SEGMENT_END_HI, SEGMENT_END_LO);
-
-  // A valid authority may be null or contain any allowed URI characters except
-  // for the following: <code>/ ?</code>
-
-    //return value == null || validate(value, SEGMENT_CHAR_HI, SEGMENT_CHAR_LO, true, true);
-  }
-
-  /**
-   * Returns <code>true</code> if the specified <code>value</code> would be
-   * valid as the authority component of an <a
-   * href="#archive_explanation">archive URI</a>; <code>false</code>
-   * otherwise.
-   *
-   * <p>To be valid, the authority, itself, must be a URI with no fragment,
-   * followed by the character <code>!</code>.
-   */
-  public static boolean validArchiveAuthority(String value)
-  {
-    if (value != null && value.length() > 0 &&
-        value.charAt(value.length() - 1) == ARCHIVE_IDENTIFIER)
-    {
-      try
-      {
-        URI archiveURI = createURI(value.substring(0, value.length() - 1));
-        return !archiveURI.hasFragment();
-      }
-      catch (IllegalArgumentException e)
-      {
-      }
-    }
-    return false;
-  }
-
-
-  /**
-   * Returns <code>true</code> if the specified <code>value</code> would be
-   * valid as the device component of a URI; <code>false</code> otherwise.
-   *
-   * <p>A valid device may be null or non-empty, containing any characters
-   * except for the following: <code>/ ? #</code>  In addition, its last
-   * character must be <code>:</code>
-   */
-  public static boolean validDevice(String value)
-  {    
-    if (value == null) return true;
-    int len = value.length();
-    return len > 0 && value.charAt(len - 1) == DEVICE_IDENTIFIER &&
-      !contains(value, SEGMENT_END_HI, SEGMENT_END_LO);
-
-  // <p>A valid device may be null or non-empty, containing any allowed URI
-  // characters except for the following: <code>/ ?</code>  In addition, its
-  // last character must be <code>:</code>
-
-    //if (value == null) return true;
-    //int len = value.length();
-    //return len > 0 && validate(value, SEGMENT_CHAR_HI, SEGMENT_CHAR_LO, true, true) &&
-    //  value.charAt(len - 1) == DEVICE_IDENTIFIER;
-  }
-
-  /**
-   * Returns <code>true</code> if the specified <code>value</code> would be
-   * a valid path segment of a URI; <code>false</code> otherwise.
-   *
-   * <p>A valid path segment must be non-null and not contain any of the
-   * following characters: <code>/ ? #</code>
-   */
-  public static boolean validSegment(String value)
-  {
-    return value != null && !contains(value, SEGMENT_END_HI, SEGMENT_END_LO);
-
-  // <p>A valid path segment must be non-null and may contain any allowed URI
-  // characters except for the following: <code>/ ?</code> 
-
-    //return value != null && validate(value, SEGMENT_CHAR_HI, SEGMENT_CHAR_LO, true, true);
-  }
-
-  /**
-   * Returns <code>true</code> if the specified <code>value</code> would be
-   * a valid path segment array of a URI; <code>false</code> otherwise.
-   *
-   * <p>A valid path segment array must be non-null and contain only path
-   * segements that are valid according to {@link #validSegment validSegment}.
-   */
-  public static boolean validSegments(String[] value)
-  {
-    if (value == null) return false;
-    for (int i = 0, len = value.length; i < len; i++)
-    {
-      if (!validSegment(value[i])) return false;
-    }
-    return true;
-  }
-
-  // Returns null if the specicied value is null or would be a valid path
-  // segment array of a URI; otherwise, the value of the first invalid
-  // segment. 
-  private static String firstInvalidSegment(String[] value)
-  {
-    if (value == null) return null;
-    for (int i = 0, len = value.length; i < len; i++)
-    {
-      if (!validSegment(value[i])) return value[i];
-    }
-    return null;
-  }
-
-  /**
-   * Returns <code>true</code> if the specified <code>value</code> would be
-   * valid as the query component of a URI; <code>false</code> otherwise.
-   *
-   * <p>A valid query may be null or contain any characters except for
-   * <code>#</code>
-   */
-  public static boolean validQuery(String value)
-  {
-    return value == null || value.indexOf(FRAGMENT_SEPARATOR) == -1;
-
-  // <p>A valid query may be null or contain any allowed URI characters.
-
-    //return value == null || validate(value, URIC_HI, URIC_LO, true, true);
-}
-
-  /**
-   * Returns <code>true</code> if the specified <code>value</code> would be
-   * valid as the fragment component of a URI; <code>false</code> otherwise.
-   *
-   * <p>A fragment is taken to be unconditionally valid.
-   */
-  public static boolean validFragment(String value)
-  {
-    return true;
-
-  // <p>A valid fragment may be null or contain any allowed URI characters.
-
-    //return value == null || validate(value, URIC_HI, URIC_LO, true, true);
-  }
-
-  // Searches the specified string for any characters in the set represnted
-  // by the 128-bit bitmask.  Returns true if any occur, or false otherwise.
-  private static boolean contains(String s, long highBitmask, long lowBitmask)
-  {
-    for (int i = 0, len = s.length(); i < len; i++)
-    {
-      if (matches(s.charAt(i), highBitmask, lowBitmask)) return true;
-    }
-    return false;
-  }
-
-  // Tests the non-null string value to see if it contains only ASCII
-  // characters in the set represented by the specified 128-bit bitmask,
-  // as well as, optionally, non-ASCII characters 0xA0 and above, and,
-  // also optionally, escape sequences of % followed by two hex digits.
-  // This method is used for the new, strict URI validation that is not
-  // not currently in place.
-/*
-  private static boolean validate(String value, long highBitmask, long lowBitmask,
-                                     boolean allowNonASCII, boolean allowEscaped)
-  {
-    for (int i = 0, len = value.length(); i < len; i++)
-    { 
-      char c = value.charAt(i);
-
-      if (matches(c, highBitmask, lowBitmask)) continue;
-      if (allowNonASCII && c >= 160) continue;
-      if (allowEscaped && isEscaped(value, i))
-      {
-        i += 2;
-        continue;
-      }
-      return false;
-    }
-    return true;
-  }
-*/
-
-  /**
-   * Returns <code>true</code> if this is a relative URI, or
-   * <code>false</code> if it is an absolute URI.
-   */
-  public boolean isRelative()
-  {
-    return scheme == null;
-  }
-
-  /**
-   * Returns <code>true</code> if this a a hierarchical URI, or
-   * <code>false</code> if it is of the generic form.
-   */
-  public boolean isHierarchical()
-  {
-    return hierarchical;
-  }
-
-  /**
-   * Returns <code>true</code> if this is a hierarcical URI with an authority
-   * component; <code>false</code> otherwise. 
-   */
-  public boolean hasAuthority()
-  {
-    return hierarchical && authority != null;
-  }
-
-  /**
-   * Returns <code>true</code> if this is a non-hierarchical URI with an
-   * opaque part component; <code>false</code> otherwise.
-   */
-  public boolean hasOpaquePart()
-  {
-    // note: hierarchical -> authority != null
-    return !hierarchical;
-  }
-
-  /**
-   * Returns <code>true</code> if this is a hierarchical URI with a device
-   * component; <code>false</code> otherwise.
-   */
-  public boolean hasDevice()
-  {
-    // note: device != null -> hierarchical
-    return device != null;
-  }
-
-  /**
-   * Returns <code>true</code> if this is a hierarchical URI with an
-   * absolute or relative path; <code>false</code> otherwise.
-   */
-  public boolean hasPath()
-  {
-    // note: (absolutePath || authority == null) -> hierarchical
-    // (authority == null && device == null && !absolutePath) -> scheme == null
-    return absolutePath || (authority == null && device == null);
-  }
-
-  /**
-   * Returns <code>true</code> if this is a hierarchical URI with an
-   * absolute path, or <code>false</code> if it is non-hierarchical, has no
-   * path, or has a relative path.
-   */
-  public boolean hasAbsolutePath()
-  {
-    // note: absolutePath -> hierarchical
-    return absolutePath;
-  }
-
-  /**
-   * Returns <code>true</code> if this is a hierarchical URI with a relative
-   * path, or <code>false</code> if it is non-hierarchical, has no path, or
-   * has an absolute path.
-   */
-  public boolean hasRelativePath()
-  {
-    // note: authority == null -> hierarchical
-    // (authority == null && device == null && !absolutePath) -> scheme == null
-    return authority == null && device == null && !absolutePath;
-  }
-
-  /**
-   * Returns <code>true</code> if this is a hierarchical URI with an empty
-   * relative path; <code>false</code> otherwise.  
-   *
-   * <p>Note that <code>!hasEmpty()</code> does <em>not</em> imply that this
-   * URI has any path segments; however, <code>hasRelativePath &&
-   * !hasEmptyPath()</code> does.
-   */
-  public boolean hasEmptyPath()
-  {
-    // note: authority == null -> hierarchical
-    // (authority == null && device == null && !absolutePath) -> scheme == null
-    return authority == null && device == null && !absolutePath &&
-      segments.length == 0;
-  }
-
-  /**
-   * Returns <code>true</code> if this is a hierarchical URI with a query
-   * component; <code>false</code> otherwise.
-   */
-  public boolean hasQuery()
-  {
-    // note: query != null -> hierarchical
-    return query != null;
-  }
-
-  /**
-   * Returns <code>true</code> if this URI has a fragment component;
-   * <code>false</code> otherwise.
-   */
-  public boolean hasFragment()
-  {
-    return fragment != null;
-  }
-
-  /**
-   * Returns <code>true</code> if this is a current document reference; that
-   * is, if it is a relative hierarchical URI with no authority, device or
-   * query components, and no path segments; <code>false</code> is returned
-   * otherwise.
-   */
-  public boolean isCurrentDocumentReference()
-  {
-    // note: authority == null -> hierarchical
-    // (authority == null && device == null && !absolutePath) -> scheme == null
-    return authority == null && device == null && !absolutePath &&
-      segments.length == 0 && query == null;
-  }
-
-  /**
-   * Returns <code>true</code> if this is a {@link
-   * #isCurrentDocumentReference() current document reference} with no
-   * fragment component; <code>false</code> otherwise.
-   *
-   * @see #isCurrentDocumentReference()
-   */
-  public boolean isEmpty()
-  {
-    // note: authority == null -> hierarchical
-    // (authority == null && device == null && !absolutePath) -> scheme == null
-    return authority == null && device == null && !absolutePath &&
-      segments.length == 0 && query == null && fragment == null;
-  }
-
-  /**
-   * Returns <code>true</code> if this is a hierarchical URI that may refer
-   * directly to a locally accessible file.  This is considered to be the
-   * case for a file-scheme absolute URI, or for a relative URI with no query;
-   * <code>false</code> is returned otherwise.
-   */
-  public boolean isFile()
-  {
-    return isHierarchical() &&
-      ((isRelative() && !hasQuery()) || SCHEME_FILE.equalsIgnoreCase(scheme));
-  }
-
-  // Returns true if this is an archive URI.  If so, we should expect that
-  // it is also hierarchical, with an authority (consisting of an absolute
-  // URI followed by "!"), no device, and an absolute path.
-  private boolean isArchive()
-  {
-    return isArchiveScheme(scheme);
-  }
-
-  /**
-   * Returns <code>true</code> if the specified <code>value</code> would be
-   * valid as the scheme of an <a
-   * href="#archive_explanation">archive URI</a>; <code>false</code>
-   * otherwise.
-   */
-  public static boolean isArchiveScheme(String value)
-  {
-    return value != null && archiveSchemes.contains(value.toLowerCase());
-  }
-  
-  /**
-   * Returns the hash code.
-   */
-  public int hashCode()
-  {
-    return hashCode;
-  }
-
-  /**
-   * Returns <code>true</code> if <code>obj</code> is an instance of
-   * <code>URI</code> equal to this one; <code>false</code> otherwise.
-   *
-   * <p>Equality is determined strictly by comparing components, not by
-   * attempting to interpret what resource is being identified.  The
-   * comparison of schemes is case-insensitive.
-   */
-  public boolean equals(Object obj)
-  {
-    if (this == obj) return true;
-    if (!(obj instanceof URI)) return false;
-    URI uri = (URI) obj;
-
-    return hashCode == uri.hashCode() &&
-      hierarchical == uri.isHierarchical() &&
-      absolutePath == uri.hasAbsolutePath() &&
-      equals(scheme, uri.scheme(), true) &&
-      equals(authority, hierarchical ? uri.authority() : uri.opaquePart()) &&
-      equals(device, uri.device()) &&
-      equals(query, uri.query()) && 
-      equals(fragment, uri.fragment()) &&
-      segmentsEqual(uri);
-  }
-
-  // Tests whether this URI's path segment array is equal to that of the
-  // given uri.
-  private boolean segmentsEqual(URI uri)
-  {
-    if (segments.length != uri.segmentCount()) return false;
-    for (int i = 0, len = segments.length; i < len; i++)
-    {
-      if (!segments[i].equals(uri.segment(i))) return false;
-    }
-    return true;
-  }
-
-  // Tests two objects for equality, tolerating nulls; null is considered
-  // to be a valid value that is only equal to itself.
-  private static boolean equals(Object o1, Object o2)
-  {
-    return o1 == null ? o2 == null : o1.equals(o2);
-  }
-
-  // Tests two strings for equality, tolerating nulls and optionally
-  // ignoring case.
-  private static boolean equals(String s1, String s2, boolean ignoreCase)
-  {
-    return s1 == null ? s2 == null :
-      ignoreCase ? s1.equalsIgnoreCase(s2) : s1.equals(s2);
-  }
-
-  /**
-   * If this is an absolute URI, returns the scheme component;
-   * <code>null</code> otherwise.
-   */
-  public String scheme()
-  {
-    return scheme;
-  }
-
-  /**
-   * If this is a non-hierarchical URI, returns the opaque part component;
-   * <code>null</code> otherwise.
-   */
-  public String opaquePart()
-  {
-    return isHierarchical() ? null : authority;
-  }
-
-  /**
-   * If this is a hierarchical URI with an authority component, returns it;
-   * <code>null</code> otherwise.
-   */
-  public String authority()
-  {
-    return isHierarchical() ? authority : null;
-  }
-
-  /**
-   * If this is a hierarchical URI with an authority component that has a
-   * user info portion, returns it; <code>null</code> otherwise.
-   */
-  public String userInfo()
-  { 
-    if (!hasAuthority()) return null;
-   
-    int i = authority.indexOf(USER_INFO_SEPARATOR);
-    return i < 0 ? null : authority.substring(0, i);
-  }
-
-  /**
-   * If this is a hierarchical URI with an authority component that has a
-   * host portion, returns it; <code>null</code> otherwise.
-   */
-  public String host()
-  {
-    if (!hasAuthority()) return null;
-    
-    int i = authority.indexOf(USER_INFO_SEPARATOR);
-    int j = authority.indexOf(PORT_SEPARATOR);
-    return j < 0 ? authority.substring(i + 1) : authority.substring(i + 1, j);
-  }
-
-  /**
-   * If this is a hierarchical URI with an authority component that has a
-   * port portion, returns it; <code>null</code> otherwise.
-   */
-  public String port()
-  {
-    if (!hasAuthority()) return null;
-
-    int i = authority.indexOf(PORT_SEPARATOR);
-    return i < 0 ? null : authority.substring(i + 1);
-  }
-
-  /**
-   * If this is a hierarchical URI with a device component, returns it;
-   * <code>null</code> otherwise.
-   */
-  public String device()
-  {
-    return device;
-  }
-
-  /**
-   * If this is a hierarchical URI with a path, returns an array containing
-   * the segments of the path; an empty array otherwise.  The leading
-   * separator in an absolute path is not represented in this array, but a
-   * trailing separator is represented by an empty-string segment as the
-   * final element.
-   */
-  public String[] segments()
-  {
-    return (String[])segments.clone();
-  }
-
-  /**
-   * Returns an unmodifiable list containing the same segments as the array
-   * returned by {@link #segments segments}.
-   */
-  public List segmentsList()
-  {
-    return Collections.unmodifiableList(Arrays.asList(segments));
-  }
-
-  /**
-   * Returns the number of elements in the segment array that would be
-   * returned by {@link #segments segments}.
-   */
-  public int segmentCount()
-  {
-    return segments.length;
-  }
-
-  /**
-   * Provides fast, indexed access to individual segments in the path
-   * segment array.
-   *
-   * @exception java.lang.IndexOutOfBoundsException if <code>i < 0</code> or
-   * <code>i >= segmentCount()</code>.
-   */
-  public String segment(int i)
-  {
-    return segments[i];
-  }
-
-  /**
-   * Returns the last segment in the segment array, or <code>null</code>.
-   */
-  public String lastSegment()
-  {
-    int len = segments.length;
-    if (len == 0) return null;
-    return segments[len - 1];
-  }
-
-  /**
-   * If this is a hierarchical URI with a path, returns a string
-   * representation of the path; <code>null</code> otherwise.  The path
-   * consists of a leading segment separator character (a slash), if the
-   * path is absolute, followed by the slash-separated path segments.  If
-   * this URI has a separate <a href="#device_explanation">device
-   * component</a>, it is <em>not</em> included in the path.
-   */
-  public String path()
-  {
-    if (!hasPath()) return null;
-
-    StringBuffer result = new StringBuffer();
-    if (hasAbsolutePath()) result.append(SEGMENT_SEPARATOR);
-
-    for (int i = 0, len = segments.length; i < len; i++)
-    {
-      if (i != 0) result.append(SEGMENT_SEPARATOR);
-      result.append(segments[i]);
-    }
-    return result.toString();
-  }
-
-  /**
-   * If this is a hierarchical URI with a path, returns a string
-   * representation of the path, including the authority and the 
-   * <a href="#device_explanation">device component</a>; 
-   * <code>null</code> otherwise.  
-   *
-   * <p>If there is no authority, the format of this string is:
-   * <pre>
-   *   device/pathSegment1/pathSegment2...</pre>
-   *
-   * <p>If there is an authority, it is:
-   * <pre>
-   *   //authority/device/pathSegment1/pathSegment2...</pre>
-   *
-   * <p>For an <a href="#archive_explanation">archive URI</a>, it's just:
-   * <pre>
-   *   authority/pathSegment1/pathSegment2...</pre>
-   */
-  public String devicePath()
-  {
-    if (!hasPath()) return null;
-
-    StringBuffer result = new StringBuffer();
-
-    if (hasAuthority())
-    {
-      if (!isArchive()) result.append(AUTHORITY_SEPARATOR);
-      result.append(authority);
-
-      if (hasDevice()) result.append(SEGMENT_SEPARATOR);
-    }
-
-    if (hasDevice()) result.append(device);
-    if (hasAbsolutePath()) result.append(SEGMENT_SEPARATOR);
-
-    for (int i = 0, len = segments.length; i < len; i++)
-    {
-      if (i != 0) result.append(SEGMENT_SEPARATOR);
-      result.append(segments[i]);
-    }
-    return result.toString();
-  }
-
-  /**
-   * If this is a hierarchical URI with a query component, returns it;
-   * <code>null</code> otherwise.
-   */
-  public String query()
-  {
-    return query;
-  }
-
-
-  /**
-   * Returns the URI formed from this URI and the given query.
-   *
-   * @exception java.lang.IllegalArgumentException if
-   * <code>query</code> is not a valid query (portion) according
-   * to {@link #validQuery validQuery}.
-   */
-  public URI appendQuery(String query)
-  {
-    if (!validQuery(query))
-    {
-      throw new IllegalArgumentException(
-        "invalid query portion: " + query);
-    }
-    return new URI(hierarchical, scheme, authority, device, absolutePath, segments, query, fragment); 
-  }
-
-  /**
-   * If this URI has a non-null {@link #query query}, returns the URI
-   * formed by removing it; this URI unchanged, otherwise.
-   */
-  public URI trimQuery()
-  {
-    if (query == null)
-    {
-      return this;
-    }
-    else
-    {
-      return new URI(hierarchical, scheme, authority, device, absolutePath, segments, null, fragment); 
-    }
-  }
-
-  /**
-   * If this URI has a fragment component, returns it; <code>null</code>
-   * otherwise.
-   */
-  public String fragment()
-  {
-    return fragment;
-  }
-
-  /**
-   * Returns the URI formed from this URI and the given fragment.
-   *
-   * @exception java.lang.IllegalArgumentException if
-   * <code>fragment</code> is not a valid fragment (portion) according
-   * to {@link #validFragment validFragment}.
-   */
-  public URI appendFragment(String fragment)
-  {
-    if (!validFragment(fragment))
-    {
-      throw new IllegalArgumentException(
-        "invalid fragment portion: " + fragment);
-    }
-    URI result = new URI(hierarchical, scheme, authority, device, absolutePath, segments, query, fragment); 
-
-    if (!hasFragment())
-    {
-      result.cachedTrimFragment = this;
-    }
-    return result;
-  }
-
-  /**
-   * If this URI has a non-null {@link #fragment fragment}, returns the URI
-   * formed by removing it; this URI unchanged, otherwise.
-   */
-  public URI trimFragment()
-  {
-    if (fragment == null)
-    {
-      return this;
-    }
-    else if (cachedTrimFragment == null)
-    {
-      cachedTrimFragment = new URI(hierarchical, scheme, authority, device, absolutePath, segments, query, null); 
-    }
-
-    return cachedTrimFragment;
-  }
-
-  /**
-   * Resolves this URI reference against a <code>base</code> absolute
-   * hierarchical URI, returning the resulting absolute URI.  If already
-   * absolute, the URI itself is returned.  URI resolution is described in
-   * detail in section 5.2 of <a href="http://www.ietf.org/rfc/rfc2396.txt">RFC
-   * 2396</a>, "Resolving Relative References to Absolute Form."
-   *
-   * <p>During resolution, empty segments, self references ("."), and parent
-   * references ("..") are interpreted, so that they can be removed from the
-   * path.  Step 6(g) gives a choice of how to handle the case where parent
-   * references point to a path above the root: the offending segments can
-   * be preserved or discarded.  This method preserves them.  To have them
-   * discarded, please use the two-parameter form of {@link
-   * #resolve(URI, boolean) resolve}.
-   *
-   * @exception java.lang.IllegalArgumentException if <code>base</code> is
-   * non-hierarchical or is relative.
-   */
-  public URI resolve(URI base)
-  {
-    return resolve(base, true);
-  }
-
-  /**
-   * Resolves this URI reference against a <code>base</code> absolute
-   * hierarchical URI, returning the resulting absolute URI.  If already
-   * absolute, the URI itself is returned.  URI resolution is described in
-   * detail in section 5.2 of <a href="http://www.ietf.org/rfc/rfc2396.txt">RFC
-   * 2396</a>, "Resolving Relative References to Absolute Form."
-   *
-   * <p>During resultion, empty segments, self references ("."), and parent
-   * references ("..") are interpreted, so that they can be removed from the
-   * path.  Step 6(g) gives a choice of how to handle the case where parent
-   * references point to a path above the root: the offending segments can
-   * be preserved or discarded.  This method can do either.
-   *
-   * @param preserveRootParents <code>true</code> if segments refering to the
-   * parent of the root path are to be preserved; <code>false</code> if they
-   * are to be discarded.
-   *
-   * @exception java.lang.IllegalArgumentException if <code>base</code> is
-   * non-hierarchical or is relative.
-   */
-  public URI resolve(URI base, boolean preserveRootParents)
-  {
-    if (!base.isHierarchical() || base.isRelative())
-    {
-      throw new IllegalArgumentException(
-        "resolve against non-hierarchical or relative base");
-    }
-
-    // an absolute URI needs no resolving
-    if (!isRelative()) return this;
-
-    // note: isRelative() -> hierarchical
-
-    String newAuthority = authority;
-    String newDevice = device;
-    boolean newAbsolutePath = absolutePath;
-    String[] newSegments = segments;
-    String newQuery = query;
-    // note: it's okay for two URIs to share a segments array, since
-    // neither will ever modify it
-    
-    if (authority == null)
-    {
-      // no authority: use base's
-      newAuthority = base.authority();
-
-      if (device == null)
-      {
-        // no device: use base's
-        newDevice = base.device();
-
-        if (hasEmptyPath() && query == null)
-        {
-          // current document reference: use base path and query
-          newAbsolutePath = base.hasAbsolutePath();
-          newSegments = base.segments();
-          newQuery = base.query();
-        }
-        else if (hasRelativePath())
-        {
-          // relative path: merge with base and keep query (note: if the
-          // base has no path and this a non-empty relative path, there is
-          // an implied root in the resulting path) 
-          newAbsolutePath = base.hasAbsolutePath() || !hasEmptyPath();
-          newSegments = newAbsolutePath ? mergePath(base, preserveRootParents)
-            : NO_SEGMENTS;
-        }
-        // else absolute path: keep it and query
-      }
-      // else keep device, path, and query
-    }
-    // else keep authority, device, path, and query
-    
-    // always keep fragment, even if null, and use scheme from base;
-    // no validation needed since all components are from existing URIs
-    return new URI(true, base.scheme(), newAuthority, newDevice,
-                   newAbsolutePath, newSegments, newQuery, fragment);
-  }
-
-  // Merges this URI's relative path with the base non-relative path.  If
-  // base has no path, treat it as the root absolute path, unless this has
-  // no path either.
-  private String[] mergePath(URI base, boolean preserveRootParents)
-  {
-    if (base.hasRelativePath())
-    {
-      throw new IllegalArgumentException("merge against relative path");
-    }
-    if (!hasRelativePath())
-    {
-      throw new IllegalStateException("merge non-relative path");
-    }
-
-    int baseSegmentCount = base.segmentCount();
-    int segmentCount = segments.length;
-    String[] stack = new String[baseSegmentCount + segmentCount];
-    int sp = 0;
-
-    // use a stack to accumulate segments of base, except for the last
-    // (i.e. skip trailing separator and anything following it), and of
-    // relative path
-    for (int i = 0; i < baseSegmentCount - 1; i++)
-    {
-      sp = accumulate(stack, sp, base.segment(i), preserveRootParents);
-    }
-
-    for (int i = 0; i < segmentCount; i++)
-    {
-      sp = accumulate(stack, sp, segments[i], preserveRootParents);
-    }
-
-    // if the relative path is empty or ends in an empty segment, a parent 
-    // reference, or a self referenfce, add a trailing separator to a
-    // non-empty path
-    if (sp > 0 &&  (segmentCount == 0 ||
-                    SEGMENT_EMPTY.equals(segments[segmentCount - 1]) ||
-                    SEGMENT_PARENT.equals(segments[segmentCount - 1]) ||
-                    SEGMENT_SELF.equals(segments[segmentCount - 1])))
-    {
-      stack[sp++] = SEGMENT_EMPTY;
-    }
-
-    // return a correctly sized result
-    String[] result = new String[sp];
-    System.arraycopy(stack, 0, result, 0, sp);
-    return result;
-  }
-
-  // Adds a segment to a stack, skipping empty segments and self references,
-  // and interpreting parent references.
-  private static int accumulate(String[] stack, int sp, String segment,
-                                boolean preserveRootParents)
-  {
-    if (SEGMENT_PARENT.equals(segment))
-    {
-      if (sp == 0)
-      {
-        // special care must be taken for a root's parent reference: it is
-        // either ignored or the symbolic reference itself is pushed
-        if (preserveRootParents) stack[sp++] = segment;
-      }
-      else
-      {
-        // unless we're already accumulating root parent references,
-        // parent references simply pop the last segment descended
-        if (SEGMENT_PARENT.equals(stack[sp - 1])) stack[sp++] = segment;
-        else sp--;
-      }
-    }
-    else if (!SEGMENT_EMPTY.equals(segment) && !SEGMENT_SELF.equals(segment))
-    {
-      // skip empty segments and self references; push everything else
-      stack[sp++] = segment;
-    }
-    return sp;
-  }
-
-  /**
-   * Finds the shortest relative or, if necessary, the absolute URI that,
-   * when resolved against the given <code>base</code> absolute hierarchical
-   * URI using {@link #resolve(URI) resolve}, will yield this absolute URI.  
-   *
-   * @exception java.lang.IllegalArgumentException if <code>base</code> is
-   * non-hierarchical or is relative.
-   * @exception java.lang.IllegalStateException if <code>this</code> is
-   * relative.
-   */
-  public URI deresolve(URI base)
-  {
-    return deresolve(base, true, false, true);
-  }
-
-  /**
-   * Finds an absolute URI that, when resolved against the given
-   * <code>base</code> absolute hierarchical URI using {@link
-   * #resolve(URI, boolean) resolve}, will yield this absolute URI.
-   *
-   * @param preserveRootParents the boolean argument to <code>resolve(URI,
-   * boolean)</code> for which the returned URI should resolve to this URI.
-   * @param anyRelPath if <code>true</code>, the returned URI's path (if
-   * any) will be relative, if possible.  If <code>false</code>, the form of
-   * the result's path will depend upon the next parameter.
-   * @param shorterRelPath if <code>anyRelPath</code> is <code>false</code>
-   * and this parameter is <code>true</code>, the returned URI's path (if
-   * any) will be relative, if one can be found that is no longer (by number
-   * of segments) than the absolute path.  If both <code>anyRelPath</code>
-   * and this parameter are <code>false</code>, it will be absolute.
-   *
-   * @exception java.lang.IllegalArgumentException if <code>base</code> is
-   * non-hierarchical or is relative.
-   * @exception java.lang.IllegalStateException if <code>this</code> is
-   * relative.
-   */
-  public URI deresolve(URI base, boolean preserveRootParents,
-                       boolean anyRelPath, boolean shorterRelPath)
-  {
-    if (!base.isHierarchical() || base.isRelative())
-    {
-      throw new IllegalArgumentException(
-        "deresolve against non-hierarchical or relative base");
-    }
-    if (isRelative())
-    {
-      throw new IllegalStateException("deresolve relative URI");
-    }
-
-    // note: these assertions imply that neither this nor the base URI has a
-    // relative path; thus, both have either an absolute path or no path
-    
-    // different scheme: need complete, absolute URI
-    if (!scheme.equalsIgnoreCase(base.scheme())) return this;
-
-    // since base must be hierarchical, and since a non-hierarchical URI
-    // must have both scheme and opaque part, the complete absolute URI is
-    // needed to resolve to a non-hierarchical URI
-    if (!isHierarchical()) return this;
-
-    String newAuthority = authority;
-    String newDevice = device;
-    boolean newAbsolutePath = absolutePath;
-    String[] newSegments = segments;
-    String newQuery = query;
-
-    if (equals(authority, base.authority()) &&
-        (hasDevice() || hasPath() || (!base.hasDevice() && !base.hasPath())))
-    {
-      // matching authorities and no device or path removal
-      newAuthority = null;
-
-      if (equals(device, base.device()) && (hasPath() || !base.hasPath()))
-      {
-        // matching devices and no path removal
-        newDevice = null;
-
-        // exception if (!hasPath() && base.hasPath())
-
-        if (!anyRelPath && !shorterRelPath)
-        {
-          // user rejects a relative path: keep absolute or no path
-        }
-        else if (hasPath() == base.hasPath() && segmentsEqual(base) &&
-                 equals(query, base.query()))
-        {
-          // current document reference: keep no path or query
-          newAbsolutePath = false;
-          newSegments = NO_SEGMENTS;
-          newQuery = null;
-        }
-        else if (!hasPath() && !base.hasPath())
-        {
-          // no paths: keep query only
-          newAbsolutePath = false;
-          newSegments = NO_SEGMENTS;
-        }
-        // exception if (!hasAbsolutePath())
-        else if (hasCollapsableSegments(preserveRootParents))
-        {
-          // path form demands an absolute path: keep it and query
-        }
-        else
-        {
-          // keep query and select relative or absolute path based on length
-          String[] rel = findRelativePath(base, preserveRootParents);
-          if (anyRelPath || segments.length > rel.length)
-          {
-            // user demands a relative path or the absolute path is longer
-            newAbsolutePath = false;
-            newSegments = rel;
-          }
-          // else keep shorter absolute path
-        }
-      }
-      // else keep device, path, and query
-    }
-    // else keep authority, device, path, and query
-
-    // always include fragment, even if null;
-    // no validation needed since all components are from existing URIs
-    return new URI(true, null, newAuthority, newDevice, newAbsolutePath,
-                   newSegments, newQuery, fragment);
-  }
-
-  // Returns true if the non-relative path includes segments that would be
-  // collapsed when resolving; false otherwise.  If preserveRootParents is
-  // true, collapsable segments include any empty segments, except for the
-  // last segment, as well as and parent and self references.  If
-  // preserveRootsParents is false, parent references are not collapsable if
-  // they are the first segment or preceeded only by other parent
-  // references.
-  private boolean hasCollapsableSegments(boolean preserveRootParents)
-  {
-    if (hasRelativePath())
-    {
-      throw new IllegalStateException("test collapsability of relative path");
-    }
-
-    for (int i = 0, len = segments.length; i < len; i++)
-    {
-      String segment = segments[i];
-      if ((i < len - 1 && SEGMENT_EMPTY.equals(segment)) ||
-          SEGMENT_SELF.equals(segment) ||
-          SEGMENT_PARENT.equals(segment) && (
-            !preserveRootParents || (
-              i != 0 && !SEGMENT_PARENT.equals(segments[i - 1]))))
-      {
-        return true;
-      }
-    }
-    return false;
-  }
-
-  // Returns the shortest relative path between the the non-relative path of
-  // the given base and this absolute path.  If the base has no path, it is
-  // treated as the root absolute path.
-  private String[] findRelativePath(URI base, boolean preserveRootParents)
-  {
-    if (base.hasRelativePath())
-    {
-      throw new IllegalArgumentException(
-        "find relative path against base with relative path");
-    }
-    if (!hasAbsolutePath())
-    {
-      throw new IllegalArgumentException(
-        "find relative path of non-absolute path");
-    }
-
-    // treat an empty base path as the root absolute path
-    String[] startPath = base.collapseSegments(preserveRootParents);
-    String[] endPath = segments;
-
-    // drop last segment from base, as in resolving
-    int startCount = startPath.length > 0 ? startPath.length - 1 : 0;
-    int endCount = endPath.length;
-
-    // index of first segment that is different between endPath and startPath
-    int diff = 0;
-
-    // if endPath is shorter than startPath, the last segment of endPath may
-    // not be compared: because startPath has been collapsed and had its
-    // last segment removed, all preceeding segments can be considered non-
-    // empty and followed by a separator, while the last segment of endPath
-    // will either be non-empty and not followed by a separator, or just empty
-    for (int count = startCount < endCount ? startCount : endCount - 1;
-         diff < count && startPath[diff].equals(endPath[diff]); diff++);
-
-    int upCount = startCount - diff;
-    int downCount = endCount - diff;
-
-    // a single separator, possibly preceeded by some parent reference
-    // segments, is redundant
-    if (downCount == 1 && SEGMENT_EMPTY.equals(endPath[endCount - 1]))
-    {
-      downCount = 0;
-    }
-
-    // an empty path needs to be replaced by a single "." if there is no
-    // query, to distinguish it from a current document reference
-    if (upCount + downCount == 0)
-    {
-      if (query == null) return new String[] { SEGMENT_SELF };
-      return NO_SEGMENTS;
-    }
-
-    // return a correctly sized result
-    String[] result = new String[upCount + downCount];
-    Arrays.fill(result, 0, upCount, SEGMENT_PARENT);
-    System.arraycopy(endPath, diff, result, upCount, downCount);
-    return result;
-  }
-
-  // Collapses non-ending empty segments, parent references, and self
-  // references in a non-relative path, returning the same path that would
-  // be produced from the base hierarchical URI as part of a resolve.
-  String[] collapseSegments(boolean preserveRootParents)
-  {
-    if (hasRelativePath())
-    {
-      throw new IllegalStateException("collapse relative path");
-    }
-
-    if (!hasCollapsableSegments(preserveRootParents)) return segments();
-
-    // use a stack to accumulate segments
-    int segmentCount = segments.length;
-    String[] stack = new String[segmentCount];
-    int sp = 0;
-
-    for (int i = 0; i < segmentCount; i++)
-    {
-      sp = accumulate(stack, sp, segments[i], preserveRootParents);
-    }
-
-    // if the path is non-empty and originally ended in an empty segment, a
-    // parent reference, or a self reference, add a trailing separator
-    if (sp > 0 && (SEGMENT_EMPTY.equals(segments[segmentCount - 1]) ||
-                   SEGMENT_PARENT.equals(segments[segmentCount - 1]) ||
-                   SEGMENT_SELF.equals(segments[segmentCount - 1])))
-    {                   
-      stack[sp++] = SEGMENT_EMPTY;
-    }
-
-    // return a correctly sized result
-    String[] result = new String[sp];
-    System.arraycopy(stack, 0, result, 0, sp);
-    return result;
-  }
-
-  /**
-   * Returns the string representation of this URI.  For a generic,
-   * non-hierarchical URI, this looks like:
-   * <pre>
-   *   scheme:opaquePart#fragment</pre>
-   * 
-   * <p>For a hierarchical URI, it looks like:
-   * <pre>
-   *   scheme://authority/device/pathSegment1/pathSegment2...?query#fragment</pre>
-   *
-   * <p>For an <a href="#archive_explanation">archive URI</a>, it's just:
-   * <pre>
-   *   scheme:authority/pathSegment1/pathSegment2...?query#fragment</pre>
-   * <p>Of course, absent components and their separators will be omitted.
-   */
-  public String toString()
-  {
-    if (cachedToString == null)
-    {
-      StringBuffer result = new StringBuffer();
-      if (!isRelative())
-      {
-        result.append(scheme);
-        result.append(SCHEME_SEPARATOR);
-      }
-
-      if (isHierarchical())
-      {
-        if (hasAuthority())
-        {
-          if (!isArchive()) result.append(AUTHORITY_SEPARATOR);
-          result.append(authority);
-        }
-
-        if (hasDevice())
-        {
-          result.append(SEGMENT_SEPARATOR);
-          result.append(device);
-        }
-
-        if (hasAbsolutePath()) result.append(SEGMENT_SEPARATOR);
-
-        for (int i = 0, len = segments.length; i < len; i++)
-        {
-          if (i != 0) result.append(SEGMENT_SEPARATOR);
-          result.append(segments[i]);
-        }
-
-        if (hasQuery())
-        {
-          result.append(QUERY_SEPARATOR);
-          result.append(query);
-        }
-      }
-      else
-      {
-        result.append(authority);
-      }
-
-      if (hasFragment())
-      {
-        result.append(FRAGMENT_SEPARATOR);
-        result.append(fragment);
-      }
-      cachedToString = result.toString();
-    }
-    return cachedToString;
-  }
-
-  // Returns a string representation of this URI for debugging, explicitly
-  // showing each of the components.
-  String toString(boolean includeSimpleForm)
-  {
-    StringBuffer result = new StringBuffer();
-    if (includeSimpleForm) result.append(toString());
-    result.append("\n hierarchical: ");
-    result.append(hierarchical);
-    result.append("\n       scheme: ");
-    result.append(scheme);
-    result.append("\n    authority: ");
-    result.append(authority);
-    result.append("\n       device: ");
-    result.append(device);
-    result.append("\n absolutePath: ");
-    result.append(absolutePath);
-    result.append("\n     segments: ");
-    if (segments.length == 0) result.append("<empty>");
-    for (int i = 0, len = segments.length; i < len; i++)
-    {
-      if (i > 0) result.append("\n               ");
-      result.append(segments[i]);
-    }
-    result.append("\n        query: ");
-    result.append(query);
-    result.append("\n     fragment: ");
-    result.append(fragment);
-    return result.toString();
-  }
-
-  /**
-   * If this URI may refer directly to a locally accessible file, as
-   * determined by {@link #isFile isFile}, {@link decode decodes} and formats  
-   * the URI as a pathname to that file; returns null otherwise.
-   *
-   * <p>If there is no authority, the format of this string is:
-   * <pre>
-   *   device/pathSegment1/pathSegment2...</pre>
-   *
-   * <p>If there is an authority, it is:
-   * <pre>
-   *   //authority/device/pathSegment1/pathSegment2...</pre>
-   * 
-   * <p>However, the character used as a separator is system-dependant and
-   * obtained from {@link java.io.File#separatorChar}.
-   */
-  public String toFileString()
-  {
-    if (!isFile()) return null;
-
-    StringBuffer result = new StringBuffer();
-    char separator = File.separatorChar;
-
-    if (hasAuthority())
-    {
-      result.append(separator);
-      result.append(separator);
-      result.append(authority);
-
-      if (hasDevice()) result.append(separator);
-    }
-
-    if (hasDevice()) result.append(device);
-    if (hasAbsolutePath()) result.append(separator);
-
-    for (int i = 0, len = segments.length; i < len; i++)
-    {
-      if (i != 0) result.append(separator);
-      result.append(segments[i]);
-    }
-
-    return decode(result.toString());
-  }
-
-  /**
-   * Returns the URI formed by appending the specified segment on to the end
-   * of the path of this URI, if hierarchical; this URI unchanged,
-   * otherwise.  If this URI has an authority and/or device, but no path,
-   * the segment becomes the first under the root in an absolute path.
-   *
-   * @exception java.lang.IllegalArgumentException if <code>segment</code>
-   * is not a valid segment according to {@link #validSegment}.
-   */
-  public URI appendSegment(String segment)
-  {
-    if (!validSegment(segment))
-    {
-      throw new IllegalArgumentException("invalid segment: " + segment);
-    }
-
-    if (!isHierarchical()) return this;
-
-    // absolute path or no path -> absolute path
-    boolean newAbsolutePath = !hasRelativePath();
-
-    int len = segments.length;
-    String[] newSegments = new String[len + 1];
-    System.arraycopy(segments, 0, newSegments, 0, len);
-    newSegments[len] = segment;
-
-    return new URI(true, scheme, authority, device, newAbsolutePath,
-                   newSegments, query, fragment);
-  }
-
-  /**
-   * Returns the URI formed by appending the specified segments on to the
-   * end of the path of this URI, if hierarchical; this URI unchanged,
-   * otherwise.  If this URI has an authority and/or device, but no path,
-   * the segments are made to form an absolute path.
-   *
-   * @param segments an array of non-null strings, each representing one
-   * segment of the path.  If desired, a trailing separator should be
-   * represented by an empty-string segment as the last element of the
-   * array.
-   *
-   * @exception java.lang.IllegalArgumentException if <code>segments</code>
-   * is not a valid segment array according to {@link #validSegments}.
-   */
-  public URI appendSegments(String[] segments)
-  {
-    if (!validSegments(segments))
-    {
-      String s = segments == null ? "invalid segments: " + segments :
-        "invalid segment: " + firstInvalidSegment(segments);
-      throw new IllegalArgumentException(s);
-    }
-
-    if (!isHierarchical()) return this;
-
-    // absolute path or no path -> absolute path
-    boolean newAbsolutePath = !hasRelativePath(); 
-
-    int len = this.segments.length;
-    int segmentsCount = segments.length;
-    String[] newSegments = new String[len + segmentsCount];
-    System.arraycopy(this.segments, 0, newSegments, 0, len);
-    System.arraycopy(segments, 0, newSegments, len, segmentsCount);
-    
-    return new URI(true, scheme, authority, device, newAbsolutePath,
-                   newSegments, query, fragment);
-  }
-
-  /**
-   * Returns the URI formed by trimming the specified number of segments
-   * (including empty segments, such as one representing a trailing
-   * separator) from the end of the path of this URI, if hierarchical;
-   * otherwise, this URI is returned unchanged.
-   *
-   * <p>Note that if all segments are trimmed from an absolute path, the
-   * root absolute path remains.
-   * 
-   * @param i the number of segments to be trimmed in the returned URI.  If
-   * less than 1, this URI is returned unchanged; if equal to or greater
-   * than the number of segments in this URI's path, all segments are
-   * trimmed.  
-   */
-  public URI trimSegments(int i)
-  {
-    if (!isHierarchical() || i < 1) return this;
-
-    String[] newSegments = NO_SEGMENTS;
-    int len = segments.length - i;
-    if (len > 0)
-    {
-      newSegments = new String[len];
-      System.arraycopy(segments, 0, newSegments, 0, len);
-    }
-    return new URI(true, scheme, authority, device, absolutePath,
-                   newSegments, query, fragment);
-  }
-
-  /**
-   * Returns <code>true</code> if this is a hierarchical URI that has a path
-   * that ends with a trailing separator; <code>false</code> otherwise.
-   *
-   * <p>A trailing separator is represented as an empty segment as the
-   * last segment in the path; note that this definition does <em>not</em>
-   * include the lone separator in the root absolute path.
-   */
-  public boolean hasTrailingPathSeparator()
-  {
-    return segments.length > 0 && 
-      SEGMENT_EMPTY.equals(segments[segments.length - 1]);
-  }
-
-  /**
-   * If this is a hierarchical URI whose path includes a file extension,
-   * that file extension is returned; null otherwise.  We define a file
-   * extension as any string following the last period (".") in the final
-   * path segment.  If there is no path, the path ends in a trailing
-   * separator, or the final segment contains no period, then we consider
-   * there to be no file extension.  If the final segment ends in a period,
-   * then the file extension is an empty string.
-   */
-  public String fileExtension()
-  {
-    int len = segments.length;
-    if (len == 0) return null;
-
-    String lastSegment = segments[len - 1];
-    int i = lastSegment.lastIndexOf(FILE_EXTENSION_SEPARATOR);
-    return i < 0 ? null : lastSegment.substring(i + 1);
-  }
-
-  /**
-   * Returns the URI formed by appending a period (".") followed by the
-   * specified file extension to the last path segment of this URI, if it is
-   * hierarchical with a non-empty path ending in a non-empty segment;
-   * otherwise, this URI is returned unchanged.
-
-   * <p>The extension is appended regardless of whether the segment already
-   * contains an extension.
-   *
-   * @exception java.lang.IllegalArgumentException if
-   * <code>fileExtension</code> is not a valid segment (portion) according
-   * to {@link #validSegment}.
-   */
-  public URI appendFileExtension(String fileExtension)
-  {
-    if (!validSegment(fileExtension))
-    {
-      throw new IllegalArgumentException(
-        "invalid segment portion: " + fileExtension);
-    }
-
-    int len = segments.length;
-    if (len == 0) return this;
-
-    String lastSegment = segments[len - 1];
-    if (SEGMENT_EMPTY.equals(lastSegment)) return this;
-    StringBuffer newLastSegment = new StringBuffer(lastSegment);
-    newLastSegment.append(FILE_EXTENSION_SEPARATOR);
-    newLastSegment.append(fileExtension);
-
-    String[] newSegments = new String[len];
-    System.arraycopy(segments, 0, newSegments, 0, len - 1);
-    newSegments[len - 1] = newLastSegment.toString();
-    
-    // note: segments.length > 0 -> hierarchical
-    return new URI(true, scheme, authority, device, absolutePath,
-                   newSegments, query, fragment); 
-  }
-
-  /**
-   * If this URI has a non-null {@link #fileExtension fileExtension},
-   * returns the URI formed by removing it; this URI unchanged, otherwise.
-   */
-  public URI trimFileExtension()
-  {
-    int len = segments.length;
-    if (len == 0) return this;
-
-    String lastSegment = segments[len - 1];
-    int i = lastSegment.lastIndexOf(FILE_EXTENSION_SEPARATOR);
-    if (i < 0) return this;
-
-    String newLastSegment = lastSegment.substring(0, i);
-    String[] newSegments = new String[len];
-    System.arraycopy(segments, 0, newSegments, 0, len - 1);
-    newSegments[len - 1] = newLastSegment;
-
-    // note: segments.length > 0 -> hierarchical
-    return new URI(true, scheme, authority, device, absolutePath,
-                   newSegments, query, fragment); 
-  }
-
-  /**
-   * Returns <code>true</code> if this is a hierarchical URI that ends in a
-   * slash; that is, it has a trailing path separator or is the root
-   * absolute path, and has no query and no fragment; <code>false</code>
-   * is returned otherwise.
-   */
-  public boolean isPrefix()
-  {
-    return hierarchical && query == null && fragment == null &&
-      (hasTrailingPathSeparator() || (absolutePath && segments.length == 0));
-  }
-
-  /**
-   * If this is a hierarchical URI reference and <code>oldPrefix</code> is a
-   * prefix of it, this returns the URI formed by replacing it by
-   * <code>newPrefix</code>; <code>null</code> otherwise.
-   *
-   * <p>In order to be a prefix, the <code>oldPrefix</code>'s
-   * {@link #isPrefix isPrefix} must return <code>true</code>, and it must
-   * match this URI's scheme, authority, and device.  Also, the paths must
-   * match, up to prefix's end.
-   *
-   * @exception java.lang.IllegalArgumentException if either
-   * <code>oldPrefix</code> or <code>newPrefix</code> is not a prefix URI
-   * according to {@link #isPrefix}.
-   */
-  public URI replacePrefix(URI oldPrefix, URI newPrefix)
-  {
-    if (!oldPrefix.isPrefix() || !newPrefix.isPrefix())
-    {
-      String which = oldPrefix.isPrefix() ? "new" : "old";
-      throw new IllegalArgumentException("non-prefix " + which + " value");
-    }
-
-    // Get what's left of the segments after trimming the prefix.
-    String[] tailSegments = getTailSegments(oldPrefix);
-    if (tailSegments == null) return null;
-
-    // If the new prefix has segments, it is not the root absolute path,
-    // and we need to drop the trailing empty segment and append the tail
-    // segments.
-    String[] mergedSegments = tailSegments;
-    if (newPrefix.segmentCount() != 0)
-    {
-      int segmentsToKeep = newPrefix.segmentCount() - 1;
-      mergedSegments = new String[segmentsToKeep + tailSegments.length];
-      System.arraycopy(newPrefix.segments(), 0, mergedSegments, 0,
-                       segmentsToKeep);
-
-      if (tailSegments.length != 0)
-      {
-        System.arraycopy(tailSegments, 0, mergedSegments, segmentsToKeep,
-                         tailSegments.length);
-      }
-    }
-
-    // no validation needed since all components are from existing URIs
-    return new URI(true, newPrefix.scheme(), newPrefix.authority(),
-                   newPrefix.device(), newPrefix.hasAbsolutePath(),
-                   mergedSegments, query, fragment);
-  }
-
-  // If this is a hierarchical URI reference and prefix is a prefix of it,
-  // returns the portion of the path remaining after that prefix has been
-  // trimmed; null otherwise.
-  private String[] getTailSegments(URI prefix)
-  {
-    if (!prefix.isPrefix())
-    {
-      throw new IllegalArgumentException("non-prefix trim");
-    }
-
-    // Don't even consider it unless this is hierarchical and has scheme,
-    // authority, device and path absoluteness equal to those of the prefix.
-    if (!hierarchical ||
-        !equals(scheme, prefix.scheme(), true) ||
-        !equals(authority, prefix.authority()) ||
-        !equals(device, prefix.device()) ||
-        absolutePath != prefix.hasAbsolutePath())
-    {
-      return null;
-    }
-
-    // If the prefix has no segments, then it is the root absolute path, and
-    // we know this is an absolute path, too.
-    if (prefix.segmentCount() == 0) return segments;
-
-    // This must have no fewer segments than the prefix.  Since the prefix
-    // is not the root absolute path, its last segment is empty; all others
-    // must match.
-    int i = 0;
-    int segmentsToCompare = prefix.segmentCount() - 1;
-    if (segments.length <= segmentsToCompare) return null;
-
-    for (; i < segmentsToCompare; i++)
-    {
-      if (!segments[i].equals(prefix.segment(i))) return null;
-    }
-
-    // The prefix really is a prefix of this.  If this has just one more,
-    // empty segment, the paths are the same.
-    if (i == segments.length - 1 && SEGMENT_EMPTY.equals(segments[i]))
-    {
-      return NO_SEGMENTS;
-    }
-    
-    // Otherwise, the path needs only the remaining segments.
-    String[] newSegments = new String[segments.length - i];
-    System.arraycopy(segments, i, newSegments, 0, newSegments.length);
-    return newSegments;
-  }
-
-  /**
-   * Encodes a string so as to produce a valid opaque part value, as defined
-   * by the RFC.  All excluded characters, such as space and <code>#</code>,
-   * are escaped, as is <code>/</code> if it is the first character.
-   * 
-   * @param ignoreEscaped <code>true</code> to leave <code>%</code> characters
-   * unescaped if they already begin a valid three-character escape sequence;
-   * <code>false</code> to encode all <code>%</code> characters.  Note that
-   * if a <code>%</code> is not followed by 2 hex digits, it will always be
-   * escaped. 
-   */
-  public static String encodeOpaquePart(String value, boolean ignoreEscaped)
-  {
-    String result = encode(value, URIC_HI, URIC_LO, ignoreEscaped);
-    return result != null && result.length() > 0 && result.charAt(0) == SEGMENT_SEPARATOR ?
-      "%2F" + result.substring(1) :
-      result;
-  }
-
-  /**
-   * Encodes a string so as to produce a valid authority, as defined by the
-   * RFC.  All excluded characters, such as space and <code>#</code>,
-   * are escaped, as are <code>/</code> and <code>?</code>
-   * 
-   * @param ignoreEscaped <code>true</code> to leave <code>%</code> characters
-   * unescaped if they already begin a valid three-character escape sequence;
-   * <code>false</code> to encode all <code>%</code> characters.  Note that
-   * if a <code>%</code> is not followed by 2 hex digits, it will always be
-   * escaped. 
-   */
-  public static String encodeAuthority(String value, boolean ignoreEscaped)
-  {
-    return encode(value, SEGMENT_CHAR_HI, SEGMENT_CHAR_LO, ignoreEscaped);
-  }
-
-  /**
-   * Encodes a string so as to produce a valid segment, as defined by the
-   * RFC.  All excluded characters, such as space and <code>#</code>,
-   * are escaped, as are <code>/</code> and <code>?</code>
-   * 
-   * @param ignoreEscaped <code>true</code> to leave <code>%</code> characters
-   * unescaped if they already begin a valid three-character escape sequence;
-   * <code>false</code> to encode all <code>%</code> characters.  Note that
-   * if a <code>%</code> is not followed by 2 hex digits, it will always be
-   * escaped. 
-   */
-  public static String encodeSegment(String value, boolean ignoreEscaped)
-  {
-    return encode(value, SEGMENT_CHAR_HI, SEGMENT_CHAR_LO, ignoreEscaped);
-  }
-
-  /**
-   * Encodes a string so as to produce a valid query, as defined by the RFC.
-   * Only excluded characters, such as space and <code>#</code>, are escaped.
-   * 
-   * @param ignoreEscaped <code>true</code> to leave <code>%</code> characters
-   * unescaped if they already begin a valid three-character escape sequence;
-   * <code>false</code> to encode all <code>%</code> characters.  Note that
-   * if a <code>%</code> is not followed by 2 hex digits, it will always be
-   * escaped. 
-   */
-  public static String encodeQuery(String value, boolean ignoreEscaped)
-  {
-    return encode(value, URIC_HI, URIC_LO, ignoreEscaped);
-  }
-
-  /**
-   * Encodes a string so as to produce a valid fragment, as defined by the
-   * RFC.  Only excluded characters, such as space and <code>#</code>, are
-   * escaped.
-   * 
-   * @param ignoreEscaped <code>true</code> to leave <code>%</code> characters
-   * unescaped if they already begin a valid three-character escape sequence;
-   * <code>false</code> to encode all <code>%</code> characters.  Note that
-   * if a <code>%</code> is not followed by 2 hex digits, it will always be
-   * escaped. 
-   */
-  public static String encodeFragment(String value, boolean ignoreEscaped)
-  {
-    return encode(value, URIC_HI, URIC_LO, ignoreEscaped);
-  }
-
-  // Encodes a complete URI, optionally leaving % characters unescaped when
-  // beginning a valid three-character escape sequence.  We assume that the
-  // last # begins the fragment.
-  private static String encodeURI(String uri, boolean ignoreEscaped)
-  {
-    if (uri == null) return null;
-
-    StringBuffer result = new StringBuffer();
-
-    int i = uri.indexOf(SCHEME_SEPARATOR);
-    if (i != -1)
-    {
-      String scheme = uri.substring(0, i);
-      result.append(scheme);
-      result.append(SCHEME_SEPARATOR);
-    }
-    
-    int j = uri.lastIndexOf(FRAGMENT_SEPARATOR);
-    if (j != -1)
-    {
-      String sspart = uri.substring(++i, j);
-      result.append(encode(sspart, URIC_HI, URIC_LO, ignoreEscaped));
-      result.append(FRAGMENT_SEPARATOR);
-
-      String fragment = uri.substring(++j);
-      result.append(encode(fragment, URIC_HI, URIC_LO, ignoreEscaped));
-    }
-    else
-    {
-      String sspart = uri.substring(++i);
-      result.append(encode(sspart, URIC_HI, URIC_LO, ignoreEscaped));
-    }
-    
-    return result.toString();
-  }
-
-  // Encodes the given string, replacing each ASCII character that is not in
-  // the set specified by the 128-bit bitmask and each non-ASCII character
-  // below 0xA0 by an escape sequence of % followed by two hex digits.  If
-  // % is not in the set but ignoreEscaped is true, then % will not be encoded
-  // iff it already begins a valid escape sequence.
-  private static String encode(String value, long highBitmask, long lowBitmask, boolean ignoreEscaped)
-  {
-    if (value == null) return null;
-
-    StringBuffer result = null;
-
-    for (int i = 0, len = value.length(); i < len; i++)
-    {
-      char c = value.charAt(i);
-
-      if (!matches(c, highBitmask, lowBitmask) && c < 160 &&
-          (!ignoreEscaped || !isEscaped(value, i)))
-      {
-        if (result == null)
-        {
-          result = new StringBuffer(value.substring(0, i));
-        }
-        appendEscaped(result, (byte)c);
-      }
-      else if (result != null)
-      {
-        result.append(c);
-      }
-    }
-    return result == null ? value : result.toString();
-  }
-
-  // Tests whether an escape occurs in the given string, starting at index i.
-  // An escape sequence is a % followed by two hex digits.
-  private static boolean isEscaped(String s, int i)
-  {
-    return s.charAt(i) == ESCAPE && s.length() > i + 2 &&
-      matches(s.charAt(i + 1), HEX_HI, HEX_LO) &&
-      matches(s.charAt(i + 2), HEX_HI, HEX_LO);
-  }
-
-  // Computes a three-character escape sequence for the byte, appending
-  // it to the StringBuffer.  Only characters up to 0xFF should be escaped;
-  // all but the least significant byte will be ignored.
-  private static void appendEscaped(StringBuffer result, byte b)
-  {
-    result.append(ESCAPE);
-
-    // The byte is automatically widened into an int, with sign extension,
-    // for shifting.  This can introduce 1's to the left of the byte, which
-    // must be cleared by masking before looking up the hex digit.
-    //
-    result.append(HEX_DIGITS[(b >> 4) & 0x0F]);
-    result.append(HEX_DIGITS[b & 0x0F]);
-  }
-
-  /**
-   * Decodes the given string, replacing each three-digit escape sequence by
-   * the character that it represents.  Incomplete escape sequences are
-   * ignored.
-   */
-  public static String decode(String value)
-  {
-    if (value == null) return null;
-
-    StringBuffer result = null;
-
-    for (int i = 0, len = value.length(); i < len; i++)
-    {
-      if (isEscaped(value, i)) 
-      {
-        if (result == null)
-        {
-          result = new StringBuffer(value.substring(0, i));
-        }
-        result.append(unescape(value.charAt(i + 1), value.charAt(i + 2)));
-        i += 2;
-      }
-      else if (result != null)
-      {
-        result.append(value.charAt(i));
-      }
-    }
-    return result == null ? value : result.toString();
-  }
-
-  // Returns the character encoded by % followed by the two given hex digits,
-  // which is always 0xFF or less, so can safely be casted to a byte.  If
-  // either character is not a hex digit, a bogus result will be returned.
-  private static char unescape(char highHexDigit, char lowHexDigit)
-  {
-    return (char)((valueOf(highHexDigit) << 4) | valueOf(lowHexDigit));
-  }
-
-  // Returns the int value of the given hex digit.
-  private static int valueOf(char hexDigit)
-  {
-    if (hexDigit >= 'A' && hexDigit <= 'F')
-    {
-      return hexDigit - 'A' + 10;
-    }
-    if (hexDigit >= 'a' && hexDigit <= 'f')
-    {
-      return hexDigit - 'a' + 10;
-    }
-    if (hexDigit >= '0' && hexDigit <= '9')
-    {
-      return hexDigit - '0';
-    }
-    return 0;
-  }
-
-  /*
-   * Returns <code>true</code> if this URI contains non-ASCII characters;
-   * <code>false</code> otherwise.
-   *
-   * This unused code is included for possible future use... 
-   */
-/*
-  public boolean isIRI()
-  {
-    return iri; 
-  }
-
-  // Returns true if the given string contains any non-ASCII characters;
-  // false otherwise.
-  private static boolean containsNonASCII(String value)
-  {
-    for (int i = 0, len = value.length(); i < len; i++)
-    {
-      if (value.charAt(i) > 127) return true;
-    }
-    return false;
-  }
-*/
-
-  /*
-   * If this is an {@link #isIRI IRI}, converts it to a strict ASCII URI,
-   * using the procedure described in Section 3.1 of the
-   * <a href="http://www.w3.org/International/iri-edit/draft-duerst-iri-09.txt">IRI
-   * Draft RFC</a>.  Otherwise, this URI, itself, is returned.
-   *
-   * This unused code is included for possible future use...
-   */
-/*
-  public URI toASCIIURI()
-  {
-    if (!iri) return this;
-
-    if (cachedASCIIURI == null)
-    {
-      String eAuthority = encodeAsASCII(authority);
-      String eDevice = encodeAsASCII(device);
-      String eQuery = encodeAsASCII(query);
-      String eFragment = encodeAsASCII(fragment);
-      String[] eSegments = new String[segments.length];
-      for (int i = 0; i < segments.length; i++)
-      {
-        eSegments[i] = encodeAsASCII(segments[i]);
-      }
-      cachedASCIIURI = new URI(hierarchical, scheme, eAuthority, eDevice, absolutePath, eSegments, eQuery, eFragment); 
-
-    }
-    return cachedASCIIURI;
-  }
-
-  // Returns a strict ASCII encoding of the given value.  Each non-ASCII
-  // character is converted to bytes using UTF-8 encoding, which are then
-  // represnted using % escaping.
-  private String encodeAsASCII(String value)
-  {
-    if (value == null) return null;
-
-    StringBuffer result = null;
-
-    for (int i = 0, len = value.length(); i < len; i++)
-    {
-      char c = value.charAt(i);
-
-      if (c >= 128)
-      {
-        if (result == null)
-        {
-          result = new StringBuffer(value.substring(0, i));
-        }
-
-        try
-        {
-          byte[] encoded = (new String(new char[] { c })).getBytes("UTF-8");
-          for (int j = 0, encLen = encoded.length; j < encLen; j++)
-          {
-            appendEscaped(result, encoded[j]);
-          }
-        }
-        catch (UnsupportedEncodingException e)
-        {
-          throw new WrappedException(e);
-        }
-      }
-      else if (result != null)
-      {
-        result.append(c);
-      }
-
-    }
-    return result == null ? value : result.toString();
-  }
-
-  // Returns the number of valid, consecutive, three-character escape
-  // sequences in the given string, starting at index i.
-  private static int countEscaped(String s, int i)
-  {
-    int result = 0;
-
-    for (int len = s.length(); i < len; i += 3)
-    {
-      if (isEscaped(s, i)) result++;
-    }
-    return result;
-  }
-*/
-}
diff --git a/plugins/org.eclipse.wst.common.uriresolver/src/org/eclipse/wst/common/uriresolver/internal/URIResolverExtensionDescriptor.java b/plugins/org.eclipse.wst.common.uriresolver/src/org/eclipse/wst/common/uriresolver/internal/URIResolverExtensionDescriptor.java
deleted file mode 100644
index 647fa36..0000000
--- a/plugins/org.eclipse.wst.common.uriresolver/src/org/eclipse/wst/common/uriresolver/internal/URIResolverExtensionDescriptor.java
+++ /dev/null
@@ -1,122 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *******************************************************************************/
-package org.eclipse.wst.common.uriresolver.internal;
-
-import java.util.List;
-
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.wst.common.uriresolver.internal.provisional.URIResolverExtension;
-import org.osgi.framework.Bundle;
-
-/**
- * A URI resolver extension descriptor contains all the information about
- * an extension URI resolver. The information contained allows for the
- * extension resolver to be instantiated and called at the correct times.
- */
-public class URIResolverExtensionDescriptor
-{
-	protected URIResolverExtension resolver;
-
-	protected String fileType;
-
-	protected String className;
-
-	public List projectNatureIds;
-
-	protected String resourceType;
-
-	protected int stage = URIResolverExtensionRegistry.STAGE_POSTNORMALIZATION;
-
-	protected String priority = URIResolverExtensionRegistry.PRIORITY_MEDIUM;
-
-	protected String pluginId;
-
-	protected boolean error;
-
-	/**
-	 * Constructor.
-	 * 
-	 * @param className The extension URI resolver class name.
-	 * @param pluginId The ID of the plugin that contains the extension URI resolver class.
-	 * @param projectNatureIds The project nature IDs for which the resolver should run.
-	 * @param resourceType The type of resource for which the resolver should run.
-	 * @param stage The stage of the resolver. Either prenormalization or postnormalization.
-	 * @param priority The resolver's priority. high, medium, or low.
-	 */
-	public URIResolverExtensionDescriptor(String className, String pluginId,
-			List projectNatureIds, String resourceType, int stage, String priority)
-	{
-		this.className = className;
-		this.pluginId = pluginId;
-		this.projectNatureIds = projectNatureIds;
-		this.resourceType = resourceType;
-		this.stage = stage;
-		this.priority = priority;
-	}
-
-	/**
-	 * Get the extension URI resolver.
-	 * 
-	 * @return The extension URI resolver.
-	 */
-	public URIResolverExtension getResolver()
-	{
-
-		if (resolver == null && className != null && !error)
-		{
-			try
-			{
-				// Class theClass = classLoader != null ?
-				// classLoader.loadClass(className) : Class.forName(className);
-				Bundle bundle = Platform.getBundle(pluginId);
-				Class theClass = bundle.loadClass(className);
-				resolver = (URIResolverExtension) theClass.newInstance();
-			} catch (Exception e)
-			{
-				error = true;
-				e.printStackTrace();
-			}
-		}
-		return resolver;
-	}
-
-	/**
-	 * Determines if the resolver should run in the current scenario given
-	 * the project nature ID, resource type, and stage.
-	 * 
-	 * @param projectNatureId The project nature ID to check against.
-	 * @param resourceType The resource type to check against.
-	 * @param stage The stage to check against.
-	 * @return True if the resolver should run, false otherwise.
-	 */
-	public boolean matches(String projectNatureId, String resourceType, int stage)
-	{
-		if (projectNatureIds.contains(projectNatureId))
-		{
-			return matches(this.resourceType, resourceType) && this.stage == stage;
-		}
-		return false;
-	}
-
-	/**
-	 * Determines if string a matches string b.
-	 * TODO: Why is this required instead of just using String.equals?
-	 * 
-	 * @param a String for comparison.
-	 * @param b String for comparison.
-	 * @return True if the strings match, false otherwise.
-	 */
-	private boolean matches(String a, String b)
-	{
-		return (a != null) ? a.equals(b) : a == b;
-	}
-}
diff --git a/plugins/org.eclipse.wst.common.uriresolver/src/org/eclipse/wst/common/uriresolver/internal/URIResolverExtensionRegistry.java b/plugins/org.eclipse.wst.common.uriresolver/src/org/eclipse/wst/common/uriresolver/internal/URIResolverExtensionRegistry.java
deleted file mode 100644
index d081bf1..0000000
--- a/plugins/org.eclipse.wst.common.uriresolver/src/org/eclipse/wst/common/uriresolver/internal/URIResolverExtensionRegistry.java
+++ /dev/null
@@ -1,162 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *******************************************************************************/
-package org.eclipse.wst.common.uriresolver.internal;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.CoreException;
-
-/**
- * The URI resolver extension registry contains information about
- * all of the extension URI resolvers.
- */
-public class URIResolverExtensionRegistry
-{
-	protected HashMap map = new HashMap();
-
-	public static final int STAGE_PRENORMALIZATION = 1;
-
-	public static final int STAGE_POSTNORMALIZATION = 2;
-
-	public static final int STAGE_PHYSICAL = 3;
-
-	public static final String PRIORITY_LOW = "low";
-
-	public static final String PRIORITY_MEDIUM = "medium";
-
-	public static final String PRIORITY_HIGH = "high";
-
-	protected final static String NULL_PROJECT_NATURE_ID = "";
-
-	protected static URIResolverExtensionRegistry instance;
-
-	private URIResolverExtensionRegistry()
-	{
-	}
-
-	/**
-	 * Get the one and only instance of the registry.
-	 * 
-	 * @return The one and only instance of the registry.
-	 */
-	public synchronized static URIResolverExtensionRegistry getIntance()
-	{
-		if (instance == null)
-		{
-			instance = new URIResolverExtensionRegistry();
-			new URIResolverExtensionRegistryReader(instance).readRegistry();
-		}
-		return instance;
-	}
-
-	/**
-	 * Add an extension resolver to the registry.
-	 * 
-	 * @param className The name of the extension URI resolver class.
-	 * @param pluginId The ID of the plugin that contains the extension URI resolver class.
-	 * @param projectNatureIds A list of project natures IDs for which the resolver should run.
-	 * @param resourceType The type of resoure for which an extension resource should run.
-	 * @param stage The stage to run. Either prenormalization or postnormalization.
-	 * @param priority The priority of the resolver. Valid values are high, medium, and low.
-	 */
-	public void put(String className, String pluginId, List projectNatureIds,
-			String resourceType, int stage, String priority)
-	{
-		if (projectNatureIds == null)
-			projectNatureIds = new ArrayList();
-		if (projectNatureIds.isEmpty())
-		{
-			projectNatureIds.add(NULL_PROJECT_NATURE_ID);
-		}
-		URIResolverExtensionDescriptor info = new URIResolverExtensionDescriptor(
-				className, pluginId, projectNatureIds, resourceType, stage, priority);
-
-		Iterator idsIter = projectNatureIds.iterator();
-		while (idsIter.hasNext())
-		{
-			String key = (String) idsIter.next();
-
-			HashMap priorityMap = (HashMap) map.get(key);
-			if (priorityMap == null)
-			{
-				priorityMap = new HashMap();
-				map.put(key, priorityMap);
-				priorityMap.put(PRIORITY_HIGH, new ArrayList());
-				priorityMap.put(PRIORITY_MEDIUM, new ArrayList());
-				priorityMap.put(PRIORITY_LOW, new ArrayList());
-			}
-			List list = (List) priorityMap.get(priority);
-			list.add(info);
-		}
-	}
-
-	/**
-	 * Return a list of URIResolverExtensionDescriptor objects that apply to this
-	 * project. The list is in the priority order high, medium, low.
-	 * 
-	 * @param project The project for which you are requesting resolvers.
-	 * @return A list of URIResolverExtensionDescriptor objects.
-	 */
-	public List getExtensionDescriptors(IProject project)
-	{
-		List result = new ArrayList();
-		for (Iterator i = map.keySet().iterator(); i.hasNext();)
-		{
-			String key = (String) i.next();
-			try
-			{
-				if (key == NULL_PROJECT_NATURE_ID || project == null
-						|| project.hasNature(key))
-				{
-					result.addAll((List) ((HashMap) map.get(key)).get(PRIORITY_HIGH));
-					result.addAll((List) ((HashMap) map.get(key)).get(PRIORITY_MEDIUM));
-					result.addAll((List) ((HashMap) map.get(key)).get(PRIORITY_LOW));
-				}
-			} catch (CoreException e)
-			{
-			}
-		}
-		return result;
-	}
-
-	/**
-	 * Return a list of URIResolver objects that match the stage.
-	 * TODO: This seems like an odd method to house here. It may need to be moved
-	 *       or removed if the stage attribute dissapears.
-	 * 
-	 * @param resolverInfoList A list of resolvers to prune.
-	 * @param stage The stage requested.
-	 * @return A list of URIResolver objects that match the stage.
-	 */
-	public List getMatchingURIResolvers(List resolverInfoList, int stage)
-	{
-		List result = new ArrayList();
-		for (Iterator i = resolverInfoList.iterator(); i.hasNext();)
-		{
-			URIResolverExtensionDescriptor info = (URIResolverExtensionDescriptor) i
-					.next();
-			if (info.stage == stage)
-			{
-				Object resolver = info.getResolver();
-				if (resolver != null)
-				{
-					result.add(resolver);
-				}
-			}
-		}
-		return result;
-	}
-}
diff --git a/plugins/org.eclipse.wst.common.uriresolver/src/org/eclipse/wst/common/uriresolver/internal/URIResolverExtensionRegistryReader.java b/plugins/org.eclipse.wst.common.uriresolver/src/org/eclipse/wst/common/uriresolver/internal/URIResolverExtensionRegistryReader.java
deleted file mode 100644
index a173f28..0000000
--- a/plugins/org.eclipse.wst.common.uriresolver/src/org/eclipse/wst/common/uriresolver/internal/URIResolverExtensionRegistryReader.java
+++ /dev/null
@@ -1,136 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *******************************************************************************/
-package org.eclipse.wst.common.uriresolver.internal;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IExtensionPoint;
-import org.eclipse.core.runtime.IExtensionRegistry;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.wst.common.uriresolver.internal.provisional.URIResolverPlugin;
-
-/**
- * This class reads the URI resolver extension point and registers extension
- * resolvers with the URI resolver registry.
- */
-public class URIResolverExtensionRegistryReader
-{
-
-	protected static final String EXTENSION_POINT_ID = "resolverExtensions";
-
-	protected static final String TAG_NAME = "resolverExtension";
-
-	protected static final String ATT_ID = "id";
-
-	protected static final String ELEM_PROJECT_NATURE_ID = "projectNature";
-
-	protected static final String ATT_RESOURCE_TYPE = "resourceType";
-
-	protected static final String ATT_CLASS = "class";
-
-	protected static final String ATT_STAGE = "stage";
-
-	protected static final String VAL_STAGE_PRE = "prenormalization";
-
-	protected static final String VAL_STAGE_POST = "postnormalization";
-
-	protected static final String VAL_STAGE_PHYSICAL = "physical";
-
-	protected static final String ATT_VALUE = "value";
-
-	protected static final String ATT_PRIORITY = "priority";
-
-	protected URIResolverExtensionRegistry registry;
-
-	public URIResolverExtensionRegistryReader(URIResolverExtensionRegistry registry)
-	{
-		this.registry = registry;
-	}
-
-	/**
-	 * read from plugin registry and parse it.
-	 */
-	public void readRegistry()
-	{
-		IExtensionRegistry pluginRegistry = Platform.getExtensionRegistry();
-		IExtensionPoint point = pluginRegistry.getExtensionPoint(URIResolverPlugin
-				.getInstance().getBundle().getSymbolicName(), EXTENSION_POINT_ID);
-		if (point != null)
-		{
-			IConfigurationElement[] elements = point.getConfigurationElements();
-			for (int i = 0; i < elements.length; i++)
-			{
-				readElement(elements[i]);
-			}
-		}
-	}
-
-	/**
-	 * readElement() - parse and deal with an extension like:
-	 * 
-	 * <extension point="org.eclipse.wst.contentmodel.util_implementation">
-	 * <util_implementation class =
-	 * org.eclipse.wst.baseutil.CMUtilImplementationImpl /> </extension>
-	 */
-	protected void readElement(IConfigurationElement element)
-	{
-		if (element.getName().equals(TAG_NAME))
-		{
-			// String id = element.getAttribute(ATT_ID);
-			String className = element.getAttribute(ATT_CLASS);
-			// String projectNatureId = element.getAttribute(ATT_PROJECT_NATURE_ID);
-			String resourceType = element.getAttribute(ATT_RESOURCE_TYPE);
-			String stage = element.getAttribute(ATT_STAGE);
-			String priority = element.getAttribute(ATT_PRIORITY);
-			if (priority == null || priority.equals(""))
-			{
-				priority = URIResolverExtensionRegistry.PRIORITY_MEDIUM;
-			}
-			List projectNatureIds = new ArrayList();
-			IConfigurationElement[] ids = element.getChildren(ELEM_PROJECT_NATURE_ID);
-			int numids = ids.length;
-			for (int i = 0; i < numids; i++)
-			{
-				String tempid = ids[i].getAttribute(ATT_VALUE);
-
-				if (tempid != null)
-				{
-					projectNatureIds.add(tempid);
-				}
-			}
-			if (className != null)
-			{
-				try
-				{
-					String pluginId = element.getDeclaringExtension().getNamespaceIdentifier();
-
-					int stageint = URIResolverExtensionRegistry.STAGE_POSTNORMALIZATION;
-					if (stage.equalsIgnoreCase(VAL_STAGE_PRE))
-					{
-						stageint = URIResolverExtensionRegistry.STAGE_PRENORMALIZATION;
-					} else if (stage.equalsIgnoreCase(VAL_STAGE_PHYSICAL))
-					{
-						stageint = URIResolverExtensionRegistry.STAGE_PHYSICAL;
-					}
-					registry.put(className, pluginId, projectNatureIds, resourceType,
-							stageint, priority);
-				} catch (Exception e)
-				{
-					// TODO: Log exception as this will cause an extension resolver
-					//       from loading.
-				}
-			}
-		}
-	}
-}
diff --git a/plugins/org.eclipse.wst.common.uriresolver/src/org/eclipse/wst/common/uriresolver/internal/provisional/URIResolver.java b/plugins/org.eclipse.wst.common.uriresolver/src/org/eclipse/wst/common/uriresolver/internal/provisional/URIResolver.java
deleted file mode 100644
index ef0a4ca..0000000
--- a/plugins/org.eclipse.wst.common.uriresolver/src/org/eclipse/wst/common/uriresolver/internal/provisional/URIResolver.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *******************************************************************************/
-package org.eclipse.wst.common.uriresolver.internal.provisional;
-
-/**
- * A URIResolver is used to resolve URI references to resources.
- */
-public interface URIResolver {
-	
-	/**
-	 * @param baseLocation - the location of the resource that contains the uri 
-	 * @param publicId - an optional public identifier (i.e. namespace name), or null if none
-	 * @param systemId - an absolute or relative URI, or null if none 
-	 * @return an absolute URI represention the 'logical' location of the resource
-	 */
-	public String resolve(String baseLocation, String publicId, String systemId);
-    
-    /**
-     * @param baseLocation - the location of the resource that contains the uri 
-     * @param publicId - an optional public identifier (i.e. namespace name), or null if none
-     * @param systemId - an absolute or relative URI, or null if none 
-     * @return an absolute URI represention the 'physical' location of the resource
-     */
-    public String resolvePhysicalLocation(String baseLocation, String publicId, String logicalLocation);    
-}
diff --git a/plugins/org.eclipse.wst.common.uriresolver/src/org/eclipse/wst/common/uriresolver/internal/provisional/URIResolverExtension.java b/plugins/org.eclipse.wst.common.uriresolver/src/org/eclipse/wst/common/uriresolver/internal/provisional/URIResolverExtension.java
deleted file mode 100644
index 16d61e7..0000000
--- a/plugins/org.eclipse.wst.common.uriresolver/src/org/eclipse/wst/common/uriresolver/internal/provisional/URIResolverExtension.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *******************************************************************************/
-package org.eclipse.wst.common.uriresolver.internal.provisional;
-
-import org.eclipse.core.resources.IFile;
-
-/**
- * An extension to augment the behaviour of a URIResolver.  Extensions are project aware
- * so that they can apply specialized project specific resolving rules. 
- */
-public interface URIResolverExtension {
-	/**
-	 * @param file the in-workspace base resource, if one exists
-	 * @param baseLocation - the location of the resource that contains the uri
-	 * @param publicId - an optional public identifier (i.e. namespace name), or null if none
-	 * @param systemId - an absolute or relative URI, or null if none 
-	 * 
-	 * @return an absolute URI or null if this extension can not resolve this reference
-	 */
-	public String resolve(IFile file, String baseLocation, String publicId, String systemId);
-}
diff --git a/plugins/org.eclipse.wst.common.uriresolver/src/org/eclipse/wst/common/uriresolver/internal/provisional/URIResolverPlugin.java b/plugins/org.eclipse.wst.common.uriresolver/src/org/eclipse/wst/common/uriresolver/internal/provisional/URIResolverPlugin.java
deleted file mode 100644
index 2b63687..0000000
--- a/plugins/org.eclipse.wst.common.uriresolver/src/org/eclipse/wst/common/uriresolver/internal/provisional/URIResolverPlugin.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *******************************************************************************/
-package org.eclipse.wst.common.uriresolver.internal.provisional;
-
-import java.util.Map;
-
-import org.eclipse.core.runtime.Plugin;
-import org.eclipse.wst.common.uriresolver.internal.ExtensibleURIResolver;
-import org.eclipse.wst.common.uriresolver.internal.URIResolverExtensionRegistry;
-
-
-public class URIResolverPlugin extends Plugin {
-	protected static URIResolverPlugin instance;	
-	protected URIResolverExtensionRegistry xmlResolverExtensionRegistry;
-
-	public static URIResolverPlugin getInstance()
-	{
-		return instance;
-	}
-	
-	public URIResolverPlugin() {
-		super();
-		instance = this;
-	}	
-	
-					
-	public static URIResolver createResolver()
-	{
-		return createResolver(null);
-	}
-	
-	public static URIResolver createResolver(Map properties)
-	{
-		// TODO... utilize properties
-		return new ExtensibleURIResolver();
-	}	
-}
diff --git a/plugins/org.eclipse.wst.common.uriresolver/src/org/eclipse/wst/common/uriresolver/internal/util/URIEncoder.java b/plugins/org.eclipse.wst.common.uriresolver/src/org/eclipse/wst/common/uriresolver/internal/util/URIEncoder.java
deleted file mode 100644
index 6fc7c9e..0000000
--- a/plugins/org.eclipse.wst.common.uriresolver/src/org/eclipse/wst/common/uriresolver/internal/util/URIEncoder.java
+++ /dev/null
@@ -1,204 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *******************************************************************************/
-package org.eclipse.wst.common.uriresolver.internal.util;
-
-import java.io.BufferedWriter;
-import java.io.ByteArrayOutputStream;
-import java.io.IOException;
-import java.io.OutputStreamWriter;
-import java.io.UnsupportedEncodingException;
-import java.util.BitSet;
-
-/**
- *  This class is a modified version of java.lang.URLEncoder.
- */
-public class URIEncoder 
-{
-  static BitSet dontNeedEncoding;
-  static final int caseDiff = ('a' - 'A');
-  static String dfltEncName = null;
-  
-
-  static 
-  {            
-	  dontNeedEncoding = new BitSet(256);
-	  int i;
-	  for (i = 'a'; i <= 'z'; i++) 
-    {
-	    dontNeedEncoding.set(i);
-	  }
-	  for (i = 'A'; i <= 'Z'; i++) 
-    {
-	    dontNeedEncoding.set(i);
-	  }
-	  for (i = '0'; i <= '9'; i++) 
-    {
-	    dontNeedEncoding.set(i);
-	  }
-
-	  //dontNeedEncoding.set(' '); // cs.. removed so that space character will be replaced by %20
-	  dontNeedEncoding.set('-');
-	  dontNeedEncoding.set('_');
-	  dontNeedEncoding.set('.');
-	  dontNeedEncoding.set('*');
-	  dontNeedEncoding.set(':');   // cs.. added 
-	  dontNeedEncoding.set('/');   // cs.. added so that slashes don't get encoded as %2F
-
-  	// dfltEncName = (String)AccessController.doPrivileged(new GetPropertyAction("file.encoding"));
-  	// As discussed with Sandy, we should encode URIs with UTF8
-   dfltEncName = "UTF8";
-    //System.out.println("dfltEncName " + dfltEncName);
-   }
-
-  /**
-   * You can't call the constructor.
-   */
-  private URIEncoder() { }
-
-  /**
-   * Translates a string into <code>x-www-form-urlencoded</code>
-   * format. This method uses the platform's default encoding
-   * as the encoding scheme to obtain the bytes for unsafe characters.
-   *
-   * @param   s   <code>String</code> to be translated.
-   * @deprecated The resulting string may vary depending on the platform's
-   *             default encoding. Instead, use the encode(String,String)
-   *             method to specify the encoding.
-   * @return  the translated <code>String</code>.
-   */
-  public static String encode(String s) 
-  {
-	  String str = null;
-	  try 
-    {
-	    str = encode(s, dfltEncName);
-	  } 
-    catch (UnsupportedEncodingException e) 
-    {
-	    // The system should always have the platform default
-	  }
-	  return str;
-  }
-
-  /**
-   * Translates a string into <code>application/x-www-form-urlencoded</code>
-   * format using a specific encoding scheme. This method uses the
-   * supplied encoding scheme to obtain the bytes for unsafe
-   * characters.
-   * <p>
-   * <em><strong>Note:</strong> The <a href=
-   * "http://www.w3.org/TR/html40/appendix/notes.html#non-ascii-chars">
-   * World Wide Web Consortium Recommendation</a> states that
-   * UTF-8 should be used. Not doing so may introduce
-   * incompatibilites.</em>
-   *
-   * @param   s   <code>String</code> to be translated.
-   * @param   enc   The name of a supported 
-   *    <a href="../lang/package-summary.html#charenc">character
-   *    encoding</a>.
-   * @return  the translated <code>String</code>.
-   * @exception  UnsupportedEncodingException
-   *             If the named encoding is not supported
-   * @see java.net.URLDecoder#decode(java.lang.String, java.lang.String)
-   */
-  public static String encode(String s, String enc) throws UnsupportedEncodingException 
-  {
-	  boolean needToChange = false;
-	  boolean wroteUnencodedChar = false; 
-	  int maxBytesPerChar = 10; // rather arbitrary limit, but safe for now
-    StringBuffer out = new StringBuffer(s.length());
-	  ByteArrayOutputStream buf = new ByteArrayOutputStream(maxBytesPerChar);
-	  BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(buf, enc));
-
-	  for (int i = 0; i < s.length(); i++) 
-    {
-	    int c = s.charAt(i);
-	    //System.out.println("Examining character: " + c);
-	    if (dontNeedEncoding.get(c))
-      {
-		   //if (c == ' ')
-       //{
-		   //  c = '+';
-		   //  needToChange = true;
-		   //}
-		   //System.out.println("Storing: " + c);
-		   out.append((char)c);
-		   wroteUnencodedChar = true;
-	    }
-      else
-      {
-		    // convert to external encoding before hex conversion
-		    try
-        {
-		      if (wroteUnencodedChar) 
-          { // Fix for 4407610
-		    	  writer = new BufferedWriter(new OutputStreamWriter(buf, enc));
-			      wroteUnencodedChar = false;
-		      }
-		      writer.write(c);
-		        
-		      // If this character represents the start of a Unicode
-		      // surrogate pair, then pass in two characters. It's not
-		      // clear what should be done if a bytes reserved in the 
-		      // surrogate pairs range occurs outside of a legal
-		      // surrogate pair. For now, just treat it as if it were 
-		      // any other character.
-		      // 
-		      if (c >= 0xD800 && c <= 0xDBFF) 
-          {
-			      //  System.out.println(Integer.toHexString(c) + " is high surrogate");			      
-			      if ( (i+1) < s.length()) 
-            {
-			        int d = s.charAt(i+1);
-			        // System.out.println("\tExamining " + Integer.toHexString(d));			      
-			        if (d >= 0xDC00 && d <= 0xDFFF) 
-              {
-				        // System.out.println("\t" + Integer.toHexString(d) + " is low surrogate");				
-				        writer.write(d);
-				        i++;
-			        }
-			      }
-		      }
-		      writer.flush();
-		    } 
-        catch(IOException e) 
-        {
-		      buf.reset();
-		      continue;
-		    }
-		    byte[] ba = buf.toByteArray();
-
-		    for (int j = 0; j < ba.length; j++) 
-        {
-		      out.append('%');
-		      char ch = Character.forDigit((ba[j] >> 4) & 0xF, 16);
-		      // converting to use uppercase letter as part of
-		      // the hex value if ch is a letter.
-		      if (Character.isLetter(ch)) 
-          {
-			      ch -= caseDiff;
-		      }
-		      out.append(ch);
-		      ch = Character.forDigit(ba[j] & 0xF, 16);
-		      if (Character.isLetter(ch)) 
-          {
-			      ch -= caseDiff;
-		      }
-		      out.append(ch);
-		    }
-		    buf.reset();
-		    needToChange = true;
-	    }
-	  }
-	  return (needToChange? out.toString() : s);
-  }
-}
diff --git a/plugins/org.eclipse.wst.common.uriresolver/src/org/eclipse/wst/common/uriresolver/internal/util/URIHelper.java b/plugins/org.eclipse.wst.common.uriresolver/src/org/eclipse/wst/common/uriresolver/internal/util/URIHelper.java
deleted file mode 100644
index 72e94fc..0000000
--- a/plugins/org.eclipse.wst.common.uriresolver/src/org/eclipse/wst/common/uriresolver/internal/util/URIHelper.java
+++ /dev/null
@@ -1,496 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *******************************************************************************/
-package org.eclipse.wst.common.uriresolver.internal.util;
-
-import java.io.File;
-import java.io.InputStream;
-import java.io.UnsupportedEncodingException;
-import java.net.URI;
-import java.net.URL;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.FileLocator;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Path;
-
-
-public class URIHelper
-{                       
-  protected static final String FILE_PROTOCOL = "file:";
-  protected static final String PLATFORM_RESOURCE_PROTOCOL = "platform:/resource/";
-  protected static final String PROTOCOL_PATTERN = ":"; 
-
-  public static String normalize(String uri)
-  {                           
-    if (uri != null)
-    {                      
-      String protocol = getProtocol(uri);
-      String file = uri;
-           
-      if (protocol != null)
-      {               
-        try
-        {   
-          // 
-          URL url = new URL(uri); 
-          // we use a 'Path' on the 'file' part of the url in order to normalize the '.' and '..' segments
-          IPath path = new Path(url.getFile()); 
-          URL url2 = new URL(url.getProtocol(), url.getHost(), url.getPort(), path.toString());
-          uri = url2.toString();                               
-        }                        
-        catch (Exception e)
-        {  
-        }
-      }   
-      else
-      {      
-        IPath path = new Path(file);
-        uri = path.toString();
-      }
-    }
-    return uri;
-  }
-
-
-  /**
-   * a 'null' rootLocation argument will causes uri that begins with a '/' to be treated as a workspace relative resource
-   * (i.e. the string "platform:/resource" is prepended and the uri is resolved via the Platform object)
-   */
-  public static String normalize(String uri, String resourceLocation, String rootLocation)
-  {
-    String result = null;
-
-    if (uri != null)
-    { 
-      // is the uri a url
-      if (hasProtocol(uri))
-      {                  
-        if (isPlatformResourceProtocol(uri))
-        {
-          result = resolvePlatformUrl(uri);
-        }
-        else
-        {
-          result = uri;
-        }
-      }
-   
-      // is uri absolute
-      //
-      if (result == null)
-      {
-        if (uri.indexOf(":") != -1 || uri.startsWith("/") || uri.startsWith("\\"))
-        {                   
-          result = uri;
-        }
-      }
-  
-      // if uri is relative to the resourceLocation
-      //
-      if (result == null && resourceLocation != null)
-      {          
-        if (resourceLocation.endsWith("/"))
-        {
-			    result = resourceLocation + uri;
-        }
-		    else
-        {
-			    result = resourceLocation + "/../" + uri;
-        }
-      }
-      
-      if (result == null)
-      {
-        result = uri;
-      }
-  
-      result = normalize(result);
-    }
-
-    //System.out.println("normalize(" + uri + ", " + resourceLocation + ", " + rootLocation + ") = " + result);
-    return result;
-  }
-
-
-  public static boolean isURL(String uri)
-  {
-    return uri.indexOf(":/") > 2; // test that the index is > 2 so that C:/ is not considered a protocol
-  }
-
-
-  public static String getLastSegment(String uri)
-  {
-    String result = uri;
-    int index = Math.max(uri.lastIndexOf("/"), uri.lastIndexOf("\\"));
-    if (index != -1)
-    {
-      result = uri.substring(index + 1);
-    }
-    return result;
-  }
-
-
-  public static String getFileExtension(String uri)
-  {
-    String result = null;
-    int dotIndex = getExtensionDotIndex(uri);
-               
-    if (dotIndex != -1)
-    {
-      result = uri.substring(dotIndex + 1);
-    }
-
-    return result;
-  }
-
-
-  public static String removeFileExtension(String uri)
-  {
-    String result = null;
-    int dotIndex = getExtensionDotIndex(uri);
-
-    if (dotIndex != -1)
-    {
-      result = uri.substring(0, dotIndex);
-    }
-
-    return result;
-  }   
-             
-
-  // here we use the Platform to resolve a workspace relative path to an actual url
-  //
-  protected static String resolvePlatformUrl(String urlspec)
-  {
-    String result = null;
-    try
-    {                        
-      urlspec = urlspec.replace('\\', '/'); 
-      URL url = new URL(urlspec);
-      URL resolvedURL = FileLocator.resolve(url);
-      result = resolvedURL.toString();
-    }
-    catch (Exception e)
-    {
-    }
-    return result;
-  }
-
-
-  protected static int getExtensionDotIndex(String uri)
-  {
-    int result = -1;
-    int dotIndex = uri.lastIndexOf(".");
-    int slashIndex = Math.max(uri.lastIndexOf("/"), uri.lastIndexOf("\\"));
-
-    if (dotIndex != -1 && dotIndex > slashIndex)
-    {
-      result = dotIndex;
-    }
-
-    return result;
-  }
-  
-
-  public static boolean isPlatformResourceProtocol(String uri)
-  {                                                     
-    return uri != null && uri.startsWith(PLATFORM_RESOURCE_PROTOCOL);
-  }                                                   
-
-  public static String removePlatformResourceProtocol(String uri)
-  {  
-    if (uri != null && uri.startsWith(PLATFORM_RESOURCE_PROTOCOL))
-    {
-      uri = uri.substring(PLATFORM_RESOURCE_PROTOCOL.length());
-    }                                                          
-    return uri;
-  }            
-
-
-  public static String prependPlatformResourceProtocol(String uri)
-  {  
-    if (uri != null && !uri.startsWith(PLATFORM_RESOURCE_PROTOCOL))
-    {
-      uri = PLATFORM_RESOURCE_PROTOCOL + uri;
-    }                                                          
-    return uri;
-  } 
-  
-
-  public static String prependFileProtocol(String uri)
-  {  
-    if (uri != null && !uri.startsWith(FILE_PROTOCOL))
-    {
-      uri = FILE_PROTOCOL + uri;
-    }                                                          
-    return uri;
-  } 
-            
-  public static boolean hasProtocol(String uri)
-  {
-    boolean result = false;     
-    if (uri != null)
-    {
-      int index = uri.indexOf(PROTOCOL_PATTERN);
-      if (index != -1 && index > 2) // assume protocol with be length 3 so that the'C' in 'C:/' is not interpreted as a protocol
-      {
-        result = true;
-      }
-    }
-    return result;
-  }     
-                      
-
-  public static boolean isAbsolute(String uri)
-  {
-    boolean result = false;     
-    if (uri != null)
-    {
-      int index = uri.indexOf(PROTOCOL_PATTERN);
-      if (index != -1 || uri.startsWith("/"))
-      {
-        result = true;
-      }
-    }
-    return result;
-  }
-
-
-  public static String addImpliedFileProtocol(String uri)
-  {  
-    if (!hasProtocol(uri))
-    {                           
-      String prefix = FILE_PROTOCOL;
-      prefix += uri.startsWith("/") ? "//" : "///";
-      uri = prefix + uri;
-    }
-    return uri;
-  }
-             
-  // todo... need to revisit this before we publicize it
-  // 
-  protected static String getProtocol(String uri)
-  {  
-    String result = null;     
-    if (uri != null)
-    {
-      int index = uri.indexOf(PROTOCOL_PATTERN);
-      if (index > 2) // assume protocol with be length 3 so that the'C' in 'C:/' is not interpreted as a protocol
-      {
-        result = uri.substring(0, index + PROTOCOL_PATTERN.length());
-      }
-    }
-    return result;
-  } 
- 
-
-  public static String removeProtocol(String uri)
-  {
-    String result = uri;     
-    if (uri != null)
-    {
-      int index = uri.indexOf(PROTOCOL_PATTERN);
-      if (index > 2)
-      {
-        result = result.substring(index + PROTOCOL_PATTERN.length());                 
-      }
-    }
-    return result;
-  } 
-
-
-  protected static boolean isProtocolFileOrNull(String uri)
-  {                                    
-    String protocol = getProtocol(uri);   
-    return protocol == null || protocol.equals(FILE_PROTOCOL);
-  }  
-
-                                           
-  protected static boolean isMatchingProtocol(String uri1, String uri2)
-  { 
-    boolean result = false;  
-
-    String protocol1 = getProtocol(uri1);
-    String protocol2 = getProtocol(uri2);
-
-    if (isProtocolFileOrNull(protocol1) && isProtocolFileOrNull(protocol2))
-    {                                                                      
-      result = true;
-    } 
-    else
-    {
-      result = protocol1 != null && protocol2 != null && protocol1.equals(protocol2);
-    }             
-
-    return result;
-  }
-
-  /**
-   * warning... this method not fully tested yet
-   */
-  public static String getRelativeURI(String uri, String resourceLocation)
-  {                                      
-    String result = uri;  
-    if (isMatchingProtocol(uri, resourceLocation)) 
-    {
-      result = getRelativeURI(new Path(removeProtocol(uri)),
-                              new Path(removeProtocol(resourceLocation)));
-    }            
-
-    return result;
-  }
-
-  /**
-   * warning... this method not fully tested yet
-   */
-  public static String getRelativeURI(IPath uri, IPath resourceLocation)
-  {            
-    String result = null;
-    int nMatchingSegments = 0;       
-    resourceLocation = resourceLocation.removeLastSegments(1);
-    while (true)
-    {                   
-      String a = uri.segment(nMatchingSegments); 
-      String b = resourceLocation.segment(nMatchingSegments); 
-      if (a != null && b != null && a.equals(b))
-      {
-        nMatchingSegments++;
-      }
-      else
-      {
-        break;
-      }
-    }                 
-
-    if (nMatchingSegments == 0)
-    {
-      result = uri.toOSString();
-    }
-    else
-    {    
-      result = "";   
-      boolean isFirst = true;
-      String[] segments = resourceLocation.segments();
-      for (int i = nMatchingSegments; i < segments.length; i++)
-      {  
-        result += isFirst ? ".." : "/..";     
-        if (isFirst)
-        {
-          isFirst = false;
-        }        
-      }
-      // 
-      segments = uri.segments();
-      for (int i = nMatchingSegments; i < segments.length; i++)
-      {                      
-        result += isFirst ? segments[i] : ("/" + segments[i]);     
-        if (isFirst)
-        {
-          isFirst = false;
-        } 
-      }
-    }   
-    return result;
-  }
-
-
-  public static String getPlatformURI(IResource resource)
-  {                            
-    String fullPath = resource.getFullPath().toString();
-    if (fullPath.startsWith("/"))
-    {
-      fullPath = fullPath.substring(1);
-    }
-    return PLATFORM_RESOURCE_PROTOCOL + fullPath;
-  }
-  
-
-  /**
-   * This methods is used as a quick test to see if a uri can be resolved to an existing resource.   
-   */
-  public static boolean isReadableURI(String uri, boolean testRemoteURI)
-  {  
-    boolean result = true;  
-    if (uri != null)
-    {   
-      try
-      {                               
-        uri = normalize(uri, null, null);
-        if (isProtocolFileOrNull(uri))
-        {
-          uri = removeProtocol(uri);                            
-          File file = new File(uri);
-          result = file.exists() && file.isFile();
-        }
-        else if (isPlatformResourceProtocol(uri))
-        {
-          // Note - If we are here, uri has been failed to resolve
-          // relative to the Platform. See normalize() to find why.
-          result = false;
-        }
-        else if (testRemoteURI)
-        {
-          URL url = new URL(uri);
-          InputStream is = url.openConnection().getInputStream();
-          is.close();
-          // the uri is readable if we reach here.
-          result = true;
-        }
-      }
-      catch (Exception e)
-      {
-        result = false;
-      }
-    }
-    else // uri is null
-      result = false;
-
-    return result;
-  }  
-
-  /**
-   * return true if this is a valid uri
-   */
-  public static boolean isValidURI(String uri)
-  {                       
-    boolean result = false;
-    try                                                              
-    {
-      new URI(uri);
-      result = true;
-    }
-    catch (Exception e)
-    {
-    }               
-    return result;
-  }
-
-  /**
-   * returns an acceptable URI for a file path
-   */
-  public static String getURIForFilePath(String filePath)
-  {
-    String result = addImpliedFileProtocol(filePath);
-    if (!isValidURI(result))
-    {
-    	try
-    	{
-        result = URIEncoder.encode(result, "UTF8");
-    	}
-    	catch(UnsupportedEncodingException e)
-    	{
-    		// Do nothing as long as UTF8 is used. This is supported.
-    	}
-    }
-    return result;
-  }
-}
diff --git a/plugins/org.eclipse.wst.internet.cache/.classpath b/plugins/org.eclipse.wst.internet.cache/.classpath
deleted file mode 100644
index 751c8f2..0000000
--- a/plugins/org.eclipse.wst.internet.cache/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/plugins/org.eclipse.wst.internet.cache/.cvsignore b/plugins/org.eclipse.wst.internet.cache/.cvsignore
deleted file mode 100644
index 0515302..0000000
--- a/plugins/org.eclipse.wst.internet.cache/.cvsignore
+++ /dev/null
@@ -1,7 +0,0 @@
-bin
-temp.folder
-build.xml
-cache.jar
-@dot
-src.zip
-javaCompiler...args
diff --git a/plugins/org.eclipse.wst.internet.cache/.project b/plugins/org.eclipse.wst.internet.cache/.project
deleted file mode 100644
index d7188f0..0000000
--- a/plugins/org.eclipse.wst.internet.cache/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.wst.internet.cache</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.internet.cache/.settings/org.eclipse.jdt.core.prefs b/plugins/org.eclipse.wst.internet.cache/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 53d1a0e..0000000
--- a/plugins/org.eclipse.wst.internet.cache/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,57 +0,0 @@
-#Wed Mar 15 17:27:33 EST 2006
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=disabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.4
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=warning
-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=warning
-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=ignore
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=ignore
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
-org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
-org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=error
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.compiler.problem.unusedLocal=error
-org.eclipse.jdt.core.compiler.problem.unusedParameter=warning
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.3
diff --git a/plugins/org.eclipse.wst.internet.cache/.settings/org.eclipse.jdt.ui.prefs b/plugins/org.eclipse.wst.internet.cache/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index 82024b2..0000000
--- a/plugins/org.eclipse.wst.internet.cache/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,3 +0,0 @@
-#Wed Mar 15 17:27:33 EST 2006
-eclipse.preferences.version=1
-internal.default.compliance=default
diff --git a/plugins/org.eclipse.wst.internet.cache/META-INF/MANIFEST.MF b/plugins/org.eclipse.wst.internet.cache/META-INF/MANIFEST.MF
deleted file mode 100644
index 42f2ebc..0000000
--- a/plugins/org.eclipse.wst.internet.cache/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,15 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %_PLUGIN_NAME
-Bundle-SymbolicName: org.eclipse.wst.internet.cache; singleton:=true
-Bundle-Version: 1.0.101.qualifier
-Bundle-Activator: org.eclipse.wst.internet.cache.internal.CachePlugin
-Bundle-Vendor: %_PLUGIN_PROVIDER
-Bundle-Localization: plugin
-Require-Bundle: org.eclipse.ui;bundle-version="[3.2.0,3.3.0)",
- org.eclipse.core.runtime;bundle-version="[3.2.0,3.3.0)",
- org.eclipse.wst.common.uriresolver;bundle-version="[1.1.0,1.2.0)",
- org.eclipse.core.resources;bundle-version="[3.2.0,3.3.0)"
-Eclipse-LazyStart: true
-Export-Package: org.eclipse.wst.internet.cache.internal;x-friends:="org.eclipse.wst.internet.cache.tests",
- org.eclipse.wst.internet.cache.internal.preferences;x-internal:=true
diff --git a/plugins/org.eclipse.wst.internet.cache/about.html b/plugins/org.eclipse.wst.internet.cache/about.html
deleted file mode 100644
index 4ec5989..0000000
--- a/plugins/org.eclipse.wst.internet.cache/about.html
+++ /dev/null
@@ -1,34 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<HTML>
-
-<head>
-<title>About</title>
-<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
-</head>
-
-<BODY lang="EN-US">
-
-<H3>About This Content</H3>
-
-<P>May 2, 2006</P>
-
-<H3>License</H3>
-
-<P>The Eclipse Foundation makes available all content in this plug-in 
-("Content"). Unless otherwise indicated below, the Content is provided to you 
-under the terms and conditions of the Eclipse Public License Version 1.0 
-("EPL"). A copy of the EPL is available at
-<A href="http://www.eclipse.org/org/documents/epl-v10.php">http://www.eclipse.org/org/documents/epl-v10.php</A>. 
-For purposes of the EPL, "Program" will mean the Content.</P>
-
-<P>If you did not receive this Content directly from the Eclipse Foundation, the 
-Content is being redistributed by another party ("Redistributor") and different 
-terms and conditions may apply to your use of any object code in the Content. 
-Check the Redistributor’s license that was provided with the Content. If no such 
-license exists, contact the Redistributor. Unless otherwise indicated below, the 
-terms and conditions of the EPL still apply to any source code in the Content 
-and such source code may be obtained at
-<A href="http://www.eclipse.org/">http://www.eclipse.org/</A>.</P>
-
-</BODY>
-</HTML>
diff --git a/plugins/org.eclipse.wst.internet.cache/build.properties b/plugins/org.eclipse.wst.internet.cache/build.properties
deleted file mode 100644
index dbd4f60..0000000
--- a/plugins/org.eclipse.wst.internet.cache/build.properties
+++ /dev/null
@@ -1,10 +0,0 @@
-source.. = src/
-bin.includes = plugin.xml,\
-               META-INF/,\
-               .,\
-               plugin.properties,\
-               about.html
-src.includes = exsd/,\
-               .,\
-               build.properties
-output.. = bin/
diff --git a/plugins/org.eclipse.wst.internet.cache/exsd/cacheresource.exsd b/plugins/org.eclipse.wst.internet.cache/exsd/cacheresource.exsd
deleted file mode 100644
index bacb272..0000000
--- a/plugins/org.eclipse.wst.internet.cache/exsd/cacheresource.exsd
+++ /dev/null
@@ -1,121 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.wst.internet.cache">
-<annotation>
-      <appInfo>
-         <meta.schema plugin="org.eclipse.wst.internet.cache" id="cacheresource" name="Cache Resource"/>
-      </appInfo>
-      <documentation>
-         The cache resource extension point allows clients to specify resources that may be cached that require licenses to be accepted prior to caching.
-      </documentation>
-   </annotation>
-
-   <element name="extension">
-      <complexType>
-         <sequence>
-            <element ref="cacheresource" minOccurs="1" maxOccurs="unbounded"/>
-         </sequence>
-         <attribute name="point" type="string" use="required">
-            <annotation>
-               <documentation>
-                  a fully qualified identifier of the target extension point
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="id" type="string">
-            <annotation>
-               <documentation>
-                  an optional identifier of the extension instance
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="name" type="string">
-            <annotation>
-               <documentation>
-                  an optional name of the extension instance
-               </documentation>
-               <appInfo>
-                  <meta.attribute translatable="true"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="cacheresource">
-      <complexType>
-         <attribute name="url" type="string" use="required">
-            <annotation>
-               <documentation>
-                  The URL of the resource to cache.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="license" type="string" use="required">
-            <annotation>
-               <documentation>
-                  The license of the resource to cache. The license is specified as a URL that resolves to a file that contains the license.
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="since"/>
-      </appInfo>
-      <documentation>
-         1.0
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="examples"/>
-      </appInfo>
-      <documentation>
-         The following is an example of a cache resource contribution:
-&lt;pre&gt;
-   &lt;extension
-         point=&quot;org.eclipse.wst.internet.cache.cacheresource&quot;&gt;
-      &lt;cacheresource
-            license=&quot;http://www.eclipse.org/license.html&quot;
-            url=&quot;http://www.eclipse.org&quot;/&gt;
-   &lt;/extension&gt;
-&lt;/pre&gt;
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="apiInfo"/>
-      </appInfo>
-      <documentation>
-         
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="implementation"/>
-      </appInfo>
-      <documentation>
-         
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="copyright"/>
-      </appInfo>
-      <documentation>
-         Copyright (c) 2000, 2005 IBM Corporation and others.&lt;br&gt;
-All rights reserved. This program and the accompanying materials are made 
-available under the terms of the Eclipse Public License v1.0 which accompanies 
-this distribution, and is available at &lt;a
-href=&quot;http://www.eclipse.org/legal/epl-v10.html&quot;&gt;http://www.eclipse.org/legal/epl-v10.html&lt;/a&gt;
-      </documentation>
-   </annotation>
-
-</schema>
diff --git a/plugins/org.eclipse.wst.internet.cache/plugin.properties b/plugins/org.eclipse.wst.internet.cache/plugin.properties
deleted file mode 100644
index 5df72b9..0000000
--- a/plugins/org.eclipse.wst.internet.cache/plugin.properties
+++ /dev/null
@@ -1,17 +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
-###############################################################################
-
-_PLUGIN_PROVIDER                       = Eclipse.org
-_PLUGIN_NAME                           = Cache URI Resolver Plug-in
-
-cacheResource                          = Cache Resource
-_UI_CACHE_PREFERENCE_PAGE_TITLE        = Cache
-
diff --git a/plugins/org.eclipse.wst.internet.cache/plugin.xml b/plugins/org.eclipse.wst.internet.cache/plugin.xml
deleted file mode 100644
index 09c05eb..0000000
--- a/plugins/org.eclipse.wst.internet.cache/plugin.xml
+++ /dev/null
@@ -1,30 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin>
-
-   <extension-point name="%cacheResource" id="cacheresource" schema="exsd/cacheresource.exsd"/>
-
-   <extension
-         point="org.eclipse.ui.preferencePages">
-      <page
-            name="%_UI_CACHE_PREFERENCE_PAGE_TITLE"
-            class="org.eclipse.wst.internet.cache.internal.preferences.CachePreferencePage"
-            id="org.eclipse.wst.internet.cache.internal.preferences.CachePreferencePage"
-            category = "org.eclipse.internet">
-      </page>
-   </extension>
-   <extension
-         point="org.eclipse.core.runtime.preferences">
-      <initializer
-            class="org.eclipse.wst.internet.cache.internal.preferences.PreferenceInitializer">
-      </initializer>
-   </extension>
-   
-   <extension point="org.eclipse.wst.common.uriresolver.resolverExtensions">
-      <resolverExtension
-            stage="physical"
-            priority="low"
-            class="org.eclipse.wst.internet.cache.internal.CacheURIResolverExtension">
-      </resolverExtension>
-   </extension>
-</plugin>
diff --git a/plugins/org.eclipse.wst.internet.cache/src/org/eclipse/wst/internet/cache/internal/Cache.java b/plugins/org.eclipse.wst.internet.cache/src/org/eclipse/wst/internet/cache/internal/Cache.java
deleted file mode 100644
index 20cd05f..0000000
--- a/plugins/org.eclipse.wst.internet.cache/src/org/eclipse/wst/internet/cache/internal/Cache.java
+++ /dev/null
@@ -1,523 +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.internet.cache.internal;
-
-import java.io.File;
-import java.io.FileNotFoundException;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStream;
-import java.net.URL;
-import java.net.URLConnection;
-import java.util.Enumeration;
-import java.util.HashSet;
-import java.util.Hashtable;
-import java.util.Random;
-import java.util.Set;
-
-import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.DocumentBuilderFactory;
-import javax.xml.transform.Result;
-import javax.xml.transform.Source;
-import javax.xml.transform.Transformer;
-import javax.xml.transform.TransformerFactory;
-import javax.xml.transform.dom.DOMSource;
-import javax.xml.transform.stream.StreamResult;
-
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Platform;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-
-/**
- * The cache holds references to remote resources. The cache can store resources,
- * retrieve resources, and delete resources.
- *
- */
-public class Cache 
-{
-  /**
-   * String instances.
-   */
-  private static final String URI = "uri";
-  private static final String LOCATION ="location";
-  private static final String ENTRY = "entry";
-  private static final String CACHE = "cache";
-  private static final String LAST_MODIFIED = "lastModified";
-  private static final String EXPIRATION_TIME = "expirationTime";
-  private static final String FILE_PROTOCOL = "file:///";
-  private static final String CACHE_FILE = "cache.xml";
-  private static final String CACHE_EXTENSION = ".cache";
-  private static final String CACHE_PREFIX = "wtpcache";
-  private static final String CACHE_SUFFIX = null;
-  /**
-   * The default timeout for a cache entry is 1 day.
-   */
-  private static final long TIMEOUT = 86400000;
-	
-  /**
-   * The one and only instance of the cache.
-   */
-  private static Cache cacheInstance = null;
-  
-  /**
-   * The cache is stored in a hashtable.
-   */
-  private Hashtable cache;
-  
-  /**
-   * A set of uncached resources. The cache was not able to cache resources
-   * in this list. This list allows quickly skipping over these resources in
-   * future requests. 
-   */
-  private Set uncached;
-  
-  /**
-   * The location of the cache
-   */
-  private File cacheLocation = null;
-  
-  /**
-   * Private constructor.
-   */
-  protected Cache(IPath cacheLocation)
-  {
-	  this.cacheLocation = cacheLocation.toFile();//Platform.getPluginStateLocation(CachePlugin.getDefault()).toFile();
-    cache = new Hashtable();
-    uncached = new HashSet();
-  }
-  
-  /**
-   * Get the one and only instance of the cache.
-   * 
-   * @return The one and only instance of the cache.
-   */
-  public static Cache getInstance()
-  {
-//	  if(cacheInstance == null)
-//	  {
-//		  cacheInstance = new Cache(cacheLocation);
-//		  cacheInstance.open(cacheLocation);
-//	  }
-	  return cacheInstance;
-  }
-  
-  /**
-   * Return the local resource for the specified uri. If there is no resource
-   * the cache will attempt to download and cache the resource before returning.
-   * If a remote resource cannot be cached this method will return null.
-   * 
-   * @param uri The URI for which a resource is requested.
-   * @return The local resource for the specified URI or null if a remote resource cannot be cached.
-   */
-  public String getResource(String uri)
-  {
-	  if(uri == null) return null;
-	  CacheEntry result = (CacheEntry)cache.get(uri);
-	  
-	  // If no result is in the cache and the URI is of an allowed type
-	  // retrieve it and store it in the cache.
-	  if(result == null)
-	  {
-      
-        if(!uncached.contains(uri))
-	    {
-          result = cacheResource(uri); 
-        }
-	  }
-	  // Retreive a fresh copy of the result if it has timed out.
-	  else if(result.hasExpired())
-	  {
-		result = refreshCacheEntry(result);
-	  }
-	  if(result == null || result.getLocalFile() == null)
-	  {
-		return null;
-	  }
-	  return FILE_PROTOCOL + cacheLocation.toString() + "/" + result.getLocalFile();
-  }
-  
-  /**
-   * Get the list of uncached resources.
-   * 
-   * @return The list of uncached resources.
-   */
-  protected String[] getUncachedURIs()
-  {
-    return (String[])uncached.toArray(new String[uncached.size()]);
-  }
-  
-  /**
-   * Clear the list of uncached resources.
-   */
-  protected void clearUncachedURIs()
-  {
-    uncached.clear();
-  }
-  
-  /**
-   * Add an uncached resource to the list and start the 
-   * uncached job if not already started.
-   */
-  protected void addUncachedURI(String uri)
-  {
-	CacheJob.startJob();
-    uncached.add(uri);
-  }
-  
-  /**
-   * Cache the specified resource. This method creates a local version of the
-   * remote resource and adds the resource reference to the cache. If the resource
-   * cannot be accessed it is not added and null is returned.
-   * 
-   * @param uri The remote URI to cache.
-   * @return A new CacheEntry representing the cached resource or null if the remote
-   *         resource could not be retrieved.
-   */
-  protected CacheEntry cacheResource(String uri)
-  {
-	  CacheEntry cacheEntry = null;
-	  URLConnection conn = null;
-	  InputStream is = null;
-	  OutputStream os = null;
-	  try
-	  {
-		  URL url = new URL(uri);
-		  conn = url.openConnection();
-		  conn.connect();
-		  // Determine if this resource can be cached.
-		  if(conn.getUseCaches())
-		  {
-		    is = conn.getInputStream();//url.openStream();
-		  
-		    Random rand = new Random();
-			String fileName = rand.nextInt() + CACHE_EXTENSION;
-		    File file = new File(cacheLocation, fileName);
-		    // If the file already exists we need to change the file name.
-		    while(!file.createNewFile())
-		    {
-			  fileName = rand.nextInt() + CACHE_EXTENSION;
-			  file = new File(cacheLocation,fileName);
-		    }
-		    os = new FileOutputStream(file);
-		    byte[] bytes = new byte[1024];
-		    int bytelength;
-		    while((bytelength = is.read(bytes)) != -1)
-		    {
-			  os.write(bytes, 0, bytelength);
-		    }
-			long lastModified = conn.getLastModified();
-		    long expiration = conn.getExpiration();
-			if(expiration == 0)
-			{
-			  expiration = System.currentTimeMillis() + TIMEOUT;
-			}
-		    cacheEntry = new CacheEntry(uri, fileName, lastModified, expiration);
-		    cache.put(uri,cacheEntry);
-		  }
-
-	  }
-	  catch(Throwable t)
-	  {
-		  // Put the entry in the uncached list so the resolution work will not be performed again.
-      // TODO: Add in a timeout for the non-located uris.
-      addUncachedURI(uri);
-	  }
-	  finally
-	  {
-		  if(is != null)
-		  {
-			  try
-			  {
-			    is.close();
-			  }
-			  catch(IOException e)
-			  {
-			    // Do nothing if the stream cannot be closed.
-			  }
-		  }
-		  if(os != null)
-		  {
-			  try
-			  {
-			    os.close();
-			  }
-			  catch(IOException e)
-			  {
-				// Do nothing if the stream cannot be closed. 
-			  }
-		  }
-	  }
-	  return cacheEntry;
-  }
-  
-  /**
-   * Refresh the cache entry if necessary. The cache entry will be refreshed
-   * if the remote resource is accessible and the last modified time of the
-   * remote resource is greater than the last modified time of the cached
-   * resource.
-   * 
-   * @param cacheEntry The cache entry to refresh.
-   * @return The refreshed cache entry.
-   */
-  protected CacheEntry refreshCacheEntry(CacheEntry cacheEntry)
-  {
-	  URLConnection conn = null;
-	  InputStream is = null;
-	  OutputStream os = null;
-	  try
-	  {
-		  URL url = new URL(cacheEntry.getURI());
-		  conn = url.openConnection();
-		  conn.connect();
-		  
-		  long lastModified = conn.getLastModified();
-	      if(lastModified > cacheEntry.getLastModified())
-		  {
-			long expiration = conn.getExpiration();
-		    if(expiration == 0)
-			{
-			  expiration = System.currentTimeMillis() + TIMEOUT;
-			}
-			
-		    is = conn.getInputStream();
-			
-			String localFile = cacheEntry.getLocalFile();
-  
-		    File tempFile = File.createTempFile(CACHE_PREFIX, CACHE_SUFFIX);
-			tempFile.deleteOnExit();
-
-		    os = new FileOutputStream(tempFile);
-		    byte[] bytes = new byte[1024];
-		    int bytelength;
-		    while((bytelength = is.read(bytes)) != -1)
-		    {
-			  os.write(bytes, 0, bytelength);
-		    }
-			is.close();
-			os.close();
-			deleteFile(cacheEntry.getURI());
-			File f = new File(cacheLocation, localFile);
-			tempFile.renameTo(f);
-			cacheEntry.setExpiration(expiration);
-			cacheEntry.setLastModified(lastModified);
-		  }
-		  // The cache entry hasn't changed. Just update the expiration time.
-	      else
-		  {
-			long expiration = conn.getExpiration();
-			if(expiration == 0)
-			{
-			  expiration = System.currentTimeMillis() + TIMEOUT;
-			}
-			cacheEntry.setExpiration(expiration);
-		  }
-
-	  }
-	  catch(Exception e)
-	  {
-      // Do nothing.
-	  }
-	  finally
-	  {
-		  if(is != null)
-		  {
-			  try
-			  {
-			    is.close();
-			  }
-			  catch(IOException e)
-			  {
-			    // Do nothing if the stream cannot be closed.
-			  }
-		  }
-		  if(os != null)
-		  {
-			  try
-			  {
-			    os.close();
-			  }
-			  catch(IOException e)
-			  {
-				// Do nothing if the stream cannot be closed. 
-			  }
-		  }
-	  }
-	  return cacheEntry;
-  }
-  
-  /**
-   * Get an array of the cached URIs.
-   * 
-   * @return An array of the cached URIs.
-   */
-  public String[] getCachedURIs()
-  {
-	Set keyset = cache.keySet();
-	return (String[])keyset.toArray(new String[keyset.size()]);
-  }
-  
-  /**
-   * Close the cache. Closing the cache involves serializing the data to an XML file
-   * in the plugin state location.
-   */
-  protected void close()
-  {
-	  DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
-      try {
-        DocumentBuilder builder = factory.newDocumentBuilder();
-        Document cachedoc = builder.newDocument();
-		Element rootelem = cachedoc.createElement(CACHE);
-		cachedoc.appendChild(rootelem);
-		
-	  Enumeration uris = cache.keys();
-	  while(uris.hasMoreElements())
-	  {
-		  String key = (String)uris.nextElement();
-		  CacheEntry cacheEntry = (CacheEntry)cache.get(key);
-		  if(cacheEntry != null)
-		  {
-			  Element entry = cachedoc.createElement(ENTRY);
-			  entry.setAttribute(URI, key);
-			  entry.setAttribute(LOCATION, cacheEntry.getLocalFile());
-			  entry.setAttribute(EXPIRATION_TIME, String.valueOf(cacheEntry.getExpirationTime()));
-			  entry.setAttribute(LAST_MODIFIED, String.valueOf(cacheEntry.getLastModified()));
-			  rootelem.appendChild(entry);
-		  }
-	  }
-	  
-	  // Write the cache entry.
-	  TransformerFactory tFactory  = TransformerFactory.newInstance();
-      Transformer transformer = tFactory.newTransformer();
-      Source input = new DOMSource(cachedoc);
-	  IPath stateLocation = Platform.getStateLocation(CachePlugin.getDefault().getBundle());
-      Result output = new StreamResult(stateLocation.toString() + "/" + CACHE_FILE);
-      transformer.transform(input, output);
-
-      }catch(Exception e)
-	  {
-		  System.out.println("Unable to store internet cache.");
-	  }
-	  cacheInstance = null;
-  }
-  
-  /**
-   * Open the cache. Opening the cache involves parsing the cache XML file in
-   * the plugin state location if it can be read.
-   */
-  protected static void open(IPath cacheLocation)
-  {
-    cacheInstance = new Cache(cacheLocation);
-	  DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
-      try {
-		  
-		IPath stateLocation = cacheLocation;
-        DocumentBuilder builder = factory.newDocumentBuilder();
-        Document cachedoc = builder.parse(stateLocation.toString() + "/" + CACHE_FILE);
-		Element rootelem = cachedoc.getDocumentElement();
-		NodeList entries = rootelem.getChildNodes();
-		int numEntries = entries.getLength();
-		for(int i = 0; i < numEntries; i++)
-		{
-			Node entry = entries.item(i);
-			if(entry instanceof Element)
-			{
-				Element e = (Element)entry;
-				if(e.getNodeName().equals(ENTRY))
-				{
-					String uri = e.getAttribute(URI);
-					String location = e.getAttribute(LOCATION);
-					String lm = e.getAttribute(LAST_MODIFIED);
-					String et = e.getAttribute(EXPIRATION_TIME);
-					long lastModified = -1;
-					long expirationTime = -1;
-					try
-					{
-						lastModified = Long.parseLong(lm);
-					}
-					catch(NumberFormatException nfe)
-					{
-					}
-					try
-					{
-						expirationTime = Long.parseLong(et);
-					}
-					catch(NumberFormatException nfe)
-					{
-					}
-					if(uri != null && location != null)
-					{
-					  cacheInstance.cache.put(uri, new CacheEntry(uri, location, lastModified, expirationTime));
-					}
-				}
-			}
-		}
-      }
-	  catch(FileNotFoundException e)
-	  {
-		// If the file doesn't exist in the correct location there is nothing to load. Do nothing.
-	  }
-	  catch(Exception e)
-	  {
-		  System.out.println("Unable to load cache.");
-	  }
-  }
-  
-  /**
-   * Clear all of the entries from the cache. This method also deletes the cache files.
-   */
-  public void clear()
-  {
-	Enumeration keys = cache.keys();
-	while(keys.hasMoreElements())
-	{
-	  String key = (String)keys.nextElement();
-	  
-	  deleteFile(key);
-	}
-	cache.clear();
-  }
-  
-  /**
-   * Delete the cache entry specified by the given URI.
-   * @param uri The URI entry to remove from the catalog.
-   */
-  public void deleteEntry(String uri)
-  {
-	  if(uri == null) return;
-	  
-	  deleteFile(uri);
-	  cache.remove(uri);
-  }
-  
-  /**
-   * Delete the file specified by the URI.
-   * 
-   * @param uri The URI of the file to delete.
-   */
-  protected void deleteFile(String uri)
-  {
-	  CacheEntry cacheEntry = (CacheEntry)cache.get(uri);
-	  if(cacheEntry != null)
-	  {
-		String location = cacheLocation.toString() + "/" + cacheEntry.getLocalFile();
-	    File file = new File(location);
-	    if(!file.delete())
-	    {
-	      System.out.println("Unable to delete file " + location + " from cache.");
-	    } 
-	  }
-  }
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.internet.cache/src/org/eclipse/wst/internet/cache/internal/CacheEntry.java b/plugins/org.eclipse.wst.internet.cache/src/org/eclipse/wst/internet/cache/internal/CacheEntry.java
deleted file mode 100644
index 817ec06..0000000
--- a/plugins/org.eclipse.wst.internet.cache/src/org/eclipse/wst/internet/cache/internal/CacheEntry.java
+++ /dev/null
@@ -1,114 +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.internet.cache.internal;
-
-/**
- * A cache entry contains a URI, a local file, and a timeout.
- */
-public class CacheEntry 
-{
-  private String uri;
-  private String localFile;
-  private long lastModified;
-  private long expirationTime;
-  
-  /**
-   * Create a new cache entry.
-   * 
-   * @param uri The remote URI of the cache entry.
-   * @param localFile The local file that contains the cached entry.
-   * @param lastModifie The time this resource was last modified.
-   * @param expirationTime The time in miliseconds that this cache entry will
-   *                       expire.
-   */
-  public CacheEntry(String uri, String localFile, long lastModified, long expirationTime)
-  {
-	this.uri = uri;
-	this.localFile = localFile;
-	this.lastModified = lastModified;
-	this.expirationTime = expirationTime;
-  }
-  
-  /**
-   * The cache entry is expired if its expiration time is less then the
-   * current system time and not equal to -1.
-   * 
-   * @return True if this cached entry has expired, false otherwise.
-   */
-  public boolean hasExpired()
-  {
-	 if(expirationTime != -1 && System.currentTimeMillis() > expirationTime)
-	 {
-	   return true;
-	 }
-	 return false;
-  }
-  
-  /**
-   * Set the time in miliseconds that this cache entry will expire.
-   * 
-   * @param timeout The time in miliseconds that this cache entry will expire.
-   *                -1 indicates that this entry will not expire.
-   */
-  public void setExpiration(long expirationTime)
-  {
-	this.expirationTime = expirationTime;
-  }
-  
-  /**
-   * Get the time at which this cache entry will expire.
-   * 
-   * @return The time at which this cache entry will expire.
-   */
-  public long getExpirationTime()
-  {
-	return expirationTime;
-  }
-  
-  /**
-   * Get the remote URI for this cache entry.
-   * 
-   * @return The remote URI for this cache entry.
-   */
-  public String getURI()
-  {
-	return uri;
-  }
-  
-  /**
-   * Get the local file for this cache entry.
-   * 
-   * @return The local file for this cache entry.
-   */
-  public String getLocalFile()
-  {
-	return localFile;
-  }
-  
-  /**
-   * Get the last time this cache entry was modified.
-   * 
-   * @return The last time this cache entry was modified.
-   */
-  public long getLastModified()
-  {
-	return lastModified;
-  }
-  
-  /**
-   * Set the last time this cache entry was modified.
-   */
-  public void setLastModified(long lastModified)
-  {
-	this.lastModified = lastModified;
-  }
-}
diff --git a/plugins/org.eclipse.wst.internet.cache/src/org/eclipse/wst/internet/cache/internal/CacheJob.java b/plugins/org.eclipse.wst.internet.cache/src/org/eclipse/wst/internet/cache/internal/CacheJob.java
deleted file mode 100644
index 34c3943..0000000
--- a/plugins/org.eclipse.wst.internet.cache/src/org/eclipse/wst/internet/cache/internal/CacheJob.java
+++ /dev/null
@@ -1,127 +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.internet.cache.internal;
-
-import java.text.MessageFormat;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.jobs.Job;
-
-/**
- * A cache job runs once an hour to cache any prespecified resources which
- * should be cached and any resources for which an attempt was previously 
- * made to cache them but they were unable to be cached.
- */
-public class CacheJob extends Job
-{
-  private static final long SCHEDULE_TIME = 3600000;
-
-  private static CacheJob job = null;
-  /**
-   * Constructor.
-   */
-  public CacheJob()
-  {
-    super(CacheMessages._UI_CACHE_MONITOR_NAME);
-  }
-
-  /**
-   * @see org.eclipse.core.runtime.jobs.Job#run(org.eclipse.core.runtime.IProgressMonitor)
-   */
-  protected IStatus run(IProgressMonitor monitor)
-  {
-	boolean allSuccessful = true;
-    Cache cache = Cache.getInstance();
-    String[] uncachedURIs = cache.getUncachedURIs();
-    int numUncachedURIs = uncachedURIs.length;
-
-    cache.clearUncachedURIs();
-    monitor.beginTask(CacheMessages._UI_CACHE_MONITOR_NAME, numUncachedURIs);
-    try
-    {
-      for(int i = 0; i < numUncachedURIs; i++)
-      {
-        if (monitor.isCanceled())
-        {
-          for(int j = i; j < numUncachedURIs; j++)
-          {
-            cache.addUncachedURI(uncachedURIs[j]);
-          }
-          return Status.CANCEL_STATUS;
-        }
-        String uri = uncachedURIs[i];
-        monitor.setTaskName(MessageFormat.format(CacheMessages._UI_CACHE_MONITOR_CACHING, new Object[]{uri}));
-       
-        String cachedURI = cache.getResource(uri);
-        if(cachedURI == null)
-    	{
-    	  allSuccessful = false;
-    	}
-        monitor.worked(1);
-      }
-      monitor.done();
-      return Status.OK_STATUS;
-    } 
-    finally
-    {
-      // If all the uncached URIs could not be cached 
-      // schedule the next time the job should run.
-      if(!allSuccessful)
-      {
-    	  startJob(SCHEDULE_TIME); 
-      }
-    }
-  }
-  
-  /**
-   * Start the cache job. The cache job caches resources that were not able to be previously
-   * downloaded. Only one job is run at a time.
-   */
-  protected static void startJob() 
-  {
-	if(job == null)
-	{
-	  startJob(0);
-	}
-  }
-  
-  /**
-   * Start a new cache job with the specified delay.
-   * 
-   * @param delay
-   * 		The start delay for the cache job.
-   */
-  private static void startJob(long delay)
-  {
-	job = new CacheJob();
-	job.setPriority(CacheJob.DECORATE);
-	job.schedule(delay); // start as soon as possible
-  }
-
-  /**
-   * Stop the current cache job. The cache job caches resources that were not able to be previously
-   * downloaded.
-   */
-  protected static void stopJob() 
-  {
-	if (job != null) 
-	{
-	  job.cancel();
-	}
-	job = null;
-  }
-
-}
-
-
diff --git a/plugins/org.eclipse.wst.internet.cache/src/org/eclipse/wst/internet/cache/internal/CacheMessages.java b/plugins/org.eclipse.wst.internet.cache/src/org/eclipse/wst/internet/cache/internal/CacheMessages.java
deleted file mode 100644
index f8fee2f..0000000
--- a/plugins/org.eclipse.wst.internet.cache/src/org/eclipse/wst/internet/cache/internal/CacheMessages.java
+++ /dev/null
@@ -1,58 +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 Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *   IBM - Initial API and implementation
- */
-package org.eclipse.wst.internet.cache.internal;
-
-import org.eclipse.osgi.util.NLS;
-
-/**
- * Strings used by the cache.
- */
-public class CacheMessages extends NLS {
-	private static final String BUNDLE_NAME = "org.eclipse.wst.internet.cache.internal.CachePluginResources";//$NON-NLS-1$
-
-	public static String _UI_CONFIRM_CLEAR_CACHE_DIALOG_TITLE;
-	public static String _UI_CONFIRM_CLEAR_CACHE_DIALOG_MESSAGE;
-	public static String _UI_CONFIRM_DELETE_CACHE_ENTRY_DIALOG_TITLE;
-	public static String _UI_CONFIRM_DELETE_CACHE_ENTRY_DIALOG_MESSAGE;
-	public static String _UI_BUTTON_CLEAR_CACHE;
-	public static String _UI_BUTTON_DELETE_ENTRY;
-	public static String _UI_PREF_CACHE_ENTRIES_TITLE;
-	public static String _UI_PREF_CACHE_CACHE_OPTION;
-	public static String _UI_PREF_CACHE_ABOUT;
-	public static String _UI_PREF_PROMPT_FOR_DISAGREED_LICENSES;
-	public static String _UI_CACHE_MONITOR_NAME;
-	public static String _UI_CACHE_MONITOR_CACHING;
-
-	// Cache license dialog
-	public static String _UI_CACHE_DIALOG_LICENSE_STATEMENT1;
-	public static String _UI_CACHE_DIALOG_LICENSE_STATEMENT2;
-	public static String _UI_CACHE_DIALOG_LICENSE_STATEMENT2_NO_INTERNAL;
-	public static String _UI_CACHE_DIALOG_LICENSE_STATEMENT2_NO_BROWSER;
-	public static String _UI_CACHE_DIALOG_AGREE_BUTTON;
-	public static String _UI_CACHE_DIALOG_DISAGREE_BUTTON;
-	public static String _UI_CACHE_DIALOG_TITLE;
-	public static String _UI_LOADING_LICENSE;
-
-	// Cache logging messages
-	public static String _LOG_INFO_WTP_NO_USER_INTERACTION;
-
-	// WTP test no user interaction system property
-	public static String WTP_NO_USER_INTERACTION_SYSTEM_PROP;   
-
-	static {
-		// load message values from bundle file
-		NLS.initializeMessages(BUNDLE_NAME, CacheMessages.class);
-	}
-
-	private CacheMessages() {
-		// cannot create new instance
-	}
-}
diff --git a/plugins/org.eclipse.wst.internet.cache/src/org/eclipse/wst/internet/cache/internal/CachePlugin.java b/plugins/org.eclipse.wst.internet.cache/src/org/eclipse/wst/internet/cache/internal/CachePlugin.java
deleted file mode 100644
index 704f0e0..0000000
--- a/plugins/org.eclipse.wst.internet.cache/src/org/eclipse/wst/internet/cache/internal/CachePlugin.java
+++ /dev/null
@@ -1,165 +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.internet.cache.internal;
-
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.Preferences;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-import org.eclipse.wst.internet.cache.internal.preferences.PreferenceConstants;
-import org.osgi.framework.BundleContext;
-
-/**
- * The main plugin class to be used in the desktop.
- */
-public class CachePlugin extends AbstractUIPlugin 
-{
-  /**
-   * The ID of this plugin.
-   */
-  public static final String PLUGIN_ID = "org.eclipse.wst.internet.cache";
-
-  /**
-   * The shared instance.
-   */
-  private static CachePlugin plugin;
-
-  /**
-   * The constructor.
-   */
-  public CachePlugin() 
-  {
-	super();
-	plugin = this;
-  }
-
-  /**
-   * @see org.osgi.framework.BundleActivator#start(org.osgi.framework.BundleContext)
-   */
-  public void start(BundleContext context) throws Exception 
-  {
-	super.start(context);
-	ToCacheRegistryReader.getInstance().readRegistry();
-	Cache.open(Platform.getStateLocation(getBundle()));
-	if (getPluginPreferences().contains(PreferenceConstants.CACHE_ENABLED)) 
-	{
-	  setCacheEnabled(getPluginPreferences().getBoolean(PreferenceConstants.CACHE_ENABLED));
-	} 
-	else 
-	{
-	  // The cache is disabled by default.
-	  setCacheEnabled(false);
-	}
-	
-	// Restore license preferences
-	Preferences prefs = getPluginPreferences();
-	LicenseRegistry registry = LicenseRegistry.getInstance();
-	String[] licenses = registry.getLicenses();
-	int numLicenses = licenses.length;
-	for(int i = 0; i < numLicenses; i++)
-	{
-	  int state = prefs.getInt(licenses[i]);
-	  if(state == LicenseRegistry.LICENSE_AGREE.intValue())
-	  {
-		registry.agreeLicense(licenses[i]);
-	  }
-	  else if(state == LicenseRegistry.LICENSE_DISAGREE.intValue())
-	  {
-		registry.disagreeLicense(licenses[i]);
-	  }
-	}
-  }
-
-  /**
-   * @see org.osgi.framework.BundleActivator#stop(org.osgi.framework.BundleContext)
-   */
-  public void stop(BundleContext context) throws Exception 
-  {
-	// Save the license state information.
-	Preferences prefs = getPluginPreferences();
-	LicenseRegistry registry = LicenseRegistry.getInstance();
-	String[] licenses = registry.getLicenses();
-	int numLicenses = licenses.length;
-	for(int i = 0; i < numLicenses; i++)
-	{
-	  Integer state = registry.getLicenseState(licenses[i]);
-      // For states that have been disagreed to this session store
-	  // them as disagree.
-	  if(state == LicenseRegistry.LICENSE_DISAGREE_THIS_SESSION)
-	  {
-		state = LicenseRegistry.LICENSE_DISAGREE;
-	  }
-	  prefs.setValue(licenses[i], state.intValue());
-	}
-	
-	Cache.getInstance().close();
-	CacheJob.stopJob();
-	super.stop(context);
-	plugin = null;
-  }
-
-  /**
-   * Returns the shared instance.
-   * 
-   * @return The shared instance.
-   */
-  public static CachePlugin getDefault() 
-  {
-	return plugin;
-  }
-
-  /**
-   * Set whether or not the cache is enabled.
-   * 
-   * @param enabled If true the cache is enabled, if false it is not enabled.
-   */
-  public void setCacheEnabled(boolean enabled) 
-  {
-	getPluginPreferences().setValue(PreferenceConstants.CACHE_ENABLED, enabled);
-	CacheJob.stopJob();
-  }
-
-  /**
-   * Returns true if the cache is enabled, false otherwise.
-   * 
-   * @return True if the cache is enabled, false otherwise.
-   */
-  public boolean isCacheEnabled() 
-  {
-	if (getPluginPreferences().contains(PreferenceConstants.CACHE_ENABLED))
-	  return getPluginPreferences().getBoolean(PreferenceConstants.CACHE_ENABLED);
-	return true;
-  }
-  
-  /**
-   * Set whether or not the user should be prompted for licenses to which they 
-   * have previously disagreed.
-   * 
-   * @param prompt If true the the user should be prompted, if false the user should not be prompted.
-   */
-  public void setPromptDisagreedLicenses(boolean prompt) 
-  {
-	getPluginPreferences().setValue(PreferenceConstants.PROMPT_DISAGREED_LICENSES, prompt);
-  }
-
-  /**
-   * Returns true if the the user should be prompted for licenses to which they
-   * have previously disagreed, false otherwise.
-   * 
-   * @return True if the user should be prompted, false otherwise.
-   */
-  public boolean shouldPrompt() 
-  {
-	if (getPluginPreferences().contains(PreferenceConstants.PROMPT_DISAGREED_LICENSES))
-	  return getPluginPreferences().getBoolean(PreferenceConstants.PROMPT_DISAGREED_LICENSES);
-	return true;
-  }
-}
diff --git a/plugins/org.eclipse.wst.internet.cache/src/org/eclipse/wst/internet/cache/internal/CachePluginResources.properties b/plugins/org.eclipse.wst.internet.cache/src/org/eclipse/wst/internet/cache/internal/CachePluginResources.properties
deleted file mode 100644
index fe850d6..0000000
--- a/plugins/org.eclipse.wst.internet.cache/src/org/eclipse/wst/internet/cache/internal/CachePluginResources.properties
+++ /dev/null
@@ -1,43 +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
-###############################################################################
-
-# Cache preference page strings.
-_UI_CONFIRM_CLEAR_CACHE_DIALOG_TITLE             = Remove All?
-_UI_CONFIRM_CLEAR_CACHE_DIALOG_MESSAGE           = Remove all cache entries?
-_UI_CONFIRM_DELETE_CACHE_ENTRY_DIALOG_TITLE      = Remove Entries?
-_UI_CONFIRM_DELETE_CACHE_ENTRY_DIALOG_MESSAGE    = Remove all selected cache entries?
-_UI_BUTTON_CLEAR_CACHE                           = Remove &All
-_UI_BUTTON_DELETE_ENTRY                          = &Remove
-_UI_PREF_CACHE_ENTRIES_TITLE                     = &Cache entries:
-_UI_PREF_CACHE_CACHE_OPTION                      = &Disable caching
-_UI_PREF_CACHE_ABOUT                             = Manage the cache of remote resources, such as those downloaded from the internet.
-_UI_PREF_PROMPT_FOR_DISAGREED_LICENSES           = &Prompt me for agreement for licenses for whose terms I have already disagreed.
-
-# Cache monitor strings.
-_UI_CACHE_MONITOR_NAME                           = Caching Remote Resources
-_UI_CACHE_MONITOR_CACHING                        = Caching {0}
-
-# Cache license dialog
-_UI_CACHE_DIALOG_LICENSE_STATEMENT1              = A request has been made to cache the resource:
-_UI_CACHE_DIALOG_LICENSE_STATEMENT2              = In order to cache the resource you must agree to the license below:
-_UI_CACHE_DIALOG_LICENSE_STATEMENT2_NO_INTERNAL  = In order to cache the resource you must agree to the license which has been opened in your browser.
-_UI_CACHE_DIALOG_LICENSE_STATEMENT2_NO_BROWSER   = The license cannot be displayed in this dialog. In order to cache the resource you must agree to the license located at {0}.
-_UI_CACHE_DIALOG_AGREE_BUTTON                    = I Agree
-_UI_CACHE_DIALOG_DISAGREE_BUTTON                 = I Disagree
-_UI_CACHE_DIALOG_TITLE                           = License Agreement
-_UI_LOADING_LICENSE                              = Loading license
-
-# Cache logging messages
-_LOG_INFO_WTP_NO_USER_INTERACTION                = {0} is set. Licenses dialogs will not be displayed.
-
-# WTP test no user interaction system property
-# This property is checked by the cache. This sting is not shown to the user.
-WTP_NO_USER_INTERACTION_SYSTEM_PROP              = wtp.autotest.noninteractive
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.internet.cache/src/org/eclipse/wst/internet/cache/internal/CacheURIResolverExtension.java b/plugins/org.eclipse.wst.internet.cache/src/org/eclipse/wst/internet/cache/internal/CacheURIResolverExtension.java
deleted file mode 100644
index f6518f2..0000000
--- a/plugins/org.eclipse.wst.internet.cache/src/org/eclipse/wst/internet/cache/internal/CacheURIResolverExtension.java
+++ /dev/null
@@ -1,50 +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.internet.cache.internal;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.wst.common.uriresolver.internal.provisional.URIResolverExtension;
-import org.eclipse.wst.common.uriresolver.internal.util.URIHelper;
-
-/**
- * A cache URI resolver. This resolver will cache remote resources and return
- * the local copy if they can be cached. If a resource cannot be cached the
- * resource returns null.
- */
-public class CacheURIResolverExtension implements URIResolverExtension 
-{
-	/**
-	 * @see org.eclipse.wst.common.uriresolver.internal.provisional.URIResolverExtension#resolve(org.eclipse.core.resources.IProject, java.lang.String, java.lang.String, java.lang.String)
-	 */
-	public String resolve(IFile file, String baseLocation, String publicId, String systemId)
-	{ 
-      if(CachePlugin.getDefault().isCacheEnabled())
-      {
-		  String resource = null;
-		  if(systemId != null)
-		  {
-		    resource = URIHelper.normalize(systemId, baseLocation, null);
-		  } 
-		  
-		  if(resource != null && (resource.startsWith("http:") || resource.startsWith("ftp:")))
-		  {
-		    // Handle resources prespecified to cache.
-		    ToCacheResource toCacheResource = ToCacheRegistryReader.getInstance().getResourceToCache(resource);
-		    if(toCacheResource == null || LicenseRegistry.getInstance().hasLicenseBeenAccepted(resource, toCacheResource.getLicense()))
-		    { 	
-		      return Cache.getInstance().getResource(resource);
-		    }
-		  }
-      }
-	  return null;
-	}
-}
diff --git a/plugins/org.eclipse.wst.internet.cache/src/org/eclipse/wst/internet/cache/internal/LicenseAcceptanceDialog.java b/plugins/org.eclipse.wst.internet.cache/src/org/eclipse/wst/internet/cache/internal/LicenseAcceptanceDialog.java
deleted file mode 100644
index f0c21a0..0000000
--- a/plugins/org.eclipse.wst.internet.cache/src/org/eclipse/wst/internet/cache/internal/LicenseAcceptanceDialog.java
+++ /dev/null
@@ -1,299 +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.internet.cache.internal;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.net.URL;
-import java.text.MessageFormat;
-import java.util.Hashtable;
-
-import org.eclipse.jface.dialogs.IconAndMessageDialog;
-import org.eclipse.jface.wizard.ProgressMonitorPart;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.browser.Browser;
-import org.eclipse.swt.browser.ProgressEvent;
-import org.eclipse.swt.browser.ProgressListener;
-import org.eclipse.swt.custom.StackLayout;
-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.Control;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Shell;
-
-/**
- * A dialog that prompts the user to accept a license agreement.
- */
-public class LicenseAcceptanceDialog extends IconAndMessageDialog 
-{
-  /**
-   * Holds all the dialogs that are currently displayed keyed by the license URL.
-   */
-  private static Hashtable dialogsInUse = new Hashtable();
-  
-  /**
-   * The URL of the resource.
-   */
-  private String url;
-
-  /**
-   * The URL of the license.
-   */
-  private String licenseURL;
-  
-  /**
-   * The agree button for the dialog.
-   */
-  private Button agreeButton = null;
-  
-  /**
-   * Constructor.
-   * 
-   * @param parent The parent of this dialog.
-   * @param url The license URL.
-   */
-  protected LicenseAcceptanceDialog(Shell parent, String url, String licenseURL) 
-  {
-    super(parent);
-	this.url = url;
-	this.licenseURL = licenseURL;
-  }
-  
-  /**
-   * @see org.eclipse.jface.window.Window#configureShell(org.eclipse.swt.widgets.Shell)
-   */
-  protected void configureShell(Shell shell) 
-  {
-    super.configureShell(shell);
-    shell.setText(CacheMessages._UI_CACHE_DIALOG_TITLE);
-    shell.setImage(null);
-  }
-
-  /**
-   * @see org.eclipse.jface.dialogs.Dialog#createButtonBar(org.eclipse.swt.widgets.Composite)
-   */
-  protected Control createButtonBar(Composite parent) 
-  {
-	Composite buttonBar = new Composite(parent, SWT.NONE);
-	GridLayout layout = new GridLayout();
-	layout.numColumns = 0;
-	layout.makeColumnsEqualWidth = true;
-	buttonBar.setLayout(layout);
-	GridData gd = new GridData(GridData.HORIZONTAL_ALIGN_CENTER);
-	buttonBar.setLayoutData(gd);
-	
-	// Create the agree button.
-	agreeButton = createButton(buttonBar, LicenseAcceptanceDialog.OK, 
-			CacheMessages._UI_CACHE_DIALOG_AGREE_BUTTON, false);
-	agreeButton.setEnabled(false);
-	
-	// Create the disagree button.
-	createButton(buttonBar, LicenseAcceptanceDialog.CANCEL, 
-			CacheMessages._UI_CACHE_DIALOG_DISAGREE_BUTTON, false);
-	
-	return buttonBar;
-  }
-
-  /**
-   * @see org.eclipse.jface.window.Window#createContents(org.eclipse.swt.widgets.Composite)
-   */
-  protected Control createContents(Composite parent) 
-  {
-	Composite composite = new Composite(parent, SWT.NONE);
-	GridLayout layout = new GridLayout();
-	composite.setLayout(layout);
-	GridData gd = new GridData(SWT.FILL);
-	gd.widthHint = 500;
-	composite.setLayoutData(gd);
-
-	// Display a statement about the license.
-	Label licenseText1 = new Label(composite, SWT.NONE);
-	licenseText1.setText(CacheMessages._UI_CACHE_DIALOG_LICENSE_STATEMENT1);
-	Label urlText = new Label(composite, SWT.WRAP);
-	gd = new GridData(SWT.FILL, SWT.TOP, true, false, 1, 1);
-	urlText.setLayoutData(gd);
-	urlText.setText(url);
-	new Label(composite, SWT.NONE); // Spacing label.
-	Label licenseText2 = new Label(composite, SWT.WRAP);
-	gd = new GridData(SWT.FILL, SWT.TOP, true, false, 1, 1);
-	licenseText2.setLayoutData(gd);
-	
-	// Display the license in a browser.
-	try
-	{
-	  final Composite licenseTextComposite = new Composite(composite, SWT.NONE);
-	  final StackLayout stackLayout = new StackLayout();
-	  licenseTextComposite.setLayout(stackLayout);
-	  gd = new GridData(SWT.FILL, SWT.FILL, true, true);
-	  gd.heightHint = 400;
-	  licenseTextComposite.setLayoutData(gd);
-	  // Create the loading progress monitor composite and part.
-	  Composite monitorComposite = new Composite(licenseTextComposite, SWT.NONE);
-	  monitorComposite.setLayout(new GridLayout());
-	  gd = new GridData(SWT.FILL, SWT.FILL, true, true);
-	  gd.heightHint = 400;
-	  monitorComposite.setLayoutData(gd);
-	  final ProgressMonitorPart monitor = new ProgressMonitorPart(monitorComposite, new GridLayout());
-	  gd = new GridData(SWT.FILL, SWT.BOTTOM, true, true);
-	  monitor.setLayoutData(gd);
-	  monitor.beginTask(CacheMessages._UI_LOADING_LICENSE, 100);
-	  stackLayout.topControl = monitorComposite;
-	  // Create the browser.
-	  final Browser browser = new Browser(licenseTextComposite, SWT.BORDER);
-	  gd = new GridData(SWT.FILL, SWT.FILL, true, true);
-	  //gd.heightHint = 400;
-	  browser.setUrl(licenseURL);
-	  browser.setLayoutData(gd);
-	  browser.addProgressListener(new ProgressListener(){
-
-		/* (non-Javadoc)
-		 * @see org.eclipse.swt.browser.ProgressListener#changed(org.eclipse.swt.browser.ProgressEvent)
-		 */
-		public void changed(ProgressEvent event) 
-		{
-		  if (event.total != 0)
-		  {
-		    monitor.internalWorked(event.current * 100 / event.total);
-		  }
-		}
-
-		/* (non-Javadoc)
-		 * @see org.eclipse.swt.browser.ProgressListener#completed(org.eclipse.swt.browser.ProgressEvent)
-		 */
-		public void completed(ProgressEvent event) 
-		{
-		  monitor.done();
-			
-		  stackLayout.topControl = browser;
-		  agreeButton.setEnabled(true);
-		  licenseTextComposite.layout();
-		}
-	  });
-	  
-	  licenseText2.setText(CacheMessages._UI_CACHE_DIALOG_LICENSE_STATEMENT2);
-	}
-	catch(Throwable e)
-	{
-	  // The browser throws an exception on platforms that do not support it. 
-	  // In this case we need to create an external browser.
-	  try
-	  {
-	    CachePlugin.getDefault().getWorkbench().getBrowserSupport().getExternalBrowser().openURL(new URL(licenseURL));
-	    licenseText2.setText(CacheMessages._UI_CACHE_DIALOG_LICENSE_STATEMENT2_NO_INTERNAL);
-	  }
-	  catch(Exception ex)
-	  {
-		// In this case the license cannot be display. Inform the user of this and give them the license location.
-		licenseText2.setText(MessageFormat.format(CacheMessages._UI_CACHE_DIALOG_LICENSE_STATEMENT2_NO_BROWSER, new Object[]{licenseURL}));
-	  }
-	}
-
-	createButtonBar(composite);
-		
-	return composite;
-  }
-
-  /**
-   * @see org.eclipse.jface.dialogs.IconAndMessageDialog#getImage()
-   */
-  protected Image getImage() 
-  {
-	return getInfoImage();
-  }
-
-  /**
-   * Prompt the user to accept the specified license. This method creates the
-   * dialog and returns the result.
-   * 
-   * @param parent The parent of this dialog.
-   * @param url The URL of the resource for which the license must be accepted.
-   * @param licenseURL The license URL.
-   * @return True if the license is accepted, false otherwise.
-   */
-  public static boolean promptForLicense(Shell parent, String url, String licenseURL) throws IOException
-  {
-	boolean agreedToLicense = false;
-	boolean newDialog = true;
-	LicenseAcceptanceDialog dialog = null;
-	// If the dialog is already displayed for this license use it instead of 
-	// displaying another dialog.
-	if(dialogsInUse.containsKey(licenseURL))
-	{
-	  newDialog = false;
-	  dialog = (LicenseAcceptanceDialog)dialogsInUse.get(licenseURL);
-	}
-	else
-	{
-	  InputStream is = null;
-
-	  try
-	  {
-	    URL urlObj = new URL(licenseURL);
-	    is = urlObj.openStream();
-
-	    dialog = new LicenseAcceptanceDialog(parent, url, licenseURL);
-	    dialogsInUse.put(licenseURL, dialog);
-	    dialog.setBlockOnOpen(true);
-	  }
-	  catch(Exception e)
-	  {
-		throw new IOException("The license cannot be opened.");
-	  }
-	  finally
-	  {
-		if(is != null)
-		{
-		  try
-		  {
-			is.close();
-		  }
-		  catch(IOException e)
-		  {
-		    // Do nothing.
-		  }
-		}
-	  }
-	}
-	if(dialog != null)
-	{
-	  dialog.open();
-	  
-	  if (dialog.getReturnCode() == LicenseAcceptanceDialog.OK) 
-	  {
-		agreedToLicense = true;
-      }
-		
-	  if(newDialog)
-	  {
-       dialogsInUse.remove(licenseURL);
-	  }
-	}
-	 
-	return agreedToLicense;
-  }
-
-  /* (non-Javadoc)
-   * @see org.eclipse.jface.dialogs.Dialog#close()
-   */
-  public boolean close() 
-  {
-	if(agreeButton != null)
-	{
-	  agreeButton.dispose();
-	  agreeButton = null;
-	}
-	return super.close();
-  }
-  
-}
diff --git a/plugins/org.eclipse.wst.internet.cache/src/org/eclipse/wst/internet/cache/internal/LicenseRegistry.java b/plugins/org.eclipse.wst.internet.cache/src/org/eclipse/wst/internet/cache/internal/LicenseRegistry.java
deleted file mode 100644
index 2ffb248..0000000
--- a/plugins/org.eclipse.wst.internet.cache/src/org/eclipse/wst/internet/cache/internal/LicenseRegistry.java
+++ /dev/null
@@ -1,249 +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.internet.cache.internal;
-
-import java.text.MessageFormat;
-import java.util.Hashtable;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.swt.widgets.Display;
-
-/**
- * The license registry holds all of the registered licenses and whether or not they
- * have been accepted.
- */
-public class LicenseRegistry 
-{
-  protected static Integer LICENSE_UNSPECIFIED = new Integer(0); // This needs to be 0 for the plugin prefs.
-  protected static Integer LICENSE_AGREE = new Integer(1);
-  protected static Integer LICENSE_DISAGREE = new Integer(2);
-  // Signifies a license that has been disagreed to this session.
-  protected static Integer LICENSE_DISAGREE_THIS_SESSION = new Integer(3);
-  
-  /**
-   * There is only one instance of the license registry.
-   */
-  protected static LicenseRegistry instance = null;
-  
-  /**
-   * If set to true, the do not prompt flag will prevent user prompting. Used for automated testing.
-   */
-  private boolean DO_NOT_PROMPT = false;
-  
-  /**
-   * The licenses hashtable contains licenses and whether or not they've been accepted.
-   */
-  protected Hashtable licenses;
-  
-  protected LicenseRegistry()
-  {
-	licenses = new Hashtable();
-	
-	// If the wtp quiet system property is set the DO_NOT_PROMPT flag is set to true.
-	// This is used for automated testing.
-	if(System.getProperty(CacheMessages.WTP_NO_USER_INTERACTION_SYSTEM_PROP, "false").equals("true"))
-	{
-	  CachePlugin.getDefault().getLog().log(new Status(IStatus.INFO, CachePlugin.PLUGIN_ID, IStatus.OK, MessageFormat.format(CacheMessages._LOG_INFO_WTP_NO_USER_INTERACTION, new Object[]{CacheMessages.WTP_NO_USER_INTERACTION_SYSTEM_PROP}), null));
-	  DO_NOT_PROMPT = true;
-	}
-  }
-  
-  /**
-   * Get the one and only instance of the license registry.
-   * 
-   * @return The one and only instance of the license registry.
-   */
-  public static LicenseRegistry getInstance()
-  {
-	if(instance == null)
-	{
-	  instance = new LicenseRegistry();
-	}
-	return instance;
-  }
-  
-  /**
-   * Add the specified license to the license registry. A license can only be added to the
-   * registry once.
-   * 
-   * @param url The URL of the license to add to the registry.
-   */
-  public void addLicense(String url)
-  {
-	if(url != null && !licenses.containsKey(url))
-	{
-	  licenses.put(url, LICENSE_UNSPECIFIED);
-	}
-  }
-  
-  /**
-   * Agree to the specified license. The license is agreed to only if it has already
-   * been registered with the registry.
-   * 
-   * @param url The URL of the license to accept.
-   */
-  protected void agreeLicense(String url)
-  {
-	if(licenses.containsKey(url))
-	{
-	  licenses.put(url, LICENSE_AGREE);
-	}
-  }
-  
-  /**
-   * Disagree to the specified license. The license is disagreed to only if it has already
-   * been registered with the registry.
-   * 
-   * @param url The URL of the license to accept.
-   */
-  protected void disagreeLicense(String url)
-  {
-	if(licenses.containsKey(url))
-	{
-	  licenses.put(url, LICENSE_DISAGREE);
-	}
-  }
-  
-  /**
-   * Disagree to the specified license for this session. The license is disagreed to only if it has already
-   * been registered with the registry. 
-   * 
-   * @param url The URL of the license to accept.
-   */
-  private void disagreeLicenseThisSession(String url)
-  {
-	if(licenses.containsKey(url))
-	{
-	  licenses.put(url, LICENSE_DISAGREE_THIS_SESSION);
-	}
-  }
-  
-  /**
-   * Determine if the license has been accepted. This method will return true if the license
-   * has been accepted or is not registered with the registry and false if it has not been accepted. 
-   * 
-   * @param url The URL of the resource for which we are checking the license.
-   * @param licenseURL The URL of the license that should be checked to see if it has been accepted.
-   * @return True if the license has been accepted or is not registered with the registry, false otherwise.
-   */
-  public boolean hasLicenseBeenAccepted(String url, String licenseURL)
-  {
-	if(DO_NOT_PROMPT)
-	{
-	  return true;
-	}
-	
-	if(licenses.containsKey(licenseURL))
-	{
-	  Integer agreed = (Integer)licenses.get(licenseURL);
-	  if(agreed == LICENSE_AGREE)
-	  {
-		return true;
-	  }
-	  else if(agreed == LICENSE_DISAGREE)
-	  {
-		if(!CachePlugin.getDefault().shouldPrompt())
-		  return false;
-		licenses.put(licenseURL, LICENSE_DISAGREE_THIS_SESSION);
-	  }
-	  // The license has already been disagreed to this session. Do not prompt.
-	  else if(agreed == LICENSE_DISAGREE_THIS_SESSION)
-	  {
-		return false;
-	  }
-		  
-	  
-	  // Prompt the user to accept the license.
-	  int licenseAcceptance = promptToAcceptLicense(url, licenseURL);
-	  if(licenseAcceptance == Accepted.ACCEPTED)
-	  {
-		agreeLicense(licenseURL);
-		return true;
-	  }
-	  else if(licenseAcceptance == Accepted.NOT_ACCEPTED)
-	  {
-	    disagreeLicenseThisSession(licenseURL);
-	    return false;
-	  }
-	  return false;
-	}
-	
-	// The license is not registred with the registry.
-	return true;
-  }
-  
-  /**
-   * Prompt the user to accept the license. This method creates a LicenseAcceptanceDialog.
-   * 
-   * @param url The URL of the resource for which the license needs to be accepted.
-   * @param licenseURL The URL of the license to be accepted. 
-   * @return 0 if accepted, 1 if not accepted, 2 if not able to accept.
-   */
-  protected int promptToAcceptLicense(final String url, final String licenseURL) 
-  {
-	final Accepted accepted = new Accepted();
-	  Display.getDefault().syncExec(new Runnable() {
-			public void run() {
-				try
-				{
-				  if(LicenseAcceptanceDialog.promptForLicense(null, url, licenseURL))
-				  {
-					accepted.accepted = Accepted.ACCEPTED;
-				  }
-				  else
-				  {
-					accepted.accepted = Accepted.NOT_ACCEPTED;
-				  }
-				}
-				catch(Exception e)
-				{
-				  accepted.accepted = Accepted.NOT_DETERMINED;
-				}
-			}
-		});
-	return accepted.accepted;
-  }
-  
-  /**
-   * Get an array containing all the licenses in the registry.
-   * 
-   * @return As array containing all the licenses in the registry. 
-   */
-  protected String[] getLicenses()
-  {
-	return (String[])licenses.keySet().toArray(new String[licenses.keySet().size()]);
-  }
-  
-  /**
-   * Get the state of the license.
-   * 
-   * @param url The URL of the license.
-   * @return The state of the license.
-   */
-  protected Integer getLicenseState(String url)
-  {
-	return (Integer)licenses.get(url);
-  }
-  
-  
-  /**
-   * A class to hold acceptance information for the prompt method.
-   */
-  private class Accepted
-  {
-	public static final int ACCEPTED = 0;
-	public static final int NOT_ACCEPTED = 1;
-	public static final int NOT_DETERMINED = 2;
-	public int accepted = NOT_ACCEPTED;
-  }
-
-}
diff --git a/plugins/org.eclipse.wst.internet.cache/src/org/eclipse/wst/internet/cache/internal/ToCacheRegistryReader.java b/plugins/org.eclipse.wst.internet.cache/src/org/eclipse/wst/internet/cache/internal/ToCacheRegistryReader.java
deleted file mode 100644
index 73165b2..0000000
--- a/plugins/org.eclipse.wst.internet.cache/src/org/eclipse/wst/internet/cache/internal/ToCacheRegistryReader.java
+++ /dev/null
@@ -1,147 +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.internet.cache.internal;
-
-import java.io.IOException;
-import java.net.URI;
-import java.net.URISyntaxException;
-import java.net.URL;
-import java.util.Hashtable;
-
-import org.eclipse.core.runtime.FileLocator;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IExtensionPoint;
-import org.eclipse.core.runtime.IExtensionRegistry;
-import org.eclipse.core.runtime.Platform;
-import org.osgi.framework.Bundle;
-
-/**
- * The ToCacheRegistryReaders reads Eclipse extensions which specify
- * resources to cache. An extension point looks like the following.
- * 
- *  <extension point="org.eclipse.wst.internet.cache.cacheresource">
- *    <cacheresource uri="URI_TO_CACHE" license="URI_OF_LICENSE"/>
- *  </extension> 
- *
- */
-public class ToCacheRegistryReader
-{
-  protected static final String PLUGIN_ID = "org.eclipse.wst.internet.cache";
-  protected static final String EXTENSION_POINT_ID = "cacheresource";
-  protected static final String ATT_URL = "url";
-  protected static final String ATT_LICENSE = "license";
- 
-  private static ToCacheRegistryReader registryReader = null;
-  
-  private Hashtable resourcesToCache = new Hashtable();
-
-  /**
-   * Get the one and only instance of this registry reader.
-   * 
-   * @return The one and only instance of this registry reader.
-   */
-  public static ToCacheRegistryReader getInstance()
-  {
-    if(registryReader == null)
-    {
-      registryReader = new ToCacheRegistryReader();
-    }
-    return registryReader;
-  }
-  /**
-   * Read from plugin registry and handle the configuration elements that match
-   * the spedified elements.
-   */
-  public void readRegistry()
-  {
-    IExtensionRegistry pluginRegistry = Platform.getExtensionRegistry();
-    IExtensionPoint point = pluginRegistry.getExtensionPoint(PLUGIN_ID, EXTENSION_POINT_ID);
-    if (point != null)
-    {
-      IConfigurationElement[] elements = point.getConfigurationElements();
-      for (int i = 0; i < elements.length; i++)
-      {
-        ToCacheResource toCacheResource = readElement(elements[i]);
-        if(toCacheResource != null)
-        {
-          resourcesToCache.put(toCacheResource.getURL(), toCacheResource);
-          LicenseRegistry.getInstance().addLicense(toCacheResource.getLicense());
-        }
-      }
-    }
-  }
-
-  /**
-   * Parse and deal with the extension points.
-   * 
-   * @param element The extension point element.
-   */
-  protected ToCacheResource readElement(IConfigurationElement element)
-  {
-	
-    if(element.getName().equals(EXTENSION_POINT_ID))
-    {
-      String url = element.getAttribute(ATT_URL);
-      if(url != null)
-      {
-    	String license = element.getAttribute(ATT_LICENSE);
-    	
-    	// If the license is relative resolve relative to the
-    	// plug-in that declares it.
-    	try
-    	{
-    	  URI licenseURI = new URI(license);
-    	  if(!licenseURI.isAbsolute())
-    	  {
-    		Bundle pluginBundle = Platform.getBundle(element.getDeclaringExtension().getContributor().getName());
-    		URL licenseURL = pluginBundle.getEntry(license);
-    		if(licenseURL != null)
-    		{
-    	      license = FileLocator.resolve(licenseURL).toExternalForm();  
-    		}
-    	  }
-    	}
-    	catch(URISyntaxException e)
-    	{
-    	  // Use the license as specified.
-    	}
-    	catch(IOException e)
-    	{
-    	  // Use the license as specified.
-    	}
-    	return new ToCacheResource(url, license);
-      }
-    }
-    return null;
-  }
-  
-  /**
-   * Get the list of URIs that have been specified for caching.
-   * 
-   * @return The list of URIs that have been specified for caching.
-   */
-  public String[] getURIsToCache()
-  {
-    return (String[])resourcesToCache.keySet().toArray(new String[resourcesToCache.size()]);
-  }
-  
-  /**
-   * Get the resource to cache if one has been specified.
-   * 
-   * @param url The URL of the resource to cache.
-   * @return A ToCacheResource object representing the URL or null if none has been specified.
-   */
-  public ToCacheResource getResourceToCache(String url)
-  {
-	return (ToCacheResource)resourcesToCache.get(url);
-  }
-}
diff --git a/plugins/org.eclipse.wst.internet.cache/src/org/eclipse/wst/internet/cache/internal/ToCacheResource.java b/plugins/org.eclipse.wst.internet.cache/src/org/eclipse/wst/internet/cache/internal/ToCacheResource.java
deleted file mode 100644
index 3f6778b..0000000
--- a/plugins/org.eclipse.wst.internet.cache/src/org/eclipse/wst/internet/cache/internal/ToCacheResource.java
+++ /dev/null
@@ -1,53 +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.internet.cache.internal;
-
-/**
- * A resource that is specified to be cached. The resource has a URL and an optional
- * license.
- */
-public class ToCacheResource 
-{
-  private String url;
-  private String license;
-  
-  /**
-   * Constructor.
-   * 
-   * @param url The URL of the resource to be cached.
-   * @param license The URL of the optional license for this resource.
-   */
-  public ToCacheResource(String url, String license)
-  {
-	this.url = url;
-	this.license = license;
-  }
-  
-  /**
-   * Get the URL of the resource to be cached.
-   * 
-   * @return The URL of the resource to be cached.
-   */
-  public String getURL()
-  {
-	return url;
-  }
-  
-  /**
-   * Get the license URL of the resource to be cached.
-   * 
-   * @return The license URL of the resource to be cached.
-   */
-  public String getLicense()
-  {
-	return license;
-  }
-}
diff --git a/plugins/org.eclipse.wst.internet.cache/src/org/eclipse/wst/internet/cache/internal/preferences/CachePreferencePage.java b/plugins/org.eclipse.wst.internet.cache/src/org/eclipse/wst/internet/cache/internal/preferences/CachePreferencePage.java
deleted file mode 100644
index 896fac1..0000000
--- a/plugins/org.eclipse.wst.internet.cache/src/org/eclipse/wst/internet/cache/internal/preferences/CachePreferencePage.java
+++ /dev/null
@@ -1,302 +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.internet.cache.internal.preferences;
-
-import java.util.Arrays;
-
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.preference.PreferencePage;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.List;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchPreferencePage;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.wst.internet.cache.internal.Cache;
-import org.eclipse.wst.internet.cache.internal.CacheMessages;
-import org.eclipse.wst.internet.cache.internal.CachePlugin;
-
-/**
- * This class represents a preference page that is contributed to the
- * Preferences dialog. This page contains options for the cache. The cache can
- * be disabled, the list of entries in the cache can be viewed, and individual
- * entries or the entire cache can be deleted.
- */
-
-public class CachePreferencePage extends PreferencePage implements
-    IWorkbenchPreferencePage
-{
-  protected Button clearButton;
-
-  protected Button deleteButton;
-
-  protected Button enabledButton;
-  
-  protected Button disagreedLicensesButton;
-
-  protected List entries;
-
-  protected Composite composite = null;
-
-  /**
-   * @see org.eclipse.jface.dialogs.IDialogPage#dispose()
-   */
-  public void dispose()
-  {
-    if (composite != null)
-    {
-      composite.dispose();
-    }
-    super.dispose();
-  }
-
-  /**
-   * Constructor.
-   */
-  public CachePreferencePage()
-  {
-    setPreferenceStore(CachePlugin.getDefault().getPreferenceStore());
-  }
-
-  /**
-   * @see org.eclipse.ui.IWorkbenchPreferencePage#init(org.eclipse.ui.IWorkbench)
-   */
-  public void init(IWorkbench workbench)
-  {
-  }
-
-  /**
-   * @see org.eclipse.jface.preference.PreferencePage#createContents(org.eclipse.swt.widgets.Composite)
-   */
-  protected Control createContents(Composite parent)
-  {
-    noDefaultAndApplyButton();
-
-    composite = new Composite(parent, SWT.NULL);
-    GridLayout layout = new GridLayout();
-    layout.numColumns = 2;
-    layout.horizontalSpacing = convertHorizontalDLUsToPixels(4);
-    layout.verticalSpacing = convertVerticalDLUsToPixels(3);
-    layout.marginWidth = 0;
-    layout.marginHeight = 0;
-    composite.setLayout(layout);
-    GridData gd = new GridData(GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_FILL);
-    composite.setLayoutData(gd);
-    
-    Label aboutLabel = new Label(composite, SWT.WRAP);
-    aboutLabel.setText(CacheMessages._UI_PREF_CACHE_ABOUT);
-    GridData gridData = new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING);
-    gridData.horizontalSpan = 2;
-    aboutLabel.setLayoutData(gridData);
-    new Label(composite, SWT.None);
-    try
-    {
-      // Created the disable cache option.
-      enabledButton = new Button(composite, SWT.CHECK | SWT.LEFT);
-      gridData = new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING);
-      gridData.horizontalSpan = 2;
-      enabledButton.setLayoutData(gridData);
-      enabledButton.setText(CacheMessages._UI_PREF_CACHE_CACHE_OPTION);
-      enabledButton.setSelection(!CachePlugin.getDefault().getPreferenceStore()
-          .getBoolean(PreferenceConstants.CACHE_ENABLED));
-      enabledButton.addSelectionListener(new SelectionListener()
-      {
-
-        public void widgetDefaultSelected(SelectionEvent e)
-        {
-          widgetSelected(e);
-
-        }
-
-        public void widgetSelected(SelectionEvent e)
-        {
-          boolean disabled = enabledButton.getSelection();
-          CachePlugin.getDefault().setCacheEnabled(!disabled);
-        }
-
-      });
-      
-      disagreedLicensesButton = new Button(composite, SWT.CHECK | SWT.LEFT);
-      gridData = new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING);
-      gridData.horizontalSpan = 2;
-      disagreedLicensesButton.setLayoutData(gridData);
-      disagreedLicensesButton.setText(CacheMessages._UI_PREF_PROMPT_FOR_DISAGREED_LICENSES);
-      disagreedLicensesButton.setSelection(CachePlugin.getDefault().getPreferenceStore()
-          .getBoolean(PreferenceConstants.PROMPT_DISAGREED_LICENSES));
-      disagreedLicensesButton.addSelectionListener(new SelectionListener()
-      {
-
-        public void widgetDefaultSelected(SelectionEvent e)
-        {
-          widgetSelected(e);
-
-        }
-
-        public void widgetSelected(SelectionEvent e)
-        {
-          boolean prompt = disagreedLicensesButton.getSelection();
-          CachePlugin.getDefault().setPromptDisagreedLicenses(prompt);
-        }
-
-      });
-
-      // Create the entities group.
-      Label entriesLabel = new Label(composite, SWT.WRAP);
-      entriesLabel.setText(CacheMessages._UI_PREF_CACHE_ENTRIES_TITLE);
-      gridData = new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING);
-      gridData.horizontalSpan = 2;
-      entriesLabel.setLayoutData(gridData);
-
-      entries = new List(composite, SWT.MULTI | SWT.BORDER | SWT.V_SCROLL);
-      PlatformUI.getWorkbench().getHelpSystem().setHelp(entries,
-          ContextIds.PREF_ENTRIES);
-      String[] cacheEntries = Cache.getInstance().getCachedURIs();
-      Arrays.sort(cacheEntries);
-      entries.setItems(cacheEntries);
-      gridData = new GridData(GridData.HORIZONTAL_ALIGN_FILL
-          | GridData.VERTICAL_ALIGN_FILL);
-      gridData.grabExcessHorizontalSpace = true;
-      gridData.grabExcessVerticalSpace = true;
-      entries.setLayoutData(gridData);
-      entries.addSelectionListener(new SelectionAdapter()
-      {
-        public void widgetSelected(SelectionEvent event)
-        {
-          setPreferenceWidgets();
-        }
-      });
-
-      Composite buttonComposite = new Composite(composite, SWT.NULL);
-      GridLayout gridLayout = new GridLayout();
-      gridLayout.horizontalSpacing = 0;
-      gridLayout.verticalSpacing = convertVerticalDLUsToPixels(3);
-      gridLayout.marginWidth = 0;
-      gridLayout.marginHeight = 0;
-      gridLayout.numColumns = 1;
-      buttonComposite.setLayout(gridLayout);
-      gridData = new GridData(GridData.HORIZONTAL_ALIGN_END | GridData.VERTICAL_ALIGN_FILL | SWT.TOP);
-      buttonComposite.setLayoutData(gridData);
-      // Create the Delete button
-      deleteButton = new Button(buttonComposite, SWT.PUSH);
-      deleteButton.setText(CacheMessages._UI_BUTTON_DELETE_ENTRY);
-      gridData = new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_BEGINNING);
-      gridData.grabExcessHorizontalSpace = true;
-      deleteButton.setLayoutData(gridData);
-      deleteButton.addSelectionListener(new SelectionAdapter()
-      {
-        public void widgetSelected(SelectionEvent event)
-        {
-          if (MessageDialog
-              .openConfirm(
-                  Display.getDefault().getActiveShell(),
-                  CacheMessages._UI_CONFIRM_DELETE_CACHE_ENTRY_DIALOG_TITLE,
-                  CacheMessages._UI_CONFIRM_DELETE_CACHE_ENTRY_DIALOG_MESSAGE))
-          {
-            String[] selectedEntries = entries.getSelection();
-            int numSelectedEntries = selectedEntries.length;
-
-            Cache cache = Cache.getInstance();
-            for (int i = 0; i < numSelectedEntries; i++)
-            {
-              cache.deleteEntry(selectedEntries[i]);
-            }
-            String[] cacheEntries = cache.getCachedURIs();
-            Arrays.sort(cacheEntries);
-            entries.setItems(cacheEntries);
-            setPreferenceWidgets();
-          }
-        }
-      });
-
-      // Create the Clear Cache button
-      clearButton = new Button(buttonComposite, SWT.PUSH);
-      clearButton.setText(CacheMessages._UI_BUTTON_CLEAR_CACHE);
-      gridData = new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_BEGINNING);
-      gridData.grabExcessHorizontalSpace = true;
-      clearButton.setLayoutData(gridData);
-      clearButton.addSelectionListener(new SelectionAdapter()
-      {
-        public void widgetSelected(SelectionEvent event)
-        {
-          if (MessageDialog.openConfirm(Display.getDefault().getActiveShell(),
-              CacheMessages._UI_CONFIRM_CLEAR_CACHE_DIALOG_TITLE,
-              CacheMessages._UI_CONFIRM_CLEAR_CACHE_DIALOG_MESSAGE))
-          {
-            Cache cache = Cache.getInstance();
-            cache.clear();
-            String[] cacheEntries = cache.getCachedURIs();
-            Arrays.sort(cacheEntries);
-            entries.setItems(cacheEntries);
-            setPreferenceWidgets();
-          }
-        }
-      });
-
-    } catch (Throwable e)
-    {
-      //TODO: Log error
-    }
-    setPreferenceWidgets();
-    applyDialogFont(composite);
-
-    return composite;
-  }
-
-  /**
-   * Set the preference page widgets. There are a few rules. 1. If disabled, all
-   * of the widgets are diabled except for the disabled check box. 2. If
-   * enabled, all widgets are enabled except a. The delete button is enabled
-   * only if there is a selection in the list. b. The clear button is enabled
-   * only if there are items in the list.
-   */
-  public void setPreferenceWidgets()
-  {
-    if (composite != null && composite.getEnabled())
-    {
-      if (entries.getSelectionCount() > 0)
-      {
-        deleteButton.setEnabled(true);
-      } 
-      else
-      {
-        deleteButton.setEnabled(false);
-      }
-      if (entries.getItemCount() > 0)
-      {
-        clearButton.setEnabled(true);
-      } 
-      else
-      {
-        clearButton.setEnabled(false);
-      }
-      
-    }
-  }
-
-  /*
-   * @see PreferencePage#createControl(Composite)
-   */
-  public void createControl(Composite parent)
-  {
-    super.createControl(parent);
-    PlatformUI.getWorkbench().getHelpSystem().setHelp(getControl(), ContextIds.PREF); //$NON-NLS-1$
-  }
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.internet.cache/src/org/eclipse/wst/internet/cache/internal/preferences/ContextIds.java b/plugins/org.eclipse.wst.internet.cache/src/org/eclipse/wst/internet/cache/internal/preferences/ContextIds.java
deleted file mode 100644
index 259cafb..0000000
--- a/plugins/org.eclipse.wst.internet.cache/src/org/eclipse/wst/internet/cache/internal/preferences/ContextIds.java
+++ /dev/null
@@ -1,21 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.internet.cache.internal.preferences;
-
-import org.eclipse.wst.internet.cache.internal.CachePlugin;
-
-/**
- * Constant ids for context help.
- */
-public interface ContextIds {
-	public static final String PREF = CachePlugin.PLUGIN_ID + ".cpr0000";
-	public static final String PREF_ENTRIES = CachePlugin.PLUGIN_ID + ".cpr0002";
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.internet.cache/src/org/eclipse/wst/internet/cache/internal/preferences/PreferenceConstants.java b/plugins/org.eclipse.wst.internet.cache/src/org/eclipse/wst/internet/cache/internal/preferences/PreferenceConstants.java
deleted file mode 100644
index a51c4ae..0000000
--- a/plugins/org.eclipse.wst.internet.cache/src/org/eclipse/wst/internet/cache/internal/preferences/PreferenceConstants.java
+++ /dev/null
@@ -1,23 +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.internet.cache.internal.preferences;
-
-/**
- * Constant definitions for plug-in preferences
- */
-public class PreferenceConstants 
-{
-  public static final String CACHE_ENABLED = "cacheEnabled";
-  
-  public static final String PROMPT_DISAGREED_LICENSES = "promptDisagreedLicenses";
-	
-}
diff --git a/plugins/org.eclipse.wst.internet.cache/src/org/eclipse/wst/internet/cache/internal/preferences/PreferenceInitializer.java b/plugins/org.eclipse.wst.internet.cache/src/org/eclipse/wst/internet/cache/internal/preferences/PreferenceInitializer.java
deleted file mode 100644
index a7b4af9..0000000
--- a/plugins/org.eclipse.wst.internet.cache/src/org/eclipse/wst/internet/cache/internal/preferences/PreferenceInitializer.java
+++ /dev/null
@@ -1,33 +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.internet.cache.internal.preferences;
-
-import org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer;
-import org.eclipse.jface.preference.IPreferenceStore;
-
-import org.eclipse.wst.internet.cache.internal.CachePlugin;
-
-/**
- * Class used to initialize default preference values.
- */
-public class PreferenceInitializer extends AbstractPreferenceInitializer 
-{
-  /**
-   * @see org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer#initializeDefaultPreferences()
-   */
-  public void initializeDefaultPreferences() 
-  {
-	IPreferenceStore store = CachePlugin.getDefault().getPreferenceStore();
-    store.setDefault(PreferenceConstants.CACHE_ENABLED, true);
-    store.setDefault(PreferenceConstants.PROMPT_DISAGREED_LICENSES, false);
-  }
-}
diff --git a/plugins/org.eclipse.wst.validation.ui/.classpath b/plugins/org.eclipse.wst.validation.ui/.classpath
deleted file mode 100644
index 1c68a63..0000000
--- a/plugins/org.eclipse.wst.validation.ui/.classpath
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="validateui/"/>
-	<classpathentry kind="src" path="property_files"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/plugins/org.eclipse.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 926709f..0000000
--- a/plugins/org.eclipse.wst.validation.ui/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,12 +0,0 @@
-#Wed Mar 29 04:09:11 EST 2006
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=disabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.4
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=warning
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=warning
-org.eclipse.jdt.core.compiler.source=1.3
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 171d83d..0000000
--- a/plugins/org.eclipse.wst.validation.ui/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,3 +0,0 @@
-#Wed Mar 29 04:09:11 EST 2006
-eclipse.preferences.version=1
-internal.default.compliance=default
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 0285666..0000000
--- a/plugins/org.eclipse.wst.validation.ui/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,21 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: Validation Framework UI
-Bundle-SymbolicName: org.eclipse.wst.validation.ui; singleton:=true
-Bundle-Version: 1.1.0.qualifier
-Bundle-Activator: org.eclipse.wst.validation.internal.ui.plugin.ValidationUIPlugin
-Bundle-Vendor: Eclipse.org
-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.2.0,3.3.0)",
- org.eclipse.core.resources;bundle-version="[3.2.0,3.3.0)",
- org.eclipse.ui;bundle-version="[3.2.0,3.3.0)",
- org.eclipse.swt;bundle-version="[3.2.0,3.3.0)",
- org.eclipse.wst.common.frameworks.ui;bundle-version="[1.1.0,1.2.0)",
- org.eclipse.core.runtime;bundle-version="[3.2.0,3.3.0)",
- org.eclipse.wst.common.frameworks;bundle-version="[1.1.0,1.2.0)",
- org.eclipse.wst.validation;bundle-version="[1.1.0,1.2.0)",
- org.eclipse.jem.util;bundle-version="[1.2.0,1.3.0)",
- org.eclipse.ui.forms;bundle-version="[3.2.0,3.3.0)"
-Eclipse-AutoStart: true
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 4ec5989..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>May 2, 2006</P>
-
-<H3>License</H3>
-
-<P>The Eclipse Foundation makes available all content in this plug-in 
-("Content"). Unless otherwise indicated below, the Content is provided to you 
-under the terms and conditions of the Eclipse Public License Version 1.0 
-("EPL"). A copy of the EPL is available at
-<A href="http://www.eclipse.org/org/documents/epl-v10.php">http://www.eclipse.org/org/documents/epl-v10.php</A>. 
-For purposes of the EPL, "Program" will mean the Content.</P>
-
-<P>If you did not receive this Content directly from the Eclipse Foundation, the 
-Content is being redistributed by another party ("Redistributor") and different 
-terms and conditions may apply to your use of any object code in the Content. 
-Check the Redistributor’s license that was provided with the Content. If no such 
-license exists, contact the Redistributor. Unless otherwise indicated below, the 
-terms and conditions of the EPL still apply to any source code in the Content 
-and such source code may be obtained at
-<A href="http://www.eclipse.org/">http://www.eclipse.org/</A>.</P>
-
-</BODY>
-</HTML>
diff --git a/plugins/org.eclipse.wst.validation.ui/build.properties b/plugins/org.eclipse.wst.validation.ui/build.properties
deleted file mode 100644
index 4ce34bd..0000000
--- a/plugins/org.eclipse.wst.validation.ui/build.properties
+++ /dev/null
@@ -1,19 +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
-###############################################################################
-bin.includes = .,\
-               plugin.xml,\
-               META-INF/,\
-               about.html,\
-               icons/,\
-               plugin.properties
-source.. = validateui/,\
-                                property_files/
-output.. = bin/
diff --git a/plugins/org.eclipse.wst.validation.ui/build/buildcontrol.properties b/plugins/org.eclipse.wst.validation.ui/build/buildcontrol.properties
deleted file mode 100644
index 5938f6c..0000000
--- a/plugins/org.eclipse.wst.validation.ui/build/buildcontrol.properties
+++ /dev/null
@@ -1,16 +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
-###############################################################################
-CONTACT=ruthdaly@ca.ibm.com
-ComponentShortName=validationui
-ComponentFullName=Validation Framework UI
-ComponentCompetency=Validation
-JavaCompile.1=srcjar
-BuildVerification.1=dir
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.validation.ui/build/package.xml b/plugins/org.eclipse.wst.validation.ui/build/package.xml
deleted file mode 100644
index 0ae0c31..0000000
--- a/plugins/org.eclipse.wst.validation.ui/build/package.xml
+++ /dev/null
@@ -1,18 +0,0 @@
-<project name="com.ibm.etools.validation.ui" default="packagingPlugin" basedir="./..">
-    <target name="init">
-        <property name="packageDir" value=""/>
-        <property name="plugin.directory"  value="${basedir}"/>
-        <property name="plugin.id" value="com.ibm.etools.validation.ui"/>
-        <property name="plugin.version"  value=""/>
-    </target>
-    <target name="packagingPlugin" depends="init">
-        <echo message="${plugin.id}"/>
-        <copy todir="${packageDir}/plugins/${plugin.id}_${plugin.version}">
-            <fileset dir="${plugin.directory}">
-                <include name="plugin.properties"/>
-                <include name="plugin.xml"/>
-                <include name="runtime/validateui.jar"/>
-            </fileset>
-        </copy>
-    </target>
-</project>
diff --git a/plugins/org.eclipse.wst.validation.ui/build/sourcejar.txt b/plugins/org.eclipse.wst.validation.ui/build/sourcejar.txt
deleted file mode 100644
index b96f41c..0000000
--- a/plugins/org.eclipse.wst.validation.ui/build/sourcejar.txt
+++ /dev/null
@@ -1 +0,0 @@
-validateui
diff --git a/plugins/org.eclipse.wst.validation.ui/build/wsBuild.xml b/plugins/org.eclipse.wst.validation.ui/build/wsBuild.xml
deleted file mode 100644
index 77c0b82..0000000
--- a/plugins/org.eclipse.wst.validation.ui/build/wsBuild.xml
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0"?>
-<!DOCTYPE project [
-	<!ENTITY baseBuild SYSTEM "file:../../wsBuildDef.xml">
-]>
-
-<project name="buildPlugin" default="build" basedir="./..">
-
-<!-- include the common xml build file -->
-&baseBuild;
-
-<target name="build" depends="prepare" if="plugin.id">
-	<antcall target="buildjar">
-		<param name="jarname" value="${defaultjarname}"/>
-		<param name="jarclasspath" value="${plugin.classpath}"/>
-	</antcall>
-</target>
-</project>
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 bc27522..0000000
--- a/plugins/org.eclipse.wst.validation.ui/plugin.properties
+++ /dev/null
@@ -1,16 +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
-###############################################################################
-#
-# Version 1.3
-#
-VBF_TITLE_PROPERTIES=Validation
-VBF_UI_POPUP_RUNVALIDATION=Validate
-VBF_TITLE_PREFERENCE=Validation
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 bbabc9f..0000000
--- a/plugins/org.eclipse.wst.validation.ui/plugin.xml
+++ /dev/null
@@ -1,54 +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.internal.ui.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
-            adaptable="true"
-            objectClass="org.eclipse.core.resources.IProject"
-            name="%VBF_TITLE_PROPERTIES"
-            class="org.eclipse.wst.validation.internal.ui.ValidationPropertiesPage"
-            id="ValidationPropertiesPage">
-      </page>
-   </extension>
-
-</plugin>
diff --git a/plugins/org.eclipse.wst.validation.ui/prepareforpii.xml b/plugins/org.eclipse.wst.validation.ui/prepareforpii.xml
deleted file mode 100644
index 1c3e278..0000000
--- a/plugins/org.eclipse.wst.validation.ui/prepareforpii.xml
+++ /dev/null
@@ -1,38 +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.etools.validation.ui"/>
-		<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}/property_files" >
-			 <fileset dir="${plugindir}/property_files">
-           	  <include name="**/*.properties"/>
-  			 </fileset>
-  		</copy>
-  		
-  		<copy file="${plugindir}/plugin.properties" todir="${outputDir}"/>
-  		
-	</target>
-</project>
diff --git a/plugins/org.eclipse.wst.validation.ui/property_files/validate_ui.properties b/plugins/org.eclipse.wst.validation.ui/property_files/validate_ui.properties
deleted file mode 100644
index ba91858..0000000
--- a/plugins/org.eclipse.wst.validation.ui/property_files/validate_ui.properties
+++ /dev/null
@@ -1,128 +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
-###############################################################################
-#     *************************************************************************
-#     * 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_FULL=Run validation when you manually build a project
-PREF_BUTTON_AUTO=Run validation automatically when you save changes to a resource
-PREF_BUTTON_ENABLEALL=Enable All
-PREF_BUTTON_DISABLEALL=Disable All
-PREF_VALLIST_TITLE=The selected validators will run when validation is performed:
-PREF_LBL_MAXMSGS=Maximum number of validation messages on a project
-PREF_ERROR_INT=IWAE0001E The number of validation messages must be a positive integer.
-PREF_BUTTON_ASYNC=Run validation in a background thread
-PREF_MNU_MANUAL=&Manual
-PREF_MNU_BUILD=&Build
-PREF_MNU_SETTINGS=&Settings...
-
-PROP_BUTTON_OVERRIDE=Override validation preferences
-PROP_BUTTON_FULL=Run validation when you manually build {0}
-VBF_UI_LBL_AUTO_VALIDATE=Run validation automatically when you save changes to {0} resources.
-PROP_BUTTON_SELECTALL=Select All
-PROP_BUTTON_DESELECTALL=Deselect All
-VBF_UI_LBL_DESC=The selected validators will run when {0} is validated:
-PROP_LBL_MAXMSSGS=Maximum number of validation messages on {0}
-PROP_ERROR_INT=IWAE0002E The number of validation messages must be a positive integer.
-PROP_LBL_CANNOTOVERRIDE=To enable the "Override validation preferences" checkbox, select the "Allow projects to override these preference settings" checkbox in the workbench Preferences dialog.
-PROP_BUTTON_ASYNC=Run validation in a background thread on {0}
-
-VBF_EXC_INTERNAL=IWAE0003E An unexpected error occurred during validation. Read the log file.
-VBF_EXC_INTERNAL_PROJECT=IWAE0004E An unexpected error occurred during validation of project {0}. Read the log file.
-VBF_EXC_INTERNAL_TITLE=IWAE0005E Internal error
-VBF_EXC_INTERNAL_PAGE=IWAE0006E An unexpected error occured; click Cancel to close the wizard.
-
-VBF_EXC_INVALID_REGISTER=IWAE0007E Validators can run only on open resources.
-
-VBF_UI_NO_VALIDATORS_INSTALLED=No validators are installed.
-
-VBF_UI_LBL_NOVALIDATORS_DESC=It is not possible to run any Validators, at the project level, for this type of project.
-
-VBF_UI_NO_VALIDATORS_ENABLED=Enable at least one validator on {0}. To select the validators that you want to run, open this project''s Properties wizard, turn to the Validation section, and select one or more validators in the list.
-
-VBF_UI_CHECKBOXGROUP_TITLE=Validators
-
-VBF_UI_CLOSED_PROJECT=Validation cannot run on a closed project. Open project {0} and try again.
-VBF_UI_MSSGBOX_TITLE_NONINC=Some of the Validators Do Not Support Automatic Validation
-VBF_UI_AUTO_ON_NONINC=Although automatic validation has been selected, some of the validators will not be invoked during the automatic processing. The following validators do not support automatic validation: {0}
-
-VBF_UI_PRJNEEDINPUT=Project {0} and its children were not validated because none of the enabled validators validates that type of project.
-VBF_UI_RESNEEDINPUT=Resource {0} was not validated because none of the enabled validators validates that type of resource.
-
-VBF_UI_MAX_REPORTED=Validation was terminated on {0} because the maximum number of messages were reported.
-VBF_UI_PRJVALIDATED=Validation of project {0} is complete.
-VBF_UI_RESVALIDATED=Validation of resource {0} is complete.
-VBF_UI_CANCELLED=Validation cancelled.
-VBF_UI_COMPLETE=Validation completed.
-VBF_UI_CLOSE=Close
-VBF_UI_STATUS=Status
-VBF_UI_RESCANCELLED=Validation was cancelled on {0}.
-DISABLE_VALIDATION=Suspend all validators
-INFO=This preference applies to the projects that have org.eclipse.wst.validation.validationbuilder defined.Validators are run on the projects based on the filters defined in the org.eclipse.wst.validation.validator extension point.
-
-DELEGATES_DIALOG_TITLE=Validator Preferences
-DELEGATES_COMBO_LABEL=Implementation:
-ADD_VALIDATION_BUILDER=Add Validation Builder to project
-CONFIG_WS_SETTINGS=Configure Workspace Settings...
-VALIDATOR=Validator
-MANUAL=Manual
-BUILD=Build
-SETTINGS=Settings
-
-#
-# 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 b4b36f0..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, 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.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$
-}
\ No newline at end of file
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 6316b5e..0000000
--- a/plugins/org.eclipse.wst.validation.ui/validateui/org/eclipse/wst/validation/internal/ui/DelegatingValidatorPreferencesDialog.java
+++ /dev/null
@@ -1,267 +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.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;
-
-/**
- * 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.
-   */
-  protected 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(ResourceHandler.getExternalizedMessage(ResourceConstants.DELEGATES_DIALOG_TITLE));
-
-    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(ResourceHandler.getExternalizedMessage(ResourceConstants.DELEGATES_COMBO_LABEL));
-    
-    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);
-    
-    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/ProgressAndTextDialog.java b/plugins/org.eclipse.wst.validation.ui/validateui/org/eclipse/wst/validation/internal/ui/ProgressAndTextDialog.java
deleted file mode 100644
index 63af6e3..0000000
--- a/plugins/org.eclipse.wst.validation.ui/validateui/org/eclipse/wst/validation/internal/ui/ProgressAndTextDialog.java
+++ /dev/null
@@ -1,160 +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.ui;
-
-
-import java.lang.reflect.InvocationTargetException;
-
-import org.eclipse.jface.dialogs.ProgressMonitorDialog;
-import org.eclipse.jface.operation.IRunnableWithProgress;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Cursor;
-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.Event;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Listener;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Text;
-
-
-/**
- * Display both progress status and cumulative status (text) to the user.
- */
-public class ProgressAndTextDialog extends ProgressMonitorDialog {
-	protected static final String NEWLINE = System.getProperty("line.separator"); //$NON-NLS-1$
-	protected Text text = null;
-	protected boolean cancelPressed = false; // Has the "Cancel" button been clicked?
-	protected boolean closePressed = false; // Has the "Close" button been clicked?
-	protected boolean operationDone = false; // Has the operation completed?
-	protected Cursor arrowCursor; // The cursor used in the cancel button.
-
-
-	public ProgressAndTextDialog(Shell parent) {
-		super(parent);
-		setShellStyle(SWT.BORDER | SWT.TITLE | SWT.RESIZE); // do not make this dialog modal
-		setBlockOnOpen(false); // do not force the user to close this dialog before using eclipse
-	}
-
-	public Control createDialogArea(Composite parent) {
-		super.createDialogArea(parent);
-
-		final int hHint = 100;
-		final int wHint = 250;
-
-		Composite composite = new Composite(parent, SWT.NONE);
-		Label textLabel = new Label(composite, SWT.LEFT | SWT.WRAP);
-		textLabel.setText(ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_UI_STATUS));
-		GridData labelData = new GridData();
-		labelData.horizontalSpan = 2;
-		textLabel.setLayoutData(labelData);
-
-		composite.setLayout(new GridLayout()); // use the layout's default preferences
-		GridData data = new GridData(GridData.FILL_BOTH);
-		data.heightHint = hHint;
-		data.widthHint = wHint;
-		data.horizontalSpan = 2;
-		composite.setLayoutData(data);
-
-		text = new Text(composite, SWT.MULTI | SWT.V_SCROLL | SWT.H_SCROLL | SWT.READ_ONLY | SWT.BORDER);
-		GridData d = new GridData(GridData.FILL_BOTH);
-		text.setLayoutData(d);
-
-		return composite;
-	}
-
-	public void addText(final String messageString) {
-		if (getShell() != null) {
-			getShell().getDisplay().asyncExec(new Runnable() {
-				public void run() {
-					text.append(messageString);
-					text.append(NEWLINE);
-				}
-			});
-		}
-	}
-
-	/**
-	 * Do not dismiss the dialog until the user presses the Close button.
-	 */
-	public boolean close() {
-		if (closePressed) {
-			// Cancel button converted to "Close" button, and user clicked the "Close" button
-			return super.close();
-		}
-
-		// Turn the "cancel" button into a "Close" button and keep the window open until
-		// the user clicks the "Close" button.
-		progressIndicator.setVisible(false);
-		if (arrowCursor == null)
-			arrowCursor = new Cursor(cancel.getDisplay(), SWT.CURSOR_ARROW);
-		getShell().setCursor(arrowCursor);
-		if (cancelPressed) {
-			messageLabel.setText(ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_UI_CANCELLED));
-		} else {
-			messageLabel.setText(ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_UI_COMPLETE));
-		}
-		cancel.setText(ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_UI_CLOSE));
-		cancel.setEnabled(true);
-		return false;
-	}
-
-	protected void internalCancelPressed() {
-		// Has this method been called because "Cancel" has been clicked or
-		// because "Close" has been clicked?
-		if (operationDone) {
-			// "Close" was clicked.
-			closePressed = true;
-			close();
-		} else {
-			// "Cancel" was clicked.
-			cancelPressed = true;
-		}
-	}
-
-	/**
-	 * @see org.eclipse.jface.dialogs.Dialog#createButtonsForButtonBar(Composite)
-	 */
-	protected void createButtonsForButtonBar(Composite parent) {
-		super.createButtonsForButtonBar(parent);
-
-		// Cannot override cancelPressed() because of the way that
-		// ProgressMonitorDialog is coded.
-		// The ProgressMonitorDialog parent, instead of overriding the
-		// cancelPressed() method, added an anonymous Listener to the
-		// cancel button. When the button's Listener is invoked, if
-		// close() has been called by cancelPressed(), then an
-		// exception is thrown (SWTException - "Widget is disposed').
-		// Work around this by adding an anonymous
-		// cancel listener, which will be called after the parent's
-		// cancel listener, and this class' listener will call close().
-		cancel.addListener(SWT.Selection, new Listener() {
-			public void handleEvent(Event e) {
-				internalCancelPressed();
-			}
-		});
-	}
-
-	/**
-	 * @see org.eclipse.jface.operation.IRunnableContext#run(boolean, boolean,
-	 *      IRunnableWithProgress)
-	 */
-	public void run(boolean fork, boolean cancelable, IRunnableWithProgress runnable) throws InvocationTargetException, InterruptedException {
-		try {
-			super.run(fork, cancelable, runnable);
-		} finally {
-			operationDone = true;
-		}
-	}
-
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.validation.ui/validateui/org/eclipse/wst/validation/internal/ui/ResourceConstants.java b/plugins/org.eclipse.wst.validation.ui/validateui/org/eclipse/wst/validation/internal/ui/ResourceConstants.java
deleted file mode 100644
index b9abed1..0000000
--- a/plugins/org.eclipse.wst.validation.ui/validateui/org/eclipse/wst/validation/internal/ui/ResourceConstants.java
+++ /dev/null
@@ -1,106 +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.ui;
-
-
-/**
- * This interface contains the constants used as keys into the ResourceBundle.
- */
-public interface ResourceConstants {
-	// Internal error has occurred.
-	public static final String VBF_EXC_INTERNAL = "VBF_EXC_INTERNAL"; //$NON-NLS-1$
-
-	// Internal error occurred while constructing or running the Properties or Preference page.
-	public static final String VBF_EXC_INTERNAL_PAGE = "VBF_EXC_INTERNAL_PAGE"; //$NON-NLS-1$
-
-	// Internal error has occurred.
-	public static final String VBF_EXC_INTERNAL_PROJECT = "VBF_EXC_INTERNAL_PROJECT"; //$NON-NLS-1$
-	public static final String VBF_EXC_INTERNAL_TITLE = "VBF_EXC_INTERNAL_TITLE"; //$NON-NLS-1$
-
-	// Should never happen, since plugin.xml specifies an IProject objectClass filter, but if the
-	// ValidationPropertiesPage is shown on a non-IProject resource, this message will be what's
-	// shown.
-	public static final String VBF_EXC_INVALID_REGISTER = "VBF_EXC_INVALID_REGISTER"; //$NON-NLS-1$
-
-	// On the Properties Page, this is the string which explains to the user what to do. The string
-	// is
-	// displayed in a label.
-	public static final String VBF_UI_LBL_DESC = "VBF_UI_LBL_DESC"; //$NON-NLS-1$
-
-	// On the Properties Page, this is the string which explains to the user what to do. The string
-	// is
-	// displayed in a label.
-	public static final String VBF_UI_LBL_NOVALIDATORS_DESC = "VBF_UI_LBL_NOVALIDATORS_DESC"; //$NON-NLS-1$
-
-	// Label on the checkbox button of the validator page
-	public static final String VBF_UI_LBL_AUTO_VALIDATE = "VBF_UI_LBL_AUTO_VALIDATE"; //$NON-NLS-1$
-
-	// If the user has selected "Validate this project" from the popupMenu, but has no validators
-	// enabled, tell them that nothing will run.
-	public static final String VBF_UI_NO_VALIDATORS_ENABLED = "VBF_UI_NO_VALIDATORS_ENABLED"; //$NON-NLS-1$
-
-	// On the Properties Page, this is the title of the group which encloses the CheckboxTableViewer
-	// (the list of configured validators).
-	public static final String VBF_UI_CHECKBOXGROUP_TITLE = "VBF_UI_CHECKBOXGROUP_TITLE"; //$NON-NLS-1$
-	public static final String VBF_UI_AUTO_ON_NONINC = "VBF_UI_AUTO_ON_NONINC"; //$NON-NLS-1$
-	public static final String VBF_UI_MSSGBOX_TITLE_NONINC = "VBF_UI_MSSGBOX_TITLE_NONINC"; //$NON-NLS-1$
-	public static final String VBF_UI_AUTO_NOTE = "VBF_UI_AUTO_NOTE"; //$NON-NLS-1$
-	public static final String VBF_UI_AUTO_NOTE_TEXT = "VBF_UI_AUTO_NOTE_TEXT"; //$NON-NLS-1$
-	public static final String VBF_UI_MENUITEM_TEXT = "VBF_UI_MENUITEM_TEXT"; //$NON-NLS-1$
-	public static final String VBF_UI_MENUITEM_TEXT_DEFAULT = "VBF_UI_MENUITEM_TEXT_DEFAULT"; //$NON-NLS-1$
-	public static final String VBF_UI_CLOSED_PROJECT = "VBF_UI_CLOSED_PROJECT"; //$NON-NLS-1$
-	public static final String VBF_UI_NO_VALIDATORS_INSTALLED = "VBF_UI_NO_VALIDATORS_INSTALLED"; //$NON-NLS-1$
-
-	public static final String VBF_UI_POPUP_RUNVALIDATION = "%VBF_UI_POPUP_RUNVALIDATION"; //$NON-NLS-1$
-
-	/* package */static final String PREF_BUTTON_ENABLEALL = "PREF_BUTTON_ENABLEALL"; //$NON-NLS-1$
-	/* package */static final String PREF_BUTTON_DISABLEALL = "PREF_BUTTON_DISABLEALL"; //$NON-NLS-1$
-	/* package */static final String PREF_VALLIST_TITLE = "PREF_VALLIST_TITLE"; //$NON-NLS-1$
-	/* package */static final String PREF_BUTTON_AUTO = "PREF_BUTTON_AUTO"; //$NON-NLS-1$
-	/* package */static final String PREF_BUTTON_OVERRIDE = "PREF_BUTTON_OVERRIDE"; //$NON-NLS-1$
-	/* package */static final String PREF_BUTTON_FULL = "PREF_BUTTON_FULL"; //$NON-NLS-1$
-	/* package */static final String PREF_LBL_MAXMSGS = "PREF_LBL_MAXMSGS"; //$NON-NLS-1$
-  /* package */static final String PREF_MNU_MANUAL = "PREF_MNU_MANUAL"; //$NON-NLS-1$
-  /* package */static final String PREF_MNU_BUILD = "PREF_MNU_BUILD"; //$NON-NLS-1$
-  /* package */static final String PREF_MNU_SETTINGS = "PREF_MNU_SETTINGS"; //$NON-NLS-1$
-  /* package */static final String PROP_BUTTON_OVERRIDE = "PROP_BUTTON_OVERRIDE"; //$NON-NLS-1$
-	/* package */static final String PROP_BUTTON_FULL = "PROP_BUTTON_FULL"; //$NON-NLS-1$
-	/* package */static final String PROP_BUTTON_SELECTALL = "PROP_BUTTON_SELECTALL"; //$NON-NLS-1$
-	/* package */static final String PROP_BUTTON_DESELECTALL = "PROP_BUTTON_DESELECTALL"; //$NON-NLS-1$
-	/* package */static final String PROP_LBL_MAXMSSGS = "PROP_LBL_MAXMSSGS"; //$NON-NLS-1$
-	/* package */static final String PREF_ERROR_INT = "PREF_ERROR_INT"; //$NON-NLS-1$
-	/* package */static final String PROP_ERROR_INT = "PROP_ERROR_INT"; //$NON-NLS-1$
-
-	/* package */static final String VBF_UI_PRJNEEDINPUT = "VBF_UI_PRJNEEDINPUT"; //$NON-NLS-1$
-	/* package */static final String VBF_UI_RESNEEDINPUT = "VBF_UI_RESNEEDINPUT"; //$NON-NLS-1$
-	/* package */static final String VBF_UI_MAX_REPORTED = "VBF_UI_MAX_REPORTED"; //$NON-NLS-1$
-	/* package */static final String VBF_UI_PRJVALIDATED = "VBF_UI_PRJVALIDATED"; //$NON-NLS-1$
-	/* package */static final String VBF_UI_RESVALIDATED = "VBF_UI_RESVALIDATED"; //$NON-NLS-1$
-	/* package */static final String VBF_UI_CANCELLED = "VBF_UI_CANCELLED"; //$NON-NLS-1$
-	/* package */static final String VBF_UI_COMPLETE = "VBF_UI_COMPLETE"; //$NON-NLS-1$
-	/* package */static final String VBF_UI_CLOSE = "VBF_UI_CLOSE"; //$NON-NLS-1$
-	/* package */static final String VBF_UI_STATUS = "VBF_UI_STATUS"; //$NON-NLS-1$
-	/* package */static final String VBF_UI_RESCANCELLED = "VBF_UI_RESCANCELLED"; //$NON-NLS-1$
-	
-	/* package */static final String DISABLE_VALIDATION = "DISABLE_VALIDATION"; //$NON-NLS-1$
-	/* package */static final String ADD_VALIDATION_BUILDER = "ADD_VALIDATION_BUILDER"; //$NON-NLS-1$
-	static final String INFO = "INFO"; //$NON-NLS-1$
-  
-  String DELEGATES_DIALOG_TITLE = "DELEGATES_DIALOG_TITLE"; //$NON-NLS-1$
-  String DELEGATES_COMBO_LABEL = "DELEGATES_COMBO_LABEL"; //$NON-NLS-1$
-  
-  	public static final String CONFIG_WS_SETTINGS="CONFIG_WS_SETTINGS";//$NON-NLS-1$
-  	public static final String VALIDATOR = "VALIDATOR"; //$NON-NLS-1$
-  	public static final String MANUAL = "MANUAL"; //$NON-NLS-1$
-  	public static final String BUILD = "BUILD"; //$NON-NLS-1$
-  	public static final String SETTINGS = "SETTINGS"; //$NON-NLS-1$
-  	
- }
diff --git a/plugins/org.eclipse.wst.validation.ui/validateui/org/eclipse/wst/validation/internal/ui/ResourceHandler.java b/plugins/org.eclipse.wst.validation.ui/validateui/org/eclipse/wst/validation/internal/ui/ResourceHandler.java
deleted file mode 100644
index 531ff42..0000000
--- a/plugins/org.eclipse.wst.validation.ui/validateui/org/eclipse/wst/validation/internal/ui/ResourceHandler.java
+++ /dev/null
@@ -1,110 +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.ui;
-
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-import java.util.logging.Level;
-
-import org.eclipse.jem.util.logger.LogEntry;
-import org.eclipse.jem.util.logger.proxy.Logger;
-import org.eclipse.wst.common.frameworks.internal.ui.WTPUIPlugin;
-import org.eclipse.wst.validation.internal.ui.plugin.ValidationUIPlugin;
-
-
-/**
- * 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(ValidationUIPlugin.getBundleName());
-			} catch (MissingResourceException exc) {
-				_bundle = null;
-				Logger logger = WTPUIPlugin.getLogger();
-				if (logger.isLoggingLevel(Level.FINE)) {
-					LogEntry entry = ValidationUIPlugin.getLogEntry();
-					entry.setSourceID("org.eclipse.wst.validation.internal.operations.ui.ResourceHandler.getBundle()"); //$NON-NLS-1$
-					entry.setText("Cannot find bundle " + ValidationUIPlugin.getBundleName()); //$NON-NLS-1$
-					entry.setTargetException(exc);
-					logger.write(Level.FINE, entry);
-				}
-			}
-		}
-		return _bundle;
-	}
-
-	public static String getExternalizedMessage(String key) {
-		try {
-			ResourceBundle bundle = getBundle();
-			if (bundle == null) {
-				Logger logger = WTPUIPlugin.getLogger();
-				if (logger.isLoggingLevel(Level.FINE)) {
-					LogEntry entry = ValidationUIPlugin.getLogEntry();
-					entry.setSourceID("org.eclipse.wst.validation.internal.operations.ui.ResourceHandler.getExternalizedMessage(String)"); //$NON-NLS-1$
-					entry.setText("Resource bundle is null"); //$NON-NLS-1$
-					logger.write(Level.FINE, entry);
-				}
-				return key;
-			}
-
-			return bundle.getString(key);
-		} catch (NullPointerException exc) {
-			Logger logger = WTPUIPlugin.getLogger();
-			if (logger.isLoggingLevel(Level.FINE)) {
-				LogEntry entry = ValidationUIPlugin.getLogEntry();
-				entry.setSourceID("org.eclipse.wst.validation.internal.operations.ui.ResourceHandler.getExternalizedMessage(String)"); //$NON-NLS-1$
-				entry.setText("Cannot find message id " + key); //$NON-NLS-1$
-				entry.setTargetException(exc);
-				logger.write(Level.FINE, entry);
-			}
-		}
-		return key;
-	}
-
-	public static String getExternalizedMessage(String key, String[] parms) {
-		String res = ""; //$NON-NLS-1$
-		try {
-			res = java.text.MessageFormat.format(getExternalizedMessage(key), parms);
-		} catch (MissingResourceException exc) {
-			Logger logger = WTPUIPlugin.getLogger();
-			if (logger.isLoggingLevel(Level.FINE)) {
-				LogEntry entry = ValidationUIPlugin.getLogEntry();
-				entry.setSourceID("org.eclipse.wst.validation.internal.operations.ui.ResourceHandler.getExternalizedMessage(String, String[])"); //$NON-NLS-1$
-				entry.setText("Cannot find message id " + key); //$NON-NLS-1$
-				entry.setTargetException(exc);
-				logger.write(Level.FINE, entry);
-			}
-		} catch (NullPointerException exc) {
-			Logger logger = WTPUIPlugin.getLogger();
-			if (logger.isLoggingLevel(Level.FINE)) {
-				LogEntry entry = ValidationUIPlugin.getLogEntry();
-				entry.setSourceID("org.eclipse.wst.validation.internal.operations.ui.ResourceHandler.getExternalizedMessage(String, String[])"); //$NON-NLS-1$
-				entry.setText("Cannot format message id " + key + " with " + parms.length + " parameters."); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-				entry.setTargetException(exc);
-				logger.write(Level.FINE, entry);
-			}
-		}
-		return res;
-	}
-}
\ No newline at end of file
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 9807bfd..0000000
--- a/plugins/org.eclipse.wst.validation.ui/validateui/org/eclipse/wst/validation/internal/ui/SaveFilesDialog.java
+++ /dev/null
@@ -1,89 +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 Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-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, "Unable to set save automatically preference in save files for validation dialog: " + 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 4e15e0a..0000000
--- a/plugins/org.eclipse.wst.validation.ui/validateui/org/eclipse/wst/validation/internal/ui/SaveFilesHelper.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/**
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *   IBM - Initial API and implementation
- */
-package org.eclipse.wst.validation.internal.ui;
-
-import java.util.ArrayList;
-import java.util.HashSet;
-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 inputs = new HashSet();
-		List result = new ArrayList(0);
-		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 (IEditorPart[]) 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 d52b12d..0000000
--- a/plugins/org.eclipse.wst.validation.ui/validateui/org/eclipse/wst/validation/internal/ui/ValidateAction.java
+++ /dev/null
@@ -1,66 +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.ui;
-
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.ui.actions.SelectionListenerAction;
-import org.eclipse.wst.validation.internal.ui.plugin.ValidationUIPlugin;
-
-
-public class ValidateAction extends SelectionListenerAction {
-	protected ValidationMenuAction delegate;
-
-	public ValidateAction() {
-		super(ValidationUIPlugin.getResourceString(ResourceConstants.VBF_UI_POPUP_RUNVALIDATION));
-		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;
-	}
-}
\ No newline at end of file
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 860dfe7..0000000
--- a/plugins/org.eclipse.wst.validation.ui/validateui/org/eclipse/wst/validation/internal/ui/ValidationJob.java
+++ /dev/null
@@ -1,27 +0,0 @@
-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 = null;
-	public ValidationJob(String name) {
-		super(name);
-	}
-
-
-	public void setProjectsMap(Map projects){
-		this.projects = projects;
-	}
-
-
-	protected IStatus run(IProgressMonitor monitor) {
-
-		return null;
-	}
-}
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 fea3e93..0000000
--- a/plugins/org.eclipse.wst.validation.ui/validateui/org/eclipse/wst/validation/internal/ui/ValidationMenuAction.java
+++ /dev/null
@@ -1,660 +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.ui;
-
-import java.lang.reflect.InvocationTargetException;
-import java.util.ArrayList;
-import java.util.Arrays;
-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.logging.Level;
-
-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.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.Status;
-import org.eclipse.jem.util.logger.LogEntry;
-import org.eclipse.jem.util.logger.proxy.Logger;
-import org.eclipse.jface.action.IAction;
-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.Event;
-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.common.frameworks.internal.ui.WTPUIPlugin;
-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.ValidationRegistryReader;
-import org.eclipse.wst.validation.internal.ValidationSelectionHandlerRegistryReader;
-import org.eclipse.wst.validation.internal.operations.ManualIncrementalValidatorsOperation;
-import org.eclipse.wst.validation.internal.operations.ManualValidatorsOperation;
-import org.eclipse.wst.validation.internal.operations.ValidatorManager;
-import org.eclipse.wst.validation.internal.plugin.ValidationPlugin;
-import org.eclipse.wst.validation.internal.ui.plugin.ValidationUIPlugin;
-
-/**
- * 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 = null;
-	protected static final String SEP = "/"; //$NON-NLS-1$
-	private Display _currentDisplay = null;
-	private IResourceVisitor _folderVisitor = null;
-	private IResourceVisitor _projectVisitor = null;
-	private Map _selectedResources = null;
-	//protected IWorkbenchContext workbenchContext;
-
-	public ValidationMenuAction() {
-		super();
-		_currentDisplay = Display.getCurrent(); // cache the display before
-		// this action is forked. After
-		// the action is forked,
-		// Display.getCurrent() returns
-		// null.
-		_selectedResources = new HashMap();
-	}
-
-	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;
-	}
-
-	private ISelection getCurrentSelection() {
-		return _currentSelection;
-	}
-
-	/**
-	 * 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.
-	 */
-	// TODO: Check this method for selected resources.
-	private Map loadSelected(ValidateAction action, boolean refresh) {
-		if (refresh) {
-			// selectionChanged(IAction, ISelection) has been called. Flush the
-			// existing cache of resources and
-			// add just the currently selected ones.
-			_selectedResources.clear();
-		}
-		ISelection selection = getCurrentSelection();
-		if ((selection == null) || selection.isEmpty() || !(selection instanceof IStructuredSelection)) {
-			return null;
-		}
-		Object[] elements = ((IStructuredSelection) selection).toArray();
-		for (int i = 0; i < elements.length; i++) {
-			Object element = elements[i];
-			if (element == null) {
-				continue;
-			}
-			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 at least one non-validatable element 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 changedRes = null;
-		if (added) {
-			// If the value is null, the entire project needs to be validated
-			// anyway.
-			changedRes = (Set) _selectedResources.get(project);
-			if (changedRes == null) {
-				return;
-			}
-		} else {
-			changedRes = new HashSet();
-		}
-		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) {
-			Logger logger = WTPUIPlugin.getLogger();
-			if (logger.isLoggingLevel(Level.SEVERE)) {
-				LogEntry entry = ValidationUIPlugin.getLogEntry();
-				entry.setSourceIdentifier("ValidationMenuAction.addSelected(IFolder)"); //$NON-NLS-1$
-				entry.setMessageTypeIdentifier(ResourceConstants.VBF_EXC_INTERNAL);
-				entry.setTargetException(exc);
-				logger.write(Level.SEVERE, entry);
-			}
-			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) {
-			Logger logger = WTPUIPlugin.getLogger();
-			if (logger.isLoggingLevel(Level.SEVERE)) {
-				LogEntry entry = ValidationUIPlugin.getLogEntry();
-				entry.setSourceIdentifier("ValidationMenuAction.addSelected(IFolder)"); //$NON-NLS-1$
-				entry.setMessageTypeIdentifier(ResourceConstants.VBF_EXC_INTERNAL);
-				entry.setTargetException(exc);
-				logger.write(Level.SEVERE, entry);
-			}
-			return;
-		}
-	}
-
-	private IResourceVisitor getProjectVisitor() {
-		if (_projectVisitor == null) {
-			_projectVisitor = 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 _projectVisitor;
-	}
-
-	/**
-	 * The delegating action has been performed. Implement this method to do the actual work.
-	 * 
-	 * @param action
-	 *            action proxy that handles the presentation portion of the plugin action
-	 * @param window
-	 *            the desktop window passed by the action proxy
-	 */
-	public void run(IAction action) {
-		// TODO: Insert dirty file check here.
-		ValidateAction vaction = null;
-		if (action instanceof ValidateAction) {
-			vaction = (ValidateAction) action;
-		}
-		final Map projects = loadSelected(vaction, false);
-		if ((projects == null) || (projects.size() == 0)) {
-			return;
-		}
-		
-		// If the files aren't saved do not run validation.
-		if(!handleFilesToSave(projects))
-		{
-		  return;
-		}
-
-		ValidationJob validationop = new ValidationJob(ValidationUIMessages.RunValidationDialogTitle){
-			protected IStatus run(IProgressMonitor monitor) {
-				final Map projectsMap = projects;
-				IStatus stat = validate(monitor, projectsMap);	
-				_selectedResources.clear();
-				return stat;
-			}
-		};
-		validationop.setProjectsMap(projects);
-		validationop.setRule(ResourcesPlugin.getWorkspace().getRoot());
-		validationop.setUser(true);
-		validationop.schedule();
-	}
-	
-	private IStatus validate(final IProgressMonitor monitor, final Map projects) {
-		boolean cancelled = false; // Was the operation cancelled?
-		Iterator iterator = projects.keySet().iterator();
-		while (iterator.hasNext()) {
-			
-			if ( monitor.isCanceled() )
-				return new Status(IStatus.CANCEL, "org.eclipse.wst.validation", 0, "OK", null);;
-			IProject project = (IProject) iterator.next();
-			if (project == null) {
-				continue;
-			}
-			try {
-				if (cancelled) {
-					String message = ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_UI_RESCANCELLED, new String[]{project.getName()});
-					monitor.setTaskName(message);
-					continue;
-				}
-				if (!project.isOpen()) {
-					String message = ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_UI_CLOSED_PROJECT, new String[]{project.getName()});
-					monitor.setTaskName(message);
-					continue;
-				}
-				performValidation(monitor, projects, project);
-			} catch (OperationCanceledException exc) {
-				// When loading file deltas, if the operation has been
-				// cancelled, then
-				// resource.accept throws an OperationCanceledException.
-				cancelled = true;
-				String message = ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_UI_RESCANCELLED, new String[]{project.getName()});
-				monitor.setTaskName(message);
-			} catch (Throwable exc) {
-				logException(monitor, project, exc);
-			}
-		}
-		return new Status(IStatus.OK, "org.eclipse.wst.validation", 0, "OK", null);
-	}
-	
-
-
-	/**
-	 * @param dialog
-	 * @param project
-	 * @param exc
-	 */
-
-	private void logException(IProgressMonitor monitor, IProject project, Throwable exc) {
-		Logger logger = WTPUIPlugin.getLogger();
-		if (logger.isLoggingLevel(Level.SEVERE)) {
-			LogEntry entry = ValidationUIPlugin.getLogEntry();
-			entry.setSourceID("ValidationMenuAction.validate"); //$NON-NLS-1$
-			entry.setMessageTypeIdentifier(ResourceConstants.VBF_EXC_INTERNAL);
-			entry.setTargetException(exc);
-			logger.write(Level.SEVERE, entry);
-		}
-		String internalErrorMessage = ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_EXC_INTERNAL_PROJECT, new String[]{project.getName()});
-		monitor.setTaskName(internalErrorMessage);
-	}	
-
-	/**
-	 * @param monitor
-	 * @param projects
-	 * @param dialog
-	 * @param project
-	 * @throws CoreException
-	 */
-
-	private IStatus performValidation(final IProgressMonitor monitor, final Map projects,
-				 IProject project) throws CoreException {
-		// Even if the "maximum number of messages" message is on
-		// the task list,
-		// run validation, because some messages may have been
-		// fixed
-		// and there may be space for more messages.
-		
-		if ( monitor.isCanceled() )
-			return new Status(IStatus.CANCEL, "org.eclipse.wst.validation", 0, "OK", null);
-		
-		Set changedResources = (Set) projects.get(project);
-		IResource[] resources = null;
-		if (changedResources != null) {
-			resources = new IResource[changedResources.size()];
-			changedResources.toArray(resources);
-		}
-		try {
-			ProjectConfiguration prjp = ConfigurationManager.getManager().getProjectConfiguration(project);
-			if (prjp.numberOfManualEnabledValidators() > 0) {
-				checkProjectConfiguration(monitor, project, resources, prjp);
-			} else {
-				String message = ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_UI_NO_VALIDATORS_ENABLED, new String[]{project.getName()});
-				monitor.setTaskName(message);
-			}
-		} catch (InvocationTargetException exc) {
-			Logger logger = ValidationPlugin.getPlugin().getLogger();
-			if (logger.isLoggingLevel(Level.SEVERE)) {
-				LogEntry entry = ValidationPlugin.getLogEntry();
-				entry.setSourceIdentifier("ValidationMenuAction::run"); //$NON-NLS-1$
-				entry.setTargetException(exc);
-				logger.write(Level.SEVERE, entry);
-				if (exc.getTargetException() != null) {
-					entry.setTargetException(exc);
-					logger.write(Level.SEVERE, entry);
-				}
-			}
-		}
-		return new Status(IStatus.OK, "org.eclipse.wst.validation", 0, "OK", null);
-	}
-	
-	/**
-	 * @param monitor
-	 * @param dialog
-	 * @param project
-	 * @param resources
-	 * @param prjp
-	 * @throws InvocationTargetException
-	 * @throws CoreException
-	 */
-	private IStatus checkProjectConfiguration(final IProgressMonitor monitor,
-				IProject project, IResource[] resources, ProjectConfiguration prjp) throws InvocationTargetException, CoreException {
-		boolean successful = true; // Did the operation
-		// complete
-		// successfully?
-		if ( monitor.isCanceled() )
-			new Status(IStatus.CANCEL, "org.eclipse.wst.validation", 0, "OK", null);
-		
-		ManualValidatorsOperation validOp = null;
-		//validOp = new ManualValidatorsOperation(project, resources);
-		if (resources == null) {
-			validOp = new ManualValidatorsOperation(project);
-		} else {
-			validOp = new ManualIncrementalValidatorsOperation(project, resources);
-		}
-		if (validOp.isNecessary(monitor)) {
-			validOp.run(monitor);
-		} else {
-			if (resources == null) {
-				String message = ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_UI_PRJNEEDINPUT, new String[]{project.getName()});
-				monitor.setTaskName(message);
-			} else {
-				for (int i = 0; i < resources.length; i++) {
-					String message = ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_UI_RESNEEDINPUT, new String[]{resources[i].getFullPath().toString()});
-					monitor.setTaskName(message);
-				}
-			}
-		}
-		if (successful) {
-			performSucessful(monitor, project, resources);
-		} else {
-			String internalErrorMessage = ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_EXC_INTERNAL_PROJECT, new String[]{project.getName()});
-			monitor.setTaskName(internalErrorMessage);
-		}
-		return new Status(IStatus.OK, "org.eclipse.wst.validation", 0, "OK", null);
-	}
-	
-
-
-	/**
-	 * @param dialog
-	 * @param project
-	 * @param resources
-	 */
-	private void performSucessful(final IProgressMonitor monitor, IProject project, IResource[] resources) {
-		boolean limitExceeded = ValidatorManager.getManager().wasValidationTerminated(project);
-		if (limitExceeded) {
-			String message = ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_UI_MAX_REPORTED, new String[]{project.getName()});
-			monitor.setTaskName(message);
-		} else if (resources == null) {
-			String message = ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_UI_PRJVALIDATED, new String[]{project.getName()});
-			monitor.setTaskName(message);
-		} else {
-			for (int i = 0; i < resources.length; i++) {
-				String message = ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_UI_RESVALIDATED, new String[]{resources[i].getFullPath().toString()});
-				monitor.setTaskName(message);
-			}
-		}
-	}	
-
-	/**
-	 * Selection in the desktop has changed. Plugin 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 plugin action
-	 * @param selection
-	 *            current selection in the desktop
-	 */
-	public void selectionChanged(IAction action, ISelection selection) {
-		_currentSelection = selection;
-		int count = 0;
-		boolean fwkActivated = (ValidationPlugin.isActivated() && ValidationRegistryReader.isActivated());
-		if (fwkActivated) {
-			ValidateAction vaction = null;
-			if (action instanceof ValidateAction) {
-				vaction = (ValidateAction) action;
-			}
-			final Map projects = loadSelected(vaction, true);
-			if ((projects != null) && (projects.size() > 0)) {
-				Iterator iterator = projects.keySet().iterator();
-				while (iterator.hasNext()) {
-					// If at least one project can be validated, make "enabled"
-					// true and
-					// let the dialog tell the user which projects need to be
-					// opened,
-					// validators enabled, etc.
-					IProject project = (IProject) iterator.next();
-					if ((project != null) && (project.isOpen())) {
-						// If the validation plugin hasn't been activated yet,
-						// don't activate it just to
-						// find out if there are validators. Only ask if there
-						// are enabled validators if
-						// the plugin has already been activated.
-						try {
-							ProjectConfiguration prjp = ConfigurationManager.getManager().getProjectConfigurationWithoutMigrate(project);
-							if( !prjp.isDisableAllValidation() ){
-								count += prjp.numberOfManualValidators();
-							}							
-						} catch (InvocationTargetException exc) {
-							Logger logger = ValidationPlugin.getPlugin().getLogger();
-							if (logger.isLoggingLevel(Level.SEVERE)) {
-								LogEntry entry = ValidationPlugin.getLogEntry();
-								entry.setSourceIdentifier("ValidationMenuAction::selectionChanged"); //$NON-NLS-1$
-								entry.setTargetException(exc);
-								logger.write(Level.SEVERE, entry);
-								if (exc.getTargetException() != null) {
-									entry.setTargetException(exc);
-									logger.write(Level.SEVERE, entry);
-								}
-							}
-						}
-						if (count > 0)
-							break;
-					}
-				}
-			}
-		}
-		action.setEnabled((count > 0) || (!fwkActivated)); // Don't disable the
-		// action just
-		// because the
-		// framework hasn't
-		// been activated.
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.common.navigator.internal.views.navigator.INavigatorActionsExtension#init(org.eclipse.wst.common.navigator.internal.views.navigator.INavigatorExtensionSite)
-	 */
-
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.IActionDelegate2#runWithEvent(org.eclipse.jface.action.IAction,
-	 *      org.eclipse.swt.widgets.Event)
-	 */
-	public void runWithEvent(IAction action, Event event) {
-		run(action);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.IActionDelegate2#init(org.eclipse.jface.action.IAction)
-	 */
-	public void init(IAction action) {
-		//init
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.IActionDelegate2#dispose()
-	 */
-	public void dispose() { 
-		//dispose
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IViewActionDelegate#init(org.eclipse.ui.IViewPart)
-	 */
-	public void init(IViewPart view) { 
-		//init
-		
-	}
-	
-	/**
-	 * 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 projects)
-	{
-	  List fileList = getIFiles(projects);
-      IEditorPart[] dirtyEditors = SaveFilesHelper.getDirtyEditors(fileList);
-      if(dirtyEditors == null || dirtyEditors.length == 0)
-    	return true;
-      boolean saveAutomatically = false;
-      try
-      {
-        saveAutomatically = new GlobalConfiguration(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));
-      }
-	  // Save all open editors.
-	  if(saveAutomatically || sfDialog.open() == Window.OK)
-	  {
-		int numDirtyEditors = dirtyEditors.length;
-		for(int i = 0; i < numDirtyEditors; i++)
-		{
-		  dirtyEditors[i].doSave(null);
-		}
-		return true;
-	  }
-	  return false;
-	}
-	
-	protected List getIFiles(Map projects)
-	{
-		List fileList = new ArrayList();
-		Set projectKeys = projects.keySet();
-		Iterator projectIter = projectKeys.iterator();
-		while(projectIter.hasNext())
-		{
-		  IProject project = (IProject) projectIter.next();
-		  Set resourcesList = (Set) projects.get(project);
-		  Iterator resourcesIter = resourcesList.iterator();
-		  while(resourcesIter.hasNext())
-		  {
-			IResource resource = (IResource)resourcesIter.next();
-			if(resource instanceof IFile)
-			{
-				fileList.add(resource);
-			}
-		  }
-		}
-		return fileList;
-	}
-	
-}
diff --git a/plugins/org.eclipse.wst.validation.ui/validateui/org/eclipse/wst/validation/internal/ui/ValidationPreferencePage.java b/plugins/org.eclipse.wst.validation.ui/validateui/org/eclipse/wst/validation/internal/ui/ValidationPreferencePage.java
deleted file mode 100644
index ea9f6ed..0000000
--- a/plugins/org.eclipse.wst.validation.ui/validateui/org/eclipse/wst/validation/internal/ui/ValidationPreferencePage.java
+++ /dev/null
@@ -1,1180 +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.ui;
-
-import java.lang.reflect.InvocationTargetException;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.logging.Level;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IWorkspace;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.jem.util.logger.LogEntry;
-import org.eclipse.jem.util.logger.proxy.Logger;
-import org.eclipse.jface.preference.PreferencePage;
-import org.eclipse.jface.viewers.ColumnWeightData;
-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.TableLayout;
-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.common.frameworks.internal.ui.WTPUIPlugin;
-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.ValidatorMetaData;
-import org.eclipse.wst.validation.internal.operations.ValidatorManager;
-import org.eclipse.wst.validation.internal.ui.plugin.ValidationUIPlugin;
-
-/**
- * This class and its inner classes are not intended to be subclassed outside of the validation
- * framework.
- */
-public class ValidationPreferencePage extends PreferencePage implements IWorkbenchPreferencePage {
-	private IValidationPage _pageImpl = null;
-
-	/**
- * Initially, this interface was created as an abstract class, and getControl() was implemented.
- * (getProject() could also have been implemented in the abstract class.) However, at runtime, a
- * NullPointerException was thrown; the inner class had lost its pointer to its enclosing class.
- * After some experimentation, I discovered that if I changed the parent to an interface, the
- * enclosing class could be found. (Merely moving the AValidationPage into its own file was
- * insufficient.)
- */
-public interface IValidationPage {
-	public Composite createPage(Composite parent) throws InvocationTargetException;
-
-	public boolean performOk() throws InvocationTargetException;
-
-	public boolean performDefaults() throws InvocationTargetException;
-
-	public Composite getControl();
-
-	public void dispose();
-
-	public void loseFocus(); // Page is losing focus (event notification)
-
-	public void gainFocus(); // Page is gaining focus (event notification)
-}
-
-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) {
-		// 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);
-		PlatformUI.getWorkbench().getHelpSystem().setHelp(composite, ContextIds.VALIDATION_PROPERTIES_PAGE);
-
-		messageLabel = new Label(composite, SWT.NONE);
-		messageLabel.setText(ResourceHandler.getExternalizedMessage(ResourceConstants.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 class NoValidatorsPage implements IValidationPage {
-	private Composite page = null;
-	private Composite composite = null;
-	private GridLayout layout = null;
-	private GridData data = null;
-	private Label messageLabel = null;
-
-	public NoValidatorsPage(Composite parent) {
-		page = createPage(parent);
-	}
-
-	/**
-	 * This page is created if an IProject is selected, but that project has no validators
-	 * configured (i.e., the page is valid, but an empty list.)
-	 */
-	public Composite createPage(Composite parent) {
-		// Don't create the default and apply buttons.
-		noDefaultAndApplyButton();
-
-		// top level group
-		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);
-		data = new GridData(GridData.VERTICAL_ALIGN_FILL | GridData.HORIZONTAL_ALIGN_FILL);
-		composite.setLayoutData(data);
-
-		messageLabel = new Label(composite, SWT.NONE);
-		messageLabel.setText(ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_UI_NO_VALIDATORS_INSTALLED));
-
-		composite.setSize(composite.computeSize(SWT.DEFAULT, SWT.DEFAULT));
-
-		return composite;
-	}
-
-
-	/**
-	 * Since there are no validators, there is nothing to save.
-	 */
-	public boolean performOk() {
-		return true;
-	}
-
-	public boolean performDefaults() {
-		return true;
-	}
-
-	public Composite getControl() {
-		return page;
-	}
-
-	public void dispose() {
-		messageLabel.dispose();
-		//			layout.dispose();
-		//			data.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 class ValidatorListPage implements IValidationPage {
-	private Composite page = null;
-
-	private Composite composite = null;
-	TableViewer validatorList = null;
-	private Button enableAllButton = null;
-	private Button disableAllButton = null;
-	private Label emptyRowPlaceholder = null;
-	Button disableAllValidation = null;
-	Button overrideButton = null;
-	Button saveButton = null;
-	private Label listLabel = null;
-	private Table validatorsTable;
-
-	GlobalConfiguration pagePreferences = null; // the values currently on the page, but not
-	// necessarily stored yet. Package visibility
-	// for the widget listeners (the compiler would
-	// have to create a synthetic accessor method in
-	// order to access this field)
-	//private boolean _isAutoBuildEnabled; // initialized in the constructor
-	private ValidatorMetaData[] _oldVmd = null; // Cache the enabled validators so that, if
-  private Map _oldDelegates = null; // Cache the validator delegates.
-	// there is no change to this list, the
-	// expensive task list update can be avoided
-	private boolean _allow = false; // Cache the value of the prefence "allow projects to
-
-	// override" so that, when OK is clicked, we can determine
-	// if "allow" has changed or not.
-
-	/**
-	 * This class is provided for the CheckboxTableViewer in the
-	 * ValidationPropertiesPage$ValidatorListPage class.
-	 */
-	public class ValidationContentProvider implements IStructuredContentProvider {
-		/**
-		 * Disposes of this content provider. This is called by the viewer when it is disposed.
-		 */
-		public void dispose() {
-			//dispose
-		}
-
-		/**
-		 * Returns the elements to display in the viewer when its input is set to the given
-		 * element. These elements can be presented as rows in a table, items in a list, etc.
-		 * The result is not modified by the viewer.
-		 * 
-		 * @param inputElement
-		 *            the input element
-		 * @return the array of elements to display in the viewer
-		 */
-		public java.lang.Object[] getElements(Object inputElement) {
-			if (inputElement instanceof ValidatorMetaData[]) {
-				// The Collection is the Collection which is returned by ValidatorManager's
-				// getConfiguredValidatorMetaData(IProject) call.
-				// This Collection is set to be the input of the CheckboxTableViewer in
-				// ValidationPropertiesPage$ValidatorListPage's createPage(Composite)
-				// method.
-				return (ValidatorMetaData[]) inputElement;
-			}
-			return new Object[0];
-		}
-
-		/**
-		 * Notifies this content provider that the given viewer's input has been switched to a
-		 * different element.
-		 * <p>
-		 * A typical use for this method is registering the content provider as a listener to
-		 * changes on the new input (using model-specific means), and deregistering the viewer
-		 * from the old input. In response to these change notifications, the content provider
-		 * propagates the changes to the viewer.
-		 * </p>
-		 * 
-		 * @param viewer
-		 *            the viewer
-		 * @param oldInput
-		 *            the old input element, or <code>null</code> if the viewer did not
-		 *            previously have an input
-		 * @param newInput
-		 *            the new input element, or <code>null</code> if the viewer does not have
-		 *            an input
-		 */
-		public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
-			//do nothing
-		}
-
-
-
-	}
-
-	/**
-	 * This class is provided for ValidationPropertiesPage$ValidatorListPage's
-	 * checkboxTableViewer element.
-	 */
-	public class ValidationLabelProvider extends LabelProvider implements ITableLabelProvider {
-		/**
-		 * Override the LabelProvider's text, by customizing the text for a ValidatorMetaData
-		 * element.
-		 */
-		public String getText(Object element) {
-			if (element == null) {
-				return ""; //$NON-NLS-1$
-			} else if (element instanceof ValidatorMetaData) {
-				return ((ValidatorMetaData) element).getValidatorDisplayName();
-			} else {
-				return super.getText(element);
-			}
-		}
-
-    private Image getImage(String imageName) {
-      boolean isDisabled = !validatorsTable.isEnabled();
-      if (isDisabled) {
-          imageName = imageName + "_disabled";  //$NON-NLS-N$
-      }
-      Image image = ValidationUIPlugin.getPlugin().getImage(imageName);
-      return image;
-    }
-    
-		public Image getColumnImage(Object element, int columnIndex) {
-			if(columnIndex == 1) {
-				if(((ValidatorMetaData)element).isManualValidation())
-					return  getImage("ok_tbl");
-				return getImage("fail_tbl");
-			} 
-      else if(columnIndex == 2) {
-				if(((ValidatorMetaData)element).isBuildValidation())
-					return getImage("ok_tbl");;
-				return getImage("fail_tbl");
-			}
-      else if (columnIndex == 3)
-      {
-        ValidatorMetaData vmd = (ValidatorMetaData)element;
-
-        if (vmd.isDelegating())
-        {
-          return getImage("settings");          
-        }
-      }
-			return null;
-		
-		}
-
-		public String getColumnText(Object element, int columnIndex) {
-			if(columnIndex == 0) {
-				return ((ValidatorMetaData) element).getValidatorDisplayName();
-			}
-			/*if(columnIndex == 1) {
-				if(((ValidatorMetaData)element).isManualValidation())
-					return COMBO_VALUES[0];
-				return COMBO_VALUES[1];	
-			} else if(columnIndex == 2) {
-				if(((ValidatorMetaData)element).isBuildValidation())
-					return COMBO_VALUES[0];
-				return COMBO_VALUES[1];
-			}*/
-			return null;
-		}
-	}
-
-	/**
-	 * This class is used to sort the CheckboxTableViewer elements.
-	 */
-	public class ValidationViewerSorter extends ViewerSorter {
-		/**
-		 * Returns a negative, zero, or positive number depending on whether the first element
-		 * is less than, equal to, or greater than the second element.
-		 * <p>
-		 * The default implementation of this method is based on comparing the elements'
-		 * categories as computed by the <code>category</code> framework method. Elements
-		 * within the same category are further subjected to a case insensitive compare of their
-		 * label strings, either as computed by the content viewer's label provider, or their
-		 * <code>toString</code> values in other cases. Subclasses may override.
-		 * </p>
-		 * 
-		 * @param viewer
-		 *            the viewer
-		 * @param e1
-		 *            the first element
-		 * @param e2
-		 *            the second element
-		 * @return a negative number if the first element is less than the second element; the
-		 *         value <code>0</code> if the first element is equal to the second element;
-		 *         and a positive number if the first element is greater than the second element
-		 */
-		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 {
-		//_isAutoBuildEnabled = ValidatorManager.getManager().isGlobalAutoBuildEnabled();
-		pagePreferences = new GlobalConfiguration(ConfigurationManager.getManager().getGlobalConfiguration()); // This
-		// represents the values on the page that haven't been persistedyet.
-		// Start with the last values that were persisted into the current page's starting values.
-		
-		_oldVmd = pagePreferences.getEnabledValidators(); // Cache the enabled validators so
-		// that, if there is no change to this
-		// list, the expensive task list
-		// update can be avoided
-
-    _oldDelegates =  new HashMap(pagePreferences.getDelegatingValidators());
-		
-    _allow = pagePreferences.canProjectsOverride();
-
-		page = createPage(parent);
-	}
-	
-	private void setupTableColumns(Table table, TableViewer viewer) {
-		TableColumn validatorColumn = new TableColumn(table, SWT.NONE);
-        validatorColumn.setText(ResourceHandler.getExternalizedMessage(ResourceConstants.VALIDATOR));
-        validatorColumn.setResizable(false);
-        validatorColumn.setWidth(280);
-        TableColumn manualColumn = new TableColumn(table, SWT.NONE);
-        manualColumn.setText(ResourceHandler.getExternalizedMessage(ResourceConstants.MANUAL));
-        manualColumn.setResizable(false);
-        manualColumn.setWidth(40);
-        TableColumn buildColumn = new TableColumn(table, SWT.NONE);
-        buildColumn.setText(ResourceHandler.getExternalizedMessage(ResourceConstants.BUILD));
-        buildColumn.setResizable(false);
-        buildColumn.setWidth(30);
-        TableColumn settingsColumn = new TableColumn(table, SWT.NONE);
-        settingsColumn.setText(ResourceHandler.getExternalizedMessage(ResourceConstants.SETTINGS));
-        settingsColumn.setResizable(false);
-        settingsColumn.setWidth(40);
-    }
-	
-	public Composite createPage(Composite parent) throws InvocationTargetException {
-		// top level group
-		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);
-		composite.setLayout(new GridLayout()); // use the layout's default preferences
-		PlatformUI.getWorkbench().getHelpSystem().setHelp(composite, ContextIds.VALIDATION_PREFERENCE_PAGE);
-
-		Composite validatorGroup = new Composite(composite, SWT.NONE);
-
-		
-		GridLayout validatorGroupLayout = new GridLayout();
-		validatorGroupLayout.numColumns = 2;
-		validatorGroup.setLayout(validatorGroupLayout);
-		PlatformUI.getWorkbench().getHelpSystem().setHelp(validatorGroup, ContextIds.VALIDATION_PREFERENCE_PAGE);
-
-		GridData overrideData = new GridData(GridData.FILL_HORIZONTAL);
-		emptyRowPlaceholder = new Label(validatorGroup, SWT.NONE);
-		emptyRowPlaceholder.setLayoutData(new GridData());
-		emptyRowPlaceholder = new Label(validatorGroup, SWT.NONE);
-		emptyRowPlaceholder.setLayoutData(new GridData());		
-		
-		overrideData.horizontalSpan = 2;
-		overrideButton = new Button(validatorGroup, SWT.CHECK);
-		overrideButton.setLayoutData(overrideData);
-		overrideButton.setText(ResourceHandler.getExternalizedMessage(ResourceConstants.PREF_BUTTON_OVERRIDE));
-		overrideButton.setEnabled(true);
-		overrideButton.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				pagePreferences.setCanProjectsOverride(overrideButton.getSelection());
-				try {
-					updateWidgets();
-				} catch (InvocationTargetException exc) {
-					displayAndLogError(ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_EXC_INTERNAL_TITLE), ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_EXC_INTERNAL_PAGE), exc);
-				}
-			}
-		});
-		PlatformUI.getWorkbench().getHelpSystem().setHelp(overrideButton, ContextIds.VALIDATION_PREFERENCE_PAGE_OVERRIDE);
-
-		emptyRowPlaceholder = new Label(validatorGroup, SWT.NONE);
-		emptyRowPlaceholder.setLayoutData(new GridData());
-		
-		GridData disableValidationData = new GridData(GridData.FILL_HORIZONTAL);
-		disableValidationData.horizontalSpan = 2;
-		disableAllValidation = new Button(validatorGroup, SWT.CHECK);
-		disableAllValidation.setLayoutData(disableValidationData);
-		disableAllValidation.setText(ResourceHandler.getExternalizedMessage(ResourceConstants.DISABLE_VALIDATION));
-		disableAllValidation.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				pagePreferences.setDisableAllValidation(disableAllValidation.getSelection());
-				disableAllValidation.setFocus();
-				validatorsTable.setEnabled(!disableAllValidation.getSelection());
-				enableAllButton.setEnabled(!disableAllValidation.getSelection());
-				disableAllButton.setEnabled(!disableAllValidation.getSelection());
-        validatorList.refresh();
-			}
-		});
-		
-		emptyRowPlaceholder = new Label(validatorGroup, SWT.NONE);
-		emptyRowPlaceholder.setLayoutData(new GridData());
-		
-		GridData saveFileData = new GridData(GridData.FILL_HORIZONTAL);
-		saveFileData.horizontalSpan = 2;
-		saveButton = new Button(validatorGroup, SWT.CHECK);
-		saveButton.setLayoutData(saveFileData);
-		saveButton.setText(ValidationUIMessages.PrefPage_always_save);
-		saveButton.setSelection(pagePreferences.getSaveAutomatically());
-		saveButton.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				pagePreferences.setSaveAutomatically(saveButton.getSelection());
-				saveButton.setFocus();
-			}
-		});
-		
-		emptyRowPlaceholder = new Label(validatorGroup, SWT.NONE);
-		emptyRowPlaceholder.setLayoutData(new GridData());
-
-		listLabel = new Label(validatorGroup, SWT.NONE);
-		GridData listLabelData = new GridData(GridData.FILL_HORIZONTAL);
-		listLabelData.horizontalSpan = 2;
-		listLabel.setLayoutData(listLabelData);
-		listLabel.setText(ResourceHandler.getExternalizedMessage(ResourceConstants.PREF_VALLIST_TITLE));
-
-		validatorsTable = new Table(validatorGroup,SWT.BORDER | SWT.FULL_SELECTION);
-		TableLayout tableLayout = new TableLayout();
-		tableLayout.addColumnData(new ColumnWeightData(160, true));
-    tableLayout.addColumnData(new ColumnWeightData(40, true));
-    tableLayout.addColumnData(new ColumnWeightData(30, true));
-    tableLayout.addColumnData(new ColumnWeightData(40, true));
-    
-		validatorsTable.setHeaderVisible(true);
-		validatorsTable.setLinesVisible(true);
-        validatorsTable.setLayout(tableLayout);
-		
-		validatorList = new TableViewer(validatorsTable);
-        GridData validatorListData = new GridData(GridData.FILL_HORIZONTAL);
-		validatorListData.horizontalSpan = 2;
-		validatorsTable.setLayoutData(validatorListData);
-		validatorList.getTable().setLayoutData(validatorListData);
-		validatorList.setLabelProvider(new ValidationLabelProvider());
-		validatorList.setContentProvider(new ValidationContentProvider());
-		validatorList.setSorter(new ValidationViewerSorter());
-    setupTableColumns(validatorsTable,validatorList);
-		validatorList.setInput(pagePreferences.getValidators());
-    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);
-        }
-      }});
-
-    enableAllButton = new Button(validatorGroup, SWT.PUSH);
-		enableAllButton.setLayoutData(new GridData());
-		enableAllButton.setText(ResourceHandler.getExternalizedMessage(ResourceConstants.PREF_BUTTON_ENABLEALL));
-		enableAllButton.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				try {
-					performEnableAll();
-				} catch (InvocationTargetException exc) {
-					displayAndLogError(ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_EXC_INTERNAL_TITLE), ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_EXC_INTERNAL_PAGE), exc);
-				}
-			}
-		});
-		PlatformUI.getWorkbench().getHelpSystem().setHelp(enableAllButton, ContextIds.VALIDATION_PREFERENCE_PAGE);
-
-		disableAllButton = new Button(validatorGroup, SWT.PUSH);
-		disableAllButton.setLayoutData(new GridData());
-		disableAllButton.setText(ResourceHandler.getExternalizedMessage(ResourceConstants.PREF_BUTTON_DISABLEALL));
-		disableAllButton.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				try {
-					performDisableAll();
-				} catch (InvocationTargetException exc) {
-					displayAndLogError(ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_EXC_INTERNAL_TITLE), ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_EXC_INTERNAL_PAGE), exc);
-				}
-			}
-		});
-		PlatformUI.getWorkbench().getHelpSystem().setHelp(disableAllButton, ContextIds.VALIDATION_PREFERENCE_PAGE);
-
-		Composite buttonGroup = new Composite(composite, SWT.NONE);
-		GridLayout buttonGroupLayout = new GridLayout();
-		buttonGroupLayout.numColumns = 2;
-		buttonGroup.setLayout(buttonGroupLayout);
-		buttonGroup.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL));
-		// Have to set the tab order or only the first checkbox in a Composite can
-		// be tab-ed to. (Seems to apply only to checkboxes. Have to use the arrow
-		// key to navigate the checkboxes.)
-		validatorGroup.setTabList(new Control[]{overrideButton, disableAllValidation, saveButton, validatorList.getTable(), enableAllButton, disableAllButton});
-
-		updateWidgets();
-
-		applyDialogFont(composite);
-		composite.setSize(composite.computeSize(SWT.DEFAULT, SWT.DEFAULT));
-
-		return composite;
-	}
-  
-  protected Menu createContextMenu()
-  {
-    final Menu menu = new Menu(validatorsTable.getShell(), SWT.POP_UP);
-    final MenuItem manualItem = new MenuItem (menu, SWT.CHECK);
-    manualItem.setText(ResourceHandler.getExternalizedMessage(ResourceConstants.PREF_MNU_MANUAL));
-    final MenuItem buildItem = new MenuItem (menu, SWT.CHECK);
-    buildItem.setText(ResourceHandler.getExternalizedMessage(ResourceConstants.PREF_MNU_BUILD));
-    final MenuItem settingsItem = new MenuItem (menu, SWT.PUSH);
-    settingsItem.setText(ResourceHandler.getExternalizedMessage(ResourceConstants.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();
-        ValidatorMetaData vmd = (ValidatorMetaData) selection.getFirstElement();
-        manualItem.setSelection(vmd.isManualValidation());
-        buildItem.setSelection(vmd.isBuildValidation());
-        settingsItem.setEnabled(vmd.isDelegating());
-      }});
-    
-    return menu;
-  }
-
-  protected void columnClicked(int columnToEdit)
-  {
-    IStructuredSelection selection = (IStructuredSelection) validatorList.getSelection();
-    ValidatorMetaData vmd = (ValidatorMetaData) selection.getFirstElement();
-    
-    switch (columnToEdit)
-    {
-    case 1:
-      vmd.setManualValidation(!vmd.isManualValidation());
-      break;
-    case 2:
-      vmd.setBuildValidation(!vmd.isBuildValidation());
-      break;
-    case 3:
-      {
-        if (!vmd.isDelegating()) {
-          break;
-        }
-          
-        String delegateID = pagePreferences.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)
-        {
-          pagePreferences.setDelegateUniqueName(vmd, dialog.getDelegateID());
-        }
-      }
-      break;
-    default:
-      break;
-    }
-    validatorList.refresh();      
-  }	
-  
-  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.
-		updateTable();
-		updateAllWidgets();
-		updateHelp();
-	}
-	
-	protected void updateWidgetsForDefaults() throws InvocationTargetException {
-		updateTableForDefaults();
-		updateAllWidgets();
-		updateHelp();
-	}
-
-	/**
-	 * @throws InvocationTargetException
-	 */
-	private void updateAllWidgets() throws InvocationTargetException {
-		overrideButton.setSelection(pagePreferences.canProjectsOverride());
-		disableAllValidation.setSelection(pagePreferences.isDisableAllValidation());
-		validatorsTable.setEnabled(!disableAllValidation.getSelection());
-		enableAllButton.setEnabled(!disableAllValidation.getSelection());
-		disableAllButton.setEnabled(!disableAllValidation.getSelection());
-	}
-
-	protected void updateTable() throws InvocationTargetException {
-		TableItem[] items = validatorsTable.getItems();
-		for (int i = 0; i < items.length; i++) {
-				TableItem item = items[i];
-				ValidatorMetaData vmd = (ValidatorMetaData) item.getData();
-
-				// Should the validator be enabled? Read the user's preferences from last time,
-				// if they exist, and set from that. If they don't exist, use the Validator class'
-				// default value.
-				if (pagePreferences.isManualEnabled(vmd))
-					vmd.setManualValidation(true);
-				else
-					vmd.setManualValidation(false);
-				if (pagePreferences.isBuildEnabled(vmd))
-					vmd.setBuildValidation(true);
-				else
-					vmd.setBuildValidation(false);
-
-			}
-		validatorList.refresh();
-	}
-	
-	protected void updateTableForDefaults() throws InvocationTargetException {
-		TableItem[] items = validatorsTable.getItems();
-		for (int i = 0; i < items.length; i++) {
-			TableItem item = items[i];
-			ValidatorMetaData vmd = (ValidatorMetaData) item.getData();
-
-			// Should the validator be enabled? Read the user's preferences from last time,
-			// if they exist, and set from that. If they don't exist, use the Validator class'
-			// default value.
-			if(pagePreferences.isEnabled(vmd)) {
-				vmd.setManualValidation(true);
-				vmd.setBuildValidation(true);
-			} else {
-				vmd.setManualValidation(false);
-				vmd.setBuildValidation(false);
-			}
-		}
-		validatorList.refresh();
-	}
-	
-	protected void enableManualAndBuildValues() {
-		TableItem[] items = validatorsTable.getItems();
-		for (int i = 0; i < items.length; i++) {
-			TableItem item = items[i];
-			ValidatorMetaData vmd = (ValidatorMetaData) item.getData();
-			vmd.setManualValidation(true);
-			vmd.setBuildValidation(true);
-		}
-		validatorList.refresh();
-	}
-	
-	protected void disableManualAndBuildValues() {
-		TableItem[] items = validatorsTable.getItems();
-		for (int i = 0; i < items.length; i++) {
-			TableItem item = items[i];
-			ValidatorMetaData vmd = (ValidatorMetaData) item.getData();
-			vmd.setManualValidation(false);
-			vmd.setBuildValidation(false);
-		}
-		validatorList.refresh();
-	}
-	
-	public boolean performOk() throws InvocationTargetException {
-		storeValues();
-		updateTaskList();
-		return true;
-	}
-
-	public boolean performDefaults() throws InvocationTargetException {
-		pagePreferences.resetToDefault();
-		updateWidgetsForDefaults();
-		getDefaultsButton().setFocus();
-		return true;
-	}
-
-	public boolean performEnableAll() throws InvocationTargetException {
-		setAllValidators(true);
-		pagePreferences.setEnabledValidators(getEnabledValidators());
-		enableManualAndBuildValues();
-		enableAllButton.setFocus();
-		return true;
-	}
-
-	/**
-	 * 
-	 */
-	private void setAllValidators(boolean bool) {
-		TableItem[] items = validatorsTable.getItems();
-		for (int i = 0; i < items.length; i++) {
-			ValidatorMetaData validatorMetaData = (ValidatorMetaData) items[i].getData();
-			validatorMetaData.setManualValidation(bool);
-			validatorMetaData.setBuildValidation(bool);
-		}
-	}
-	
-	public ValidatorMetaData[] getEnabledValidators() {
-		List enabledValidators = new ArrayList();
-		TableItem[] items = validatorsTable.getItems();
-		for (int i = 0; i < items.length; i++) {
-			ValidatorMetaData validatorMetaData = (ValidatorMetaData) items[i].getData();
-			if(validatorMetaData.isManualValidation() || validatorMetaData.isBuildValidation())
-				enabledValidators.add(validatorMetaData);
-		}
-		return (ValidatorMetaData[])enabledValidators.toArray(new ValidatorMetaData[enabledValidators.size()]);
-	}
-	
-	public ValidatorMetaData[] getEnabledManualValidators() {
-		List enabledValidators = new ArrayList();
-		TableItem[] items = validatorsTable.getItems();
-		for (int i = 0; i < items.length; i++) {
-			ValidatorMetaData validatorMetaData = (ValidatorMetaData) items[i].getData();
-			if(validatorMetaData.isManualValidation())
-				enabledValidators.add(validatorMetaData);
-		}
-		return (ValidatorMetaData[])enabledValidators.toArray(new ValidatorMetaData[enabledValidators.size()]);
-	
-	}
-	
-	public ValidatorMetaData[] getEnabledBuildValidators() {
-		List enabledValidators = new ArrayList();
-		TableItem[] items = validatorsTable.getItems();
-		for (int i = 0; i < items.length; i++) {
-			ValidatorMetaData validatorMetaData = (ValidatorMetaData) items[i].getData();
-			if(validatorMetaData.isBuildValidation())
-				enabledValidators.add(validatorMetaData);
-		}
-		return (ValidatorMetaData[])enabledValidators.toArray(new ValidatorMetaData[enabledValidators.size()]);
-	
-	}
-
-	public boolean performDisableAll() throws InvocationTargetException {
-		setAllValidators(false);
-		pagePreferences.setEnabledValidators(getEnabledValidators());
-		disableManualAndBuildValues();
-		disableAllButton.setFocus();
-		return true;
-	}
-
-	protected void updateHelp() {
-		PlatformUI.getWorkbench().getHelpSystem().setHelp(disableAllValidation, ContextIds.VALIDATION_PREFERENCE_PAGE_DISABLE_ALL_ENABLED);
-	}
-
-	/*
-	 * Store the current values of the controls into the preference store.
-	 */
-	private void storeValues() throws InvocationTargetException {
-		pagePreferences.setCanProjectsOverride(overrideButton.getSelection());
-		
-		if (disableAllValidation.isEnabled()) {
-			pagePreferences.setDisableAllValidation(disableAllValidation.getSelection());
-		}
-		//pagePreferences.setEnabledValidators(getEnabledValidators());
-		
-		pagePreferences.setEnabledManualValidators(getEnabledManualValidators());
-		
-		pagePreferences.setEnabledBuildValidators(getEnabledBuildValidators());
-
-		pagePreferences.passivate();
-		pagePreferences.store();
-		
-		// If the projects aren't allowed to override, clear their settings.
-		if (!pagePreferences.canProjectsOverride()) {
-			IWorkspace workspace = ResourcesPlugin.getWorkspace();
-			IProject[] projects = workspace.getRoot().getProjects();
-			for (int i = 0; i < projects.length; i++) {
-				IProject project = projects[i];
-				try {
-					if (project.isOpen()) {
-						if (ConfigurationManager.getManager().isMigrated(project)) {
-							ProjectConfiguration prjp = ConfigurationManager.getManager().getProjectConfiguration(project);
-							prjp.setDoesProjectOverride(false);
-							prjp.passivate();
-							prjp.store();
-						}
-					}
-				} catch (InvocationTargetException exc) {
-					displayAndLogError(ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_EXC_INTERNAL_TITLE), ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_EXC_INTERNAL_PAGE), exc);
-				}
-			}
-		}
-
-	}
-
-	private void updateTaskList() {
-		IWorkspace workspace = ResourcesPlugin.getWorkspace();
-		IProject[] projects = workspace.getRoot().getProjects();
-		boolean allowChanged = (pagePreferences.canProjectsOverride() != _allow);
-		for (int i = 0; i < projects.length; i++) {
-			IProject project = projects[i];
-			try {
-				if (project.isOpen()) {
-					ProjectConfiguration prjp = ConfigurationManager.getManager().getProjectConfiguration(project);
-					if (!prjp.doesProjectOverride() && (prjp.hasEnabledValidatorsChanged(_oldVmd, allowChanged) || true) && 
-              (prjp.haveDelegatesChanged(_oldDelegates, allowChanged) || true)) {
-						// If the project used to override the preferences, and the preferences
-						// make that impossible now, then update the task list.
-						//
-						// If the preferences allow projects to override, and they don't, and if
-						// the validators have changed, then update the task list.
-						ValidatorManager.getManager().updateTaskList(project); // 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.
-					}
-				}
-			} catch (InvocationTargetException exc) {
-				displayAndLogError(ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_EXC_INTERNAL_TITLE), ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_EXC_INTERNAL_PAGE), exc);
-			}
-		}
-	}
-
-	public Composite getControl() {
-		return page;
-	}
-
-	public void dispose() {
-		listLabel.dispose();
-		overrideButton.dispose();
-		disableAllValidation.dispose();
-		emptyRowPlaceholder.dispose();
-		disableAllButton.dispose();
-		enableAllButton.dispose();
-		validatorList.getTable().dispose();
-		composite.dispose();
-	}
-
-	public void loseFocus() {
-		// This page does not need to cache anything before it loses focus.
-	}
-
-	public void gainFocus() {/*
-		// This page depends on the Workbench Preference page, so update the value of the
-		// isAutoBuild (in case the workbench page's value has changed), and then update
-		// this page's widgets.
-		try {
-			//_isAutoBuildEnabled = ValidatorManager.getManager().isGlobalAutoBuildEnabled();
-			updateWidgets();
-		} catch (InvocationTargetException exc) {
-			displayAndLogError(ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_EXC_INTERNAL_TITLE), ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_EXC_INTERNAL_PAGE), exc);
-		}
-	*/}
-}
-
-/*
- * @see PreferencePage#createContents(Composite)
- */
-protected Control createContents(Composite parent) {
-	try {
-		GlobalConfiguration gp = ConfigurationManager.getManager().getGlobalConfiguration();
-		if (gp.numberOfValidators() == 0) {
-			_pageImpl = new NoValidatorsPage(parent);
-		} else {
-			try {
-				_pageImpl = new ValidatorListPage(parent);
-			} catch (InvocationTargetException exc) {
-				_pageImpl = new InvalidPage(parent);
-				displayAndLogError(ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_EXC_INTERNAL_TITLE), ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_EXC_INTERNAL_PAGE), exc);
-			} catch (Throwable exc) {
-				_pageImpl = new InvalidPage(parent);
-				displayAndLogError(ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_EXC_INTERNAL_TITLE), ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_EXC_INTERNAL_PAGE), exc);
-			}
-		}
-	} catch (InvocationTargetException exc) {
-		_pageImpl = new InvalidPage(parent);
-		displayAndLogError(ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_EXC_INTERNAL_TITLE), ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_EXC_INTERNAL_PAGE), exc);
-	} catch (Throwable exc) {
-		_pageImpl = new InvalidPage(parent);
-		displayAndLogError(ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_EXC_INTERNAL_TITLE), ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_EXC_INTERNAL_PAGE), exc);
-	}
-
-	return _pageImpl.getControl();
-}
-
-/*
- * @see IWorkbenchPreferencePage#init(IWorkbench)
- */
-public void init(IWorkbench workbench) {
-	//init
-}
-
-protected void noDefaultAndApplyButton() {
-	super.noDefaultAndApplyButton();
-}
-
-/**
- * Performs special processing when this page's Defaults button has been pressed.
- * <p>
- * This is a framework hook method for sublcasses to do special things when the Defaults button
- * has been pressed. Subclasses may override, but should call <code>super.performDefaults</code>.
- * </p>
- */
-protected void performDefaults() {
-	super.performDefaults();
-
-	try {
-		_pageImpl.performDefaults();
-	} catch (InvocationTargetException exc) {
-		displayAndLogError(ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_EXC_INTERNAL_TITLE), ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_EXC_INTERNAL_PAGE), exc);
-	} catch (Throwable exc) {
-		displayAndLogError(ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_EXC_INTERNAL_TITLE), ResourceHandler.getExternalizedMessage(ResourceConstants.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 (InvocationTargetException exc) {
-		displayAndLogError(ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_EXC_INTERNAL_TITLE), ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_EXC_INTERNAL_PAGE), exc);
-		return false;
-	} catch (Throwable exc) {
-		displayAndLogError(ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_EXC_INTERNAL_TITLE), ResourceHandler.getExternalizedMessage(ResourceConstants.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();
-		}
-	} catch (Throwable exc) {
-		displayAndLogError(ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_EXC_INTERNAL_TITLE), ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_EXC_INTERNAL_PAGE), exc);
-	}
-}
-
-private void logError(Throwable exc) {
-	Logger logger = WTPUIPlugin.getLogger();
-	if (logger.isLoggingLevel(Level.SEVERE)) {
-		LogEntry entry = ValidationUIPlugin.getLogEntry();
-		entry.setSourceIdentifier("ValidationPreferencePage.displayAndLogError"); //$NON-NLS-1$
-		entry.setMessageTypeIdentifier(ResourceConstants.VBF_EXC_INTERNAL_PAGE);
-		entry.setTargetException(exc);
-		logger.write(Level.SEVERE, entry);
-
-		if (exc instanceof InvocationTargetException) {
-			if (((InvocationTargetException) exc).getTargetException() != null) {
-				entry.setTargetException(((InvocationTargetException) exc).getTargetException());
-				logger.write(Level.SEVERE, entry);
-			}
-		}
-	}
-}
-
-/**
- * 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();
-}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.validation.ui/validateui/org/eclipse/wst/validation/internal/ui/ValidationPropertiesPage.java b/plugins/org.eclipse.wst.validation.ui/validateui/org/eclipse/wst/validation/internal/ui/ValidationPropertiesPage.java
deleted file mode 100644
index 9d05fda..0000000
--- a/plugins/org.eclipse.wst.validation.ui/validateui/org/eclipse/wst/validation/internal/ui/ValidationPropertiesPage.java
+++ /dev/null
@@ -1,1304 +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.ui;
-
-
-import java.lang.reflect.InvocationTargetException;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.logging.Level;
-
-import javax.swing.event.HyperlinkEvent;
-
-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.jem.util.logger.LogEntry;
-import org.eclipse.jem.util.logger.proxy.Logger;
-import org.eclipse.jface.viewers.ColumnWeightData;
-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.TableLayout;
-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.Color;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.graphics.RGB;
-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.PlatformUI;
-import org.eclipse.ui.dialogs.PreferencesUtil;
-import org.eclipse.ui.dialogs.PropertyPage;
-import org.eclipse.ui.forms.events.IHyperlinkListener;
-import org.eclipse.ui.forms.widgets.Hyperlink;
-import org.eclipse.wst.common.frameworks.internal.ui.WTPUIPlugin;
-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.ValidatorMetaData;
-import org.eclipse.wst.validation.internal.operations.ValidatorManager;
-import org.eclipse.wst.validation.internal.plugin.ValidationPlugin;
-import org.eclipse.wst.validation.internal.ui.plugin.ValidationUIPlugin;
-
-/**
- * This class and its inner classes are not intended to be subclassed outside of the validation
- * framework.
- * 
- * This page implements the PropertyPage for validators; viewed when the user right-clicks on the
- * IProject, selects "Properties", and then "Validation."
- * 
- * There exist three possible page layouts: if there is an eclipse internal error, and the page is
- * brought up on a non-IProject type; if there are no validators configured on that type of
- * IProject, and a page which lists all validators configured on that type of IProject. These three
- * pages are implemented as inner classes, so that it's clear which method is needed for which
- * input. When all of the methods, and behaviour, were implemented in this one class, much more
- * error-checking had to be done, to ensure that the method wasn't being called incorrectly by one
- * of the pages.
- */
-public class ValidationPropertiesPage extends PropertyPage {
-	static final String NEWLINE = System.getProperty("line.separator"); //$NON-NLS-1$
-	static final String TAB = "\t"; //$NON-NLS-1$
-	static final String NEWLINE_AND_TAB = NEWLINE + TAB;
-	private IValidationPage _pageImpl = null;
-
-	/**
-	 * Initially, this interface was created as an abstract class, and getControl() was implemented.
-	 * (getProject() could also have been implemented in the abstract class.) However, at runtime, a
-	 * NullPointerException was thrown; the inner class had lost its pointer to its enclosing class.
-	 * After some experimentation, I discovered that if I changed the parent to an interface, the
-	 * enclosing class could be found. (Merely moving the AValidationPage into its own file was
-	 * insufficient.)
-	 */
-	public interface IValidationPage {
-		public abstract Composite createPage(Composite parent) throws InvocationTargetException;
-
-		public abstract boolean performOk() throws InvocationTargetException;
-
-		public boolean performDefaults() throws InvocationTargetException;
-		
-		public Composite getControl();
-
-		public abstract void dispose();
-
-		public abstract boolean performCancel();
-	}
-
-	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) {
-			// 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);
-			PlatformUI.getWorkbench().getHelpSystem().setHelp(composite, ContextIds.VALIDATION_PROPERTIES_PAGE);
-
-			messageLabel = new Label(composite, SWT.NONE);
-			messageLabel.setText(ResourceHandler.getExternalizedMessage(ResourceConstants.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 boolean performCancel() {
-			return true;
-		}
-	}
-
-	public class NoValidatorsPage implements IValidationPage {
-		private Composite page = null;
-
-		private Composite composite = null;
-		private GridLayout layout = null;
-		private GridData data = null;
-		private Label messageLabel = null;
-		
-		public NoValidatorsPage(Composite parent) {
-			page = createPage(parent);
-		}
-
-		/**
-		 * This page is created if an IProject is selected, but that project has no validators
-		 * configured (i.e., the page is valid, but an empty list.)
-		 */
-		public Composite createPage(Composite parent) {
-			// Don't create the default and apply buttons.
-			noDefaultAndApplyButton();
-
-			// top level group
-			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);
-			data = new GridData(GridData.VERTICAL_ALIGN_FILL | GridData.HORIZONTAL_ALIGN_FILL);
-			composite.setLayoutData(data);
-			PlatformUI.getWorkbench().getHelpSystem().setHelp(composite, ContextIds.VALIDATION_PROPERTIES_PAGE);
-
-			messageLabel = new Label(composite, SWT.NONE);
-			String[] msgParm = {getProject().getName()};
-			messageLabel.setText(ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_UI_LBL_NOVALIDATORS_DESC, msgParm));
-			composite.setSize(composite.computeSize(SWT.DEFAULT, SWT.DEFAULT));
-			return composite;
-		}
-
-		public boolean performDefaults() {
-			return true;
-		}
-
-		/**
-		 * Since there are no validators, there is nothing to save.
-		 */
-		public boolean performOk() {
-			return true;
-		}
-
-		public Composite getControl() {
-			return page;
-		}
-
-		public void dispose() {
-			messageLabel.dispose();
-			//			layout.dispose();
-			//			data.dispose();
-			composite.dispose();
-		}
-
-		public boolean performCancel() {
-			return true;
-		}
-	}
-
-	public class ValidatorListPage implements IValidationPage {
-		Composite page = null;
-		GridLayout layout = null;
-		GridData data = null;
-		Label messageLabel = null;
-		TableViewer validatorList = null;
-		Button overrideGlobalButton = null;
-		boolean existingOverrideGlobalVal = false;
-		Button disableAllValidation = null;
-		boolean existingDisableAllValidation = false;
-		private Button enableAllButton = null;
-		private Button disableAllButton = null;
-		Label emptyRowPlaceholder = null;
-		private Table validatorsTable;
-		private Label globalPrefLink = null;
-		ProjectConfiguration pagePreferences = null;
-		private boolean canOverride = false;
-		private Button addValidationBuilder = null;
-		private Color color = null;
-
-		private ValidatorMetaData[] oldVmd = null; // Cache the enabled validators so that, if there
-    private Map oldDelegates = null; // Cache the validator delegates.
-
-		// is no change to this list, the expensive task
-		// list update can be avoided
-
-		/**
-		 * This class is provided for the CheckboxTableViewer in the
-		 * ValidationPropertiesPage$ValidatorListPage class.
-		 */
-		public class ValidationContentProvider implements IStructuredContentProvider {
-			/**
-			 * Disposes of this content provider. This is called by the viewer when it is disposed.
-			 */
-			public void dispose() {
-				//dispose
-			}
-
-			/**
-			 * Returns the elements to display in the viewer when its input is set to the given
-			 * element. These elements can be presented as rows in a table, items in a list, etc.
-			 * The result is not modified by the viewer.
-			 * 
-			 * @param inputElement
-			 *            the input element
-			 * @return the array of elements to display in the viewer
-			 */
-			public java.lang.Object[] getElements(Object inputElement) {
-				if (inputElement instanceof ValidatorMetaData[]) {
-					// The ValidatorMetaData[] is the array which is returned by ValidatorManager's
-					// getConfiguredValidatorMetaData(IProject) call.
-					// This array is set to be the input of the CheckboxTableViewer in
-					// ValidationPropertiesPage$ValidatorListPage's createPage(Composite)
-					// method.
-					return (ValidatorMetaData[]) inputElement;
-				}
-				return new Object[0];
-			}
-
-			/**
-			 * Notifies this content provider that the given viewer's input has been switched to a
-			 * different element.
-			 * <p>
-			 * A typical use for this method is registering the content provider as a listener to
-			 * changes on the new input (using model-specific means), and deregistering the viewer
-			 * from the old input. In response to these change notifications, the content provider
-			 * propagates the changes to the viewer.
-			 * </p>
-			 * 
-			 * @param viewer
-			 *            the viewer
-			 * @param oldInput
-			 *            the old input element, or <code>null</code> if the viewer did not
-			 *            previously have an input
-			 * @param newInput
-			 *            the new input element, or <code>null</code> if the viewer does not have
-			 *            an input
-			 */
-			public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
-				//do nothing
-			}
-
-
-
-		}
-
-		/**
-		 * This class is provided for ValidationPropertiesPage$ValidatorListPage's
-		 * checkboxTableViewer element.
-		 */
-		public class ValidationLabelProvider extends LabelProvider implements ITableLabelProvider {
-			/**
-			 * Override the LabelProvider's text, by customizing the text for a ValidatorMetaData
-			 * element.
-			 */
-			public String getText(Object element) {
-				if (element == null) {
-					return ""; //$NON-NLS-1$
-				} else if (element instanceof ValidatorMetaData) {
-					return ((ValidatorMetaData) element).getValidatorDisplayName();
-				} else {
-					return super.getText(element);
-				}
-			}
-			
-			public String getColumnText(Object element, int columnIndex) {
-				if(columnIndex == 0) {
-					return ((ValidatorMetaData) element).getValidatorDisplayName();
-				}
-				/*if(columnIndex == 1) {
-					if(((ValidatorMetaData)element).isManualValidation())
-						return ENABLED;
-					return DISABLED;	
-				} else if(columnIndex == 2) {
-					if(((ValidatorMetaData)element).isBuildValidation())
-						return ENABLED;
-					return DISABLED;
-				}*/
-				return null;
-			}
-
-      private Image getImage(String imageName) {
-        boolean isDisabled = !validatorsTable.isEnabled();
-        if (isDisabled) {
-            imageName = imageName + "_disabled";  //$NON-NLS-N$
-        }
-        Image image = ValidationUIPlugin.getPlugin().getImage(imageName);
-        return image;
-      }
-      
-
-      public Image getColumnImage(Object element, int columnIndex) {
-				if(columnIndex == 1) {
-					if(((ValidatorMetaData)element).isManualValidation())
-						return  getImage("ok_tbl");
-					return getImage("fail_tbl");
-				} else if(columnIndex == 2) {
-					if(((ValidatorMetaData)element).isBuildValidation())
-						return getImage("ok_tbl");;
-					return getImage("fail_tbl");
-				}
-        else if (columnIndex == 3)
-        {
-          ValidatorMetaData vmd = (ValidatorMetaData)element;
-
-          if (vmd.isDelegating())
-          {
-            return getImage("settings");          
-          }
-        }
-				return null;
-			}
-		}
-
-		/**
-		 * This class is used to sort the CheckboxTableViewer elements.
-		 */
-		public class ValidationViewerSorter extends ViewerSorter {
-			/**
-			 * Returns a negative, zero, or positive number depending on whether the first element
-			 * is less than, equal to, or greater than the second element.
-			 * <p>
-			 * The default implementation of this method is based on comparing the elements'
-			 * categories as computed by the <code>category</code> framework method. Elements
-			 * within the same category are further subjected to a case insensitive compare of their
-			 * label strings, either as computed by the content viewer's label provider, or their
-			 * <code>toString</code> values in other cases. Subclasses may override.
-			 * </p>
-			 * 
-			 * @param viewer
-			 *            the viewer
-			 * @param e1
-			 *            the first element
-			 * @param e2
-			 *            the second element
-			 * @return a negative number if the first element is less than the second element; the
-			 *         value <code>0</code> if the first element is equal to the second element;
-			 *         and a positive number if the first element is greater than the second element
-			 */
-			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 {
-			ConfigurationManager prefMgr = ConfigurationManager.getManager();
-			ValidatorManager vMgr = ValidatorManager.getManager();
-
-			pagePreferences = prefMgr.getProjectConfiguration(getProject()); // This
-			// represents the values on the page that haven't been persisted yet.
-			// Start with the last values that were persisted into the current
-			// page's starting values.
-
-			// store the default values for the widgets
-			canOverride = prefMgr.getGlobalConfiguration().canProjectsOverride();
-			//isAutoBuildEnabled = vMgr.isGlobalAutoBuildEnabled();
-			//isBuilderConfigured = ValidatorManager.doesProjectSupportBuildValidation(getProject());
-			oldVmd = pagePreferences.getEnabledValidators(); // Cache the enabled validators so
-      // that, if there is no change to this
-      // list, the expensive task list update
-      // can be avoided
-
-      oldDelegates =  new HashMap(pagePreferences.getDelegatingValidators());
-
-			createPage(parent);
-			
-			existingOverrideGlobalVal = overrideGlobalButton.getSelection();
-			existingDisableAllValidation = disableAllValidation.getSelection();
-		}
-		
-		private void setupTableColumns(Table table, TableViewer viewer) {
-			TableColumn validatorColumn = new TableColumn(table, SWT.NONE);
-	        validatorColumn.setText("Validator");
-	        validatorColumn.setResizable(false);
-	        validatorColumn.setWidth(240);
-	        TableColumn manualColumn = new TableColumn(table, SWT.NONE);
-	        manualColumn.setText("Manual");
-	        manualColumn.setResizable(false);
-	        manualColumn.setWidth(40);
-	        TableColumn buildColumn = new TableColumn(table, SWT.NONE);
-	        buildColumn.setText("Build");
-	        buildColumn.setResizable(false);
-	        buildColumn.setWidth(30);
-          TableColumn settingsColumn = new TableColumn(table, SWT.NONE);
-          settingsColumn.setText("Settings");
-          settingsColumn.setResizable(false);
-          settingsColumn.setWidth(40);
-	    }
-
-		/**
-		 * This page is created if the current project has at least one validator configured on it.
-		 */
-		public Composite createPage(Composite parent) throws InvocationTargetException {
-			// top level group
-			final ScrolledComposite sc1 = new ScrolledComposite(parent, SWT.H_SCROLL | SWT.V_SCROLL);
-			sc1.setLayoutData(new GridData(GridData.FILL_BOTH));
-			page = new Composite(sc1, SWT.NONE);
-			sc1.setContent(page);
-			page.setLayout(new GridLayout()); // use the layout's default preferences
-			
-			Composite validatorGroup = new Composite(page, SWT.NONE);
-			GridLayout validatorGroupLayout = new GridLayout();
-			validatorGroupLayout.numColumns = 2;
-			validatorGroup.setLayout(validatorGroupLayout);
-			
-			Hyperlink link = new Hyperlink(validatorGroup,SWT.None);
-			GridData layout = new GridData(GridData.HORIZONTAL_ALIGN_END);
-			layout.horizontalSpan = 2;
-			link.setLayoutData(layout);
-			link.setUnderlined(true);
-			color = new Color(validatorGroup.getDisplay(),new RGB(0,0,255) );
-			link.setForeground(color);
-			link.setText(ResourceHandler.getExternalizedMessage(ResourceConstants.CONFIG_WS_SETTINGS));
-			link.addHyperlinkListener(new IHyperlinkListener() {
-				public static final String DATA_NO_LINK = "PropertyAndPreferencePage.nolink"; //$NON-NLS-1$
-
-				public void hyperlinkUpdate(HyperlinkEvent e) {
-				}
-
-				public void linkEntered(org.eclipse.ui.forms.events.HyperlinkEvent e) {
-				}
-
-				public void linkExited(org.eclipse.ui.forms.events.HyperlinkEvent e) {
-				}
-
-				public void linkActivated(org.eclipse.ui.forms.events.HyperlinkEvent 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";
-				}
-			});
-			
-			GridData overrideData = new GridData(GridData.GRAB_HORIZONTAL);
-			overrideData.horizontalSpan = 2;
-			overrideGlobalButton = new Button(validatorGroup, SWT.CHECK);
-			overrideGlobalButton.setLayoutData(overrideData);
-			overrideGlobalButton.setText(ResourceHandler.getExternalizedMessage(ResourceConstants.PROP_BUTTON_OVERRIDE, new String[]{getProject().getName()}));
-			overrideGlobalButton.setFocus(); // must focus on something for F1 to have a topic to lanuch
-			overrideGlobalButton.addSelectionListener(new SelectionAdapter() {
-				public void widgetSelected(SelectionEvent e) {
-					pagePreferences.setDoesProjectOverride(overrideGlobalButton.getSelection());
-					try {
-						updateWidgets();
-					} catch (InvocationTargetException exc) {
-						displayAndLogError(ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_EXC_INTERNAL_TITLE), ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_EXC_INTERNAL_PAGE), exc);
-					}
-				}
-			});
-			
-			emptyRowPlaceholder = new Label(validatorGroup, SWT.NONE);
-			emptyRowPlaceholder.setLayoutData(new GridData());
-			
-			GridData data = new GridData(GridData.FILL_HORIZONTAL);
-			data.horizontalSpan = 2;
-			disableAllValidation = new Button(validatorGroup, SWT.CHECK);
-			disableAllValidation.setLayoutData(data);
-			disableAllValidation.setText(ResourceHandler.getExternalizedMessage(ResourceConstants.DISABLE_VALIDATION));
-			disableAllValidation.addSelectionListener(new SelectionAdapter() {
-				public void widgetSelected(SelectionEvent e) {
-					pagePreferences.setDisableAllValidation(disableAllValidation.getSelection());
-					disableAllValidation.setFocus();
-					validatorsTable.setEnabled(!disableAllValidation.getSelection());
-					enableAllButton.setEnabled(!disableAllValidation.getSelection());
-					disableAllButton.setEnabled(!disableAllValidation.getSelection());
-	          try {
-	            updateWidgets();
-	          } catch (InvocationTargetException exc) {
-	            displayAndLogError(ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_EXC_INTERNAL_TITLE), ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_EXC_INTERNAL_PAGE), exc);
-	          }
-				}
-			});
-			
-			emptyRowPlaceholder = new Label(validatorGroup, SWT.NONE);
-			emptyRowPlaceholder.setLayoutData(new GridData());
-
-
-
-			GridData listLabelData = new GridData(GridData.FILL_HORIZONTAL);
-			listLabelData.horizontalSpan = 2;
-			messageLabel = new Label(validatorGroup, SWT.NONE);
-			messageLabel.setText(ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_UI_LBL_DESC, new String[]{getProject().getName()}));
-			messageLabel.setLayoutData(listLabelData);
-
-			validatorsTable = new Table(validatorGroup,SWT.BORDER | SWT.FULL_SELECTION);
-			TableLayout tableLayout = new TableLayout();
-			tableLayout.addColumnData(new ColumnWeightData(160, true));
-			tableLayout.addColumnData(new ColumnWeightData(40, true));
-			tableLayout.addColumnData(new ColumnWeightData(30, true));
-			tableLayout.addColumnData(new ColumnWeightData(40, true));
-			validatorsTable.setHeaderVisible(true);
-			validatorsTable.setLinesVisible(true);
-	        validatorsTable.setLayout(tableLayout);
-			
-			validatorList = new TableViewer(validatorsTable);
-	        GridData validatorListData = new GridData(GridData.FILL_HORIZONTAL);
-			validatorListData.horizontalSpan = 2;
-			validatorsTable.setLayoutData(validatorListData);
-			validatorList.getTable().setLayoutData(validatorListData);
-			validatorList.setLabelProvider(new ValidationLabelProvider());
-			validatorList.setContentProvider(new ValidationContentProvider());
-			validatorList.setSorter(new ValidationViewerSorter());
-	    setupTableColumns(validatorsTable,validatorList);
-      validatorsTable.addMouseListener(new MouseAdapter() {
-
-        public void mouseDown(MouseEvent e)
-        {
-          if (e.button != 1) {
-            return;
-          }
-
-          // Handles mouse clicks in the table.
-          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);
-          }
-        }});			
-      
-			validatorList.setInput(pagePreferences.getValidators());
-			
-			enableAllButton = new Button(validatorGroup, SWT.PUSH);
-			GridData selectData = new GridData();
-			enableAllButton.setLayoutData(selectData);
-			enableAllButton.setText(ResourceHandler.getExternalizedMessage(ResourceConstants.PREF_BUTTON_ENABLEALL));
-			enableAllButton.addSelectionListener(new SelectionAdapter() {
-				public void widgetSelected(SelectionEvent e) {
-					try {
-						performEnableAll();
-					} catch (InvocationTargetException exc) {
-						displayAndLogError(ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_EXC_INTERNAL_TITLE), ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_EXC_INTERNAL_PAGE), exc);
-					}
-				}
-			});
-			PlatformUI.getWorkbench().getHelpSystem().setHelp(enableAllButton, ContextIds.VALIDATION_PROPERTIES_PAGE);
-
-			GridData deselectData = new GridData();
-			disableAllButton = new Button(validatorGroup, SWT.PUSH);
-			disableAllButton.setLayoutData(deselectData);
-			disableAllButton.setText(ResourceHandler.getExternalizedMessage(ResourceConstants.PREF_BUTTON_DISABLEALL));
-			disableAllButton.addSelectionListener(new SelectionAdapter() {
-				public void widgetSelected(SelectionEvent e) {
-					try {
-						performDisableAll();
-					} catch (InvocationTargetException exc) {
-						displayAndLogError(ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_EXC_INTERNAL_TITLE), ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_EXC_INTERNAL_PAGE), exc);
-					}
-				}
-			});
-			PlatformUI.getWorkbench().getHelpSystem().setHelp(disableAllButton, ContextIds.VALIDATION_PROPERTIES_PAGE);
-
-			emptyRowPlaceholder = new Label(validatorGroup, SWT.NONE);
-			emptyRowPlaceholder.setLayoutData(new GridData());
-			
-			GridData disableValidationData = new GridData(GridData.FILL_HORIZONTAL);
-			disableValidationData.horizontalSpan = 2;
-			addValidationBuilder = new Button(validatorGroup, SWT.CHECK);
-			addValidationBuilder.setLayoutData(disableValidationData);
-			addValidationBuilder.setText(ResourceHandler.getExternalizedMessage(ResourceConstants.ADD_VALIDATION_BUILDER));
-
-			// Have to set the tab order or only the first checkbox in a Composite can
-			// be tab-ed to. (Seems to apply only to checkboxes. Have to use the arrow
-			// key to navigate the checkboxes.)
-			validatorGroup.setTabList(new Control[]{overrideGlobalButton,disableAllValidation, validatorList.getTable(), enableAllButton, disableAllButton});
-
-			updateWidgets();
-
-			page.setSize(page.computeSize(SWT.DEFAULT, SWT.DEFAULT));
-
-			return page;
-		}
-
-		protected void updateTable() throws InvocationTargetException {
-			TableItem[] items = validatorsTable.getItems();
-			for (int i = 0; i < items.length; i++) {
-				TableItem item = items[i];
-				ValidatorMetaData vmd = (ValidatorMetaData) item.getData();
-
-				// Should the validator be enabled? Read the user's preferences from last time,
-				// if they exist, and set from that. If they don't exist, use the Validator class'
-				if (pagePreferences.isManualEnabled(vmd))
-					vmd.setManualValidation(true);
-				else
-					vmd.setManualValidation(false);
-				
-				if (pagePreferences.isBuildEnabled(vmd))
-					vmd.setBuildValidation(true);
-				else
-					vmd.setBuildValidation(false);
-			}
-			validatorList.refresh();
-		}
-		
-		protected void enableManualAndBuildValues() {
-			TableItem[] items = validatorsTable.getItems();
-			for (int i = 0; i < items.length; i++) {
-				TableItem item = items[i];
-				ValidatorMetaData vmd = (ValidatorMetaData) item.getData();
-				vmd.setManualValidation(true);
-				vmd.setBuildValidation(true);
-			}
-			validatorList.refresh();
-		}
-		
-		protected void disableManualAndBuildValues() {
-			TableItem[] items = validatorsTable.getItems();
-			for (int i = 0; i < items.length; i++) {
-				TableItem item = items[i];
-				ValidatorMetaData vmd = (ValidatorMetaData) item.getData();
-				vmd.setManualValidation(false);
-				vmd.setBuildValidation(false);
-			}
-			validatorList.refresh();
-		}
-
-		public boolean performDefaults() throws InvocationTargetException {
-			pagePreferences.resetToDefault();
-			updateWidgets();
-			getDefaultsButton().setFocus();
-			return true;
-		}
-
-		public boolean performEnableAll() throws InvocationTargetException {
-			setAllValidators(true);
-			pagePreferences.setEnabledValidators(getEnabledValidators());
-			enableManualAndBuildValues();
-			enableAllButton.setFocus();
-			return true;
-		}
-
-		public boolean performDisableAll() throws InvocationTargetException {
-			setAllValidators(false);
-			pagePreferences.setEnabledValidators(getEnabledValidators());
-			disableManualAndBuildValues();
-			disableAllButton.setFocus();
-			return true;
-		}
-		
-		public ValidatorMetaData[] getEnabledValidators() {
-			List enabledValidators = new ArrayList();
-			TableItem[] items = validatorsTable.getItems();
-			for (int i = 0; i < items.length; i++) {
-				ValidatorMetaData validatorMetaData = (ValidatorMetaData) items[i].getData();
-				if(validatorMetaData.isManualValidation() || validatorMetaData.isBuildValidation())
-					enabledValidators.add(validatorMetaData);
-			}
-			return (ValidatorMetaData[])enabledValidators.toArray(new ValidatorMetaData[enabledValidators.size()]);
-		}
-		
-		public ValidatorMetaData[] getManualEnabledValidators() {
-			List enabledValidators = new ArrayList();
-			TableItem[] items = validatorsTable.getItems();
-			for (int i = 0; i < items.length; i++) {
-				ValidatorMetaData validatorMetaData = (ValidatorMetaData) items[i].getData();
-				if(validatorMetaData.isManualValidation())
-					enabledValidators.add(validatorMetaData);
-			}
-			return (ValidatorMetaData[])enabledValidators.toArray(new ValidatorMetaData[enabledValidators.size()]);
-		}
-		
-		public ValidatorMetaData[] getBuildEnabledValidators() {
-			List enabledValidators = new ArrayList();
-			TableItem[] items = validatorsTable.getItems();
-			for (int i = 0; i < items.length; i++) {
-				ValidatorMetaData validatorMetaData = (ValidatorMetaData) items[i].getData();
-				if(validatorMetaData.isBuildValidation())
-					enabledValidators.add(validatorMetaData);
-			}
-			return (ValidatorMetaData[])enabledValidators.toArray(new ValidatorMetaData[enabledValidators.size()]);
-		}
-
-		
-		/**
-		 * 
-		 */
-		private void setAllValidators(boolean bool) {
-			TableItem[] items = validatorsTable.getItems();
-			for (int i = 0; i < items.length; i++) {
-				ValidatorMetaData validatorMetaData = (ValidatorMetaData) items[i].getData();
-				validatorMetaData.setManualValidation(bool);
-				validatorMetaData.setBuildValidation(bool);
-			}
-		}
-
-    protected Menu createContextMenu()
-    {
-      final Menu menu = new Menu(validatorsTable.getShell(), SWT.POP_UP);
-      final MenuItem manualItem = new MenuItem (menu, SWT.CHECK);
-      manualItem.setText(ResourceHandler.getExternalizedMessage(ResourceConstants.PREF_MNU_MANUAL));
-      final MenuItem buildItem = new MenuItem (menu, SWT.CHECK);
-      buildItem.setText(ResourceHandler.getExternalizedMessage(ResourceConstants.PREF_MNU_BUILD));
-      final MenuItem settingsItem = new MenuItem (menu, SWT.PUSH);
-      settingsItem.setText(ResourceHandler.getExternalizedMessage(ResourceConstants.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();
-          ValidatorMetaData vmd = (ValidatorMetaData) selection.getFirstElement();
-          manualItem.setSelection(vmd.isManualValidation());
-          buildItem.setSelection(vmd.isBuildValidation());
-          settingsItem.setEnabled(vmd.isDelegating());
-        }});
-      
-      return menu;
-    }
-    
-    protected void columnClicked(int columnToEdit)
-    {
-      IStructuredSelection selection = (IStructuredSelection) validatorList.getSelection();
-      ValidatorMetaData vmd = (ValidatorMetaData) selection.getFirstElement();
-      
-      switch (columnToEdit)
-      {
-      case 1:
-        vmd.setManualValidation(!vmd.isManualValidation());
-        break;
-      case 2:
-        vmd.setBuildValidation(!vmd.isBuildValidation());
-        break;
-      case 3:
-      {
-        if (!vmd.isDelegating()) {
-          break;
-        }
-        
-        String delegateID = pagePreferences.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)
-        {
-          pagePreferences.setDelegateUniqueName(vmd, dialog.getDelegateID());
-        }
-      }
-      default:
-        break;
-      }
-      validatorList.refresh();      
-    }
-    
-		void updateWidgets() throws InvocationTargetException {
-			// Since the setting of the "override" button enables/disables the other widgets on the
-			// page, update the enabled state of the other widgets from the "override" button.
-			updateTable();
-			updateAllWidgets();
-			
-		}
-		
-		protected void updateWidgetsForDefaults() throws InvocationTargetException {
-			updateTableForDefaults();
-			updateAllWidgets();
-		}
-		
-		private void updateAllWidgets() throws InvocationTargetException {
-			// Since the setting of the "override" button enables/disables the other widgets on the
-			// page, update the enabled state of the other widgets from the "override" button.
-			ConfigurationManager prefMgr = ConfigurationManager.getManager();
-			canOverride = prefMgr.getGlobalConfiguration().canProjectsOverride();
-			boolean overridePreferences = canOverride && pagePreferences.doesProjectOverride();
-			overrideGlobalButton.setEnabled(canOverride);
-			overrideGlobalButton.setSelection(overridePreferences);
-			disableAllValidation.setEnabled(overridePreferences);
-			disableAllValidation.setSelection(pagePreferences.isDisableAllValidation());
-			if (overridePreferences)
-				enableDependentControls(!pagePreferences.isDisableAllValidation());
-			else
-				enableDependentControls(overridePreferences);
-			setAddValidationBuilderButtonEnablement();
-			updateHelp();
-		}
-
-		private void setAddValidationBuilderButtonEnablement() {
-			try {
-				boolean builderExists = false;
-				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) | isValidationBuilderEnabled(commands[i]))
-						builderExists = true;
-				}
-				if (builderExists) {
-					addValidationBuilder.setVisible(false);
-				} else {
-					addValidationBuilder.setVisible(true);
-					addValidationBuilder.setSelection(false);
-					addValidationBuilder.setEnabled(true);
-				}
-
-			} catch (CoreException ce) {
-				Logger.getLogger().log(ce);
-			}
-		}
-		
-		private  boolean isValidationBuilderEnabled(ICommand command) {
-			Map args = command.getArguments();
-			if(args.isEmpty())
-				return false;
-			String handle = (String)args.get("LaunchConfigHandle");
-			if(handle != null && handle.length() > 0 && handle.indexOf(ValidationPlugin.VALIDATION_BUILDER_ID) != -1)
-				return true;
-			return false;
-		}
-
-		private void updateTableForDefaults() throws InvocationTargetException {
-			TableItem[] items = validatorsTable.getItems();
-			for (int i = 0; i < items.length; i++) {
-				TableItem item = items[i];
-				ValidatorMetaData vmd = (ValidatorMetaData) item.getData();
-
-				// Should the validator be enabled? Read the user's preferences from last time,
-				// if they exist, and set from that. If they don't exist, use the Validator class'
-				if(pagePreferences.isEnabled(vmd)) {
-					vmd.setManualValidation(true);
-					vmd.setBuildValidation(true);
-				} else {
-					vmd.setManualValidation(false);
-					vmd.setBuildValidation(false);
-				}
-			}
-			validatorList.refresh();
-		}
-
-		/**
-		 * @param overridePreferences
-		 */
-		private void enableDependentControls(boolean overridePreferences) {
-			validatorsTable.setEnabled(overridePreferences);
-      validatorList.refresh();
-			enableAllButton.setEnabled(overridePreferences); // since help messsage isn't
-			disableAllButton.setEnabled(overridePreferences);
-      
-		}
-
-		protected void updateHelp() throws InvocationTargetException {
-			// Whenever a widget is disabled, it cannot get focus.
-			// Since it can't have focus, its context-sensitive F1 help can't come up.
-			// From experimentation, I know that the composite parent of the widget
-			// can't have focus either. So, fudge the focus by making the table the widget
-			// surrogate so that the F1 help can be shown, with its instructions on how to
-			// enable the disabled widget. The table never has F1 help associated with it other
-			// than the page F1, so this fudge doesn't remove any context-sensitive help
-			// from the table widget.
-
-			/*if (autoButton.getEnabled()) {
-				// set the table's help back to what it was
-				PlatformUI.getWorkbench().getHelpSystem().setHelp(validatorList.getTable(), ContextIds.VALIDATION_PROPERTIES_PAGE);
-				PlatformUI.getWorkbench().getHelpSystem().setHelp(autoButton, ContextIds.VALIDATION_PROPERTIES_PAGE_AUTO_ENABLED);
-			} else {
-				// The order of the following if statement is important!
-				// If the user cannot enable automatic validation on the project, then the user
-				// should not be told, for example, to turn auto-build on. Let the user know that
-				// no matter what they do they cannot run auto-validate on the project. IF the
-				// project
-				// supports auto-validate, THEN check for the items which the user can change.
-				validatorList.getTable().setFocus();
-				if (pagePreferences.numberOfIncrementalValidators() == 0) {
-					PlatformUI.getWorkbench().getHelpSystem().setHelp(validatorList.getTable(), ContextIds.VALIDATION_PROPERTIES_PAGE_DISABLED_AUTO_NOINCVALCONFIG);
-				} else if (!ValidatorManager.getManager().isGlobalAutoBuildEnabled()) {
-					PlatformUI.getWorkbench().getHelpSystem().setHelp(validatorList.getTable(), ContextIds.VALIDATION_PROPERTIES_PAGE_DISABLED_AUTO_AUTOBUILD);
-				} else {
-					// Incremental validators configured but not selected
-					PlatformUI.getWorkbench().getHelpSystem().setHelp(validatorList.getTable(), ContextIds.VALIDATION_PROPERTIES_PAGE_DISABLED_AUTO_NOINCVALSELECTED);
-				}
-			}
-
-			// if autoButton AND build button are disabled, show the build button's "to enable" text
-			if (valWhenBuildButton.getEnabled()) {
-				// Do NOT set the table's help back to what it was.
-				// Only if auto-validate is enabled should the page go back.
-				PlatformUI.getWorkbench().getHelpSystem().setHelp(valWhenBuildButton, ContextIds.VALIDATION_PROPERTIES_PAGE_REBUILD_ENABLED);
-			} else {
-				//				page.getParent().setFocus();
-				validatorList.getTable().setFocus();
-				PlatformUI.getWorkbench().getHelpSystem().setHelp(validatorList.getTable(), ContextIds.VALIDATION_PROPERTIES_PAGE_DISABLED_BUILD_NOVALSELECTED);
-			}
-*/
-			// if the override button is disabled, show its "to enable" text.
-			if (overrideGlobalButton.getEnabled()) {
-				// Do NOT set the table's help back to what it was.
-				// Only if auto-validate is enabled should the page go back.
-				boolean doesProjectSupportBuildValidation = ValidatorManager.doesProjectSupportBuildValidation(getProject());
-				GlobalConfiguration gp = ConfigurationManager.getManager().getGlobalConfiguration();
-				//boolean isPrefAuto = gp.isAutoValidate();
-				//boolean isPrefManual = gp.isBuildValidate();
-				if (doesProjectSupportBuildValidation) {
-					// Project supports build validation, so it doesn't matter what the preferences
-					// are
-					PlatformUI.getWorkbench().getHelpSystem().setHelp(overrideGlobalButton, ContextIds.VALIDATION_PROPERTIES_PAGE_OVERRIDE_ENABLED);
-				} /*else if (!doesProjectSupportBuildValidation && (isPrefAuto && isPrefManual)) {
-					// Project doesn't support build validation, and the user prefers both auto and
-					// manual build validation
-					PlatformUI.getWorkbench().getHelpSystem().setHelp(overrideGlobalButton, ContextIds.VALIDATION_PROPERTIES_PAGE_OVERRIDE_ENABLED_CANNOT_HONOUR_BOTH);
-				} else if (!doesProjectSupportBuildValidation && isPrefAuto) {
-					// Project doesn't support build validation, and the user prefers auto build
-					// validation
-					PlatformUI.getWorkbench().getHelpSystem().setHelp(overrideGlobalButton, ContextIds.VALIDATION_PROPERTIES_PAGE_OVERRIDE_ENABLED_CANNOT_HONOUR_AUTO);
-				} else if (!doesProjectSupportBuildValidation && isPrefManual) {
-					// Project doesn't support build validation, and the user prefers manual build
-					// validation
-					PlatformUI.getWorkbench().getHelpSystem().setHelp(overrideGlobalButton, ContextIds.VALIDATION_PROPERTIES_PAGE_OVERRIDE_ENABLED_CANNOT_HONOUR_MANUAL);
-				} else if (!doesProjectSupportBuildValidation && !isPrefAuto && !isPrefManual) {
-					// Project doesn't support build validation, but that doesn't matter because the
-					// user prefers no build validation.
-					PlatformUI.getWorkbench().getHelpSystem().setHelp(overrideGlobalButton, ContextIds.VALIDATION_PROPERTIES_PAGE_OVERRIDE_ENABLED);
-				}*/
-			} else {
-				validatorList.getTable().setFocus();
-				// Preference page doesn't allow projects to override
-				PlatformUI.getWorkbench().getHelpSystem().setHelp(validatorList.getTable(), ContextIds.VALIDATION_PROPERTIES_PAGE_DISABLED_OVERRIDE);
-			}
-		}
-
-		/*
-		 * Store the current values of the controls into the preference store.
-		 */
-		private void storeValues() throws InvocationTargetException {
-			pagePreferences.setDoesProjectOverride(overrideGlobalButton.getSelection());
-
-			if (pagePreferences.doesProjectOverride()) {
-				pagePreferences.setEnabledManualValidators(getManualEnabledValidators());
-				pagePreferences.setEnabledBuildValidators(getBuildEnabledValidators());
-			} else {
-				pagePreferences.resetToDefault(); // If the project can't or doesn't override,
-				// update its values to match the global
-				// preference values.
-			}
-			pagePreferences.store();
-		}
-
-		/**
-		 * Reads the list of validators, enables the validators which are selected, disables the
-		 * validators which are not selected, and if the auto-validate checkbox is chosen, performs
-		 * a full validation.
-		 */
-		public boolean performOk() throws InvocationTargetException {
-			// addBuilder MUST be called before storeValues
-			// addBuilder adds a builder to the project, and that changes the project description.
-			// Changing a project's description triggers the validation framework's "natureChange"
-			// migration, and a nature change requires that the list of validators be recalculated.
-			// If the builder is added after the values are stored, the stored values are
-			// overwritten.
-			addBuilder();
-
-			// If this method is being called because an APPLY was hit instead of an OK,
-			// recalculate the "can build be enabled" status because the builder may have
-			// been added in the addBuilder() call above.
-			// Also recalculate the values that depend on the isBuilderConfigured value.
-			//isBuilderConfigured = ValidatorManager.doesProjectSupportBuildValidation(getProject());
-
-			// Persist the values.
-			storeValues();
-
-			if (pagePreferences.hasEnabledValidatorsChanged(oldVmd, false) ||
-          pagePreferences.haveDelegatesChanged(oldDelegates, false)) { 
-				// false means that the preference "allow" value hasn't changed
-				ValidatorManager.getManager().updateTaskList(getProject()); 
-			}
-
-			return true;
-		}
-
-		/**
-		 * If the current project doesn't have the validation builder configured on it, add the
-		 * builder. Otherwise return without doing anything.
-		 */
-		private void addBuilder() {
-			if (addValidationBuilder.isEnabled() && addValidationBuilder.getSelection())
-				ValidatorManager.addProjectBuildValidationSupport(getProject());
-		}
-
-		public Composite getControl() {
-			return page;
-		}
-
-		public void dispose() {
-			enableAllButton.dispose();
-			disableAllButton.dispose();
-			validatorList.getTable().dispose();
-			messageLabel.dispose();
-			//			layout.dispose();
-			//			data.dispose();
-			emptyRowPlaceholder.dispose();
-			overrideGlobalButton.dispose();
-			page.dispose();
-			color.dispose();
-		}
-
-		public boolean performCancel() {
-			pagePreferences.setDoesProjectOverride(existingOverrideGlobalVal);
-			pagePreferences.setDisableAllValidation(existingDisableAllValidation);
-			return true;
-		}
-	}
-
-	/**
-	 * ValidationPreferencePage constructor comment.
-	 */
-	public ValidationPropertiesPage() {
-		// Some of the initialization is done in the "initialize" method, which is
-		// called by the "getPageType" method, because the current project must
-		// be known in order to initialize those fields.
-	}
-
-	/**
-	 * Given a parent (the Properties guide), create the Validators page to be added to it.
-	 */
-	protected Control createContents(Composite parent) {
-		IProject project = getProject();
-
-		if ((project == null) || !project.isOpen()) {
-			_pageImpl = new InvalidPage(parent);
-		} else {
-			try {
-				if (ConfigurationManager.getManager().getProjectConfiguration(project).numberOfValidators() == 0) {
-					_pageImpl = new NoValidatorsPage(parent);
-				} else {
-					_pageImpl = new ValidatorListPage(parent);
-				}
-			} catch (InvocationTargetException exc) {
-				_pageImpl = new InvalidPage(parent);
-				displayAndLogError(ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_EXC_INTERNAL_TITLE), ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_EXC_INTERNAL_PAGE), exc);
-			} catch (Throwable exc) {
-				_pageImpl = new InvalidPage(parent);
-				displayAndLogError(ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_EXC_INTERNAL_TITLE), ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_EXC_INTERNAL_PAGE), exc);
-			}
-		}
-
-		return _pageImpl.getControl();
-	}
-
-	/**
-	 * 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 {
-			_pageImpl.dispose();
-		} catch (Throwable exc) {
-			logError(exc);
-		}
-	}
-
-	/**
-	 * Returns the highlighted item in the workbench.
-	 */
-	public IProject getProject() {
-		Object element = getElement();
-
-		if (element == null) {
-			return null;
-		}
-
-		if (element instanceof IProject) {
-			return (IProject) element;
-		}
-
-		return null;
-	}
-
-	protected void noDefaultAndApplyButton() {
-		super.noDefaultAndApplyButton();
-	}
-
-	/**
-	 * Performs special processing when this page's Defaults button has been pressed.
-	 * <p>
-	 * This is a framework hook method for sublcasses to do special things when the Defaults button
-	 * has been pressed. Subclasses may override, but should call <code>super.performDefaults</code>.
-	 * </p>
-	 */
-	protected void performDefaults() {
-		super.performDefaults();
-		try {
-			_pageImpl.performDefaults();
-		} catch (InvocationTargetException exc) {
-			displayAndLogError(ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_EXC_INTERNAL_TITLE), ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_EXC_INTERNAL_PAGE), exc);
-		} catch (Throwable exc) {
-			displayAndLogError(ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_EXC_INTERNAL_TITLE), ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_EXC_INTERNAL_PAGE), exc);
-		}
-	}
-	
-	public boolean performCancel() {
-		_pageImpl.performCancel();
-		return true;
-	}
-
-	/**
-	 * 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 (InvocationTargetException exc) {
-			displayAndLogError(ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_EXC_INTERNAL_TITLE), ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_EXC_INTERNAL_PAGE), exc);
-			return false;
-		} catch (Throwable exc) {
-			displayAndLogError(ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_EXC_INTERNAL_TITLE), ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_EXC_INTERNAL_PAGE), exc);
-			return false;
-		}
-	}
-
-	void logError(Throwable exc) {
-		Logger logger = WTPUIPlugin.getLogger();
-		if (logger.isLoggingLevel(Level.SEVERE)) {
-			LogEntry entry = ValidationUIPlugin.getLogEntry();
-			entry.setSourceIdentifier("ValidationPropertiesPage.displayAndLogError"); //$NON-NLS-1$
-			entry.setMessageTypeIdentifier(ResourceConstants.VBF_EXC_INTERNAL_PAGE);
-			entry.setTargetException(exc);
-			logger.write(Level.SEVERE, entry);
-
-			if (exc instanceof InvocationTargetException) {
-				if (((InvocationTargetException) exc).getTargetException() != null) {
-					entry.setTargetException(((InvocationTargetException) exc).getTargetException());
-					logger.write(Level.SEVERE, entry);
-				}
-			}
-		}
-	}
-
-	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.preference.PreferencePage#getDefaultsButton()
-	 */
-	protected Button getDefaultsButton() {
-		return super.getDefaultsButton();
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.validation.ui/validateui/org/eclipse/wst/validation/internal/ui/ValidationUIConstants.java b/plugins/org.eclipse.wst.validation.ui/validateui/org/eclipse/wst/validation/internal/ui/ValidationUIConstants.java
deleted file mode 100644
index b06484b..0000000
--- a/plugins/org.eclipse.wst.validation.ui/validateui/org/eclipse/wst/validation/internal/ui/ValidationUIConstants.java
+++ /dev/null
@@ -1,19 +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.ui;
-
-
-/**
- * @deprecated For use by the validation framework only.
- */
-public interface ValidationUIConstants extends org.eclipse.wst.validation.internal.ui.ResourceConstants {
-	//Default
-}
\ No newline at end of file
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 a8001d5..0000000
--- a/plugins/org.eclipse.wst.validation.ui/validateui/org/eclipse/wst/validation/internal/ui/ValidationUIMessages.java
+++ /dev/null
@@ -1,36 +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 Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-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;
-
-	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 cf32408..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, 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.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;
-	}
-}
\ No newline at end of file
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 2674b33..0000000
--- a/plugins/org.eclipse.wst.validation.ui/validateui/org/eclipse/wst/validation/internal/ui/plugin/ValidationUIPlugin.java
+++ /dev/null
@@ -1,162 +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.ui.plugin;
-
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.logging.Level;
-
-import org.eclipse.core.resources.IWorkspaceRunnable;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jem.util.logger.LogEntry;
-import org.eclipse.jem.util.logger.proxy.Logger;
-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.eclipse.wst.validation.internal.plugin.ValidationPlugin;
-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"};
-
-	public ValidationUIPlugin() {
-		super();
-		if (_plugin == null) {
-			_plugin = this;
-		}
-	}
-
-	public static String getBundleName() {
-		return VALIDATION_PROP_FILE_NAME;
-	}
-
-	public static LogEntry getLogEntry() {
-		return ValidationPlugin.getLogEntry();
-	}
-
-
-	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) {
-			e.printStackTrace();
-			Logger logger = WTPUIPlugin.getLogger();
-			if (logger.isLoggingLevel(Level.FINE)) {
-				LogEntry entry = getLogEntry();
-				entry.setSourceID("ValidationUIPlugin.getResourceString(String)"); //$NON-NLS-1$
-				entry.setText("Missing resource for key" + key); //$NON-NLS-1$
-				logger.write(Level.FINE, entry);
-			}
-
-			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;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.validation.ui/validateui/org/eclipse/wst/validation/internal/ui/validationui.properties b/plugins/org.eclipse.wst.validation.ui/validateui/org/eclipse/wst/validation/internal/ui/validationui.properties
deleted file mode 100644
index d9a8c24..0000000
--- a/plugins/org.eclipse.wst.validation.ui/validateui/org/eclipse/wst/validation/internal/ui/validationui.properties
+++ /dev/null
@@ -1,19 +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
-###############################################################################
-
-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