This commit was manufactured by cvs2svn to create tag 'v20050328'.
diff --git a/features/org.eclipse.jem.tests-feature/.cvsignore b/features/org.eclipse.jem.tests-feature/.cvsignore
deleted file mode 100644
index c14487c..0000000
--- a/features/org.eclipse.jem.tests-feature/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-build.xml
diff --git a/features/org.eclipse.jem.tests-feature/.project b/features/org.eclipse.jem.tests-feature/.project
deleted file mode 100644
index c4699c4..0000000
--- a/features/org.eclipse.jem.tests-feature/.project
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.jem.tests-feature</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.pde.FeatureBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.FeatureNature</nature>
-	</natures>
-</projectDescription>
diff --git a/features/org.eclipse.jem.tests-feature/build.properties b/features/org.eclipse.jem.tests-feature/build.properties
deleted file mode 100644
index 1c5e2ec..0000000
--- a/features/org.eclipse.jem.tests-feature/build.properties
+++ /dev/null
@@ -1,6 +0,0 @@
-bin.includes = feature.xml,\
-               feature.properties,\
-               epl-v10.html,\
-               eclipse_update_120.jpg,\
-               license.html
-generate.plugin@org.eclipse.jem.tests.source=org.eclipse.jem.tests
\ No newline at end of file
diff --git a/features/org.eclipse.jem.tests-feature/eclipse_update_120.jpg b/features/org.eclipse.jem.tests-feature/eclipse_update_120.jpg
deleted file mode 100644
index 68e3e02..0000000
--- a/features/org.eclipse.jem.tests-feature/eclipse_update_120.jpg
+++ /dev/null
Binary files differ
diff --git a/features/org.eclipse.jem.tests-feature/epl-v10.html b/features/org.eclipse.jem.tests-feature/epl-v10.html
deleted file mode 100644
index ed4b196..0000000
--- a/features/org.eclipse.jem.tests-feature/epl-v10.html
+++ /dev/null
@@ -1,328 +0,0 @@
-<html xmlns:o="urn:schemas-microsoft-com:office:office"
-xmlns:w="urn:schemas-microsoft-com:office:word"
-xmlns="http://www.w3.org/TR/REC-html40">
-
-<head>
-<meta http-equiv=Content-Type content="text/html; charset=windows-1252">
-<meta name=ProgId content=Word.Document>
-<meta name=Generator content="Microsoft Word 9">
-<meta name=Originator content="Microsoft Word 9">
-<link rel=File-List
-href="./Eclipse%20EPL%202003_11_10%20Final_files/filelist.xml">
-<title>Eclipse Public License - Version 1.0</title>
-<!--[if gte mso 9]><xml>
- <o:DocumentProperties>
-  <o:Revision>2</o:Revision>
-  <o:TotalTime>3</o:TotalTime>
-  <o:Created>2004-03-05T23:03:00Z</o:Created>
-  <o:LastSaved>2004-03-05T23:03:00Z</o:LastSaved>
-  <o:Pages>4</o:Pages>
-  <o:Words>1626</o:Words>
-  <o:Characters>9270</o:Characters>
-   <o:Lines>77</o:Lines>
-  <o:Paragraphs>18</o:Paragraphs>
-  <o:CharactersWithSpaces>11384</o:CharactersWithSpaces>
-  <o:Version>9.4402</o:Version>
- </o:DocumentProperties>
-</xml><![endif]--><!--[if gte mso 9]><xml>
- <w:WordDocument>
-  <w:TrackRevisions/>
- </w:WordDocument>
-</xml><![endif]-->
-<style>
-<!--
- /* Font Definitions */
-@font-face
-	{font-family:Tahoma;
-	panose-1:2 11 6 4 3 5 4 4 2 4;
-	mso-font-charset:0;
-	mso-generic-font-family:swiss;
-	mso-font-pitch:variable;
-	mso-font-signature:553679495 -2147483648 8 0 66047 0;}
- /* Style Definitions */
-p.MsoNormal, li.MsoNormal, div.MsoNormal
-	{mso-style-parent:"";
-	margin:0in;
-	margin-bottom:.0001pt;
-	mso-pagination:widow-orphan;
-	font-size:12.0pt;
-	font-family:"Times New Roman";
-	mso-fareast-font-family:"Times New Roman";}
-p
-	{margin-right:0in;
-	mso-margin-top-alt:auto;
-	mso-margin-bottom-alt:auto;
-	margin-left:0in;
-	mso-pagination:widow-orphan;
-	font-size:12.0pt;
-	font-family:"Times New Roman";
-	mso-fareast-font-family:"Times New Roman";}
-p.BalloonText, li.BalloonText, div.BalloonText
-	{mso-style-name:"Balloon Text";
-	margin:0in;
-	margin-bottom:.0001pt;
-	mso-pagination:widow-orphan;
-	font-size:8.0pt;
-	font-family:Tahoma;
-	mso-fareast-font-family:"Times New Roman";}
-@page Section1
-	{size:8.5in 11.0in;
-	margin:1.0in 1.25in 1.0in 1.25in;
-	mso-header-margin:.5in;
-	mso-footer-margin:.5in;
-	mso-paper-source:0;}
-div.Section1
-	{page:Section1;}
--->
-</style>
-</head>
-
-<body lang=EN-US style='tab-interval:.5in'>
-
-<div class=Section1>
-
-<p align=center style='text-align:center'><b>Eclipse Public License - v 1.0</b>
-</p>
-
-<p><span style='font-size:10.0pt'>THE ACCOMPANYING PROGRAM IS PROVIDED UNDER
-THE TERMS OF THIS ECLIPSE PUBLIC LICENSE (&quot;AGREEMENT&quot;). ANY USE,
-REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE
-OF THIS AGREEMENT.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>1. DEFINITIONS</span></b> </p>
-
-<p><span style='font-size:10.0pt'>&quot;Contribution&quot; means:</span> </p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-in the case of the initial Contributor, the initial code and documentation
-distributed under this Agreement, and<br clear=left>
-b) in the case of each subsequent Contributor:</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>i)
-changes to the Program, and</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>ii)
-additions to the Program;</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>where
-such changes and/or additions to the Program originate from and are distributed
-by that particular Contributor. A Contribution 'originates' from a Contributor
-if it was added to the Program by such Contributor itself or anyone acting on
-such Contributor's behalf. Contributions do not include additions to the
-Program which: (i) are separate modules of software distributed in conjunction
-with the Program under their own license agreement, and (ii) are not derivative
-works of the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>&quot;Contributor&quot; means any person or
-entity that distributes the Program.</span> </p>
-
-<p><span style='font-size:10.0pt'>&quot;Licensed Patents &quot; mean patent
-claims licensable by a Contributor which are necessarily infringed by the use
-or sale of its Contribution alone or when combined with the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>&quot;Program&quot; means the Contributions
-distributed in accordance with this Agreement.</span> </p>
-
-<p><span style='font-size:10.0pt'>&quot;Recipient&quot; means anyone who
-receives the Program under this Agreement, including all Contributors.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>2. GRANT OF RIGHTS</span></b> </p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-Subject to the terms of this Agreement, each Contributor hereby grants Recipient
-a non-exclusive, worldwide, royalty-free copyright license to<span
-style='color:red'> </span>reproduce, prepare derivative works of, publicly
-display, publicly perform, distribute and sublicense the Contribution of such
-Contributor, if any, and such derivative works, in source code and object code
-form.</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b)
-Subject to the terms of this Agreement, each Contributor hereby grants
-Recipient a non-exclusive, worldwide,<span style='color:green'> </span>royalty-free
-patent license under Licensed Patents to make, use, sell, offer to sell, import
-and otherwise transfer the Contribution of such Contributor, if any, in source
-code and object code form. This patent license shall apply to the combination
-of the Contribution and the Program if, at the time the Contribution is added
-by the Contributor, such addition of the Contribution causes such combination
-to be covered by the Licensed Patents. The patent license shall not apply to
-any other combinations which include the Contribution. No hardware per se is
-licensed hereunder. </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>c)
-Recipient understands that although each Contributor grants the licenses to its
-Contributions set forth herein, no assurances are provided by any Contributor
-that the Program does not infringe the patent or other intellectual property
-rights of any other entity. Each Contributor disclaims any liability to Recipient
-for claims brought by any other entity based on infringement of intellectual
-property rights or otherwise. As a condition to exercising the rights and
-licenses granted hereunder, each Recipient hereby assumes sole responsibility
-to secure any other intellectual property rights needed, if any. For example,
-if a third party patent license is required to allow Recipient to distribute
-the Program, it is Recipient's responsibility to acquire that license before
-distributing the Program.</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>d)
-Each Contributor represents that to its knowledge it has sufficient copyright
-rights in its Contribution, if any, to grant the copyright license set forth in
-this Agreement. </span></p>
-
-<p><b><span style='font-size:10.0pt'>3. REQUIREMENTS</span></b> </p>
-
-<p><span style='font-size:10.0pt'>A Contributor may choose to distribute the
-Program in object code form under its own license agreement, provided that:</span>
-</p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-it complies with the terms and conditions of this Agreement; and</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b)
-its license agreement:</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>i)
-effectively disclaims on behalf of all Contributors all warranties and
-conditions, express and implied, including warranties or conditions of title
-and non-infringement, and implied warranties or conditions of merchantability
-and fitness for a particular purpose; </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>ii)
-effectively excludes on behalf of all Contributors all liability for damages,
-including direct, indirect, special, incidental and consequential damages, such
-as lost profits; </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>iii)
-states that any provisions which differ from this Agreement are offered by that
-Contributor alone and not by any other party; and</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>iv)
-states that source code for the Program is available from such Contributor, and
-informs licensees how to obtain it in a reasonable manner on or through a
-medium customarily used for software exchange.<span style='color:blue'> </span></span></p>
-
-<p><span style='font-size:10.0pt'>When the Program is made available in source
-code form:</span> </p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-it must be made available under this Agreement; and </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b) a
-copy of this Agreement must be included with each copy of the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>Contributors may not remove or alter any
-copyright notices contained within the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>Each Contributor must identify itself as the
-originator of its Contribution, if any, in a manner that reasonably allows
-subsequent Recipients to identify the originator of the Contribution. </span></p>
-
-<p><b><span style='font-size:10.0pt'>4. COMMERCIAL DISTRIBUTION</span></b> </p>
-
-<p><span style='font-size:10.0pt'>Commercial distributors of software may
-accept certain responsibilities with respect to end users, business partners
-and the like. While this license is intended to facilitate the commercial use
-of the Program, the Contributor who includes the Program in a commercial
-product offering should do so in a manner which does not create potential
-liability for other Contributors. Therefore, if a Contributor includes the
-Program in a commercial product offering, such Contributor (&quot;Commercial
-Contributor&quot;) hereby agrees to defend and indemnify every other
-Contributor (&quot;Indemnified Contributor&quot;) against any losses, damages and
-costs (collectively &quot;Losses&quot;) arising from claims, lawsuits and other
-legal actions brought by a third party against the Indemnified Contributor to
-the extent caused by the acts or omissions of such Commercial Contributor in
-connection with its distribution of the Program in a commercial product
-offering. The obligations in this section do not apply to any claims or Losses
-relating to any actual or alleged intellectual property infringement. In order
-to qualify, an Indemnified Contributor must: a) promptly notify the Commercial
-Contributor in writing of such claim, and b) allow the Commercial Contributor
-to control, and cooperate with the Commercial Contributor in, the defense and
-any related settlement negotiations. The Indemnified Contributor may participate
-in any such claim at its own expense.</span> </p>
-
-<p><span style='font-size:10.0pt'>For example, a Contributor might include the
-Program in a commercial product offering, Product X. That Contributor is then a
-Commercial Contributor. If that Commercial Contributor then makes performance
-claims, or offers warranties related to Product X, those performance claims and
-warranties are such Commercial Contributor's responsibility alone. Under this
-section, the Commercial Contributor would have to defend claims against the
-other Contributors related to those performance claims and warranties, and if a
-court requires any other Contributor to pay any damages as a result, the
-Commercial Contributor must pay those damages.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>5. NO WARRANTY</span></b> </p>
-
-<p><span style='font-size:10.0pt'>EXCEPT AS EXPRESSLY SET FORTH IN THIS
-AGREEMENT, THE PROGRAM IS PROVIDED ON AN &quot;AS IS&quot; BASIS, WITHOUT
-WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING,
-WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT,
-MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely
-responsible for determining the appropriateness of using and distributing the
-Program and assumes all risks associated with its exercise of rights under this
-Agreement , including but not limited to the risks and costs of program errors,
-compliance with applicable laws, damage to or loss of data, programs or
-equipment, and unavailability or interruption of operations. </span></p>
-
-<p><b><span style='font-size:10.0pt'>6. DISCLAIMER OF LIABILITY</span></b> </p>
-
-<p><span style='font-size:10.0pt'>EXCEPT AS EXPRESSLY SET FORTH IN THIS
-AGREEMENT, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR
-ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-(INCLUDING WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY
-OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF
-THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF
-THE POSSIBILITY OF SUCH DAMAGES.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>7. GENERAL</span></b> </p>
-
-<p><span style='font-size:10.0pt'>If any provision of this Agreement is invalid
-or unenforceable under applicable law, it shall not affect the validity or
-enforceability of the remainder of the terms of this Agreement, and without
-further action by the parties hereto, such provision shall be reformed to the
-minimum extent necessary to make such provision valid and enforceable.</span> </p>
-
-<p><span style='font-size:10.0pt'>If Recipient institutes patent litigation
-against any entity (including a cross-claim or counterclaim in a lawsuit)
-alleging that the Program itself (excluding combinations of the Program with
-other software or hardware) infringes such Recipient's patent(s), then such
-Recipient's rights granted under Section 2(b) shall terminate as of the date
-such litigation is filed. </span></p>
-
-<p><span style='font-size:10.0pt'>All Recipient's rights under this Agreement
-shall terminate if it fails to comply with any of the material terms or
-conditions of this Agreement and does not cure such failure in a reasonable
-period of time after becoming aware of such noncompliance. If all Recipient's
-rights under this Agreement terminate, Recipient agrees to cease use and
-distribution of the Program as soon as reasonably practicable. However,
-Recipient's obligations under this Agreement and any licenses granted by
-Recipient relating to the Program shall continue and survive. </span></p>
-
-<p><span style='font-size:10.0pt'>Everyone is permitted to copy and distribute
-copies of this Agreement, but in order to avoid inconsistency the Agreement is
-copyrighted and may only be modified in the following manner. The Agreement
-Steward reserves the right to publish new versions (including revisions) of
-this Agreement from time to time. No one other than the Agreement Steward has
-the right to modify this Agreement. The Eclipse Foundation is the initial
-Agreement Steward. The Eclipse Foundation may assign the responsibility to
-serve as the Agreement Steward to a suitable separate entity. Each new version
-of the Agreement will be given a distinguishing version number. The Program
-(including Contributions) may always be distributed subject to the version of
-the Agreement under which it was received. In addition, after a new version of
-the Agreement is published, Contributor may elect to distribute the Program
-(including its Contributions) under the new version. Except as expressly stated
-in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to
-the intellectual property of any Contributor under this Agreement, whether
-expressly, by implication, estoppel or otherwise. All rights in the Program not
-expressly granted under this Agreement are reserved.</span> </p>
-
-<p><span style='font-size:10.0pt'>This Agreement is governed by the laws of the
-State of New York and the intellectual property laws of the United States of
-America. No party to this Agreement will bring a legal action under this
-Agreement more than one year after the cause of action arose. Each party waives
-its rights to a jury trial in any resulting litigation.</span> </p>
-
-<p class=MsoNormal><![if !supportEmptyParas]>&nbsp;<![endif]><o:p></o:p></p>
-
-</div>
-
-</body>
-
-</html>
\ No newline at end of file
diff --git a/features/org.eclipse.jem.tests-feature/feature.properties b/features/org.eclipse.jem.tests-feature/feature.properties
deleted file mode 100644
index 0c90782..0000000
--- a/features/org.eclipse.jem.tests-feature/feature.properties
+++ /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
-###############################################################################
-#
-# $Source: /cvsroot/webtools/jeetools.move/webtools.javaee.tests.git/features/org.eclipse.jem.tests-feature/Attic/feature.properties,v $
-# $Revision: 1.6 $  $Date: 2005/02/28 19:02:01 $
-#
-
-
-# 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=Java EMF Model Tests
-
-# "providerName" property - name of the company that provides the feature
-providerName=Eclipse.org
-
-# "updateSiteName" property - label for the update site
-updateSiteName=Visual Editor update site
-
-# "description" property - description of the feature
-description=Java EMF Model Tests.
-
-# "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\
-January 28, 2004\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 apportioned into plug-ins ("Plug-ins"), plug-in fragments\n\
-("Fragments"), and features ("Features"). A Feature is a bundle of one or\n\
-more Plug-ins and/or Fragments and associated material. Files named\n\
-"feature.xml" may contain a list of the names and version numbers of the\n\
-Plug-ins and/or Fragments associated with a Feature. Plug-ins and Fragments\n\
-are located in directories named "plugins" and Features are located in\n\
-directories named "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\
-   - Subdirectories 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 CPL 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
-########### end of license property ##########################################
diff --git a/features/org.eclipse.jem.tests-feature/feature.xml b/features/org.eclipse.jem.tests-feature/feature.xml
deleted file mode 100644
index 1af7777..0000000
--- a/features/org.eclipse.jem.tests-feature/feature.xml
+++ /dev/null
@@ -1,53 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature
-      id="org.eclipse.jem.tests"
-      label="%featureName"
-      version="1.1.0"
-      provider-name="%providerName"
-      image="eclipse_update_120.jpg">
-
-   <license url="%licenseURL">
-      %license
-   </license>
-
-   <url>
-      <update label="%updateSiteName" url="http://update.eclipse.org/tools/ve/updates/1.0"/>
-      <discovery label="%updateSiteName" url="http://update.eclipse.org/tools/ve/updates/1.0"/>
-   </url>
-
-   <requires>
-      <import feature="org.eclipse.jem"/>
-   </requires>
-
-   <plugin
-         id="org.eclipse.jem.tests"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"/>
-
-   <plugin
-         id="org.eclipse.test"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"/>
-
-   <plugin
-         id="org.eclipse.perfmsr.core"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"/>
-
-   <plugin
-         id="org.eclipse.ant.optional.junit"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         fragment="true"/>
-
-   <plugin
-         id="org.eclipse.jem.tests.source"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"/>
-
-</feature>
diff --git a/features/org.eclipse.jem.tests-feature/license.html b/features/org.eclipse.jem.tests-feature/license.html
deleted file mode 100644
index 3259fb9..0000000
--- a/features/org.eclipse.jem.tests-feature/license.html
+++ /dev/null
@@ -1,73 +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>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 &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>
-
-<p>Content may be apportioned into plug-ins (&quot;Plug-ins&quot;), plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;). A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material. 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 a Feature.   Plug-ins and Fragments are located in directories
-   named &quot;plugins&quot; and Features are located in directories named &quot;features&quot;.</p>
-  
-<p>Features may also include other Features (&quot;Included Features&quot;). Files named &quot;feature.xml&quot; 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 &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>Subdirectories 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;.
-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>
-</body>
-</html>
diff --git a/features/org.eclipse.jem.tests-feature/sourceTemplatePlugin/about.html b/features/org.eclipse.jem.tests-feature/sourceTemplatePlugin/about.html
deleted file mode 100644
index dae413b..0000000
--- a/features/org.eclipse.jem.tests-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>
\ No newline at end of file
diff --git a/features/org.eclipse.jem.tests-feature/sourceTemplatePlugin/about.ini b/features/org.eclipse.jem.tests-feature/sourceTemplatePlugin/about.ini
deleted file mode 100644
index a21a3ec..0000000
--- a/features/org.eclipse.jem.tests-feature/sourceTemplatePlugin/about.ini
+++ /dev/null
@@ -1,29 +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 (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.jem.tests-feature/sourceTemplatePlugin/about.mappings b/features/org.eclipse.jem.tests-feature/sourceTemplatePlugin/about.mappings
deleted file mode 100644
index 720ca87..0000000
--- a/features/org.eclipse.jem.tests-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@
\ No newline at end of file
diff --git a/features/org.eclipse.jem.tests-feature/sourceTemplatePlugin/about.properties b/features/org.eclipse.jem.tests-feature/sourceTemplatePlugin/about.properties
deleted file mode 100644
index cb06e1d..0000000
--- a/features/org.eclipse.jem.tests-feature/sourceTemplatePlugin/about.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
-###############################################################################
-#
-# $Source: /cvsroot/webtools/jeetools.move/webtools.javaee.tests.git/features/org.eclipse.jem.tests-feature/sourceTemplatePlugin/Attic/about.properties,v $
-# $Revision: 1.5 $  $Date: 2005/02/15 23:01:44 $
-#
-
-# 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.
-
-blurb=Java EMF Model Tests Source\n\
-\n\
-Version: {featureVersion}\n\
-Build id: {0}\n\
-\n\
-(c) Copyright Eclipse contributors and others. 2000, 2004.  All rights reserved.\n\
-Visit http://www.eclipse.org/vep
diff --git a/features/org.eclipse.jem.tests-feature/sourceTemplatePlugin/build.properties b/features/org.eclipse.jem.tests-feature/sourceTemplatePlugin/build.properties
deleted file mode 100644
index f50e578..0000000
--- a/features/org.eclipse.jem.tests-feature/sourceTemplatePlugin/build.properties
+++ /dev/null
@@ -1,9 +0,0 @@
-bin.includes = plugin.xml,\
-               plugin.properties,\
-               about.html,\
-               about.ini,\
-               about.mappings,\
-               about.properties,\
-               eclipse32.gif,\
-               src/
-sourcePlugin = true
diff --git a/features/org.eclipse.jem.tests-feature/sourceTemplatePlugin/eclipse32.gif b/features/org.eclipse.jem.tests-feature/sourceTemplatePlugin/eclipse32.gif
deleted file mode 100644
index f71a8f6..0000000
--- a/features/org.eclipse.jem.tests-feature/sourceTemplatePlugin/eclipse32.gif
+++ /dev/null
Binary files differ
diff --git a/features/org.eclipse.jem.tests-feature/sourceTemplatePlugin/plugin.properties b/features/org.eclipse.jem.tests-feature/sourceTemplatePlugin/plugin.properties
deleted file mode 100644
index 49e2d64..0000000
--- a/features/org.eclipse.jem.tests-feature/sourceTemplatePlugin/plugin.properties
+++ /dev/null
@@ -1,18 +0,0 @@
-###############################################################################
-# Copyright (c) 2003 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.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/jeetools.move/webtools.javaee.tests.git/features/org.eclipse.jem.tests-feature/sourceTemplatePlugin/Attic/plugin.properties,v $
-# $Revision: 1.3 $  $Date: 2005/02/15 23:01:44 $
-#
-
-
-pluginName = Java EMF Model Tests Source
-providerName = Eclipse.org
\ No newline at end of file
diff --git a/tests/org.eclipse.jem.tests/.classpath b/tests/org.eclipse.jem.tests/.classpath
deleted file mode 100644
index 12f04e1..0000000
--- a/tests/org.eclipse.jem.tests/.classpath
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-    <classpathentry kind="src" path="javatests/"/>
-    <classpathentry kind="src" path="vm_tests"/>
-    <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/tests/org.eclipse.jem.tests/.cvsignore b/tests/org.eclipse.jem.tests/.cvsignore
deleted file mode 100644
index 60463af..0000000
--- a/tests/org.eclipse.jem.tests/.cvsignore
+++ /dev/null
@@ -1,2 +0,0 @@
-bin
-build.xml
diff --git a/tests/org.eclipse.jem.tests/.project b/tests/org.eclipse.jem.tests/.project
deleted file mode 100644
index 3589223..0000000
--- a/tests/org.eclipse.jem.tests/.project
+++ /dev/null
@@ -1,40 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.jem.tests</name>
-	<comment></comment>
-	<projects>
-		<project>org.eclipse.ant.core</project>
-		<project>org.eclipse.core.boot</project>
-		<project>org.eclipse.core.resources</project>
-		<project>org.eclipse.core.runtime.compatibility</project>
-		<project>org.eclipse.emf.ecore</project>
-		<project>org.eclipse.jdt.core</project>
-		<project>org.eclipse.jdt.launching</project>
-		<project>org.eclipse.jem</project>
-		<project>org.eclipse.jem.beaninfo</project>
-		<project>org.eclipse.jem.proxy</project>
-		<project>org.eclipse.jem.workbench</project>
-		<project>org.junit</project>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-	</natures>
-</projectDescription>
diff --git a/tests/org.eclipse.jem.tests/BeanInfo AllSuites with Remote Debug.launch b/tests/org.eclipse.jem.tests/BeanInfo AllSuites with Remote Debug.launch
deleted file mode 100644
index 92e5c81..0000000
--- a/tests/org.eclipse.jem.tests/BeanInfo AllSuites with Remote Debug.launch
+++ /dev/null
@@ -1,222 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<launchConfiguration type="org.eclipse.pde.ui.JunitLaunchConfig">
-<stringAttribute key="product" value="org.eclipse.platform.ide"/>
-<stringAttribute key="bootstrap" value=""/>
-<booleanAttribute key="useProduct" value="false"/>
-<stringAttribute key="vminstall" value="jdk1.4.2_05"/>
-<booleanAttribute key="tracing" value="true"/>
-<stringAttribute key="org.eclipse.jdt.junit.CONTAINER" value=""/>
-<mapAttribute key="tracingOptions">
-<mapEntry key="org.eclipse.core.runtime/compatibility/debug" value="false"/>
-<mapEntry key="org.eclipse.update.core/debug/parsing" value="false"/>
-<mapEntry key="org.eclipse.jem.proxy/remote/debug/ioconsole" value="false"/>
-<mapEntry key="org.eclipse.help.base/debug/search" value="false"/>
-<mapEntry key="org.eclipse.help.ui/debug" value="true"/>
-<mapEntry key="org.eclipse.team.cvs.ssh/debug" value="false"/>
-<mapEntry key="org.eclipse.core.runtime/loader/debug" value="false"/>
-<mapEntry key="org.eclipse.osgi/eclipseadaptor/debug/location" value="false"/>
-<mapEntry key="org.eclipse.osgi/debug/filter" value="false"/>
-<mapEntry key="org.eclipse.core.resources/monitor/builders" value="false"/>
-<mapEntry key="org.eclipse.osgi/debug/packages" value="false"/>
-<mapEntry key="org.eclipse.core.runtime/loader/debug/success" value="false"/>
-<mapEntry key="org.eclipse.jem.beaninfo/debug/logtrace" value="default"/>
-<mapEntry key="org.eclipse.core.runtime/debug" value="false"/>
-<mapEntry key="org.eclipse.core.runtime/debug/context" value="false"/>
-<mapEntry key="org.eclipse.osgi/monitor/classes" value="false"/>
-<mapEntry key="org.eclipse.jem/debug/logtracefile" value="default"/>
-<mapEntry key="org.eclipse.jdt.core/debug/indexmanager" value="false"/>
-<mapEntry key="org.eclipse.core.runtime/jobs" value="false"/>
-<mapEntry key="org.eclipse.team.cvs.core/cvsprotocol" value="true"/>
-<mapEntry key="org.eclipse.core.runtime/url/debug/cachecopy" value="false"/>
-<mapEntry key="org.eclipse.core.runtime/loader/debug/prefixes/success" value="false"/>
-<mapEntry key="org.eclipse.ve.java.core/debug/loglevel" value="default"/>
-<mapEntry key="org.eclipse.core.runtime/registry/debug/events/plugin" value="false"/>
-<mapEntry key="org.eclipse.jdt.core/debug/builder" value="false"/>
-<mapEntry key="org.eclipse.jdt.core/debug/hierarchy" value="false"/>
-<mapEntry key="org.eclipse.core.resources/monitor/listeners" value="false"/>
-<mapEntry key="org.eclipse.core.runtime/loader/debug/prefixes" value="false"/>
-<mapEntry key="org.eclipse.core.resources/save/tree" value="false"/>
-<mapEntry key="org.eclipse.team.cvs.core/debug" value="false"/>
-<mapEntry key="org.eclipse.ui/trace/keyBindings.verbose" value="false"/>
-<mapEntry key="org.eclipse.jem/debug/logtrace" value="default"/>
-<mapEntry key="org.eclipse.jdt.core/debug/javadelta/verbose" value="false"/>
-<mapEntry key="org.eclipse.update.core/debug/reconciler" value="false"/>
-<mapEntry key="org.eclipse.core.resources/save/mastertable" value="false"/>
-<mapEntry key="org.eclipse.core.runtime/timing/startup" value="false"/>
-<mapEntry key="org.eclipse.ui/trace/contexts" value="false"/>
-<mapEntry key="org.eclipse.core.runtime/loader/debug/activateplugin" value="false"/>
-<mapEntry key="org.eclipse.jdt.debug/debug" value="true"/>
-<mapEntry key="org.eclipse.jdt.core/debug/selection" value="false"/>
-<mapEntry key="org.eclipse.core.runtime/jobs/errorondeadlock" value="false"/>
-<mapEntry key="org.eclipse.jdt.core/debug/buffermanager" value="false"/>
-<mapEntry key="org.eclipse.ui/trace/workbench.restore" value="false"/>
-<mapEntry key="org.eclipse.jem.util/debug/logtrace" value="false"/>
-<mapEntry key="org.eclipse.jdt.ui/debug" value="true"/>
-<mapEntry key="org.eclipse.core.runtime/loader/debug/filter/native" value="*"/>
-<mapEntry key="org.eclipse.team.core/debug" value="false"/>
-<mapEntry key="org.eclipse.core.resources/save/snapshots" value="false"/>
-<mapEntry key="org.eclipse.jdt.core/debug/compiler" value="false"/>
-<mapEntry key="org.eclipse.osgi/trace/activation" value="false"/>
-<mapEntry key="org.eclipse.jem.ui/debug/loglevel" value="default"/>
-<mapEntry key="org.eclipse.team.cvs.core/metafiles" value="false"/>
-<mapEntry key="org.eclipse.help.ui/debug/infopop" value="false"/>
-<mapEntry key="org.eclipse.core.runtime/registry/debug" value="false"/>
-<mapEntry key="org.eclipse.core.runtime/url/debug" value="false"/>
-<mapEntry key="org.eclipse.osgi/debug/monitorbundles" value="false"/>
-<mapEntry key="org.eclipse.core.resources/debug" value="false"/>
-<mapEntry key="org.eclipse.ui/debug/uijob.longwarning" value="false"/>
-<mapEntry key="org.eclipse.jem.proxy/debug/logtrace" value="default"/>
-<mapEntry key="org.eclipse.core.resources/restore/metainfo" value="false"/>
-<mapEntry key="org.eclipse.osgi/debug" value="false"/>
-<mapEntry key="org.eclipse.ui/debug/internalerror/openDialog" value="false"/>
-<mapEntry key="org.eclipse.jdt.core/debug/javamodel" value="false"/>
-<mapEntry key="org.eclipse.debug.core/debug" value="true"/>
-<mapEntry key="org.eclipse.jdt.ui/debug/allTypesCache" value="false"/>
-<mapEntry key="org.eclipse.help/debug" value="true"/>
-<mapEntry key="org.eclipse.core.resources/restore" value="false"/>
-<mapEntry key="org.eclipse.core.runtime/loader/debug/failure" value="false"/>
-<mapEntry key="org.eclipse.jface.text/debug/ContentAssistSubjectAdapters" value="false"/>
-<mapEntry key="org.eclipse.jdt.debug.ui/debug" value="true"/>
-<mapEntry key="org.eclipse.osgi/debug/events" value="false"/>
-<mapEntry key="org.eclipse.ui.intro/trace/printHTML" value="false"/>
-<mapEntry key="org.eclipse.osgi/debug/services" value="false"/>
-<mapEntry key="org.eclipse.update.core/debug/type" value="false"/>
-<mapEntry key="org.eclipse.jdt.core/debug" value="true"/>
-<mapEntry key="org.eclipse.help.base/debug" value="true"/>
-<mapEntry key="org.eclipse.core.runtime/registry/debug/events/extension" value="false"/>
-<mapEntry key="org.eclipse.ui/debug" value="false"/>
-<mapEntry key="org.eclipse.osgi/eclipseadaptor/debug/platformadmin" value="false"/>
-<mapEntry key="org.eclipse.core.resources/build/delta" value="false"/>
-<mapEntry key="org.eclipse.debug.ui/debug" value="true"/>
-<mapEntry key="org.eclipse.update.core/debug/configuration" value="false"/>
-<mapEntry key="org.eclipse.ui/trace/part.activate" value="false"/>
-<mapEntry key="org.eclipse.jem.proxy/remote/debug/notimeouts" value="false"/>
-<mapEntry key="org.eclipse.help.ui/debug/embeddedBrowser" value="false"/>
-<mapEntry key="org.eclipse.jdt.core/debug/javadelta" value="false"/>
-<mapEntry key="org.eclipse.osgi/debug/manifest" value="false"/>
-<mapEntry key="org.eclipse.osgi/debug/security" value="false"/>
-<mapEntry key="org.eclipse.ui/trace/keyBindings" value="false"/>
-<mapEntry key="org.eclipse.core.resources/restore/markers" value="false"/>
-<mapEntry key="org.eclipse.core.runtime/timing/shutdown" value="false"/>
-<mapEntry key="org.eclipse.jem.ui/debug/logtracefile" value="default"/>
-<mapEntry key="org.eclipse.help.webapp/debug" value="true"/>
-<mapEntry key="org.eclipse.ve.java.core/debug/vetimetrace" value="false"/>
-<mapEntry key="org.eclipse.core.resources/save" value="false"/>
-<mapEntry key="org.eclipse.ve.java.core/debug/logtracefile" value="default"/>
-<mapEntry key="org.eclipse.ui/trace/part.create" value="false"/>
-<mapEntry key="org.eclipse.ve.java.core/debug/livewindow" value="false"/>
-<mapEntry key="org.eclipse.core.runtime/loader/debug/create" value="false"/>
-<mapEntry key="org.eclipse.osgi/debug/startlevel" value="false"/>
-<mapEntry key="org.eclipse.core.runtime/loader/debug/prefixes/failure" value="false"/>
-<mapEntry key="org.eclipse.ui/trace/workbench.start" value="false"/>
-<mapEntry key="org.eclipse.ui/trace/handlers.verbose.commandId" value=""/>
-<mapEntry key="org.eclipse.ant.core/debug" value="true"/>
-<mapEntry key="org.eclipse.team.cvs.core/dirtycaching" value="false"/>
-<mapEntry key="org.eclipse.core.resources/save/metainfo" value="false"/>
-<mapEntry key="org.eclipse.update.configurator/debug" value="false"/>
-<mapEntry key="org.eclipse.update.core/debug/installhandler" value="false"/>
-<mapEntry key="org.eclipse.osgi/debug/bundleTime" value="false"/>
-<mapEntry key="org.eclipse.core.runtime/loader/debug/filter/loader" value="*"/>
-<mapEntry key="org.eclipse.core.resources/build/needbuild" value="false"/>
-<mapEntry key="org.eclipse.ve.java.core/debug/logtrace" value="default"/>
-<mapEntry key="org.eclipse.help.ui/debug/embeddedBrowser/inprocess" value="false"/>
-<mapEntry key="org.eclipse.core.resources/restore/syncinfo" value="false"/>
-<mapEntry key="org.eclipse.core.resources/build/invoking" value="false"/>
-<mapEntry key="org.eclipse.team.cvs.core/syncchangeevents" value="false"/>
-<mapEntry key="org.eclipse.core.runtime/loader/debug/actions" value="false"/>
-<mapEntry key="org.eclipse.ui.intro/trace/logInfo" value="true"/>
-<mapEntry key="org.eclipse.core.runtime/loader/debug/filter/resource" value="*"/>
-<mapEntry key="org.eclipse.core.resources/build/failure" value="false"/>
-<mapEntry key="org.eclipse.update.core/debug/web" value="false"/>
-<mapEntry key="org.eclipse.core.resources/refresh" value="false"/>
-<mapEntry key="org.eclipse.osgi/debug/loader" value="false"/>
-<mapEntry key="org.eclipse.osgi/monitor/activation" value="false"/>
-<mapEntry key="org.eclipse.ui/trace/handlers.verbose" value="false"/>
-<mapEntry key="org.eclipse.jem.beaninfo/debug/loglevel" value="default"/>
-<mapEntry key="org.eclipse.osgi/debug/packageadmin" value="false"/>
-<mapEntry key="org.eclipse.jdt.core/debug/search" value="false"/>
-<mapEntry key="org.eclipse.team.core/streams" value="false"/>
-<mapEntry key="org.eclipse.osgi/debug/packageadmin/timing" value="false"/>
-<mapEntry key="org.eclipse.core.runtime/jobs/beginend" value="false"/>
-<mapEntry key="org.eclipse.update.core/debug/install" value="false"/>
-<mapEntry key="org.eclipse.jem.proxy/remote/debug/debugvm" value="true"/>
-<mapEntry key="org.eclipse.core.resources/history" value="false"/>
-<mapEntry key="org.eclipse.ve.java.core/debug/xmltext" value="false"/>
-<mapEntry key="org.eclipse.jem.util/debug/logtracefile" value="false"/>
-<mapEntry key="org.eclipse.jdt.core/debug/postaction" value="false"/>
-<mapEntry key="org.eclipse.team.cvs.core/threading" value="false"/>
-<mapEntry key="org.eclipse.jdt.core/debug/zipaccess" value="false"/>
-<mapEntry key="org.eclipse.osgi/eclipseadaptor/debug/platformadmin/resolver" value="false"/>
-<mapEntry key="org.eclipse.core.resources/save/markers" value="false"/>
-<mapEntry key="org.eclipse.jem.proxy/remote/debug/vmtraceout" value="true"/>
-<mapEntry key="org.eclipse.jem.ui/debug/logtrace" value="default"/>
-<mapEntry key="org.eclipse.core.resources/restore/tree" value="false"/>
-<mapEntry key="org.eclipse.update.core/debug/warning" value="false"/>
-<mapEntry key="org.eclipse.core.runtime/contenttypes/debug" value="false"/>
-<mapEntry key="org.eclipse.core.expressions/tracePropertyResolving" value="false"/>
-<mapEntry key="org.eclipse.core.runtime/url/debug/cachelookup" value="false"/>
-<mapEntry key="org.eclipse.core.runtime/registry/debug/dump" value=""/>
-<mapEntry key="org.eclipse.jem/debug/loglevel" value="default"/>
-<mapEntry key="org.eclipse.pde.build/debug" value="false"/>
-<mapEntry key="org.eclipse.core.resources/preferences" value="false"/>
-<mapEntry key="org.eclipse.osgi/trace/classLoading" value="false"/>
-<mapEntry key="org.eclipse.core.runtime/jobs/timing" value="false"/>
-<mapEntry key="org.eclipse.osgi/eclipseadaptor/debug" value="false"/>
-<mapEntry key="org.eclipse.core.resources/save/syncinfo" value="false"/>
-<mapEntry key="org.eclipse.osgi/trace/filters" value="trace.properties"/>
-<mapEntry key="org.eclipse.jem.util/debug/loglevel" value="WARNING"/>
-<mapEntry key="org.eclipse.ui/trace/graphics" value="false"/>
-<mapEntry key="org.eclipse.jdt.ui/debug/ASTProvider" value="false"/>
-<mapEntry key="org.eclipse.jem.beaninfo/debug/logtracefile" value="default"/>
-<mapEntry key="org.eclipse.core.runtime/config/debug" value="false"/>
-<mapEntry key="org.eclipse.core.runtime/url/debug/connect" value="false"/>
-<mapEntry key="org.eclipse.team.core/refreshjob" value="false"/>
-<mapEntry key="org.eclipse.core.runtime/loader/debug/properties" value="false"/>
-<mapEntry key="org.eclipse.ui/trace/part.listeners" value="false"/>
-<mapEntry key="org.eclipse.team.cvs.ssh/ssh_protocol" value="false"/>
-<mapEntry key="org.eclipse.team.core/backgroundevents" value="false"/>
-<mapEntry key="org.eclipse.update.core/debug" value="true"/>
-<mapEntry key="org.eclipse.jem.proxy/debug/logtracefile" value="default"/>
-<mapEntry key="org.eclipse.core.runtime/jobs/locks" value="false"/>
-<mapEntry key="org.eclipse.core.resources/natures" value="false"/>
-<mapEntry key="org.eclipse.jem.proxy/debug/loglevel" value="default"/>
-<mapEntry key="org.eclipse.ui/trace/contexts.verbose" value="false"/>
-<mapEntry key="org.eclipse.core.resources/restore/mastertable" value="false"/>
-<mapEntry key="org.eclipse.core.runtime/preferences/debug" value="false"/>
-<mapEntry key="org.eclipse.ui/trace/perspective" value="false"/>
-<mapEntry key="org.eclipse.ui/debug/job.stale" value="false"/>
-<mapEntry key="org.eclipse.jdt.core/debug/cpresolution" value="false"/>
-<mapEntry key="org.eclipse.core.resources/restore/snapshots" value="false"/>
-<mapEntry key="org.eclipse.ui/trace/handlers" value="false"/>
-<mapEntry key="org.eclipse.jdt.core/debug/completion" value="false"/>
-<mapEntry key="org.eclipse.osgi/monitor/resources" value="false"/>
-<mapEntry key="org.eclipse.help.webapp/debug/workingsets" value="false"/>
-<mapEntry key="org.eclipse.ui.intro/debug" value="true"/>
-<mapEntry key="org.eclipse.core.runtime/debug/pluginstopper" value="false"/>
-<mapEntry key="org.eclipse.osgi/eclipseadaptor/converter/debug" value="false"/>
-<mapEntry key="org.eclipse.help/debug/context" value="false"/>
-<mapEntry key="org.eclipse.core.runtime/registry/debug/resolve" value="false"/>
-<mapEntry key="org.eclipse.osgi/trace/filename" value="runtime.traces"/>
-<mapEntry key="org.eclipse.jface.text/debug/AnnotationPainter" value="false"/>
-<mapEntry key="org.eclipse.help/debug/protocols" value="false"/>
-<mapEntry key="org.eclipse.core.runtime/loader/debug/filter/class" value="*"/>
-</mapAttribute>
-<stringAttribute key="selectedPlugin" value="org.eclipse.jem.proxy"/>
-<booleanAttribute key="org.eclipse.jdt.junit.KEEPRUNNING_ATTR" value="false"/>
-<stringAttribute key="checked" value="org.eclipse.jem.proxy"/>
-<stringAttribute key="application" value="org.eclipse.pde.junit.runtime.coretestapplication"/>
-<booleanAttribute key="clearws" value="true"/>
-<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="org.eclipse.jem.tests.beaninfo.BeanInfoSuite"/>
-<stringAttribute key="location1" value="D:\runtime-junit-test-workspace"/>
-<booleanAttribute key="default" value="true"/>
-<stringAttribute key="vmargs" value=""/>
-<booleanAttribute key="clearConfig" value="false"/>
-<booleanAttribute key="org.eclipse.debug.core.appendEnvironmentVariables" value="true"/>
-<stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.pde.ui.workbenchClasspathProvider"/>
-<stringAttribute key="progargs" value="-os win32 -ws win32 -arch x86 -nl en_US"/>
-<booleanAttribute key="useDefaultConfig" value="true"/>
-<stringAttribute key="org.eclipse.jdt.junit.TESTNAME" value=""/>
-<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="org.eclipse.jem.tests"/>
-<booleanAttribute key="askclear" value="true"/>
-<stringAttribute key="location0" value="D:\runtime-junit-test-workspace"/>
-</launchConfiguration>
diff --git a/tests/org.eclipse.jem.tests/BeanInfo AllSuites.launch b/tests/org.eclipse.jem.tests/BeanInfo AllSuites.launch
deleted file mode 100644
index f487a8c..0000000
--- a/tests/org.eclipse.jem.tests/BeanInfo AllSuites.launch
+++ /dev/null
@@ -1,222 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<launchConfiguration type="org.eclipse.pde.ui.JunitLaunchConfig">
-<stringAttribute key="product" value="org.eclipse.platform.ide"/>
-<stringAttribute key="bootstrap" value=""/>
-<booleanAttribute key="useProduct" value="false"/>
-<stringAttribute key="vminstall" value="J9_142_20040926"/>
-<booleanAttribute key="tracing" value="true"/>
-<stringAttribute key="org.eclipse.jdt.junit.CONTAINER" value=""/>
-<mapAttribute key="tracingOptions">
-<mapEntry key="org.eclipse.core.runtime/compatibility/debug" value="false"/>
-<mapEntry key="org.eclipse.update.core/debug/parsing" value="false"/>
-<mapEntry key="org.eclipse.help.base/debug/search" value="false"/>
-<mapEntry key="org.eclipse.jem.proxy/remote/debug/ioconsole" value="false"/>
-<mapEntry key="org.eclipse.help.ui/debug" value="true"/>
-<mapEntry key="org.eclipse.team.cvs.ssh/debug" value="false"/>
-<mapEntry key="org.eclipse.core.runtime/loader/debug" value="false"/>
-<mapEntry key="org.eclipse.osgi/eclipseadaptor/debug/location" value="false"/>
-<mapEntry key="org.eclipse.osgi/debug/filter" value="false"/>
-<mapEntry key="org.eclipse.core.resources/monitor/builders" value="false"/>
-<mapEntry key="org.eclipse.osgi/debug/packages" value="false"/>
-<mapEntry key="org.eclipse.core.runtime/loader/debug/success" value="false"/>
-<mapEntry key="org.eclipse.jem.beaninfo/debug/logtrace" value="default"/>
-<mapEntry key="org.eclipse.core.runtime/debug" value="false"/>
-<mapEntry key="org.eclipse.core.runtime/debug/context" value="false"/>
-<mapEntry key="org.eclipse.osgi/monitor/classes" value="false"/>
-<mapEntry key="org.eclipse.jdt.core/debug/indexmanager" value="false"/>
-<mapEntry key="org.eclipse.jem/debug/logtracefile" value="default"/>
-<mapEntry key="org.eclipse.core.runtime/jobs" value="false"/>
-<mapEntry key="org.eclipse.team.cvs.core/cvsprotocol" value="true"/>
-<mapEntry key="org.eclipse.core.runtime/url/debug/cachecopy" value="false"/>
-<mapEntry key="org.eclipse.core.runtime/loader/debug/prefixes/success" value="false"/>
-<mapEntry key="org.eclipse.ve.java.core/debug/loglevel" value="default"/>
-<mapEntry key="org.eclipse.core.runtime/registry/debug/events/plugin" value="false"/>
-<mapEntry key="org.eclipse.jdt.core/debug/builder" value="false"/>
-<mapEntry key="org.eclipse.jdt.core/debug/hierarchy" value="false"/>
-<mapEntry key="org.eclipse.core.runtime/loader/debug/prefixes" value="false"/>
-<mapEntry key="org.eclipse.core.resources/monitor/listeners" value="false"/>
-<mapEntry key="org.eclipse.core.resources/save/tree" value="false"/>
-<mapEntry key="org.eclipse.ui/trace/keyBindings.verbose" value="false"/>
-<mapEntry key="org.eclipse.team.cvs.core/debug" value="false"/>
-<mapEntry key="org.eclipse.jem/debug/logtrace" value="default"/>
-<mapEntry key="org.eclipse.update.core/debug/reconciler" value="false"/>
-<mapEntry key="org.eclipse.jdt.core/debug/javadelta/verbose" value="false"/>
-<mapEntry key="org.eclipse.core.resources/save/mastertable" value="false"/>
-<mapEntry key="org.eclipse.core.runtime/timing/startup" value="false"/>
-<mapEntry key="org.eclipse.ui/trace/contexts" value="false"/>
-<mapEntry key="org.eclipse.jdt.debug/debug" value="true"/>
-<mapEntry key="org.eclipse.core.runtime/loader/debug/activateplugin" value="false"/>
-<mapEntry key="org.eclipse.jdt.core/debug/selection" value="false"/>
-<mapEntry key="org.eclipse.core.runtime/jobs/errorondeadlock" value="false"/>
-<mapEntry key="org.eclipse.jdt.core/debug/buffermanager" value="false"/>
-<mapEntry key="org.eclipse.ui/trace/workbench.restore" value="false"/>
-<mapEntry key="org.eclipse.jem.util/debug/logtrace" value="false"/>
-<mapEntry key="org.eclipse.jdt.ui/debug" value="true"/>
-<mapEntry key="org.eclipse.core.runtime/loader/debug/filter/native" value="*"/>
-<mapEntry key="org.eclipse.team.core/debug" value="false"/>
-<mapEntry key="org.eclipse.core.resources/save/snapshots" value="false"/>
-<mapEntry key="org.eclipse.jdt.core/debug/compiler" value="false"/>
-<mapEntry key="org.eclipse.jem.ui/debug/loglevel" value="default"/>
-<mapEntry key="org.eclipse.osgi/trace/activation" value="false"/>
-<mapEntry key="org.eclipse.team.cvs.core/metafiles" value="false"/>
-<mapEntry key="org.eclipse.help.ui/debug/infopop" value="false"/>
-<mapEntry key="org.eclipse.core.runtime/registry/debug" value="false"/>
-<mapEntry key="org.eclipse.core.runtime/url/debug" value="false"/>
-<mapEntry key="org.eclipse.core.resources/debug" value="false"/>
-<mapEntry key="org.eclipse.osgi/debug/monitorbundles" value="false"/>
-<mapEntry key="org.eclipse.ui/debug/uijob.longwarning" value="false"/>
-<mapEntry key="org.eclipse.jem.proxy/debug/logtrace" value="default"/>
-<mapEntry key="org.eclipse.core.resources/restore/metainfo" value="false"/>
-<mapEntry key="org.eclipse.osgi/debug" value="false"/>
-<mapEntry key="org.eclipse.ui/debug/internalerror/openDialog" value="false"/>
-<mapEntry key="org.eclipse.debug.core/debug" value="true"/>
-<mapEntry key="org.eclipse.jdt.core/debug/javamodel" value="false"/>
-<mapEntry key="org.eclipse.help/debug" value="true"/>
-<mapEntry key="org.eclipse.jdt.ui/debug/allTypesCache" value="false"/>
-<mapEntry key="org.eclipse.core.resources/restore" value="false"/>
-<mapEntry key="org.eclipse.core.runtime/loader/debug/failure" value="false"/>
-<mapEntry key="org.eclipse.jface.text/debug/ContentAssistSubjectAdapters" value="false"/>
-<mapEntry key="org.eclipse.ui.intro/trace/printHTML" value="false"/>
-<mapEntry key="org.eclipse.osgi/debug/events" value="false"/>
-<mapEntry key="org.eclipse.jdt.debug.ui/debug" value="true"/>
-<mapEntry key="org.eclipse.osgi/debug/services" value="false"/>
-<mapEntry key="org.eclipse.update.core/debug/type" value="false"/>
-<mapEntry key="org.eclipse.jdt.core/debug" value="true"/>
-<mapEntry key="org.eclipse.help.base/debug" value="true"/>
-<mapEntry key="org.eclipse.core.runtime/registry/debug/events/extension" value="false"/>
-<mapEntry key="org.eclipse.ui/debug" value="false"/>
-<mapEntry key="org.eclipse.osgi/eclipseadaptor/debug/platformadmin" value="false"/>
-<mapEntry key="org.eclipse.core.resources/build/delta" value="false"/>
-<mapEntry key="org.eclipse.debug.ui/debug" value="true"/>
-<mapEntry key="org.eclipse.update.core/debug/configuration" value="false"/>
-<mapEntry key="org.eclipse.ui/trace/part.activate" value="false"/>
-<mapEntry key="org.eclipse.jem.proxy/remote/debug/notimeouts" value="false"/>
-<mapEntry key="org.eclipse.help.ui/debug/embeddedBrowser" value="false"/>
-<mapEntry key="org.eclipse.jdt.core/debug/javadelta" value="false"/>
-<mapEntry key="org.eclipse.osgi/debug/manifest" value="false"/>
-<mapEntry key="org.eclipse.ui/trace/keyBindings" value="false"/>
-<mapEntry key="org.eclipse.osgi/debug/security" value="false"/>
-<mapEntry key="org.eclipse.core.resources/restore/markers" value="false"/>
-<mapEntry key="org.eclipse.core.runtime/timing/shutdown" value="false"/>
-<mapEntry key="org.eclipse.help.webapp/debug" value="true"/>
-<mapEntry key="org.eclipse.ve.java.core/debug/vetimetrace" value="false"/>
-<mapEntry key="org.eclipse.jem.ui/debug/logtracefile" value="default"/>
-<mapEntry key="org.eclipse.core.resources/save" value="false"/>
-<mapEntry key="org.eclipse.ve.java.core/debug/logtracefile" value="default"/>
-<mapEntry key="org.eclipse.ui/trace/part.create" value="false"/>
-<mapEntry key="org.eclipse.ve.java.core/debug/livewindow" value="false"/>
-<mapEntry key="org.eclipse.core.runtime/loader/debug/create" value="false"/>
-<mapEntry key="org.eclipse.osgi/debug/startlevel" value="false"/>
-<mapEntry key="org.eclipse.core.runtime/loader/debug/prefixes/failure" value="false"/>
-<mapEntry key="org.eclipse.ui/trace/workbench.start" value="false"/>
-<mapEntry key="org.eclipse.ui/trace/handlers.verbose.commandId" value=""/>
-<mapEntry key="org.eclipse.ant.core/debug" value="true"/>
-<mapEntry key="org.eclipse.team.cvs.core/dirtycaching" value="false"/>
-<mapEntry key="org.eclipse.core.resources/save/metainfo" value="false"/>
-<mapEntry key="org.eclipse.update.configurator/debug" value="false"/>
-<mapEntry key="org.eclipse.update.core/debug/installhandler" value="false"/>
-<mapEntry key="org.eclipse.osgi/debug/bundleTime" value="false"/>
-<mapEntry key="org.eclipse.core.runtime/loader/debug/filter/loader" value="*"/>
-<mapEntry key="org.eclipse.ve.java.core/debug/logtrace" value="default"/>
-<mapEntry key="org.eclipse.core.resources/build/needbuild" value="false"/>
-<mapEntry key="org.eclipse.core.resources/restore/syncinfo" value="false"/>
-<mapEntry key="org.eclipse.help.ui/debug/embeddedBrowser/inprocess" value="false"/>
-<mapEntry key="org.eclipse.core.resources/build/invoking" value="false"/>
-<mapEntry key="org.eclipse.team.cvs.core/syncchangeevents" value="false"/>
-<mapEntry key="org.eclipse.core.runtime/loader/debug/actions" value="false"/>
-<mapEntry key="org.eclipse.ui.intro/trace/logInfo" value="true"/>
-<mapEntry key="org.eclipse.core.runtime/loader/debug/filter/resource" value="*"/>
-<mapEntry key="org.eclipse.update.core/debug/web" value="false"/>
-<mapEntry key="org.eclipse.core.resources/build/failure" value="false"/>
-<mapEntry key="org.eclipse.core.resources/refresh" value="false"/>
-<mapEntry key="org.eclipse.osgi/debug/loader" value="false"/>
-<mapEntry key="org.eclipse.osgi/monitor/activation" value="false"/>
-<mapEntry key="org.eclipse.ui/trace/handlers.verbose" value="false"/>
-<mapEntry key="org.eclipse.jem.beaninfo/debug/loglevel" value="default"/>
-<mapEntry key="org.eclipse.osgi/debug/packageadmin" value="false"/>
-<mapEntry key="org.eclipse.jdt.core/debug/search" value="false"/>
-<mapEntry key="org.eclipse.team.core/streams" value="false"/>
-<mapEntry key="org.eclipse.core.runtime/jobs/beginend" value="false"/>
-<mapEntry key="org.eclipse.osgi/debug/packageadmin/timing" value="false"/>
-<mapEntry key="org.eclipse.update.core/debug/install" value="false"/>
-<mapEntry key="org.eclipse.jem.proxy/remote/debug/debugvm" value="false"/>
-<mapEntry key="org.eclipse.core.resources/history" value="false"/>
-<mapEntry key="org.eclipse.ve.java.core/debug/xmltext" value="false"/>
-<mapEntry key="org.eclipse.jem.util/debug/logtracefile" value="false"/>
-<mapEntry key="org.eclipse.team.cvs.core/threading" value="false"/>
-<mapEntry key="org.eclipse.jdt.core/debug/postaction" value="false"/>
-<mapEntry key="org.eclipse.jdt.core/debug/zipaccess" value="false"/>
-<mapEntry key="org.eclipse.core.resources/save/markers" value="false"/>
-<mapEntry key="org.eclipse.osgi/eclipseadaptor/debug/platformadmin/resolver" value="false"/>
-<mapEntry key="org.eclipse.jem.proxy/remote/debug/vmtraceout" value="false"/>
-<mapEntry key="org.eclipse.jem.ui/debug/logtrace" value="default"/>
-<mapEntry key="org.eclipse.core.resources/restore/tree" value="false"/>
-<mapEntry key="org.eclipse.update.core/debug/warning" value="false"/>
-<mapEntry key="org.eclipse.core.runtime/contenttypes/debug" value="false"/>
-<mapEntry key="org.eclipse.core.expressions/tracePropertyResolving" value="false"/>
-<mapEntry key="org.eclipse.core.runtime/url/debug/cachelookup" value="false"/>
-<mapEntry key="org.eclipse.core.runtime/registry/debug/dump" value=""/>
-<mapEntry key="org.eclipse.jem/debug/loglevel" value="default"/>
-<mapEntry key="org.eclipse.pde.build/debug" value="false"/>
-<mapEntry key="org.eclipse.core.resources/preferences" value="false"/>
-<mapEntry key="org.eclipse.osgi/trace/classLoading" value="false"/>
-<mapEntry key="org.eclipse.core.runtime/jobs/timing" value="false"/>
-<mapEntry key="org.eclipse.osgi/eclipseadaptor/debug" value="false"/>
-<mapEntry key="org.eclipse.core.resources/save/syncinfo" value="false"/>
-<mapEntry key="org.eclipse.osgi/trace/filters" value="trace.properties"/>
-<mapEntry key="org.eclipse.jem.util/debug/loglevel" value="WARNING"/>
-<mapEntry key="org.eclipse.ui/trace/graphics" value="false"/>
-<mapEntry key="org.eclipse.jdt.ui/debug/ASTProvider" value="false"/>
-<mapEntry key="org.eclipse.jem.beaninfo/debug/logtracefile" value="default"/>
-<mapEntry key="org.eclipse.core.runtime/config/debug" value="false"/>
-<mapEntry key="org.eclipse.core.runtime/url/debug/connect" value="false"/>
-<mapEntry key="org.eclipse.team.core/refreshjob" value="false"/>
-<mapEntry key="org.eclipse.core.runtime/loader/debug/properties" value="false"/>
-<mapEntry key="org.eclipse.ui/trace/part.listeners" value="false"/>
-<mapEntry key="org.eclipse.team.cvs.ssh/ssh_protocol" value="false"/>
-<mapEntry key="org.eclipse.team.core/backgroundevents" value="false"/>
-<mapEntry key="org.eclipse.update.core/debug" value="true"/>
-<mapEntry key="org.eclipse.jem.proxy/debug/logtracefile" value="default"/>
-<mapEntry key="org.eclipse.core.runtime/jobs/locks" value="false"/>
-<mapEntry key="org.eclipse.core.resources/natures" value="false"/>
-<mapEntry key="org.eclipse.jem.proxy/debug/loglevel" value="default"/>
-<mapEntry key="org.eclipse.ui/trace/contexts.verbose" value="false"/>
-<mapEntry key="org.eclipse.core.resources/restore/mastertable" value="false"/>
-<mapEntry key="org.eclipse.core.runtime/preferences/debug" value="false"/>
-<mapEntry key="org.eclipse.ui/trace/perspective" value="false"/>
-<mapEntry key="org.eclipse.ui/debug/job.stale" value="false"/>
-<mapEntry key="org.eclipse.jdt.core/debug/cpresolution" value="false"/>
-<mapEntry key="org.eclipse.core.resources/restore/snapshots" value="false"/>
-<mapEntry key="org.eclipse.ui/trace/handlers" value="false"/>
-<mapEntry key="org.eclipse.jdt.core/debug/completion" value="false"/>
-<mapEntry key="org.eclipse.osgi/monitor/resources" value="false"/>
-<mapEntry key="org.eclipse.help.webapp/debug/workingsets" value="false"/>
-<mapEntry key="org.eclipse.ui.intro/debug" value="true"/>
-<mapEntry key="org.eclipse.core.runtime/debug/pluginstopper" value="false"/>
-<mapEntry key="org.eclipse.osgi/eclipseadaptor/converter/debug" value="false"/>
-<mapEntry key="org.eclipse.help/debug/context" value="false"/>
-<mapEntry key="org.eclipse.core.runtime/registry/debug/resolve" value="false"/>
-<mapEntry key="org.eclipse.osgi/trace/filename" value="runtime.traces"/>
-<mapEntry key="org.eclipse.jface.text/debug/AnnotationPainter" value="false"/>
-<mapEntry key="org.eclipse.help/debug/protocols" value="false"/>
-<mapEntry key="org.eclipse.core.runtime/loader/debug/filter/class" value="*"/>
-</mapAttribute>
-<stringAttribute key="selectedPlugin" value="org.eclipse.jem.proxy"/>
-<booleanAttribute key="org.eclipse.jdt.junit.KEEPRUNNING_ATTR" value="false"/>
-<stringAttribute key="checked" value="org.eclipse.jem.proxy"/>
-<stringAttribute key="application" value="org.eclipse.pde.junit.runtime.coretestapplication"/>
-<booleanAttribute key="clearws" value="true"/>
-<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="org.eclipse.jem.tests.beaninfo.BeanInfoSuite"/>
-<stringAttribute key="location1" value="D:\runtime-junit-test-workspace"/>
-<booleanAttribute key="default" value="true"/>
-<stringAttribute key="vmargs" value=""/>
-<booleanAttribute key="clearConfig" value="false"/>
-<booleanAttribute key="org.eclipse.debug.core.appendEnvironmentVariables" value="true"/>
-<stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.pde.ui.workbenchClasspathProvider"/>
-<stringAttribute key="progargs" value="-os win32 -ws win32 -arch x86 -nl en_US"/>
-<booleanAttribute key="useDefaultConfig" value="true"/>
-<stringAttribute key="org.eclipse.jdt.junit.TESTNAME" value=""/>
-<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="org.eclipse.jem.tests"/>
-<booleanAttribute key="askclear" value="true"/>
-<stringAttribute key="location0" value="D:\runtime-junit-test-workspace"/>
-</launchConfiguration>
diff --git a/tests/org.eclipse.jem.tests/Java AllSuites.launch b/tests/org.eclipse.jem.tests/Java AllSuites.launch
deleted file mode 100644
index c6393e0..0000000
--- a/tests/org.eclipse.jem.tests/Java AllSuites.launch
+++ /dev/null
@@ -1,223 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<launchConfiguration type="org.eclipse.pde.ui.JunitLaunchConfig">
-<stringAttribute key="product" value="org.eclipse.platform.ide"/>
-<booleanAttribute key="clearws" value="true"/>
-<stringAttribute key="bootstrap" value=""/>
-<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="org.eclipse.jem.tests.AllSuites"/>
-<booleanAttribute key="useProduct" value="false"/>
-<booleanAttribute key="tracing" value="true"/>
-<stringAttribute key="location1" value="D:\runtime-junit-test-workspace"/>
-<booleanAttribute key="default" value="true"/>
-<stringAttribute key="vmargs" value=""/>
-<stringAttribute key="org.eclipse.jdt.junit.CONTAINER" value=""/>
-<booleanAttribute key="clearConfig" value="false"/>
-<mapAttribute key="tracingOptions">
-<mapEntry key="org.eclipse.core.runtime/compatibility/debug" value="false"/>
-<mapEntry key="org.eclipse.update.core/debug/parsing" value="false"/>
-<mapEntry key="org.eclipse.help.base/debug/search" value="false"/>
-<mapEntry key="org.eclipse.jem.proxy/remote/debug/ioconsole" value="false"/>
-<mapEntry key="org.eclipse.help.ui/debug" value="true"/>
-<mapEntry key="org.eclipse.team.cvs.ssh/debug" value="false"/>
-<mapEntry key="org.eclipse.core.runtime/loader/debug" value="false"/>
-<mapEntry key="org.eclipse.osgi/eclipseadaptor/debug/location" value="false"/>
-<mapEntry key="org.eclipse.osgi/debug/filter" value="false"/>
-<mapEntry key="org.eclipse.core.resources/monitor/builders" value="false"/>
-<mapEntry key="org.eclipse.osgi/debug/packages" value="false"/>
-<mapEntry key="org.eclipse.core.runtime/loader/debug/success" value="false"/>
-<mapEntry key="org.eclipse.jem.beaninfo/debug/logtrace" value="default"/>
-<mapEntry key="org.eclipse.core.runtime/debug" value="false"/>
-<mapEntry key="org.eclipse.core.runtime/debug/context" value="false"/>
-<mapEntry key="org.eclipse.osgi/monitor/classes" value="false"/>
-<mapEntry key="org.eclipse.jdt.core/debug/indexmanager" value="false"/>
-<mapEntry key="org.eclipse.jem/debug/logtracefile" value="default"/>
-<mapEntry key="org.eclipse.core.runtime/jobs" value="false"/>
-<mapEntry key="org.eclipse.team.cvs.core/cvsprotocol" value="true"/>
-<mapEntry key="org.eclipse.core.runtime/url/debug/cachecopy" value="false"/>
-<mapEntry key="org.eclipse.core.runtime/loader/debug/prefixes/success" value="false"/>
-<mapEntry key="org.eclipse.ve.java.core/debug/loglevel" value="default"/>
-<mapEntry key="org.eclipse.core.runtime/registry/debug/events/plugin" value="false"/>
-<mapEntry key="com.ibm.wtp.common.util/debug/logtrace" value="false"/>
-<mapEntry key="org.eclipse.jdt.core/debug/builder" value="false"/>
-<mapEntry key="org.eclipse.jdt.core/debug/hierarchy" value="false"/>
-<mapEntry key="org.eclipse.core.runtime/loader/debug/prefixes" value="false"/>
-<mapEntry key="org.eclipse.core.resources/monitor/listeners" value="false"/>
-<mapEntry key="org.eclipse.core.resources/save/tree" value="false"/>
-<mapEntry key="org.eclipse.ui/trace/keyBindings.verbose" value="false"/>
-<mapEntry key="org.eclipse.team.cvs.core/debug" value="false"/>
-<mapEntry key="org.eclipse.jem/debug/logtrace" value="default"/>
-<mapEntry key="org.eclipse.update.core/debug/reconciler" value="false"/>
-<mapEntry key="org.eclipse.jdt.core/debug/javadelta/verbose" value="false"/>
-<mapEntry key="org.eclipse.core.resources/save/mastertable" value="false"/>
-<mapEntry key="org.eclipse.core.runtime/timing/startup" value="false"/>
-<mapEntry key="org.eclipse.ui/trace/contexts" value="false"/>
-<mapEntry key="org.eclipse.jdt.debug/debug" value="true"/>
-<mapEntry key="org.eclipse.core.runtime/loader/debug/activateplugin" value="false"/>
-<mapEntry key="org.eclipse.jdt.core/debug/selection" value="false"/>
-<mapEntry key="org.eclipse.core.runtime/jobs/errorondeadlock" value="false"/>
-<mapEntry key="org.eclipse.jdt.core/debug/buffermanager" value="false"/>
-<mapEntry key="org.eclipse.ui/trace/workbench.restore" value="false"/>
-<mapEntry key="org.eclipse.jem.util/debug/logtrace" value="false"/>
-<mapEntry key="org.eclipse.jdt.ui/debug" value="true"/>
-<mapEntry key="org.eclipse.core.runtime/loader/debug/filter/native" value="*"/>
-<mapEntry key="org.eclipse.team.core/debug" value="false"/>
-<mapEntry key="org.eclipse.core.resources/save/snapshots" value="false"/>
-<mapEntry key="org.eclipse.jdt.core/debug/compiler" value="false"/>
-<mapEntry key="org.eclipse.jem.ui/debug/loglevel" value="default"/>
-<mapEntry key="org.eclipse.osgi/trace/activation" value="false"/>
-<mapEntry key="org.eclipse.team.cvs.core/metafiles" value="false"/>
-<mapEntry key="org.eclipse.help.ui/debug/infopop" value="false"/>
-<mapEntry key="org.eclipse.core.runtime/registry/debug" value="false"/>
-<mapEntry key="org.eclipse.core.runtime/url/debug" value="false"/>
-<mapEntry key="org.eclipse.core.resources/debug" value="false"/>
-<mapEntry key="org.eclipse.osgi/debug/monitorbundles" value="false"/>
-<mapEntry key="org.eclipse.ui/debug/uijob.longwarning" value="false"/>
-<mapEntry key="org.eclipse.jem.proxy/debug/logtrace" value="default"/>
-<mapEntry key="org.eclipse.core.resources/restore/metainfo" value="false"/>
-<mapEntry key="org.eclipse.osgi/debug" value="false"/>
-<mapEntry key="org.eclipse.ui/debug/internalerror/openDialog" value="false"/>
-<mapEntry key="org.eclipse.debug.core/debug" value="true"/>
-<mapEntry key="org.eclipse.jdt.core/debug/javamodel" value="false"/>
-<mapEntry key="org.eclipse.help/debug" value="true"/>
-<mapEntry key="org.eclipse.jdt.ui/debug/allTypesCache" value="false"/>
-<mapEntry key="org.eclipse.core.resources/restore" value="false"/>
-<mapEntry key="org.eclipse.core.runtime/loader/debug/failure" value="false"/>
-<mapEntry key="org.eclipse.jface.text/debug/ContentAssistSubjectAdapters" value="false"/>
-<mapEntry key="org.eclipse.ui.intro/trace/printHTML" value="false"/>
-<mapEntry key="org.eclipse.osgi/debug/events" value="false"/>
-<mapEntry key="org.eclipse.jdt.debug.ui/debug" value="true"/>
-<mapEntry key="org.eclipse.osgi/debug/services" value="false"/>
-<mapEntry key="org.eclipse.update.core/debug/type" value="false"/>
-<mapEntry key="org.eclipse.jdt.core/debug" value="true"/>
-<mapEntry key="org.eclipse.help.base/debug" value="true"/>
-<mapEntry key="org.eclipse.core.runtime/registry/debug/events/extension" value="false"/>
-<mapEntry key="org.eclipse.ui/debug" value="false"/>
-<mapEntry key="org.eclipse.osgi/eclipseadaptor/debug/platformadmin" value="false"/>
-<mapEntry key="org.eclipse.core.resources/build/delta" value="false"/>
-<mapEntry key="org.eclipse.debug.ui/debug" value="true"/>
-<mapEntry key="org.eclipse.update.core/debug/configuration" value="false"/>
-<mapEntry key="org.eclipse.ui/trace/part.activate" value="false"/>
-<mapEntry key="org.eclipse.jem.proxy/remote/debug/notimeouts" value="false"/>
-<mapEntry key="org.eclipse.help.ui/debug/embeddedBrowser" value="false"/>
-<mapEntry key="org.eclipse.jdt.core/debug/javadelta" value="false"/>
-<mapEntry key="org.eclipse.osgi/debug/manifest" value="false"/>
-<mapEntry key="org.eclipse.ui/trace/keyBindings" value="false"/>
-<mapEntry key="org.eclipse.osgi/debug/security" value="false"/>
-<mapEntry key="org.eclipse.core.resources/restore/markers" value="false"/>
-<mapEntry key="org.eclipse.core.runtime/timing/shutdown" value="false"/>
-<mapEntry key="com.ibm.wtp.common.util/debug/logtracefile" value="false"/>
-<mapEntry key="org.eclipse.help.webapp/debug" value="true"/>
-<mapEntry key="org.eclipse.ve.java.core/debug/vetimetrace" value="false"/>
-<mapEntry key="org.eclipse.jem.ui/debug/logtracefile" value="default"/>
-<mapEntry key="org.eclipse.core.resources/save" value="false"/>
-<mapEntry key="org.eclipse.ve.java.core/debug/logtracefile" value="default"/>
-<mapEntry key="org.eclipse.ui/trace/part.create" value="false"/>
-<mapEntry key="org.eclipse.ve.java.core/debug/livewindow" value="false"/>
-<mapEntry key="org.eclipse.core.runtime/loader/debug/create" value="false"/>
-<mapEntry key="org.eclipse.osgi/debug/startlevel" value="false"/>
-<mapEntry key="org.eclipse.core.runtime/loader/debug/prefixes/failure" value="false"/>
-<mapEntry key="org.eclipse.ui/trace/workbench.start" value="false"/>
-<mapEntry key="org.eclipse.ui/trace/handlers.verbose.commandId" value=""/>
-<mapEntry key="org.eclipse.ant.core/debug" value="true"/>
-<mapEntry key="org.eclipse.team.cvs.core/dirtycaching" value="false"/>
-<mapEntry key="org.eclipse.core.resources/save/metainfo" value="false"/>
-<mapEntry key="org.eclipse.update.configurator/debug" value="false"/>
-<mapEntry key="org.eclipse.update.core/debug/installhandler" value="false"/>
-<mapEntry key="org.eclipse.osgi/debug/bundleTime" value="false"/>
-<mapEntry key="org.eclipse.core.runtime/loader/debug/filter/loader" value="*"/>
-<mapEntry key="org.eclipse.ve.java.core/debug/logtrace" value="default"/>
-<mapEntry key="org.eclipse.core.resources/build/needbuild" value="false"/>
-<mapEntry key="org.eclipse.core.resources/restore/syncinfo" value="false"/>
-<mapEntry key="org.eclipse.help.ui/debug/embeddedBrowser/inprocess" value="false"/>
-<mapEntry key="org.eclipse.core.resources/build/invoking" value="false"/>
-<mapEntry key="org.eclipse.team.cvs.core/syncchangeevents" value="false"/>
-<mapEntry key="org.eclipse.core.runtime/loader/debug/actions" value="false"/>
-<mapEntry key="org.eclipse.ui.intro/trace/logInfo" value="true"/>
-<mapEntry key="org.eclipse.core.runtime/loader/debug/filter/resource" value="*"/>
-<mapEntry key="org.eclipse.update.core/debug/web" value="false"/>
-<mapEntry key="org.eclipse.core.resources/build/failure" value="false"/>
-<mapEntry key="org.eclipse.core.resources/refresh" value="false"/>
-<mapEntry key="org.eclipse.osgi/debug/loader" value="false"/>
-<mapEntry key="org.eclipse.osgi/monitor/activation" value="false"/>
-<mapEntry key="org.eclipse.ui/trace/handlers.verbose" value="false"/>
-<mapEntry key="org.eclipse.jem.beaninfo/debug/loglevel" value="default"/>
-<mapEntry key="org.eclipse.osgi/debug/packageadmin" value="false"/>
-<mapEntry key="org.eclipse.jdt.core/debug/search" value="false"/>
-<mapEntry key="org.eclipse.team.core/streams" value="false"/>
-<mapEntry key="org.eclipse.core.runtime/jobs/beginend" value="false"/>
-<mapEntry key="org.eclipse.osgi/debug/packageadmin/timing" value="false"/>
-<mapEntry key="org.eclipse.update.core/debug/install" value="false"/>
-<mapEntry key="org.eclipse.jem.proxy/remote/debug/debugvm" value="false"/>
-<mapEntry key="org.eclipse.core.resources/history" value="false"/>
-<mapEntry key="org.eclipse.ve.java.core/debug/xmltext" value="false"/>
-<mapEntry key="org.eclipse.jem.util/debug/logtracefile" value="false"/>
-<mapEntry key="org.eclipse.team.cvs.core/threading" value="false"/>
-<mapEntry key="org.eclipse.jdt.core/debug/postaction" value="false"/>
-<mapEntry key="org.eclipse.jdt.core/debug/zipaccess" value="false"/>
-<mapEntry key="org.eclipse.core.resources/save/markers" value="false"/>
-<mapEntry key="org.eclipse.osgi/eclipseadaptor/debug/platformadmin/resolver" value="false"/>
-<mapEntry key="org.eclipse.jem.proxy/remote/debug/vmtraceout" value="true"/>
-<mapEntry key="com.ibm.wtp.common.util/debug/loglevel" value="WARNING"/>
-<mapEntry key="org.eclipse.jem.ui/debug/logtrace" value="default"/>
-<mapEntry key="org.eclipse.core.resources/restore/tree" value="false"/>
-<mapEntry key="org.eclipse.update.core/debug/warning" value="false"/>
-<mapEntry key="org.eclipse.core.runtime/contenttypes/debug" value="false"/>
-<mapEntry key="org.eclipse.core.expressions/tracePropertyResolving" value="false"/>
-<mapEntry key="org.eclipse.core.runtime/url/debug/cachelookup" value="false"/>
-<mapEntry key="org.eclipse.core.runtime/registry/debug/dump" value=""/>
-<mapEntry key="org.eclipse.jem/debug/loglevel" value="default"/>
-<mapEntry key="org.eclipse.pde.build/debug" value="false"/>
-<mapEntry key="org.eclipse.core.resources/preferences" value="false"/>
-<mapEntry key="org.eclipse.osgi/trace/classLoading" value="false"/>
-<mapEntry key="org.eclipse.core.runtime/jobs/timing" value="false"/>
-<mapEntry key="org.eclipse.osgi/eclipseadaptor/debug" value="false"/>
-<mapEntry key="org.eclipse.core.resources/save/syncinfo" value="false"/>
-<mapEntry key="org.eclipse.osgi/trace/filters" value="trace.properties"/>
-<mapEntry key="org.eclipse.jem.util/debug/loglevel" value="WARNING"/>
-<mapEntry key="org.eclipse.ui/trace/graphics" value="false"/>
-<mapEntry key="org.eclipse.jdt.ui/debug/ASTProvider" value="false"/>
-<mapEntry key="org.eclipse.jem.beaninfo/debug/logtracefile" value="default"/>
-<mapEntry key="org.eclipse.core.runtime/config/debug" value="false"/>
-<mapEntry key="org.eclipse.core.runtime/url/debug/connect" value="false"/>
-<mapEntry key="org.eclipse.team.core/refreshjob" value="false"/>
-<mapEntry key="org.eclipse.core.runtime/loader/debug/properties" value="false"/>
-<mapEntry key="org.eclipse.ui/trace/part.listeners" value="false"/>
-<mapEntry key="org.eclipse.team.cvs.ssh/ssh_protocol" value="false"/>
-<mapEntry key="org.eclipse.team.core/backgroundevents" value="false"/>
-<mapEntry key="org.eclipse.update.core/debug" value="true"/>
-<mapEntry key="org.eclipse.jem.proxy/debug/logtracefile" value="default"/>
-<mapEntry key="org.eclipse.core.runtime/jobs/locks" value="false"/>
-<mapEntry key="org.eclipse.core.resources/natures" value="false"/>
-<mapEntry key="org.eclipse.jem.proxy/debug/loglevel" value="default"/>
-<mapEntry key="org.eclipse.ui/trace/contexts.verbose" value="false"/>
-<mapEntry key="org.eclipse.core.resources/restore/mastertable" value="false"/>
-<mapEntry key="org.eclipse.core.runtime/preferences/debug" value="false"/>
-<mapEntry key="org.eclipse.ui/trace/perspective" value="false"/>
-<mapEntry key="org.eclipse.ui/debug/job.stale" value="false"/>
-<mapEntry key="org.eclipse.jdt.core/debug/cpresolution" value="false"/>
-<mapEntry key="org.eclipse.core.resources/restore/snapshots" value="false"/>
-<mapEntry key="org.eclipse.ui/trace/handlers" value="false"/>
-<mapEntry key="org.eclipse.jdt.core/debug/completion" value="false"/>
-<mapEntry key="org.eclipse.osgi/monitor/resources" value="false"/>
-<mapEntry key="org.eclipse.help.webapp/debug/workingsets" value="false"/>
-<mapEntry key="org.eclipse.ui.intro/debug" value="true"/>
-<mapEntry key="org.eclipse.core.runtime/debug/pluginstopper" value="false"/>
-<mapEntry key="org.eclipse.osgi/eclipseadaptor/converter/debug" value="false"/>
-<mapEntry key="org.eclipse.help/debug/context" value="false"/>
-<mapEntry key="org.eclipse.core.runtime/registry/debug/resolve" value="false"/>
-<mapEntry key="org.eclipse.osgi/trace/filename" value="runtime.traces"/>
-<mapEntry key="org.eclipse.jface.text/debug/AnnotationPainter" value="false"/>
-<mapEntry key="org.eclipse.help/debug/protocols" value="false"/>
-<mapEntry key="org.eclipse.core.runtime/loader/debug/filter/class" value="*"/>
-</mapAttribute>
-<booleanAttribute key="org.eclipse.debug.core.appendEnvironmentVariables" value="true"/>
-<stringAttribute key="selectedPlugin" value="org.eclipse.jem.beaninfo"/>
-<stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.pde.ui.workbenchClasspathProvider"/>
-<booleanAttribute key="org.eclipse.jdt.junit.KEEPRUNNING_ATTR" value="false"/>
-<booleanAttribute key="useDefaultConfig" value="true"/>
-<stringAttribute key="progargs" value="-os win32 -ws win32 -arch x86 -nl en_US"/>
-<stringAttribute key="org.eclipse.jdt.junit.TESTNAME" value=""/>
-<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="org.eclipse.jem.tests"/>
-<booleanAttribute key="askclear" value="true"/>
-<stringAttribute key="location0" value="D:\runtime-junit-test-workspace"/>
-<stringAttribute key="application" value="org.eclipse.pde.junit.runtime.coretestapplication"/>
-</launchConfiguration>
diff --git a/tests/org.eclipse.jem.tests/about.html b/tests/org.eclipse.jem.tests/about.html
deleted file mode 100644
index 6f6b96c..0000000
--- a/tests/org.eclipse.jem.tests/about.html
+++ /dev/null
@@ -1,22 +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>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/tests/org.eclipse.jem.tests/about.ini b/tests/org.eclipse.jem.tests/about.ini
deleted file mode 100644
index a21a3ec..0000000
--- a/tests/org.eclipse.jem.tests/about.ini
+++ /dev/null
@@ -1,29 +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 (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/tests/org.eclipse.jem.tests/about.mappings b/tests/org.eclipse.jem.tests/about.mappings
deleted file mode 100644
index bddaab4..0000000
--- a/tests/org.eclipse.jem.tests/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@
\ No newline at end of file
diff --git a/tests/org.eclipse.jem.tests/about.properties b/tests/org.eclipse.jem.tests/about.properties
deleted file mode 100644
index 835f1b5..0000000
--- a/tests/org.eclipse.jem.tests/about.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
-###############################################################################
-#
-# $Source: /cvsroot/webtools/jeetools.move/webtools.javaee.tests.git/tests/org.eclipse.jem.tests/about.properties,v $
-# $Revision: 1.6 $  $Date: 2005/02/15 23:01:05 $
-#
-
-# 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.
-
-blurb=Java EMF Model Tests\n\
-\n\
-Version: {featureVersion}\n\
-Build id: {0}\n\
-\n\
-(c) Copyright Eclipse contributors and others. 2000, 2004.  All rights reserved.\n\
-Visit http://www.eclipse.org/vep
diff --git a/tests/org.eclipse.jem.tests/build.properties b/tests/org.eclipse.jem.tests/build.properties
deleted file mode 100644
index 32ac133..0000000
--- a/tests/org.eclipse.jem.tests/build.properties
+++ /dev/null
@@ -1,26 +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,\
-               plugin.properties,\
-               javatests.jar,\
-               vm/tests.jar,\
-               about.html,\
-               testdata/,\
-               test.xml,\
-               about.ini,\
-               about.mappings,\
-               about.properties,\
-               eclipse32.gif
-jars.compile.order = vm/tests.jar,\
-                     javatests.jar
-source.vm/tests.jar = vm_tests/
-source.javatests.jar = javatests/
-src.includes = proxy.jars
diff --git a/tests/org.eclipse.jem.tests/eclipse32.gif b/tests/org.eclipse.jem.tests/eclipse32.gif
deleted file mode 100644
index f71a8f6..0000000
--- a/tests/org.eclipse.jem.tests/eclipse32.gif
+++ /dev/null
Binary files differ
diff --git a/tests/org.eclipse.jem.tests/javatests/InitParserTest46376.java b/tests/org.eclipse.jem.tests/javatests/InitParserTest46376.java
deleted file mode 100644
index 8a51e0c..0000000
--- a/tests/org.eclipse.jem.tests/javatests/InitParserTest46376.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*******************************************************************************
- * Copyright (c)  2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Eclipse Public License v1.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: InitParserTest46376.java,v $
- *  $Revision: 1.2 $  $Date: 2005/02/15 23:00:16 $ 
- */
- 
-/**
- * This is to test for defect [46376].
- * 
- * SameName test. This is test where you have this:
- * 	initParserTest46376.SameNameTestClass.java
- * 	InitParserTest46376.java
- *  
- * Before [46376] the Static parser would find throw NoClassDefFoundError on initParserTest46376 when looking for
- * SameNameTestClass and never find the class.
- * 
- * To compile in Eclipse we need to have one of the classes be in the default package. Eclipse complains if we didn't.
- * But there is nothing to stop this from happening with packages too if they are spread across compile groups.  
- */
-public class InitParserTest46376 {
-
-}
diff --git a/tests/org.eclipse.jem.tests/javatests/initParserTest46376/SameNameTestClass.java b/tests/org.eclipse.jem.tests/javatests/initParserTest46376/SameNameTestClass.java
deleted file mode 100644
index 223ab56..0000000
--- a/tests/org.eclipse.jem.tests/javatests/initParserTest46376/SameNameTestClass.java
+++ /dev/null
@@ -1,38 +0,0 @@
-package initParserTest46376;
-/*******************************************************************************
- * Copyright (c)  2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Eclipse Public License v1.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: SameNameTestClass.java,v $
- *  $Revision: 1.2 $  $Date: 2005/02/15 23:00:16 $ 
- */
-/**
- * This is to test for defect [46376].
- * 
- * SameName test. This is test where you have this:
- * 	InitParserTest46376.SameNameTestClass.java
- * 	InitParserTest46376.java
- * 
- * and
- * 
- * 	new org.eclipse.jem.tests.proxy.initParser.SameNameTestClass.RealClass()
- * 
- * Before [46376] the Static parser would find SameNameTestClass.java instead of the RealClass and would of failed.
- * To compile in Eclipse we need to have one of the classes be in the default package. Eclipse complains if we didn't.
- * But there is nothing to stop this from happening with packages too if they are spread across compile groups.  
- */
-public class SameNameTestClass {
-	
-	public boolean equals(Object other) {
-		// To make test easier, we simply looking if both of same type.
-		return other != null && other.getClass() == SameNameTestClass.class;
-	}
-
-}
diff --git a/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/.classpath b/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/.classpath
deleted file mode 100644
index fb50116..0000000
--- a/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/.classpath
+++ /dev/null
@@ -1,6 +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="output" path="bin"/>
-</classpath>
diff --git a/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/AllSuites.java b/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/AllSuites.java
deleted file mode 100644
index 0092c67..0000000
--- a/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/AllSuites.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.jem.tests;
-/*
- *  $RCSfile: AllSuites.java,v $
- *  $Revision: 1.6 $  $Date: 2005/02/15 23:00:16 $ 
- */
-import org.eclipse.jem.tests.beaninfo.BeanInfoSuite;
-import org.eclipse.jem.tests.instantiation.InstantiationSuite;
-import org.eclipse.jem.tests.modelListeners.ListenersSuite;
-import org.eclipse.jem.tests.proxy.ide.IDEProxySuite;
-import org.eclipse.jem.tests.proxy.initParser.InitParserSuite;
-import org.eclipse.jem.tests.proxy.initParser.tree.ASTParserSuite;
-import org.eclipse.jem.tests.proxy.remote.RemoteProxySuite;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-public class AllSuites extends TestSuite {
-	// Testa cases to be include in the suite
-	private static Class suitesList[] = {
-		InitParserSuite.class,  
-		ASTParserSuite.class,
-		RemoteProxySuite.class,
-		IDEProxySuite.class,
-		BeanInfoSuite.class,
-		InstantiationSuite.class,
-		ListenersSuite.class,
-		                                 } ;
-	public static String pkgName = "Java EMF Model jUnit Test Suite" ;
-    
-	/**
-	 * Constructor for PackageSuite.
-	 */
-	public AllSuites() {
-		super();
-		populateSuite() ;
-	}
-
-	/**
-	 * Constructor for PackageSuite.
-	 * @param theClass
-	 */
-	public AllSuites(Class theClass) {
-		super(theClass);
-		populateSuite() ;
-	}
-
-	/**
-	 * Constructor for PackageSuite.
-	 * @param name
-	 */
-	public AllSuites(String name) {
-		super(name);
-		populateSuite() ;
-	}
-
-    private void populateSuite () {
-    	for (int i=0; i<suitesList.length; i++)
-    	  try {
-			Test ts = (Test) suitesList[i].newInstance() ;
-			addTest(ts) ;
-		  }
-		  catch (Exception e) {}		 
-    }
-    
-	public static Test suite() {
-		return new AllSuites(pkgName);
-	}
-
-}
diff --git a/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/JavaProjectUtil.java b/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/JavaProjectUtil.java
deleted file mode 100644
index 35a1882..0000000
--- a/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/JavaProjectUtil.java
+++ /dev/null
@@ -1,260 +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.jem.tests;
-/*
- *  $RCSfile: JavaProjectUtil.java,v $
- *  $Revision: 1.11 $  $Date: 2005/02/15 23:00:16 $ 
- */
-
-
-import java.io.File;
-import java.io.IOException;
-import java.net.MalformedURLException;
-import java.net.URL;
-
-import org.eclipse.ant.core.AntRunner;
-import org.eclipse.core.resources.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.runtime.jobs.IJobManager;
-import org.eclipse.jdt.core.*;
-import org.osgi.framework.Bundle;
-
-import org.eclipse.jem.internal.proxy.core.ProxyPlugin;
-
-/**
- * The purpose of this class is to be a utility for manipulating/populating java projects.
- *  1) Get a java project as one of the resources.
- *  2) Create a project from a directory. The directory needs to be all set up to be a project already. Typically
- *     from an unzip.
- */
-
-public class JavaProjectUtil {	
-	public static IProject getProject(String projectName) throws CoreException {
-		IProject project = ResourcesPlugin.getWorkspace().getRoot().getProject(projectName);
-		return (project.exists()) ? project: null;
-	}
-	
-	
-	/**
-	 * Create a project from the path. The path will be a complete project, including a .project file.
-	 * 
-	 * @param workspace
-	 * @param projectPath Needs to be a complete path to a directory within the file system. The directory must be a complete project including .project file.
-	 * @param pm
-	 * @return The new IProject.
-	 * @throws CoreException
-	 */
-	public static IProject createProject(IWorkspace workspace, IPath projectPath, final IProgressMonitor pm) throws CoreException {
-		IProjectDescription newDescription = null;
-		
-		File projectFile = new File(projectPath.toFile(), IProjectDescription.DESCRIPTION_FILE_NAME);
-		if (!projectFile.exists())
-			throw new CoreException(new Status(IStatus.ERROR, JavaTestsPlugin.getPlugin().getBundle().getSymbolicName(), 0, "Project file not in project directory. Couldn't create project \""+projectPath.toString()+"\"", null));
-
-
-		IPath projectFilePath = new Path(projectFile.getPath());
-		newDescription = workspace.loadProjectDescription(projectFilePath);
-		
-		// create the new project operation
-		final IProject project = workspace.getRoot().getProject(newDescription.getName());		
-		final IProjectDescription description = newDescription;
-		ResourcesPlugin.getWorkspace().run(new IWorkspaceRunnable() {		
-			public void run(IProgressMonitor monitor) throws CoreException {
-				project.create(description, new SubProgressMonitor(monitor, 1000));
-				project.open(new SubProgressMonitor(monitor, 1000));				
-			}
-		}, project, 0, pm);
-		
-		return project;
-	}
-
-	/**
-	 * Create an empty project in the workspace root. If there is a .project file already there, then use it.
-	 * @param workspace The workspace to create projec in.
-	 * @param projectPath The name of the project. It should only be one segment long, and that will be the name of the project.
-	 * @param pm
-	 * @return The project.
-	 * @throws CoreException
-	 * 
-	 * @since 1.0.0
-	 */
-	public static IProject createEmptyJavaProject(IWorkspace workspace, IPath projectPath, final IProgressMonitor pm) throws CoreException {
-		projectPath = workspace.getRoot().getFullPath().append(projectPath);	// Put it into the workspace relative.
-		File projectFile = new File(projectPath.toFile(), IProjectDescription.DESCRIPTION_FILE_NAME);
-		if (projectFile.exists())
-			return createProject(workspace, projectPath, pm);	// Let it be created normally.
-
-		// create the new project operation
-		final IProject project = workspace.getRoot().getProject(projectPath.lastSegment());		
-		ResourcesPlugin.getWorkspace().run(new IWorkspaceRunnable() {		
-			public void run(IProgressMonitor monitor) throws CoreException {
-				project.create(new SubProgressMonitor(monitor, 1000));
-				project.open(new SubProgressMonitor(monitor, 1000));
-				IProjectDescription description = project.getDescription();
-				String[] natureids = description.getNatureIds();
-				for (int i = 0; i < natureids.length; i++) {
-					if (natureids[i].equals("org.eclipse.jdt.core.javanature"))
-						return;	// Already has nature.
-				}
-				String[] newNatureids = new String[natureids.length+1];
-				newNatureids[0] = "org.eclipse.jdt.core.javanature";
-				System.arraycopy(natureids, 0, newNatureids, 1, natureids.length);
-				description.setNatureIds(newNatureids);
-				project.setDescription(description, new SubProgressMonitor(monitor, 1000));
-				// Need to put out a classfile too. We need a src and a bin directory for the classpath.
-				IFolder sf = project.getFolder("src");
-				sf.create(true, true, new SubProgressMonitor(monitor, 1000));
-				IFolder bf = project.getFolder("bin");
-				bf.create(true, true, new SubProgressMonitor(monitor, 1000));
-				IFile cp = project.getFile(".classpath"); 
-				try {
-					cp.create(getClass().getResource(".classpath").openStream(), true, new SubProgressMonitor(monitor, 1000));
-				} catch (IOException e) {
-					e.printStackTrace();
-				}
-			}
-		}, workspace.getRoot(), 0, pm);
-		
-		return project;
-	}
-	
-	/**
-	 * Delete a project and all files from the project.
-	 * @param project
-	 * @throws CoreException
-	 */
-	public static void deleteProject(IProject project) throws CoreException {
-		if (project != null) {
-			project.delete(true, false, null); // Get rid of the project and the files themselves.
-		}
-	}
-	
-
-	/**
-	 * This sets the workspace autobuild to the specified state. It returns what
-	 * the state was previously so that it can be later restored.
-	 * @param autoBuild
-	 * @return Previous autoBuild state.
-	 * @throws CoreException
-	 */
-	public static boolean setAutoBuild(boolean autoBuild) throws CoreException {
-		IWorkspace workspace = ResourcesPlugin.getWorkspace();
-		if (autoBuild != workspace.isAutoBuilding()) {
-			IWorkspaceDescription description = workspace.getDescription();
-			description.setAutoBuilding(true);
-			workspace.setDescription(description);
-			return !autoBuild;	// It wasn't this state.			
-		} else
-			return autoBuild;	// It already is this state. 		
-	}
-	
-	/**
-	 * Import the given projects from the given zipfiles into the current workspace root.
-	 * @param projectNames The array of project names to create
-	 * @param zipFiles The zipfiles containing each project. It must be a complete project. 
-	 *                 The first directory in the zip must be the project directory. 
-	 *                 It must be the same name as from projectNames. Also it must include a .project file
-	 *                 in that directory.
-	 * @return The array of IProjects that were created.
-	 * @throws CoreException
-	 */
-	public static IProject[] importProjects(final String[] projectNames, final String[] zipFiles) throws CoreException {
-		// Delete/create/populate within a runnable so that the build is done only after all changes have been made.
-		// Make sure autobuild is on.
-		final IWorkspace workspace = ResourcesPlugin.getWorkspace();
-		final IProject[] result = new IProject[projectNames.length];
-		workspace.run(new IWorkspaceRunnable() {
-			public void run(IProgressMonitor monitor) throws CoreException {
-				// First import all, then after that, create the projects.
-				IPath rootLocation = workspace.getRoot().getLocation();
-				URL installLoc = JavaTestsPlugin.getPlugin().getBundle().getEntry("/");					
-				try {
-					String antFile = Platform.asLocalURL(new URL(installLoc, "testdata/unzip.xml")).getFile();
-					for (int i = 0; i < zipFiles.length; i++) {
-						// First create/recreate the project.
-						IProject p = getProject(projectNames[i]);
-						if (p != null)
-							p.delete(true, true, new SubProgressMonitor(monitor, 50)); // Get rid of it, we want a clean one for testing.
-					
-						// Now import the requested files.
-						AntRunner ant = new AntRunner();
-						ant.setBuildFileLocation(antFile);
-						ant.setArguments(new String[] { "-Dzipfrom=" + zipFiles[i], "-Dzipto=" + rootLocation.toString()});
-						ant.run(new SubProgressMonitor(monitor, 50));
-					}
-					for (int i = 0; i < zipFiles.length; i++) {
-						result[i] = createProject(workspace, rootLocation.append(projectNames[i]), new SubProgressMonitor(monitor, 50));
-					}
-				} catch (MalformedURLException e) {
-				} catch (IOException e) {
-				}
-			}
-		}, workspace.getRoot(), 0, null);
-		
-		return result;
-	}
-
-	static int cfSuffix = 0;
-	/**
-	 * Add a path to plugin jar to the java project's class path.
-	 * @param bundle The plugin where the jar is located.
-	 * @param pathToJar Path to the jar within the above plugin
-	 * @param project java project to add to.
-	 * 
-	 * @since 1.0.0
-	 */
-	public static void addBundleJarToPath(Bundle bundle, String pathToJar, final IJavaProject project, IProgressMonitor pm) throws CoreException {
-		final IPath actualPath = new Path(ProxyPlugin.getPlugin().localizeFromBundleAndFragments(bundle, pathToJar));
-		if (actualPath.isEmpty())
-			return;	// Didn't exist.
-		
-		final IWorkspace workspace = ResourcesPlugin.getWorkspace();
-		workspace.run(new IWorkspaceRunnable() {
-			public void run(IProgressMonitor monitor) throws CoreException {		
-				if (actualPath.toFile().isFile()) {
-					// It is a jar, this will be during runtime
-					// Create an external jar entry.
-					IClasspathEntry[] raw = project.getRawClasspath();
-					IClasspathEntry[] newRaw = new IClasspathEntry[raw.length+1];
-					newRaw[raw.length] = JavaCore.newLibraryEntry(actualPath, null, null);
-					System.arraycopy(raw, 0, newRaw, 0, raw.length);
-					project.setRawClasspath(newRaw, new SubProgressMonitor(monitor, 100));
-				} else {
-					// It is a path to class folder, this will be during development time.
-					// But classfolders MUST exist in the workspace. JDT doesn't understand them outside workspace,
-					// so we will link it into the project.
-					IFolder cf = project.getProject().getFolder("linkbin"+(++cfSuffix));
-					cf.createLink(actualPath, 0, new SubProgressMonitor(monitor, 100));
-					// Create class folder entry.
-					IClasspathEntry[] raw = project.getRawClasspath();
-					IClasspathEntry[] newRaw = new IClasspathEntry[raw.length+1];
-					newRaw[raw.length] = JavaCore.newLibraryEntry(cf.getFullPath(), null, null);
-					System.arraycopy(raw, 0, newRaw, 0, raw.length);
-					project.setRawClasspath(newRaw, new SubProgressMonitor(monitor, 100));
-				}
-			}
-		}, workspace.getRoot(), 0, pm);
-	}
-	
-	public static void waitForAutoBuild() throws CoreException {
-		IJobManager jobManager = Platform.getJobManager();
-		if (jobManager.find(ResourcesPlugin.FAMILY_AUTO_BUILD).length > 0) {
-			while (true) {
-				try {
-					jobManager.join(ResourcesPlugin.FAMILY_AUTO_BUILD, new NullProgressMonitor());
-					break;
-				} catch (InterruptedException e) {
-				}
-			}
-		}
-
-	}
-}
diff --git a/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/JavaTestsPlugin.java b/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/JavaTestsPlugin.java
deleted file mode 100644
index f1d5083..0000000
--- a/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/JavaTestsPlugin.java
+++ /dev/null
@@ -1,38 +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.jem.tests;
-/*
- *  $RCSfile: JavaTestsPlugin.java,v $
- *  $Revision: 1.5 $  $Date: 2005/02/15 23:00:16 $ 
- */
-import org.eclipse.core.runtime.Plugin;
-
-/**
- * @author richkulp
- *
- * 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 JavaTestsPlugin extends Plugin {
-
-	private static JavaTestsPlugin PLUGIN;
-	/**
-	 * @param descriptor
-	 */
-	public JavaTestsPlugin() {
-		PLUGIN = this;
-	}
-	
-	public static JavaTestsPlugin getPlugin() {
-		return PLUGIN;
-	}
-
-}
diff --git a/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/beaninfo/AbstractBeanInfoTestCase.java b/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/beaninfo/AbstractBeanInfoTestCase.java
deleted file mode 100644
index 8a3676b..0000000
--- a/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/beaninfo/AbstractBeanInfoTestCase.java
+++ /dev/null
@@ -1,99 +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.jem.tests.beaninfo;
-/*
- *  $RCSfile: AbstractBeanInfoTestCase.java,v $
- *  $Revision: 1.9 $  $Date: 2005/02/15 23:00:16 $ 
- */
-import java.util.*;
-
-import junit.framework.TestCase;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.emf.ecore.resource.ResourceSet;
-
-import org.eclipse.jem.internal.beaninfo.ImplicitItem;
-import org.eclipse.jem.internal.beaninfo.PropertyDecorator;
-import org.eclipse.jem.internal.beaninfo.adapters.BeaninfoNature;
-import org.eclipse.jem.internal.beaninfo.core.Utilities;
-import org.eclipse.jem.internal.proxy.core.*;
-import org.eclipse.jem.java.JavaClass;
-import org.eclipse.jem.tests.JavaProjectUtil;
-
-/**
- * @author richkulp
- *
- */
-public abstract class AbstractBeanInfoTestCase extends TestCase {
-
-	public AbstractBeanInfoTestCase() {
-		super();
-	}
-
-	public AbstractBeanInfoTestCase(String name) {
-		super(name);
-	}
-	
-	protected BeaninfoNature nature;
-	protected ResourceSet rset;
-
-	public static final String 
-		TEST_BEANINFO_PROJECT = "Test BeanInfo",	//$NON-NLS-1$
-		TEST_BEANINFO_BEANINFOS_PROJECT = "Test BeanInfo BeanInfos", //$NON-NLS-1$
-		TEST_BEANINFO_PREREQ_PROJECT = "Test BeanInfo Prereq"; //$NON-NLS-1$
-
-	/* (non-Javadoc)
-	 * @see junit.framework.TestCase#setUp()
-	 */
-	protected void setUp() throws Exception {
-		super.setUp();
-		IProject biProject = JavaProjectUtil.getProject(TEST_BEANINFO_PROJECT);
-		assertNotNull(biProject); 
-		nature = BeaninfoNature.getRuntime(biProject);
-		assertNotNull(nature);
-		rset = nature.getResourceSet();
-		assertNotNull(rset);
-		// We also want to remove any beaninfos from the search path that aren't from testing so that we don't get any weird side-effects.
-		ProxyFactoryRegistry registry = nature.getRegistry();
-		IArrayBeanProxy sp = Utilities.getBeanInfoSearchPath(registry);
-		// remove any that don't start with org.eclipse.jem.tests.
-		int len = sp.getLength();
-		for (int i = 0; i < len; i++) {
-			String path = ((IStringBeanProxy) sp.get(i)).stringValue();
-			if (!path.startsWith("org.eclipse.jem.tests"))
-				Utilities.removeBeanInfoPath(registry, path);
-		}
-	}
-	
-	protected int objFeatures, objNonProperties;	// Object features count and Object non-properties count. This is only initialized as needed.
-	protected Set objFeaturesSet;
-	/**
-	 * To initialize the objFeatures and objNonProperties counts when necessary. Not needed for all tests.
-	 */
-	protected void objFeaturesSetup() {
-		// Get the number of features that java.lang.Object has:
-		JavaClass objClass = (JavaClass) rset.getEObject(URI.createURI("java:/java.lang#Object"), true); //$NON-NLS-1$
-		objFeaturesSet = new HashSet();
-		objFeatures = objClass.getProperties().size();
-		// Find the number of always inherited properties.
-		objNonProperties = 0;
-		for (Iterator itr0 = objClass.getProperties().iterator(); itr0.hasNext();) {
-			EStructuralFeature p = (EStructuralFeature) itr0.next();
-			objFeaturesSet.add(p);
-			PropertyDecorator pd = Utilities.getPropertyDecorator(p);
-			if ( pd == null || (pd.getImplicitDecoratorFlag() == ImplicitItem.NOT_IMPLICIT_LITERAL && !pd.isMergeIntrospection()))
-				objNonProperties++;
-		}
-	}
-
-}
diff --git a/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/beaninfo/BeanInfoSuite.java b/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/beaninfo/BeanInfoSuite.java
deleted file mode 100644
index 2fcc94a..0000000
--- a/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/beaninfo/BeanInfoSuite.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
- *******************************************************************************/
-package org.eclipse.jem.tests.beaninfo;
-/*
- *  $RCSfile: BeanInfoSuite.java,v $
- *  $Revision: 1.9 $  $Date: 2005/02/15 23:00:16 $ 
- */
-import java.net.URL;
-
-import junit.extensions.TestSetup;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-import org.eclipse.core.resources.*;
-import org.eclipse.core.runtime.*;
-
-import org.eclipse.jem.internal.beaninfo.adapters.BeaninfoNature;
-import org.eclipse.jem.tests.JavaProjectUtil;
-import org.eclipse.jem.tests.JavaTestsPlugin;
-
-/**
- * @author richkulp
- *
- * This is the true test suite for Beaninfo Testing.
- */
-public class BeanInfoSuite extends TestSetup {
-
-	// Test cases to be include in the suite
-	private static final Class testsList[] =
-		{ TestReflection.class, // NOTE: This one must always be first because it does some tests that depend on this.
-		TestStandard.class, TestAWTSwingUI.class };
-
-	/**
-	 * Constructor for BeanInfoSuite.
-	 */
-	public BeanInfoSuite(String name) {
-		super(new TestSuite(name) {
-			{
-				for (int i = 0; i < testsList.length; i++) {
-					addTestSuite(testsList[i]);
-				}
-			}
-
-		});
-	}
-	
-	public BeanInfoSuite() {
-		this("Test BeanInfo Suite");
-	}
-
-	public static Test suite() {
-		return new BeanInfoSuite();
-	}
-
-	private boolean oldAutoBuildingState; // autoBuilding state before we started.
-	protected void setUp() throws Exception {
-		System.out.println("-- Initializing the BeanInfo test data --"); //$NON-NLS-1$
-		oldAutoBuildingState = JavaProjectUtil.setAutoBuild(true);
-		URL installURL = JavaTestsPlugin.getPlugin().getBundle().getEntry("/");
-		String[] zipPaths = new String[3];
-		zipPaths[0] = Platform.asLocalURL(new URL(installURL, "testdata/testbeaninfo.zip")).getFile();
-		zipPaths[1] = Platform.asLocalURL(new URL(installURL, "testdata/testbeaninfobeaninfos.zip")).getFile();
-		zipPaths[2] = Platform.asLocalURL(new URL(installURL, "testdata/testbeaninfopreq.zip")).getFile();
-		IProject[] projects =
-			JavaProjectUtil.importProjects(
-				new String[] {
-					AbstractBeanInfoTestCase.TEST_BEANINFO_PROJECT,
-					AbstractBeanInfoTestCase.TEST_BEANINFO_BEANINFOS_PROJECT,
-					AbstractBeanInfoTestCase.TEST_BEANINFO_PREREQ_PROJECT },
-				zipPaths);
-		assertNotNull(projects[0]);
-		assertNotNull(projects[1]);
-		assertNotNull(projects[2]);
-		JavaProjectUtil.waitForAutoBuild();
-		System.out.println("-- Data initialized --"); //$NON-NLS-1$
-
-		BeaninfoNature nature = BeaninfoNature.getRuntime(projects[0]);
-		assertNotNull(nature);
-	}
-
-	protected void tearDown() throws Exception {
-		ResourcesPlugin.getWorkspace().run(new IWorkspaceRunnable() {
-			public void run(IProgressMonitor monitor) throws CoreException {
-				JavaProjectUtil.deleteProject(JavaProjectUtil.getProject(AbstractBeanInfoTestCase.TEST_BEANINFO_PROJECT));
-				JavaProjectUtil.deleteProject(JavaProjectUtil.getProject(AbstractBeanInfoTestCase.TEST_BEANINFO_BEANINFOS_PROJECT));
-				JavaProjectUtil.deleteProject(JavaProjectUtil.getProject(AbstractBeanInfoTestCase.TEST_BEANINFO_PREREQ_PROJECT));
-			}
-		}, ResourcesPlugin.getWorkspace().getRoot(), 0, null);
-
-		JavaProjectUtil.setAutoBuild(oldAutoBuildingState);
-	}
-
-}
diff --git a/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/beaninfo/TestAWTSwingUI.java b/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/beaninfo/TestAWTSwingUI.java
deleted file mode 100644
index 741b96a..0000000
--- a/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/beaninfo/TestAWTSwingUI.java
+++ /dev/null
@@ -1,536 +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.jem.tests.beaninfo;
-/*
- *  $RCSfile: TestAWTSwingUI.java,v $
- *  $Revision: 1.7 $  $Date: 2005/02/15 23:00:16 $ 
- */
-import java.io.BufferedReader;
-import java.io.FileNotFoundException;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.io.PrintWriter;
-import java.net.URL;
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Set;
-
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.emf.ecore.ENamedElement;
-import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.jem.internal.beaninfo.MethodProxy;
-import org.eclipse.jem.internal.beaninfo.PropertyDecorator;
-import org.eclipse.jem.internal.beaninfo.core.Utilities;
-import org.eclipse.jem.java.JavaClass;
-import org.eclipse.jem.tests.JavaTestsPlugin;
-
-/**
- * @author richkulp
- *
- * AWT/Swing tests
- */
-public class TestAWTSwingUI extends AbstractBeanInfoTestCase {
-
-	/**
-	 * 
-	 */
-	public TestAWTSwingUI() {
-		super();
-	}
-
-	/**
-	 * @param name
-	 */
-	public TestAWTSwingUI(String name) {
-		super(name);
-	}
-	
-	/*
-	 * The number of properties keep increasing by version,
-	 * but there is a minimal set. This minimal set will be
-	 * stored in a file and can be loaded by this method.
-	 * This set can be used to make sure that at least the
-	 * required properties are there.
-	 * 
-	 * The filename has to be relative to the tests plugin.
-	 */
-	protected Set getNames(String filename) throws IOException {
-		Set names = new HashSet(50);
-		URL url = JavaTestsPlugin.getPlugin().getBundle().getEntry(filename);
-		assertNotNull(url);
-		BufferedReader rdr = new BufferedReader(new InputStreamReader(url.openStream()));
-		try {
-			String line = null;
-			while ((line = rdr.readLine()) != null)
-				names.add(line);
-		} finally {
-			rdr.close();
-		}
-		return names;
-	}
-	
-	/*
-	 * Test the names against the set. Print those not found in the set, 
-	 * or those in the againstSet that weren't found. Throw assert error if
-	 * any from against set not found. 
-	 * 
-	 */
-	protected void testIncludesAllNames(String id, List testNames, Set againstSet, Set exclude) {
-		Set workingAgainst = new HashSet(againstSet.size());
-		workingAgainst.addAll(againstSet);	// There may be dup testNames (like for operations), so in that case we leave againstSet alone.
-		boolean wroteAny = false;
-		for (Iterator itr = testNames.iterator(); itr.hasNext();) {
-			ENamedElement testName = (ENamedElement) itr.next();
-			if (exclude.contains(testName))
-				continue;	// This is one we want to ignore
-			if (againstSet.contains(testName.getName()))
-				workingAgainst.remove(testName.getName());	// Get rid of it since found.
-			else {
-				if (!wroteAny) {
-					wroteAny = true;
-					System.out.println("Names in list that are new for " + id + ':');
-				}
-				System.out.print("  ");
-				System.out.println(testName.getName());
-			}
-		}
-		if (wroteAny)
-			System.out.println("End of new names.");
-		
-		if (!workingAgainst.isEmpty()) {
-			System.out.println("Names that should of been found, but weren't for " + id + ':');
-			for (Iterator itr = workingAgainst.iterator(); itr.hasNext();) {
-				String name = (String) itr.next();
-				System.out.print("  ");
-				System.out.println(name);
-			}
-			System.out.println("End of missing names");
-			fail("Missing some required names for "+id+'.');
-		}
-	}
-	
-	/*
-	 * Write the names out. Call only when want to update list. Filename must
-	 * be a local file.
-	 */
-	protected void writeNames(String filename, List props, Set excluding) throws FileNotFoundException {
-		PrintWriter pr = new PrintWriter(new FileOutputStream(filename));
-		try {
-			for (Iterator itr = props.iterator(); itr.hasNext();) {
-				ENamedElement element = (ENamedElement) itr.next();
-				if (excluding != null && excluding.contains(element))
-					continue;
-				pr.println(element.getName());
-			}
-		} finally {
-			pr.close();
-		}
-	}
-	
-	/**
-	 * Reflect the entire super type hierarchy of the class passed in, including the class itself.
-	 * @param jclass
-	 */
-	protected void reflectHierachy(JavaClass jclass) {
-		JavaClass loopClass = jclass;
-		while (loopClass != null) {
-			System.out.println("Reflecting for " + loopClass.getQualifiedName()); //$NON-NLS-1$
-			loopClass.isFinal(); // This causes reflection.
-			loopClass = loopClass.getSupertype();
-		}		
-	}
-	
-	/**
-	 * Use when the compares don't match to get a sorted list of operations so that
-	 * manually verify the count.
-	 * @param jclass
-	 */
-	protected void showSortedOperations(JavaClass jclass) {
-			 List allB = jclass.getEAllOperations();
-			 String[] names = new String[allB.size()];
-			 for (int i = 0; i < names.length; i++) {
-				 names[i] = ((MethodProxy) allB.get(i)).getMethod().getMethodElementSignature();
-			 }
-			 Arrays.sort(names);
-			 System.out.println("--- List of Operations for " + jclass.toString());
-			 for (int i = 0; i < names.length; i++) {
-				 System.out.println(names[i]);
-			 }		
-	}
-	
-	/**
-	 * Use when the compares don't match to get a sorted list of properties so that
-	 * manually verify the count.
-	 * @param jclass
-	 */
-	protected void showSortedProperties(JavaClass jclass) {
-		List allP = jclass.getAllProperties();
-		String[] names = new String[allP.size()];
-		for (int i = 0; i < names.length; i++) {
-			names[i] = ((EStructuralFeature) allP.get(i)).getName();
-		}
-		Arrays.sort(names);
-		System.out.println("--- List of properties for " + jclass.toString());
-		for (int i = 0; i < names.length; i++) {
-			System.out.println(names[i]);
-		}		
-	}
-	
-	protected JavaClass getButton() {
-		return (JavaClass) rset.getEObject(URI.createURI("java:/java.awt#Button"), true); //$NON-NLS-1$
-	}
-
-	protected JavaClass getJLabel() {
-		return (JavaClass) rset.getEObject(URI.createURI("java:/javax.swing#JLabel"), true); //$NON-NLS-1$
-	}
-	
-	public void testExternalJar() throws IOException {
-		objFeaturesSetup();
-		
-		// This tests getting beaninfo out of jar. The jar is within the project. It contains ButtonBeanInfo.
-		JavaClass button = getButton();
-		reflectHierachy(button);	// First reflect all parents (not introspect).
-		// Now cause introspection.
-		
-		// To write out the names if want new set.
-//		writeNames("d:/temp/extjarprops.txt", button.getAllProperties(), objFeaturesSet);		
-		
-		Set names = getNames("testdata/extjarprops.txt");
-		testIncludesAllNames("Button", button.getAllProperties(), names, objFeaturesSet);
-
-		// To write out the names if want new set.
-//		writeNames("d:/temp/extjarops.txt", button.getEOperations(), Collections.EMPTY_SET);		
-		
-		names = getNames("testdata/extjarops.txt");
-		testIncludesAllNames("Button", button.getEOperations(), names, Collections.EMPTY_SET);
-		
-//		showSortedProperties(button);
-	}
-	
-	public void testJLabel() throws IOException {
-		objFeaturesSetup();
-		
-		// This tests JLabel beaninfo out of current project, but through search path.
-		JavaClass jlabel = getJLabel();
-		reflectHierachy(jlabel);	// First reflect all parents (not introspect).
-		// Now cause introspection.
-	
-		// To write out the names if want new set.
-//		writeNames("d:/temp/jlabelprops.txt", jlabel.getAllProperties(), objFeaturesSet);
-		
-		Set names = getNames("testdata/jlabelprops.txt");
-		testIncludesAllNames("JLabel", jlabel.getAllProperties(), names, objFeaturesSet);
-		
-		// To write out the names if want new set.
-//		writeNames("d:/temp/jlabelops.txt", jlabel.getEAllOperations(), Collections.EMPTY_SET);		
-
-		names = getNames("testdata/jlabelops.txt");
-		testIncludesAllNames("JLabel", jlabel.getEAllOperations(), names, Collections.EMPTY_SET);
-		
-//		showSortedProperties(jlabel);
-//		showSortedOperations(jlabel);
-		
-		// Test that isPreferred works both for 1.3 JVM and 1.4 and later since there was a bug in 1.3.
-		EStructuralFeature enabledSF = jlabel.getEStructuralFeature("enabled"); //$NON-NLS-1$
-		PropertyDecorator pd = Utilities.getPropertyDecorator(enabledSF);
-		assertTrue(pd.isPreferred());
-	}
-	
-	/*
-	 * At time of this test creation, this is the sorted lists for comparison purposes.
-	 * 
-		--- List of properties for java.awt.Button
-		actionCommand
-		alignmentX
-		alignmentY
-		background
-		bounds
-		class
-		colorModel
-		componentOrientation
-		cursor
-		enabled
-		events
-		focusTraversable
-		font
-		foreground
-		graphics
-		implicit
-		initializationString
-		instantiateUsing
-		label
-		locale
-		location
-		locationOnScreen
-		maximumSize
-		minimumSize
-		name
-		parent
-		preferredSize
-		serializeData
-		showing
-		size
-		toolkit
-		treeLock
-		valid
-		visible
-		
-		--- List of properties for javax.swing.JLabel
-		alignmentX
-		alignmentY
-		autoscrolls
-		background
-		border
-		bounds
-		class
-		colorModel
-		componentCount
-		componentOrientation
-		components
-		cursor
-		debugGraphicsOptions
-		disabledIcon
-		displayedMnemonic
-		doubleBuffered
-		enabled
-		events
-		focusCycleRoot
-		focusTraversable
-		font
-		foreground
-		graphics
-		height
-		horizontalAlignment
-		horizontalTextPosition
-		icon
-		iconTextGap
-		implicit
-		initializationString
-		insets
-		instantiateUsing
-		labelFor
-		layout
-		locale
-		location
-		locationOnScreen
-		managingFocus
-		maximumSize
-		minimumSize
-		name
-		nextFocusableComponent
-		opaque
-		optimizedDrawingEnabled
-		paintingTile
-		parent
-		preferredSize
-		registeredKeyStrokes
-		requestFocusEnabled
-		rootPane
-		serializeData
-		showing
-		size
-		text
-		toolTipText
-		toolkit
-		topLevelAncestor
-		treeLock
-		valid
-		validateRoot
-		verticalAlignment
-		verticalTextPosition
-		visible
-		visibleRect
-		width
-		x
-		y
-	
-		--- List of Operations for javax.swing.JLabel
-		add(java.awt.Component)
-		add(java.awt.Component,int)
-		add(java.awt.Component,java.lang.Object)
-		add(java.awt.Component,java.lang.Object,int)
-		add(java.awt.PopupMenu)
-		add(java.lang.String,java.awt.Component)
-		addNotify()
-		checkImage(java.awt.Image,java.awt.image.ImageObserver)
-		computeVisibleRect(java.awt.Rectangle)
-		contains(int,int)
-		contains(java.awt.Point)
-		createImage(int,int)
-		createImage(java.awt.image.ImageProducer)
-		createToolTip()
-		dispatchEvent(java.awt.AWTEvent)
-		doLayout()
-		equals(java.lang.Object)
-		firePropertyChange(java.lang.String,boolean,boolean)
-		firePropertyChange(java.lang.String,char,char)
-		firePropertyChange(java.lang.String,double,double)
-		firePropertyChange(java.lang.String,float,float)
-		firePropertyChange(java.lang.String,int,int)
-		firePropertyChange(java.lang.String,long,long)
-		firePropertyChange(java.lang.String,short,short)
-		getAccessibleContext()
-		getActionForKeyStroke(javax.swing.KeyStroke)
-		getAlignmentX()
-		getAlignmentY()
-		getAutoscrolls()
-		getBackground()
-		getBorder()
-		getBounds()
-		getBounds(java.awt.Rectangle)
-		getClass()
-		getClientProperty(java.lang.Object)
-		getColorModel()
-		getComponent(int)
-		getComponentAt(int,int)
-		getComponentAt(java.awt.Point)
-		getComponentCount()
-		getComponents()
-		getConditionForKeyStroke(javax.swing.KeyStroke)
-		getCursor()
-		getDisabledIcon()
-		getDisplayedMnemonic()
-		getFont()
-		getFontMetrics(java.awt.Font)
-		getForeground()
-		getGraphics()
-		getHeight()
-		getHorizontalAlignment()
-		getHorizontalTextPosition()
-		getIcon()
-		getIconTextGap()
-		getInsets()
-		getLabelFor()
-		getLayout()
-		getLocale()
-		getLocation()
-		getLocation(java.awt.Point)
-		getLocationOnScreen()
-		getMaximumSize()
-		getMinimumSize()
-		getName()
-		getNextFocusableComponent()
-		getParent()
-		getPreferredSize()
-		getRegisteredKeyStrokes()
-		getRootPane()
-		getSize()
-		getSize(java.awt.Dimension)
-		getText()
-		getToolTipText()
-		getToolkit()
-		getTopLevelAncestor()
-		getTreeLock()
-		getUI()
-		getVerticalAlignment()
-		getVerticalTextPosition()
-		getVisibleRect()
-		getWidth()
-		getX()
-		getY()
-		grabFocus()
-		hasFocus()
-		hashCode()
-		invalidate()
-		isAncestorOf(java.awt.Component)
-		isDoubleBuffered()
-		isEnabled()
-		isFocusCycleRoot()
-		isFocusTraversable()
-		isManagingFocus()
-		isOpaque()
-		isOptimizedDrawingEnabled()
-		isRequestFocusEnabled()
-		isShowing()
-		isValid()
-		isValidateRoot()
-		isVisible()
-		list()
-		list(java.io.PrintStream)
-		list(java.io.PrintStream,int)
-		list(java.io.PrintWriter,int)
-		notify()
-		notifyAll()
-		paint(java.awt.Graphics)
-		paintAll(java.awt.Graphics)
-		paintImmediately(java.awt.Rectangle)
-		prepareImage(java.awt.Image,java.awt.image.ImageObserver)
-		print(java.awt.Graphics)
-		printAll(java.awt.Graphics)
-		putClientProperty(java.lang.Object,java.lang.Object)
-		remove(int)
-		remove(java.awt.Component)
-		remove(java.awt.MenuComponent)
-		removeAll()
-		removeNotify()
-		repaint()
-		repaint(java.awt.Rectangle)
-		requestDefaultFocus()
-		requestFocus()
-		resetKeyboardActions()
-		revalidate()
-		scrollRectToVisible(java.awt.Rectangle)
-		setAlignmentX(float)
-		setAlignmentY(float)
-		setAutoscrolls(boolean)
-		setBackground(java.awt.Color)
-		setBorder(javax.swing.border.Border)
-		setBounds(int,int,int,int)
-		setBounds(java.awt.Rectangle)
-		setCursor(java.awt.Cursor)
-		setDebugGraphicsOptions(int)
-		setDisabledIcon(javax.swing.Icon)
-		setDisplayedMnemonic(char)
-		setDoubleBuffered(boolean)
-		setEnabled(boolean)
-		setFont(java.awt.Font)
-		setForeground(java.awt.Color)
-		setHorizontalAlignment(int)
-		setHorizontalTextPosition(int)
-		setIcon(javax.swing.Icon)
-		setIconTextGap(int)
-		setLabelFor(java.awt.Component)
-		setLayout(java.awt.LayoutManager)
-		setLocale(java.util.Locale)
-		setLocation(int,int)
-		setLocation(java.awt.Point)
-		setMaximumSize(java.awt.Dimension)
-		setMinimumSize(java.awt.Dimension)
-		setName(java.lang.String)
-		setNextFocusableComponent(java.awt.Component)
-		setOpaque(boolean)
-		setPreferredSize(java.awt.Dimension)
-		setRequestFocusEnabled(boolean)
-		setSize(int,int)
-		setSize(java.awt.Dimension)
-		setText(java.lang.String)
-		setToolTipText(java.lang.String)
-		setUI(javax.swing.plaf.LabelUI)
-		setVerticalAlignment(int)
-		setVerticalTextPosition(int)
-		setVisible(boolean)
-		toString()
-		transferFocus()
-		unregisterKeyboardAction(javax.swing.KeyStroke)
-		update(java.awt.Graphics)
-		updateUI()
-		validate()
-		wait()
-		wait(long)
-		wait(long,int)
-			
-	 */
-
-}
diff --git a/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/beaninfo/TestReflection.java b/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/beaninfo/TestReflection.java
deleted file mode 100644
index a5684de..0000000
--- a/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/beaninfo/TestReflection.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.jem.tests.beaninfo;
-/*
- *  $RCSfile: TestReflection.java,v $
- *  $Revision: 1.7 $  $Date: 2005/02/15 23:00:16 $ 
- */
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.emf.ecore.EOperation;
-import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.jem.internal.beaninfo.PropertyDecorator;
-import org.eclipse.jem.internal.beaninfo.core.Utilities;
-import org.eclipse.jem.java.JavaClass;
-import org.eclipse.jem.java.JavaEvent;
-import org.eclipse.jem.java.TypeKind;
-
-/**
- * @author richkulp
- * This one is for testing reflection. It is separate so that
- * test suite can guarentee that it is first.
- */
-public class TestReflection extends AbstractBeanInfoTestCase {
-
-	public TestReflection() {
-		super();
-	}
-
-	public TestReflection(String name) {
-		super(name);
-	}
-	
-	public void testReflection() {
-		// Test one without a beaninfo. This will do reflection.
-		JavaClass test1Class =
-			(JavaClass) rset.getEObject(URI.createURI("java:/org.eclipse.jem.tests.beaninfo#Test1Class"), true); //$NON-NLS-1$
-		
-		assertSame(TypeKind.CLASS_LITERAL, test1Class.getKind());
-		
-		// Test that the reflection key can find features that aren't yet loaded.
-		Object foo = rset.getEObject(URI.createURI("java:/org.eclipse.jem.tests.beaninfo#Test1Class/foo"), true); //$NON-NLS-1$
-		assertNotNull(foo);
-		
-		// Test that the reflection key can find operations that aren't yet loaded.
-		Object getFoo =
-			rset.getEObject(URI.createURI("java:/org.eclipse.jem.tests.beaninfo#Test1Class/operation/getFoo"), true); //$NON-NLS-1$
-		assertNotNull(getFoo);
-	}
-
-	public void testInnerReflectionInDefault() {
-		// Test that a property of class (through reflection) is an inner class, and the class is resolved correctly.
-		JavaClass testInnerClass =
-			(JavaClass) rset.getEObject(URI.createURI("java:/#TestDefaultInner"), true); //$NON-NLS-1$
-		
-		assertSame(TypeKind.CLASS_LITERAL, testInnerClass.getKind());
-		
-		EList properties = testInnerClass.getProperties();
-		assertEquals(1, properties.size());
-		
-		EStructuralFeature pf = (EStructuralFeature) properties.get(0);
-		assertEquals("propertyInner", pf.getName());
-		
-		PropertyDecorator pd = Utilities.getPropertyDecorator(pf);
-		assertNotNull(pd);
-		
-		JavaClass pdType = (JavaClass) pd.getPropertyType();
-		assertEquals("TestDefaultInner$Inner", pdType.getName()); 
-		assertSame(TypeKind.CLASS_LITERAL, pdType.getKind());
-	}
-	
-	public void testInnerReflectionInPackage() {
-		// Test that a property of class (through reflection) is an inner class, and the class is resolved correctly.
-		JavaClass testInnerClass =
-			(JavaClass) rset.getEObject(URI.createURI("java:/org.eclipse.jem.tests.beaninfo#TestInner"), true); //$NON-NLS-1$
-		
-		assertSame(TypeKind.CLASS_LITERAL, testInnerClass.getKind());
-		
-		EList properties = testInnerClass.getProperties();
-		assertEquals(1, properties.size());
-		
-		EStructuralFeature pf = (EStructuralFeature) properties.get(0);
-		assertEquals("propertyInner", pf.getName());
-		
-		PropertyDecorator pd = Utilities.getPropertyDecorator(pf);
-		assertNotNull(pd);
-		
-		JavaClass pdType = (JavaClass) pd.getPropertyType();
-		assertEquals("TestInner$Inner", pdType.getName()); 
-		assertSame(TypeKind.CLASS_LITERAL, pdType.getKind());
-	}
-	
-	private List getRealProps(List props) {
-		int size = props.size();
-		List newList = new ArrayList(size);
-		for (int i=0; i<size; i++) {
-			EStructuralFeature f = (EStructuralFeature) props.get(i);
-			if (Utilities.getPropertyDecorator(f) != null)
-				newList.add(f);
-		}
-		return newList;
-	}
-	
-	public void testInterfacePropertyReflection() {
-		// Test the reflection of interfaces with multiple extends on them so that properities are correct.
-		JavaClass testPropClass =
-			(JavaClass) rset.getEObject(URI.createURI("java:/org.eclipse.jem.tests.beaninfo.test#NotTopGuy"), true); //$NON-NLS-1$
-
-		assertTrue(testPropClass.isInterface());
-		
-		// Test that we don't pick up the extends stuff
-		List props = getRealProps(testPropClass.getProperties());
-		// Forgot there may be non-properties properties.
-		assertEquals(1, props.size());
-		assertEquals("number", ((EStructuralFeature) props.get(0)).getName());
-		
-		// Test that we pick up the extends stuff
-		props = getRealProps(testPropClass.getAllProperties());
-		assertEquals(3, props.size());
-		List validNames = Arrays.asList(new String[] {"number", "object", "integer"});
-		for (Iterator itr = props.iterator(); itr.hasNext();) {
-			EStructuralFeature feature = (EStructuralFeature) itr.next();
-			assertTrue("Extra feature:"+feature.getName(), validNames.contains(feature.getName()));
-		}
-	}
-	
-	public void testInterfaceEventReflection() {
-		// Test the reflection of interfaces with multiple extends on them so that events are correct.
-		JavaClass testEventClass =
-			(JavaClass) rset.getEObject(URI.createURI("java:/org.eclipse.jem.tests.beaninfo.test#NotTopGuy"), true); //$NON-NLS-1$
-
-		assertTrue(testEventClass.isInterface());
-		
-		// Test that we don't pick up the extends stuff
-		List events = testEventClass.getEvents();
-		assertTrue(events.isEmpty());
-		
-		// Test that we pick up the extends stuff
-		events = testEventClass.getAllEvents();
-		assertEquals(1, events.size());
-		assertEquals("test1ClassEvent", ((JavaEvent) events.get(0)).getName());
-	}
-	
-	public void testInterfaceOperationsReflection() {
-		// Test the reflection of interfaces with multiple extends on them so that properities are correct.
-		JavaClass testOpClass =
-			(JavaClass) rset.getEObject(URI.createURI("java:/org.eclipse.jem.tests.beaninfo.test#NotTopGuy"), true); //$NON-NLS-1$
-
-		assertTrue(testOpClass.isInterface());
-		
-		// Test that we don't pick up the extends stuff
-		List ops = testOpClass.getEOperations();
-		assertEquals(2, ops.size());
-		List validNames = Arrays.asList(new String[] {"getNumber", "setNumber"});
-		for (Iterator itr = ops.iterator(); itr.hasNext();) {
-			EOperation op = (EOperation) itr.next();
-			assertTrue("Extra operation:"+op.getName(), validNames.contains(op.getName()));
-		}
-		
-		
-		// Test that we pick up the extends stuff
-		ops = testOpClass.getEAllOperations();
-		assertEquals(8, ops.size());
-		validNames = Arrays.asList(new String[] {"getNumber", "setNumber", "getObject", "setObject", "getInteger", "setInteger", "addTest1ClassEventListener", "removeTest1ClassEventListener"});
-		for (Iterator itr = ops.iterator(); itr.hasNext();) {
-			EOperation op = (EOperation) itr.next();
-			assertTrue("Extra operation:"+op.getName(), validNames.contains(op.getName()));
-		}
-	}
-	
-	
-}
diff --git a/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/beaninfo/TestStandard.java b/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/beaninfo/TestStandard.java
deleted file mode 100644
index 2f6c694..0000000
--- a/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/beaninfo/TestStandard.java
+++ /dev/null
@@ -1,630 +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.jem.tests.beaninfo;
-/*
- *  $RCSfile: TestStandard.java,v $
- *  $Revision: 1.9 $  $Date: 2005/02/15 23:00:16 $ 
- */
-
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.core.resources.*;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IWorkspace;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.emf.ecore.*;
-import org.eclipse.emf.ecore.EOperation;
-import org.eclipse.emf.ecore.EStructuralFeature;
-
-import org.eclipse.jem.internal.beaninfo.*;
-import org.eclipse.jem.internal.beaninfo.core.Utilities;
-
-import org.eclipse.jem.java.*;
-
-/**
- * @author richkulp
- *
- * Standard BeanInfo tests.
- */
-public class TestStandard extends AbstractBeanInfoTestCase {
-
-	public TestStandard() {
-		super();
-	}
-
-	public TestStandard(String name) {
-		super(name);
-	}
-		
-	public void testArrayClassType() {
-		// Test one dimension array type for a class as final component
-		JavaClass at = (JavaClass) JavaRefFactory.eINSTANCE.reflectType("org.eclipse.jem.tests.beaninfo.Test1Class[]", rset);
-		
-		assertTrue(at.isArray());
-		assertSame(TypeKind.CLASS_LITERAL, at.getKind());
-		assertEquals(1, ((ArrayType) at).getArrayDimensions());
-		assertTrue(at.isPublic());
-		assertTrue("java.lang.Object".equals(at.getSupertype().getQualifiedName()));
-		assertTrue(at.getImplementsInterfaces().size() == 2);
-		assertTrue(at.getMethods().isEmpty());
-		assertTrue(at.getFields().isEmpty());
-		assertTrue(at.getProperties().isEmpty());
-		assertTrue(at.getEvents().isEmpty());
-		assertTrue(at.getEOperations().isEmpty());
-	}
-
-	public void testArrayPrimitiveType() {
-		// Test one dimension array type for a class as final component
-		JavaClass at = (JavaClass) JavaRefFactory.eINSTANCE.reflectType("int[]", rset);
-		
-		assertTrue(at.isArray());
-		assertSame(TypeKind.CLASS_LITERAL, at.getKind());
-		assertEquals(1, ((ArrayType) at).getArrayDimensions());		
-		assertTrue(at.isPublic());
-		assertTrue("java.lang.Object".equals(at.getSupertype().getQualifiedName()));
-		assertTrue(at.getImplementsInterfaces().size() == 2);
-		assertTrue(at.getMethods().isEmpty());
-		assertTrue(at.getFields().isEmpty());
-		assertTrue(at.getProperties().isEmpty());
-		assertTrue(at.getEvents().isEmpty());
-		assertTrue(at.getEOperations().isEmpty());
-	}
-
-	public void testArrayUndefined() {
-		// Test one dimension array type for a class as final component that is undefined.
-		JavaClass at = (JavaClass) JavaRefFactory.eINSTANCE.reflectType("XYZ[]", rset);
-		
-		assertTrue(at.isArray());
-		assertSame(TypeKind.UNDEFINED_LITERAL, at.getKind());
-	}
-
-	public void testArrayClassType2Dim() {
-		// Test one dimension array type for a class as final component
-		JavaClass at = (JavaClass) JavaRefFactory.eINSTANCE.reflectType("org.eclipse.jem.tests.beaninfo.Test1Class[][]", rset);
-		
-		assertTrue(at.isArray());
-		assertSame(TypeKind.CLASS_LITERAL, at.getKind());
-		assertEquals(2, ((ArrayType) at).getArrayDimensions());
-		assertTrue(at.isPublic());
-		assertTrue("java.lang.Object".equals(at.getSupertype().getQualifiedName()));
-		assertTrue(at.getImplementsInterfaces().size() == 2);
-		assertTrue(at.getMethods().isEmpty());
-		assertTrue(at.getFields().isEmpty());
-		assertTrue(at.getProperties().isEmpty());
-		assertTrue(at.getEvents().isEmpty());
-		assertTrue(at.getEOperations().isEmpty());
-	}
-
-	public void testArrayPrimitiveType2Dim() {
-		// Test one dimension array type for a class as final component
-		JavaClass at = (JavaClass) JavaRefFactory.eINSTANCE.reflectType("int[][]", rset);
-		
-		assertTrue(at.isArray());
-		assertSame(TypeKind.CLASS_LITERAL, at.getKind());
-		assertEquals(2, ((ArrayType) at).getArrayDimensions());		
-		assertTrue(at.isPublic());
-		assertTrue("java.lang.Object".equals(at.getSupertype().getQualifiedName()));
-		assertTrue(at.getImplementsInterfaces().size() == 2);
-		assertTrue(at.getMethods().isEmpty());
-		assertTrue(at.getFields().isEmpty());
-		assertTrue(at.getProperties().isEmpty());
-		assertTrue(at.getEvents().isEmpty());
-		assertTrue(at.getEOperations().isEmpty());
-	}
-
-	public void testArrayUndefined2Dim() {
-		// Test one dimension array type for a class as final component that is undefined.
-		JavaClass at = (JavaClass) JavaRefFactory.eINSTANCE.reflectType("XYZ[][]", rset);
-		
-		assertTrue(at.isArray());
-		assertSame(TypeKind.UNDEFINED_LITERAL, at.getKind());
-	}
-
-	public void testArrayInnerClassType() {
-		// Test one dimension array type for a class as final component
-		JavaClass at = (JavaClass) JavaRefFactory.eINSTANCE.reflectType("org.eclipse.jem.tests.beaninfo.Customer$Account[]", rset);
-		
-		assertTrue(at.isArray());
-		assertSame(TypeKind.CLASS_LITERAL, at.getKind());
-		assertEquals(1, ((ArrayType) at).getArrayDimensions());
-		assertTrue(at.isPublic());
-		assertTrue("java.lang.Object".equals(at.getSupertype().getQualifiedName()));
-		assertTrue(at.getImplementsInterfaces().size() == 2);
-		assertTrue(at.getMethods().isEmpty());
-		assertTrue(at.getFields().isEmpty());
-		assertTrue(at.getProperties().isEmpty());
-		assertTrue(at.getEvents().isEmpty());
-		assertTrue(at.getEOperations().isEmpty());
-	}
-	
-	public void testBeanDecoratorReflected() {
-		JavaClass test1Class = getTest1Class();
-
-		// Test the bean decorator.
-		BeanDecorator bd = Utilities.getBeanDecorator(test1Class);
-		assertEquals("Test1Class", bd.getName()); //$NON-NLS-1$
-		assertNull(bd.getCustomizerClass());
-	}
-
-	protected JavaClass getTest1Class() {
-		JavaClass test1Class =
-			(JavaClass) rset.getEObject(URI.createURI("java:/org.eclipse.jem.tests.beaninfo#Test1Class"), true); //$NON-NLS-1$
-		return test1Class;
-	}
-	
-	public void testLocalReflectedProperties() {
-		EList allLocalFeatures = getTest1Class().getProperties();
-		assertEquals(2, allLocalFeatures.size());
-		
-		Iterator itr = Utilities.getPropertiesIterator(allLocalFeatures);
-		boolean found = false;
-		while (itr.hasNext()) {
-			PropertyDecorator pd = (PropertyDecorator) itr.next();
-			if (pd.getName().equals("foo")) { //$NON-NLS-1$
-				found = true;
-				assertTrue(pd instanceof IndexedPropertyDecorator);
-				IndexedPropertyDecorator ip = (IndexedPropertyDecorator) pd;
-				JavaHelpers type = (JavaHelpers) ip.getPropertyType();
-				assertEquals("java.lang.String[]", type.getQualifiedName());
-				if (!type.getQualifiedName().equals("java.lang.String[]")); //$NON-NLS-1$
-					
-				Method mthd = ip.getReadMethod();
-				assertSame(rset.getEObject(URI.createURI("java:/org.eclipse.jem.tests.beaninfo#Test1Class.getFoo("), true), mthd);
-				
-				mthd = ip.getWriteMethod();
-				assertSame(rset.getEObject(URI.createURI("java:/org.eclipse.jem.tests.beaninfo#Test1Class.setFoo(java.lang.String[]"), true), mthd);
-				
-				mthd = ip.getIndexedReadMethod();
-				assertSame(rset.getEObject(URI.createURI("java:/org.eclipse.jem.tests.beaninfo#Test1Class.getFoo(int"), true), mthd);
-				
-				mthd = ip.getIndexedWriteMethod();
-				assertSame(rset.getEObject(URI.createURI("java:/org.eclipse.jem.tests.beaninfo#Test1Class.setFoo(int,java.lang.String"), true), mthd);
-				
-				break;
-			}
-		}
-
-		assertTrue(found);		
-	}
-	
-	public void testLocalReflectedOperations() {
-		JavaClass test1Class = getTest1Class();
-		
-		// Test local operations.
-		EList allLocalOperations = test1Class.getEOperations();
-		assertEquals(10, allLocalOperations.size());
-		Iterator itr = allLocalOperations.iterator();
-		// This is the desired method that the operation of interest points to.
-		Method desired =
-			(Method) rset.getEObject(URI.createURI(
-				"java:/org.eclipse.jem.tests.beaninfo#Test1Class.setFoo(int,java.lang.String"), true); //$NON-NLS-1$
-		boolean found = false;
-		while (itr.hasNext()) {
-			MethodProxy bhav = (MethodProxy) itr.next();
-			if (bhav.getMethod() == desired) {
-				found = true;
-				List parms = Utilities.getMethodDecorator(bhav).getParameterDescriptors();
-				assertEquals(2, parms.size());
-				ParameterDecorator pmd = (ParameterDecorator) parms.get(0);
-				assertEquals("index", pmd.getName());
-				
-				break;
-			}
-		}
-		assertTrue(found);		
-	}
-	
-	public void testLocalReflectedEvents() {
-		JavaClass test1Class = getTest1Class();
-		
-		// Test event set reflected.
-		List events = test1Class.getEvents();
-		assertEquals(2, events.size());
-		Iterator itr = events.iterator();
-		boolean foundevt1 = false, foundevt2 = false;
-		while (itr.hasNext()) {
-			JavaEvent event = (JavaEvent) itr.next();
-			if ("test1ClassEvent".equals(event.getName())) { //$NON-NLS-1$
-				foundevt1 = true;
-				EventSetDecorator edec = Utilities.getEventSetDecorator(event);
-				List mlist = edec.getListenerMethods();
-				assertEquals(2, mlist.size());
-			} else if ("test1ClassUnicastEvent".equals(event.getName())) { //$NON-NLS-1$
-				foundevt2 = true;
-				EventSetDecorator edec = Utilities.getEventSetDecorator(event);
-				assertTrue(edec.isUnicast());
-			}
-		}
-		assertTrue(foundevt1);
-		assertTrue(foundevt2);
-	}
-	
-	protected JavaClass getTest2ClassB() {
-		return (JavaClass) rset.getEObject(URI.createURI("java:/org.eclipse.jem.tests.beaninfo#Test2ClassB"), true); //$NON-NLS-1$
-	}
-
-	public void testBeanDecoratorIntrospected() {
-		// Test one with a beaninfo.
-		JavaClass test2ClassB = getTest2ClassB();
-		BeanDecorator bd = Utilities.getBeanDecorator(test2ClassB);
-		assertEquals("Test2ClassB", bd.getName());
-		
-		// The following will test if search across beaninfo search path worked. It would fail if it didn't work.
-		assertEquals("A name for this class.", bd.getDisplayName()); //$NON-NLS-1$
-		assertFalse(bd.isExpert());
-		// Customizer class set in BeanInfo, but bogus for now to same class as being introspected.
-		assertSame(test2ClassB, bd.getCustomizerClass());
-	}
-	
-	public void testLocalIntrospectedProperties() {
-		JavaClass test2ClassB = getTest2ClassB();
-		EList allLocalFeatures = test2ClassB.getProperties();
-		assertEquals(2, allLocalFeatures.size());
-		
-		Iterator itr = Utilities.getPropertiesIterator(allLocalFeatures);
-		boolean gotSet = false, gotFoo = false;
-		while (itr.hasNext()) {
-			PropertyDecorator pd = (PropertyDecorator) itr.next();
-			Method mthd = null;
-			if (pd.getName().equals("setA")) { //$NON-NLS-1$
-				gotSet = true;
-				mthd = pd.getReadMethod();
-				assertSame(rset.getEObject(URI.createURI("java:/org.eclipse.jem.tests.beaninfo#Test2ClassB.isSetA("), true), mthd);
-			} else if (pd.getName().equals("foo")) { //$NON-NLS-1$
-				gotFoo = true;
-				IndexedPropertyDecorator ipd = (IndexedPropertyDecorator) pd;
-				mthd = ipd.getIndexedReadMethod();
-				assertSame(rset.getEObject(URI.createURI("java:/org.eclipse.jem.tests.beaninfo#Test2ClassB.getFoo(int"), true), mthd);
-			}
-		}
-		assertTrue(gotSet);
-		assertTrue(gotFoo);
-	}
-	
-	public void testLocalIntrospectedOperations() {
-		JavaClass test2ClassB = getTest2ClassB();
-		
-		EList allLocalOperations = test2ClassB.getEOperations();
-		assertEquals(2, allLocalOperations.size()); 
-
-		boolean found = false;
-		Iterator itr = test2ClassB.getEOperations().iterator();
-		while (itr.hasNext()) {
-			EOperation bhav = (EOperation) itr.next();
-			if (bhav.getName().equals("setSetA")) { //$NON-NLS-1$
-				List parms = Utilities.getMethodDecorator(bhav).getParameterDescriptors();
-				assertEquals(1, parms.size());
-				ParameterDecorator pmd = (ParameterDecorator) parms.get(0);
-				assertEquals("aBooleanSetting", pmd.getName());
-				found = true;
-				break;
-			}
-		}
-		assertTrue(found);
-	}
-	
-	public void testLocalIntrospectedEvents() {
-		JavaClass test2ClassB = getTest2ClassB();
-		
-		// Test event set introspected.
-		EList events = test2ClassB.getEvents();
-		assertEquals(1, events.size());
-		JavaEvent event = (JavaEvent) events.get(0);
-		assertEquals("overrideName", event.getName());  //$NON-NLS-1$
-		EventSetDecorator edec = Utilities.getEventSetDecorator(event);
-		assertEquals("ITest1ClassEventListener", edec.getListenerType().getName());
-		List mlist = edec.getListenerMethods();
-		assertEquals(1, mlist.size());
-		MethodProxy mproxy = (MethodProxy) mlist.get(0);
-		MethodDecorator mdec = Utilities.getMethodDecorator(mproxy);
-		assertEquals("event1", mdec.getName()); //$NON-NLS-1$
-		assertEquals("Event 1", mdec.getDisplayName()); //$NON-NLS-1$
-	}
-	
-	public void testSuperTypes() {
-		JavaClass testClass = getTest1Class();
-		objFeaturesSetup();	// Get number of features for Object. This can vary depending on extensions, so that is why we compute it.
-		
-		// Now do the testing of merging with super types.
-		assertEquals(2+objFeatures, testClass.getAllProperties().size());
-		JavaClass test1ClassA = getTest1ClassA(); //$NON-NLS-1$
-		assertNotNull(test1ClassA);
-		assertEquals(3+objFeatures, test1ClassA.getAllProperties().size());
-	}
-
-	protected JavaClass getTest1ClassA() {
-		return (JavaClass) rset.getEObject(URI.createURI("java:/org.eclipse.jem.tests.beaninfo#Test1ClassA"), true);
-	}
-	
-	public void testSuperTypesEvents() {
-		JavaClass test1ClassA = getTest1ClassA(); 
-			
-		// Test merging supertypes event set.
-		List events = test1ClassA.getAllEvents();
-		assertEquals(2, events.size());
-		Iterator itr = events.iterator();
-		boolean foundevt1 = false;
-		boolean foundevt2 = false;
-		while (itr.hasNext()) {
-			JavaEvent event = (JavaEvent) itr.next();
-			if ("test1ClassEvent".equals(event.getName())) { //$NON-NLS-1$
-				foundevt1 = true;
-				EventSetDecorator edec = Utilities.getEventSetDecorator(event);
-				List mlist = edec.getListenerMethods();
-				assertEquals(2, mlist.size());
-			} else if ("test1ClassUnicastEvent".equals(event.getName())) { //$NON-NLS-1$
-				foundevt2 = true;
-				EventSetDecorator edec = Utilities.getEventSetDecorator(event);
-				assertTrue(edec.isUnicast());
-			}
-		}
-		assertTrue(foundevt1);
-		assertTrue(foundevt2);
-	}
-	
-	protected JavaClass getTest2Class() {
-		return (JavaClass) rset.getEObject(URI.createURI("java:/org.eclipse.jem.tests.beaninfo#Test2Class"), true); //$NON-NLS-1$
-	}
-	
-	protected JavaClass getTest2ClassA() {
-		return (JavaClass) rset.getEObject(URI.createURI("java:/org.eclipse.jem.tests.beaninfo#Test2ClassA"), true); //$NON-NLS-1$
-	}	
-	
-	public void testSuperTypeHideProperty() {
-		JavaClass test2Class = getTest2Class();
-		objFeaturesSetup();
-		
-		// Test2ClassBeanInfo explicitly hides Object (super) from its BeanInfo, so only the non-BeanInfo properties will show.		
-		assertEquals(2+objNonProperties, test2Class.getAllProperties().size());
-		
-		// Try with subclasses. Make sure that Test2ClassBeanInfo is used with the subclasses.
-		JavaClass test2ClassA = getTest2ClassA();		
-		assertEquals(3+objNonProperties, test2ClassA.getAllProperties().size());
-		
-		JavaClass test2ClassB = getTest2ClassB();		
-		assertEquals(4+objNonProperties, test2ClassB.getAllProperties().size());
-	}
-	
-	public void testIndexedBeanInfo() {
-		JavaClass test2Class = getTest2Class();
-		
-		// Test that Indexed thru beaninfo works
-		Iterator itr = Utilities.getPropertiesIterator(test2Class.getProperties());
-		boolean found = false;
-		while (itr.hasNext()) {		
-			PropertyDecorator pd = (PropertyDecorator) itr.next();			
-			if (pd.getName().equals("fooBar")) { //$NON-NLS-1$
-				found = true;
-				assertTrue(pd instanceof IndexedPropertyDecorator);
-				IndexedPropertyDecorator ip = (IndexedPropertyDecorator) pd;
-				JavaHelpers type = (JavaHelpers) ip.getPropertyType();
-				assertEquals("java.lang.String[]", type.getQualifiedName()); //$NON-NLS-1$
-				Method mthd = ip.getReadMethod();
-				assertSame(rset.getEObject(URI.createURI("java:/org.eclipse.jem.tests.beaninfo#Test2Class.getFooBar("), true), mthd); //$NON-NLS-1$
-				mthd = ip.getWriteMethod();
-				assertSame(rset.getEObject(URI.createURI("java:/org.eclipse.jem.tests.beaninfo#Test2Class.setFooBar(java.lang.String[]"), true), mthd); //$NON-NLS-1$
-				mthd = ip.getIndexedReadMethod();
-				assertSame(rset.getEObject(URI.createURI("java:/org.eclipse.jem.tests.beaninfo#Test2Class.getFooBar(int"), true), mthd); //$NON-NLS-1$
-				mthd = ip.getIndexedWriteMethod();
-				assertSame(rset.getEObject(URI.createURI("java:/org.eclipse.jem.tests.beaninfo#Test2Class.setFooBar(int,java.lang.String"), true), mthd); //$NON-NLS-1$
-				break;
-			}
-		}
-
-		assertTrue(found);
-	}
-
-	protected JavaClass getTest2ClassC() {
-		return (JavaClass) rset.getEObject(URI.createURI("java:/org.eclipse.jem.tests.beaninfo#Test2ClassC"), true); //$NON-NLS-1$
-	}
-	
-	public void testBeanInfoProject() {
-		JavaClass test2ClassC = getTest2ClassC();
-		
-		// This will test that we could find Test2ClassC BeanInfo that is in another BeanInfo project (i.e. a project
-		// that is specifically for BeanInfo's for a specific code project).
-		BeanDecorator bd = Utilities.getBeanDecorator(test2ClassC);
-		assertNotNull(bd);
-		assertEquals("Test2ClassC from BeanInfo", bd.getDisplayName());
-		
-	}
-	
-	public void testOverride() {
-		
-		// Test that the local property is expert because it overrode from Test2ClassB and made it expert.
-		JavaClass test2ClassB = getTest2ClassB();
-		
-		// Test that the local property is not expert in Test2ClassB.
-		EStructuralFeature p = test2ClassB.getEStructuralFeature("setA");
-		assertNotNull(p);
-		PropertyDecorator pd = Utilities.getPropertyDecorator(p);
-		assertFalse(pd.isExpert());
-
-		// Now get subclass with override.
-		JavaClass test2ClassC = getTest2ClassC();
-		
-		// Test that the local property is now expert because it overrode from Test2ClassB and made it expert.
-		p = test2ClassC.getEStructuralFeature("setA");
-		assertNotNull(p);
-		pd = Utilities.getPropertyDecorator(p);
-		assertTrue(pd.isExpert());		
-	}
-	
-	protected JavaClass getTest2ClassPreq() {
-		return (JavaClass) rset.getEObject(URI.createURI("java:/org.eclipse.jem.tests.beaninfo.prereq#Test2ClassPreq"), true); //$NON-NLS-1$
-	}
-		
-	public void testPrereqedProjects() {
-		JavaClass test2ClassPrereq = getTest2ClassPreq();
-		objFeaturesSetup();
-		 
-		// Test finding beaninfos for classes in another project (pre-reqed project).		
-		assertEquals(1+objFeatures, test2ClassPrereq.getAllProperties().size());
-		// Verify BeanInfo and not jsut introspection.
-		EStructuralFeature f = test2ClassPrereq.getEStructuralFeature("aSet");
-		assertNotNull(f);
-		PropertyDecorator pd = Utilities.getPropertyDecorator(f);
-		assertTrue(pd.isExpert());
-	}
-	
-	public void testRemovePropRebuild() throws CoreException {
-		objFeaturesSetup();
-		
-		// Test removing a property directly from a super class causes the subclasses to re-build their properties.
-		JavaClass test1Class = getTest1Class();
-		JavaClass test1ClassA = getTest1ClassA();
-		// Get and test the properties first to cause introspection for both BEFORE the modification.
-		assertEquals(2+objFeatures, test1Class.getAllProperties().size());
-		assertEquals(3+objFeatures, test1ClassA.getAllProperties().size());
-		try {
-			test1Class.getEStructuralFeatures().remove(0); // Remove the first one. They should both now rebuild.
-			assertEquals(1+objFeatures, test1Class.getAllProperties().size());
-			assertEquals(2+objFeatures, test1ClassA.getAllProperties().size());
-		} finally {
-			// Need to close and reopen the project so that to restore the correct shape for test1Class for other tests.
-			final IProject project = nature.getProject();
-			IWorkspace workspace = ResourcesPlugin.getWorkspace();
-			workspace.run(new IWorkspaceRunnable () {
-				public void run(IProgressMonitor monitor) throws CoreException {
-					project.close(monitor);
-					project.open(monitor);
-				}
-			}, project, 0, null);
-		}
-	}
-	
-	public void testRemoveEventRebuild() throws CoreException {
-		// Test removing an event directly from a super class causes the subclasses to re-build their allEvents.
-		JavaClass test1Class = getTest1Class();
-		JavaClass test1ClassA = getTest1ClassA();
-		// Get and test the events first to cause introspection for both BEFORE the modification.
-		assertEquals(2, test1Class.getAllEvents().size());
-		assertEquals(2, test1ClassA.getAllEvents().size());		
-		try {
-			test1Class.getEvents().remove(0); // Remove the first one. They should now both rebuild.
-			assertEquals(1, test1Class.getAllEvents().size());
-			assertEquals(1, test1ClassA.getAllEvents().size());			
-		} finally {
-			// Need to close and reopen the project so that to restore the correct shape for test1Class for other tests.
-			final IProject project = nature.getProject();
-			IWorkspace workspace = ResourcesPlugin.getWorkspace();
-			workspace.run(new IWorkspaceRunnable () {
-				public void run(IProgressMonitor monitor) throws CoreException {
-					project.close(monitor);
-					project.open(monitor);
-				}
-			}, project, 0, null);
-		}
-	}
-	
-	protected JavaClass getCustomer() {
-		return (JavaClass) rset.getEObject(URI.createURI("java:/org.eclipse.jem.tests.beaninfo#Customer"), true); //$NON-NLS-1$
-	}
-	
-	public void testInnerClass() {
-		JavaClass customer = getCustomer();
-		
-		// Now test customer to make sure that it introspects correctly, plus the inner class of one of its properties does too.
-		List allLocalFeatures = customer.getProperties();
-		assertEquals(2, allLocalFeatures.size());
-		Iterator itr = allLocalFeatures.iterator();
-		boolean found = false;
-		while (itr.hasNext()) {
-			EStructuralFeature ea = (EStructuralFeature) itr.next();
-			if ("savings".equals(ea.getName())) { //$NON-NLS-1$
-				found = true;
-				JavaClass innerClass = (JavaClass) ea.getEType();	// This property type is an innerclass of Customer
-				assertEquals("Customer$Account", innerClass.getName());
-				allLocalFeatures = innerClass.getProperties();
-				assertEquals(2, allLocalFeatures.size());
-			}
-		}
-		
-		assertTrue(found);
-	}
-
-	protected JavaClass getTestBoundNotBound() {
-		return (JavaClass) rset.getEObject(URI.createURI("java:/org.eclipse.jem.tests.beaninfo#TestBoundNotBound"), true); //$NON-NLS-1$
-	}
-	
-	public void testNotBoundReflection() {
-		JavaClass testBoundNotBound = getTestBoundNotBound();
-		
-		// Now test that properties are bound correctly on reflection. First test reflect not bound correct.
-		// This is determined by no addPropertyChangeListener method on class.		
-		List allLocalFeatures = testBoundNotBound.getProperties();
-		assertEquals(1, allLocalFeatures.size());
-		EStructuralFeature ea = (EStructuralFeature) allLocalFeatures.get(0);
-		PropertyDecorator pd = Utilities.getPropertyDecorator(ea);
-		assertNotNull(pd);
-		assertFalse(pd.isBound());
-	}
-	
-	protected JavaClass getTestBoundSuper() {
-		return (JavaClass) rset.getEObject(URI.createURI("java:/org.eclipse.jem.tests.beaninfo#TestBoundSuper"), true); //$NON-NLS-1$
-	}
-	
-	public void testBoundReflection() {
-		JavaClass testBoundSuper = getTestBoundSuper();
-		
-		// Test that reflection can find bound property.
-		// This is determined by finding add/remove PropertyChangeListener method on class.		
-		List allLocalFeatures = testBoundSuper.getProperties();
-		assertEquals(1, allLocalFeatures.size());
-		EStructuralFeature ea = (EStructuralFeature) allLocalFeatures.get(0);
-		PropertyDecorator pd = Utilities.getPropertyDecorator(ea);
-		assertNotNull(pd);
-		assertTrue(pd.isBound());
-	}
-
-	protected JavaClass getTestBoundSub() {
-		return (JavaClass) rset.getEObject(URI.createURI("java:/org.eclipse.jem.tests.beaninfo#TestBoundSub"), true); //$NON-NLS-1$
-	}
-	
-	public void testBoundReflectionSubclass() {
-		JavaClass testBoundSub = getTestBoundSub();
-
-		// Test that reflection can find bound property due to inherit from a bound class.
-		// This is determined by finding add/remove PropertyChangeListener method on class (but from a super class).						
-		List allLocalFeatures = testBoundSub.getProperties();
-		assertEquals(1, allLocalFeatures.size());		
-		EStructuralFeature ea = (EStructuralFeature) allLocalFeatures.get(0);
-		PropertyDecorator pd = Utilities.getPropertyDecorator(ea);
-		assertNotNull(pd);
-		assertTrue(pd.isBound());
-	}
-	
-	public void testOverridesFile() {
-		// Test that override files get applied correctly.
-		JavaClass testOverride = (JavaClass) rset.getEObject(URI.createURI("java:/org.eclipse.jem.tests.beaninfo#TestOverrides"), true); //$NON-NLS-1$
-		assertNotNull(testOverride);
-		EStructuralFeature xyz = testOverride.getEStructuralFeature("xyz");
-		assertNotNull(xyz);
-		// Test that it has the correct type so that we know it was reflected correctly.
-		assertEquals(rset.getEObject(URI.createURI("java:/#int"), true), xyz.getEType());
-		
-		// Test that we have the annotation we added.
-		assertNotNull(xyz.getEAnnotation("Override Annotation"));
-	}
-	
-	public void test79083() {
-		// Test bug 79083: Null ETypes from overrides that didn't have a reflection to give it the type. BeanInfo should make it EObject type.
-		JavaClass testOverride = (JavaClass) rset.getEObject(URI.createURI("java:/org.eclipse.jem.tests.beaninfo#TestOverrides"), true); //$NON-NLS-1$
-		assertNotNull(testOverride);
-		EStructuralFeature test79083 = testOverride.getEStructuralFeature("test79083");
-		assertNotNull(test79083);
-		assertEquals(EcorePackage.eINSTANCE.getEObject(), test79083.getEType());
-	}
-}
diff --git a/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/instantiation/InstantiationSuite.java b/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/instantiation/InstantiationSuite.java
deleted file mode 100644
index 78d375c..0000000
--- a/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/instantiation/InstantiationSuite.java
+++ /dev/null
@@ -1,98 +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.jem.tests.instantiation;
-/*
- *  $RCSfile: InstantiationSuite.java,v $
- *  $Revision: 1.9 $  $Date: 2005/02/15 23:00:16 $ 
- */
-import java.net.URL;
-
-import junit.extensions.TestSetup;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-import org.eclipse.core.resources.*;
-import org.eclipse.core.runtime.*;
-
-import org.eclipse.jem.internal.beaninfo.adapters.BeaninfoNature;
-import org.eclipse.jem.internal.instantiation.base.JavaInstantiation;
-import org.eclipse.jem.tests.JavaProjectUtil;
-import org.eclipse.jem.tests.JavaTestsPlugin;
-import org.eclipse.jem.tests.beaninfo.AbstractBeanInfoTestCase;
-
-/**
- * @author richkulp
- *
- */
-public class InstantiationSuite extends TestSetup {
-
-	// Test cases to be include in the suite
-	private static final Class testsList[] = { TestStandard.class, };
-
-	/**
-	 * 
-	 */
-	public InstantiationSuite() {
-		this("Test Instantiation Suite");
-	}
-
-	/**
-	 * @param name
-	 */
-	public InstantiationSuite(String name) {
-		super(new TestSuite(name) {
-			{
-				for (int i = 0; i < testsList.length; i++) {
-					addTestSuite(testsList[i]);
-				}
-
-			}
-		});
-	}
-
-	public static Test suite() {
-		return new InstantiationSuite();
-	}
-
-	private boolean oldAutoBuildingState; // autoBuilding state before we started.	
-	protected void setUp() throws Exception {
-		System.out.println("-- Initializing the Instantiation test data --"); //$NON-NLS-1$
-		oldAutoBuildingState = JavaProjectUtil.setAutoBuild(true);
-		URL installURL = JavaTestsPlugin.getPlugin().getBundle().getEntry("/");
-		String[] zipPaths = new String[2];
-		zipPaths[0] = Platform.asLocalURL(new URL(installURL, "testdata/testbeaninfo.zip")).getFile();
-		zipPaths[1] = Platform.asLocalURL(new URL(installURL, "testdata/testbeaninfopreq.zip")).getFile();
-		IProject[] projects =
-			JavaProjectUtil.importProjects(
-				new String[] { AbstractBeanInfoTestCase.TEST_BEANINFO_PROJECT, AbstractBeanInfoTestCase.TEST_BEANINFO_PREREQ_PROJECT },
-				zipPaths);
-		assertNotNull(projects[0]);
-		assertNotNull(projects[1]);
-		JavaProjectUtil.waitForAutoBuild();
-		System.out.println("-- Data initialized --"); //$NON-NLS-1$
-
-		BeaninfoNature nature = BeaninfoNature.getRuntime(projects[0]);
-		assertNotNull(nature);
-		JavaInstantiation.initialize(nature.getResourceSet());
-	}
-
-	protected void tearDown() throws Exception {
-		ResourcesPlugin.getWorkspace().run(new IWorkspaceRunnable() {
-			public void run(IProgressMonitor monitor) throws CoreException {
-				JavaProjectUtil.deleteProject(JavaProjectUtil.getProject(AbstractBeanInfoTestCase.TEST_BEANINFO_PROJECT));
-				JavaProjectUtil.deleteProject(JavaProjectUtil.getProject(AbstractBeanInfoTestCase.TEST_BEANINFO_PREREQ_PROJECT));
-			}
-		}, ResourcesPlugin.getWorkspace().getRoot(), 0, null);
-
-		JavaProjectUtil.setAutoBuild(oldAutoBuildingState);
-	}
-
-}
diff --git a/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/instantiation/TestStandard.java b/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/instantiation/TestStandard.java
deleted file mode 100644
index e3aae60..0000000
--- a/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/instantiation/TestStandard.java
+++ /dev/null
@@ -1,200 +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 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.jem.tests.instantiation;
-
-import java.io.*;
-import java.util.Collections;
-
-import junit.framework.TestCase;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.emf.ecore.resource.Resource;
-import org.eclipse.emf.ecore.resource.ResourceSet;
-import org.eclipse.emf.ecore.util.EcoreUtil;
-
-import org.eclipse.jem.internal.beaninfo.adapters.BeaninfoNature;
-import org.eclipse.jem.internal.instantiation.InitStringAllocation;
-import org.eclipse.jem.internal.instantiation.InstantiationFactory;
-import org.eclipse.jem.internal.instantiation.base.IJavaDataTypeInstance;
-import org.eclipse.jem.internal.instantiation.base.IJavaObjectInstance;
-import org.eclipse.jem.java.*;
-import org.eclipse.jem.tests.JavaProjectUtil;
-import org.eclipse.jem.tests.beaninfo.AbstractBeanInfoTestCase;
-
-/**
- * @author richkulp
- *
- * 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 TestStandard extends TestCase {
-
-	/**
-	 * 
-	 */
-	public TestStandard() {
-		super();
-	}
-
-	/**
-	 * @param name
-	 */
-	public TestStandard(String name) {
-		super(name);
-	}
-
-	protected BeaninfoNature nature;
-	protected ResourceSet rset;
-	protected JavaHelpers boolType;
-
-	/* (non-Javadoc)
-	 * @see junit.framework.TestCase#setUp()
-	 */
-	protected void setUp() throws Exception {
-		super.setUp();
-		IProject biProject = JavaProjectUtil.getProject(AbstractBeanInfoTestCase.TEST_BEANINFO_PROJECT);
-		assertNotNull(biProject);
-		nature = BeaninfoNature.getRuntime(biProject);
-		assertNotNull(nature);
-		rset = nature.getResourceSet();
-		assertNotNull(rset);
-		boolType = JavaRefFactory.eINSTANCE.reflectType("boolean", rset);
-		assertNotNull(boolType);
-	}
-
-	protected JavaClass getTest1Class() {
-		return (JavaClass) JavaRefFactory.eINSTANCE.reflectType("org.eclipse.jem.tests.beaninfo.Test1Class", rset); //$NON-NLS-1$
-	}
-
-	public void testInit() {
-		JavaClass test1Class = getTest1Class();
-
-		// Test instantiate an instance.
-		IJavaObjectInstance ji1 = (IJavaObjectInstance) test1Class.getEPackage().getEFactoryInstance().create(test1Class);
-		ji1.setAllocation(InstantiationFactory.eINSTANCE.createInitStringAllocation("new Test1Class()")); //$NON-NLS-1$
-		assertInit(ji1);
-	}
-
-	private void assertInit(IJavaObjectInstance ji1) {
-		// Here because two tests will do same test sequence.
-		assertTrue(ji1.isSetAllocation());
-		InitStringAllocation alloc = (InitStringAllocation) ji1.getAllocation();
-		assertEquals("new Test1Class()", ((InitStringAllocation) alloc).getInitString()); //$NON-NLS-1$
-	}
-
-	public void testPropertyAccess() {
-		JavaClass test1Class = getTest1Class();
-		IJavaObjectInstance ji1 = (IJavaObjectInstance) test1Class.getEPackage().getEFactoryInstance().create(test1Class);
-		ji1.setAllocation(InstantiationFactory.eINSTANCE.createInitStringAllocation("new Test1Class()")); //$NON-NLS-1$
-
-		// Test property set/get of a dynamic property.
-		EStructuralFeature setSF = test1Class.getEStructuralFeature("set");
-		assertNotNull(setSF);
-		assertSame(boolType, setSF.getEType());
-		IJavaDataTypeInstance setting = (IJavaDataTypeInstance) setSF.getEType().getEPackage().getEFactoryInstance().create((EClass) setSF.getEType());
-		setting.setAllocation(InstantiationFactory.eINSTANCE.createInitStringAllocation("true")); //$NON-NLS-1$
-		ji1.eSet(
-			setSF,
-			setting);
-		assertProperty(ji1);
-	}
-
-	private void assertProperty(IJavaObjectInstance ji1) {
-		// Here because two tests will do same test sequence.
-		EStructuralFeature setSF = ji1.eClass().getEStructuralFeature("set");
-		Object v = ji1.eGet(setSF);
-		assertNotNull(v);
-		assertTrue(v instanceof IJavaDataTypeInstance);
-		IJavaDataTypeInstance dtv = (IJavaDataTypeInstance) v;
-		assertSame(boolType, dtv.getJavaType());
-		assertTrue(dtv.isSetAllocation());
-		InitStringAllocation alloc = (InitStringAllocation) dtv.getAllocation();
-		assertEquals("true", ((InitStringAllocation) alloc).getInitString());
-	}
-
-	protected IJavaObjectInstance setupInstance() {
-		// Setup the standard test instance without the assertions. For use in other tests.
-		JavaClass test1Class = getTest1Class();
-		IJavaObjectInstance ji1 = (IJavaObjectInstance) test1Class.getEPackage().getEFactoryInstance().create(test1Class);
-		ji1.setAllocation(InstantiationFactory.eINSTANCE.createInitStringAllocation("new Test1Class()")); //$NON-NLS-1$
-
-		// Test property set/get of a dynamic property.
-		EStructuralFeature setSF = test1Class.getEStructuralFeature("set");
-		IJavaDataTypeInstance setting = (IJavaDataTypeInstance) setSF.getEType().getEPackage().getEFactoryInstance().create((EClass) setSF.getEType());
-		setting.setAllocation(InstantiationFactory.eINSTANCE.createInitStringAllocation("true")); //$NON-NLS-1$
-		ji1.eSet(
-			setSF,
-			setting);
-		return ji1;
-	}
-
-	protected String setupResource() throws IOException {
-		IJavaObjectInstance ji1 = setupInstance();
-
-		// Write it out, see if it is what it should be, then read it in and see if it loads correctly.
-		ResourceSet rswork1 = nature.newResourceSet(); // Rsource set to write from
-
-		Resource r = rswork1.createResource(URI.createURI("f.xmi")); //$NON-NLS-1$
-		r.getContents().add(ji1);
-		// Bit of a kludge, but all references in java model are shared, so to serialize we need to get the 
-		// "set" setting and add to the resource so that it is contained somewhere.
-		r.getContents().add(ji1.eGet(ji1.eClass().getEStructuralFeature("set")));
-
-		ByteArrayOutputStream bo = new ByteArrayOutputStream();
-		r.save(bo, Collections.EMPTY_MAP);
-		return bo.toString();
-	}
-
-	public void testSerialization() throws IOException {
-		// Test the serialization that it produces correct output string.
-		String out = setupResource();
-		// Need to create a print stream so that we get the correct local newline chars in to match from the resource.
-		StringWriter sw = new StringWriter(out.length() + 50);
-		PrintWriter pw = new PrintWriter(sw);
-		pw.println("<?xml version=\"1.0\" encoding=\"ASCII\"?>");
-		pw.println(
-			"<xmi:XMI xmi:version=\"2.0\" xmlns:xmi=\"http://www.omg.org/XMI\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:_-javaprim=\"java:/\" xmlns:org.eclipse.jem.internal.instantiation=\"http:///org/eclipse/jem/internal/instantiation.ecore\" xmlns:org.eclipse.jem.tests.beaninfo=\"java:/org.eclipse.jem.tests.beaninfo\">");
-		pw.println("  <org.eclipse.jem.tests.beaninfo:Test1Class set=\"/1\">");
-		pw.println("    <allocation xsi:type=\"org.eclipse.jem.internal.instantiation:InitStringAllocation\" initString=\"new Test1Class()\"/>");
-		pw.println("  </org.eclipse.jem.tests.beaninfo:Test1Class>");
-		pw.println("  <_-javaprim:boolean>");
-		pw.println("    <allocation xsi:type=\"org.eclipse.jem.internal.instantiation:InitStringAllocation\" initString=\"true\"/>");
-		pw.println("  </_-javaprim:boolean>");
-		pw.println("</xmi:XMI>");
-		pw.close();
-		assertEquals(sw.toString(), out);
-	}
-		
-	public void testReading() throws IOException {
-		// Test reading serialization back in produces correct objects.
-		// Rerun tests.
-		String out = setupResource();
-
-		ResourceSet rswork2 = nature.newResourceSet(); // Resource set to read into
-		Resource rIn = rswork2.createResource(URI.createURI("f1.xmi")); //$NON-NLS-1$
-		rIn.load(new ByteArrayInputStream(out.getBytes()), Collections.EMPTY_MAP);
-		JavaClass test1Class = getTest1Class();
-		IJavaObjectInstance ji1 = (IJavaObjectInstance) EcoreUtil.getObjectByType(rIn.getContents(), test1Class);
-		assertNotNull(ji1);
-		assertInit(ji1);
-		assertProperty(ji1);
-	}
-
-}
diff --git a/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/modelListeners/IListenerTester.java b/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/modelListeners/IListenerTester.java
deleted file mode 100644
index 4599341..0000000
--- a/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/modelListeners/IListenerTester.java
+++ /dev/null
@@ -1,30 +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
- *******************************************************************************/
-/*
- *  $RCSfile: IListenerTester.java,v $
- *  $Revision: 1.2 $  $Date: 2005/02/15 23:00:16 $ 
- */
-package org.eclipse.jem.tests.modelListeners;
-
-import junit.framework.AssertionFailedError;
- 
-
-/**
- * For many of the listener tests, the actual Assert is done on a safe runnable so that it can't be 
- * normally sent. So we will have a listener tester that will retrieve the exception and will
- * be called to get it from the main thread.
- * @since 1.0.0
- */
-public interface IListenerTester {
-
-	public void isException() throws AssertionFailedError;
-	public void isComplete() throws AssertionFailedError;
-}
diff --git a/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/modelListeners/ListenersSuite.java b/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/modelListeners/ListenersSuite.java
deleted file mode 100644
index ea6cd77..0000000
--- a/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/modelListeners/ListenersSuite.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.jem.tests.modelListeners;
-/*
- *  $RCSfile: ListenersSuite.java,v $
- *  $Revision: 1.4 $  $Date: 2005/02/15 23:00:16 $ 
- */
-import java.net.URL;
-
-import junit.extensions.TestSetup;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-import org.eclipse.core.resources.*;
-import org.eclipse.core.runtime.*;
-
-import org.eclipse.jem.tests.JavaProjectUtil;
-import org.eclipse.jem.tests.JavaTestsPlugin;
-import org.eclipse.jem.tests.beaninfo.AbstractBeanInfoTestCase;
-
-/**
- * @author richkulp
- *
- */
-public class ListenersSuite extends TestSetup {
-
-	// Test cases to be include in the suite
-	private static final Class testsList[] = { TestJEM.class, TestBeanInfo.class};
-
-	/**
-	 * 
-	 */
-	public ListenersSuite() {
-		this("Test Listeners Suite");
-	}
-
-	/**
-	 * @param name
-	 */
-	public ListenersSuite(String name) {
-		super(new TestSuite(name) {
-			{
-				for (int i = 0; i < testsList.length; i++) {
-					addTestSuite(testsList[i]);
-				}
-
-			}
-		});
-	}
-
-	public static Test suite() {
-		return new ListenersSuite();
-	}
-
-	private boolean oldAutoBuildingState; // autoBuilding state before we started.	
-	protected void setUp() throws Exception {
-		System.out.println("-- Initializing the Listeners test data --"); //$NON-NLS-1$
-		oldAutoBuildingState = JavaProjectUtil.setAutoBuild(true);
-		URL installURL = JavaTestsPlugin.getPlugin().getBundle().getEntry("/");
-		String[] zipPaths = new String[2];
-		zipPaths[0] = Platform.asLocalURL(new URL(installURL, "testdata/testbeaninfo.zip")).getFile();
-		zipPaths[1] = Platform.asLocalURL(new URL(installURL, "testdata/testbeaninfopreq.zip")).getFile();
-		IProject[] projects =
-			JavaProjectUtil.importProjects(
-				new String[] { AbstractBeanInfoTestCase.TEST_BEANINFO_PROJECT, AbstractBeanInfoTestCase.TEST_BEANINFO_PREREQ_PROJECT },
-				zipPaths);
-		assertNotNull(projects[0]);
-		assertNotNull(projects[1]);
-		JavaProjectUtil.waitForAutoBuild();
-		System.out.println("-- Data initialized --"); //$NON-NLS-1$
-
-	}
-
-	protected void tearDown() throws Exception {
-		ResourcesPlugin.getWorkspace().run(new IWorkspaceRunnable() {
-			public void run(IProgressMonitor monitor) throws CoreException {
-				JavaProjectUtil.deleteProject(JavaProjectUtil.getProject(AbstractBeanInfoTestCase.TEST_BEANINFO_PROJECT));
-				JavaProjectUtil.deleteProject(JavaProjectUtil.getProject(AbstractBeanInfoTestCase.TEST_BEANINFO_PREREQ_PROJECT));
-			}
-		}, ResourcesPlugin.getWorkspace().getRoot(), 0, null);
-
-		JavaProjectUtil.setAutoBuild(oldAutoBuildingState);
-	}
-
-}
diff --git a/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/modelListeners/TestBeanInfo.java b/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/modelListeners/TestBeanInfo.java
deleted file mode 100644
index 83b21d8..0000000
--- a/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/modelListeners/TestBeanInfo.java
+++ /dev/null
@@ -1,173 +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
- *******************************************************************************/
-/*
- *  $RCSfile: TestBeanInfo.java,v $
- *  $Revision: 1.3 $  $Date: 2005/02/15 23:00:16 $ 
- */
-package org.eclipse.jem.tests.modelListeners;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.jdt.core.JavaModelException;
-
-import org.eclipse.jem.internal.beaninfo.adapters.BeaninfoModelSynchronizer;
-import org.eclipse.jem.internal.beaninfo.core.IBeaninfoSupplier;
-import org.eclipse.jem.internal.proxy.core.ProxyFactoryRegistry;
- 
-
-/**
- * This is for testing the JEM Reflection listeners
- * @since 1.0.0
- */
-public class TestBeanInfo extends TestListeners {
-	
-	BeaninfoModelSynchronizer sync;
-	TestBeaninfoAdapterFactory factory;
-
-	/* (non-Javadoc)
-	 * @see junit.framework.TestCase#setUp()
-	 */
-	protected void setUp() throws Exception {
-		factory = new TestBeaninfoAdapterFactory(new IBeaninfoSupplier() {
-
-			/*
-			 * (non-Javadoc)
-			 * 
-			 * @see org.eclipse.jem.internal.beaninfo.core.IBeaninfoSupplier#getRegistry()
-			 */
-			public ProxyFactoryRegistry getRegistry() {
-				return null;
-			}
-
-			/*
-			 * (non-Javadoc)
-			 * 
-			 * @see org.eclipse.jem.internal.beaninfo.core.IBeaninfoSupplier#isRegistryCreated()
-			 */
-			public boolean isRegistryCreated() {
-				return false;
-			}
-
-			/*
-			 * (non-Javadoc)
-			 * 
-			 * @see org.eclipse.jem.internal.beaninfo.core.IBeaninfoSupplier#closeRegistry()
-			 */
-			public void closeRegistry() {
-			}
-
-			/*
-			 * (non-Javadoc)
-			 * 
-			 * @see org.eclipse.jem.internal.beaninfo.core.IBeaninfoSupplier#getProject()
-			 */
-			public IProject getProject() {
-				return jp.getProject();
-			}
-		});	// Needs to be set first so that super.setUP() calls to special setups will have a factory.
-		super.setUp();	// Called first so that any setup won't fire our synchronizer.
-		
-		// Basic for this is add our special listener. (Don't need full JEM model cluttering things up).		
-		sync = new BeaninfoModelSynchronizer(factory, jp);
-		setTester(factory);
-	}
-	
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jem.tests.modelListeners.TestListeners#setUpClose()
-	 */
-	protected void setUpClose() throws JavaModelException {
-		super.setUpClose();
-		factory.setTestCases(new int[0], new Object[0]);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jem.tests.modelListeners.TestListeners#setUpOpen()
-	 */
-	protected void setUpOpen() {
-		super.setUpOpen();
-		factory.setTestCases(new int[0], new Object[0]);		
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jem.tests.modelListeners.TestListeners#setUpAddMethodInWorkingCopy()
-	 */
-	protected void setUpAddMethodInWorkingCopy() throws JavaModelException {
-		super.setUpAddMethodInWorkingCopy();
-		factory.setTestCases(new int[0], new Object[0]);		
-	}
-	
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jem.tests.modelListeners.TestListeners#setUpSaveFromWorkingCopy()
-	 */
-	protected void setUpSaveFromWorkingCopy() throws JavaModelException {
-		super.setUpSaveFromWorkingCopy();
-		factory.setTestCases(new int[] {TestBeaninfoAdapterFactory.MARK_STALE_INTROSPECTION_PLUS_INNER}, new Object[] {new Object[] {"org.eclipse.jem.tests.beaninfo.Test1Class", Boolean.FALSE}}); 		
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jem.tests.modelListeners.TestListeners#setUpRevert()
-	 */
-	protected void setUpRevert() throws JavaModelException {
-		super.setUpRevert();
-		factory.setTestCases(new int[0], new Object[0]);		
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jem.tests.modelListeners.TestListeners#setupDeleteMethodNoWorkingCopy()
-	 */
-	protected void setupDeleteMethodNoWorkingCopy() throws JavaModelException {
-		super.setupDeleteMethodNoWorkingCopy();
-		factory.setTestCases(new int[] {TestBeaninfoAdapterFactory.MARK_STALE_INTROSPECTION_PLUS_INNER}, new Object[] {new Object[] {"org.eclipse.jem.tests.beaninfo.Test1Class", Boolean.FALSE}});		
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.jem.tests.modelListeners.TestListeners#setupAddClass()
-	 */
-	protected void setupAddClass() {
-		super.setupAddClass();
-		factory.setTestCases(new int[] {TestBeaninfoAdapterFactory.MARK_STALE_INTROSPECTION_PLUS_INNER}, new Object[] {new Object[] {"org.eclipse.jem.tests.beaninfo.NewClass", Boolean.TRUE}});				
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.jem.tests.modelListeners.TestListeners#setupDeleteClassWithWorkingCopy()
-	 */
-	protected void setupDeleteClassWithWorkingCopy() throws JavaModelException {
-		super.setupDeleteClassWithWorkingCopy();
-		factory.setTestCases(new int[] {TestBeaninfoAdapterFactory.MARK_STALE_INTROSPECTION_PLUS_INNER, TestBeaninfoAdapterFactory.MARK_STALE_INTROSPECTION_PLUS_INNER}, new Object[] {new Object[] {"org.eclipse.jem.tests.beaninfo.NewClass", Boolean.FALSE}, new Object[] {"org.eclipse.jem.tests.beaninfo.NewClass", Boolean.TRUE}});		
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.jem.tests.modelListeners.TestListeners#setUpDeleteClassNoWorkingCopy()
-	 */
-	protected void setUpDeleteClassNoWorkingCopy() throws JavaModelException {
-		super.setUpDeleteClassNoWorkingCopy();
-		factory.setTestCases(new int[] {TestBeaninfoAdapterFactory.MARK_STALE_INTROSPECTION_PLUS_INNER}, new Object[] {new Object[] {"org.eclipse.jem.tests.beaninfo.NewClass", Boolean.TRUE}});		
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.jem.tests.modelListeners.TestListeners#setUpAddPackage()
-	 */
-	protected void setUpAddPackage() throws JavaModelException {
-		super.setUpAddPackage();
-		factory.setTestCases(new int[0], new Object[0]);		
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.jem.tests.modelListeners.TestListeners#setUpDeletePackage()
-	 */
-	protected void setUpDeletePackage() throws JavaModelException {
-		super.setUpDeletePackage();
-		factory.setTestCases(new int[] {TestBeaninfoAdapterFactory.MARK_ALL_STALE}, new Object[] {null});
-	}
-	/* (non-Javadoc)
-	 * @see junit.framework.TestCase#tearDown()
-	 */
-	protected void tearDown() throws Exception {
-		sync.stopSynchronizer(true);
-		super.tearDown();
-	}
-}
diff --git a/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/modelListeners/TestBeaninfoAdapterFactory.java b/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/modelListeners/TestBeaninfoAdapterFactory.java
deleted file mode 100644
index 419339c..0000000
--- a/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/modelListeners/TestBeaninfoAdapterFactory.java
+++ /dev/null
@@ -1,124 +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
- *******************************************************************************/
-/*
- *  $RCSfile: TestBeaninfoAdapterFactory.java,v $
- *  $Revision: 1.2 $  $Date: 2005/02/15 23:00:16 $ 
- */
-package org.eclipse.jem.tests.modelListeners;
-
-import junit.framework.Assert;
-import junit.framework.AssertionFailedError;
-
-import org.eclipse.jem.internal.beaninfo.adapters.BeaninfoAdapterFactory;
-import org.eclipse.jem.internal.beaninfo.core.IBeaninfoSupplier;
-
-/**
- * Test factory to handle the calls from the listener during our tests.
- * 
- * @since 1.0.0
- */
-public class TestBeaninfoAdapterFactory extends BeaninfoAdapterFactory implements IListenerTester {
-
-	/**
-	 * @param supplier
-	 * 
-	 * @since 1.0.0
-	 */
-	public TestBeaninfoAdapterFactory(IBeaninfoSupplier supplier) {
-		super(supplier);
-	}
-	
-	int callIndex = -1; // Index of calls into control list.
-
-	AssertionFailedError exception; // Set if exception occured.
-
-	protected int[] callTypes; // Order of permitted calltypes. If any come out of order, then error.
-
-	protected Object[] callArgs; // Corresponding args for each call types. Each type specific.
-
-	public void setTestCases(int[] callTypes, Object[] callArgs) {
-		this.callTypes = callTypes;
-		this.callArgs = callArgs;
-	}
-
-	public void isException() throws AssertionFailedError {
-		if (exception != null)
-			throw exception;
-	}
-
-	public void isComplete() throws AssertionFailedError {
-		Assert.assertEquals("Did not complete all notifcations. ", callTypes.length, callIndex + 1);
-	}
-
-	public static final int MARK_ALL_STALE = 0, MARK_STALE_INTROSPECTION = 1, MARK_STALE_INTROSPECTION_PLUS_INNER = 2;
-
-	private static final String[] callTypeNames = new String[] { "MARK_ALL_STALE", "MARK_STALE_INTROSPECTION", "MARK_STALE_INTROSPECTION_PLUS_INNER",
-			"UNREGISTER_INTROSPECTION", "UNREGISTER_INTROSPECTION_PLUS_INNER"};
-
-	/*
-	 * Test the next call type, if not valid, return false.
-	 */
-	protected boolean testCallType(int callType) {
-		if (exception != null)
-			return false; // Already had an error
-		try {
-			if (++callIndex >= callTypes.length)
-				Assert.fail("An extra notification of type " + callTypeNames[callType] + " received.");
-			if (callTypes[callIndex] != callType)
-				Assert.assertEquals(callTypeNames[callTypes[callIndex]], callTypeNames[callType]);
-		} catch (AssertionFailedError e) {
-			exception = e;
-			return false;
-		}
-		return true;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jem.internal.beaninfo.adapters.BeaninfoAdapterFactory#markAllStale()
-	 */
-	public void markAllStale() {
-		testCallType(MARK_ALL_STALE);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jem.internal.beaninfo.adapters.BeaninfoAdapterFactory#markStaleIntrospection(java.lang.String, boolean)
-	 */
-	public void markStaleIntrospection(String sourceName, boolean clearResults) {
-		if (testCallType(MARK_STALE_INTROSPECTION)) {
-			try {
-				Assert.assertEquals((String) ((Object[]) callArgs[callIndex])[0], sourceName);
-				Assert.assertEquals(((Boolean) ((Object[]) callArgs[callIndex])[1]).booleanValue(), clearResults); 
-			} catch (AssertionFailedError e) {
-				exception = e;
-			}			
-		}		
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jem.internal.beaninfo.adapters.BeaninfoAdapterFactory#markStaleIntrospectionPlusInner(java.lang.String, boolean)
-	 */
-	public void markStaleIntrospectionPlusInner(String sourceName, boolean clearResults) {
-		if (testCallType(MARK_STALE_INTROSPECTION_PLUS_INNER)) {
-			try {
-				Assert.assertEquals((String) ((Object[]) callArgs[callIndex])[0], sourceName);
-				Assert.assertEquals(((Boolean) ((Object[]) callArgs[callIndex])[1]).booleanValue(), clearResults); 
-			} catch (AssertionFailedError e) {
-				exception = e;
-			}			
-		}		
-	}
-}
\ No newline at end of file
diff --git a/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/modelListeners/TestJEM.java b/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/modelListeners/TestJEM.java
deleted file mode 100644
index 627d883..0000000
--- a/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/modelListeners/TestJEM.java
+++ /dev/null
@@ -1,135 +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
- *******************************************************************************/
-/*
- *  $RCSfile: TestJEM.java,v $
- *  $Revision: 1.3 $  $Date: 2005/02/15 23:00:16 $ 
- */
-package org.eclipse.jem.tests.modelListeners;
-
-import org.eclipse.jdt.core.JavaModelException;
-
-import org.eclipse.jem.internal.adapters.jdom.JavaReflectionSynchronizer;
- 
-
-/**
- * This is for testing the JEM Reflection listeners
- * @since 1.0.0
- */
-public class TestJEM extends TestListeners {
-	
-	JavaReflectionSynchronizer sync;
-	TestJavaJDOMAdapterFactory factory;
-
-	/* (non-Javadoc)
-	 * @see junit.framework.TestCase#setUp()
-	 */
-	protected void setUp() throws Exception {
-		factory = new TestJavaJDOMAdapterFactory();	// Needs to be set first so that super.setUP() calls to special setups will have a factory.
-		super.setUp();	// Called first so that any setup won't fire our synchronizer.
-		
-		// Basic for this is add our special listener. (Don't need full JEM model cluttering things up).		
-		factory.setJavaProject(jp);
-		sync = factory.getSynchronizer();
-		setTester(factory);
-	}
-	
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jem.tests.modelListeners.TestListeners#setUpClose()
-	 */
-	protected void setUpClose() throws JavaModelException {
-		super.setUpClose();
-		factory.setTestCases(new int[0], new Object[0]);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jem.tests.modelListeners.TestListeners#setUpOpen()
-	 */
-	protected void setUpOpen() {
-		super.setUpOpen();
-		factory.setTestCases(new int[0], new Object[0]);		
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jem.tests.modelListeners.TestListeners#setUpAddMethodInWorkingCopy()
-	 */
-	protected void setUpAddMethodInWorkingCopy() throws JavaModelException {
-		super.setUpAddMethodInWorkingCopy();
-		factory.setTestCases(new int[0], new Object[0]);		
-	}
-	
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jem.tests.modelListeners.TestListeners#setUpSaveFromWorkingCopy()
-	 */
-	protected void setUpSaveFromWorkingCopy() throws JavaModelException {
-		super.setUpSaveFromWorkingCopy();
-		factory.setTestCases(new int[] {TestJavaJDOMAdapterFactory.FLUSH_REFLECTION_PLUS_INNER_NO_NOTIFICATION}, new Object[] {"org.eclipse.jem.tests.beaninfo.Test1Class"}); 		
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jem.tests.modelListeners.TestListeners#setUpRevert()
-	 */
-	protected void setUpRevert() throws JavaModelException {
-		super.setUpRevert();
-		factory.setTestCases(new int[0], new Object[0]);		
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jem.tests.modelListeners.TestListeners#setupDeleteMethodNoWorkingCopy()
-	 */
-	protected void setupDeleteMethodNoWorkingCopy() throws JavaModelException {
-		super.setupDeleteMethodNoWorkingCopy();
-		factory.setTestCases(new int[] {TestJavaJDOMAdapterFactory.FLUSH_REFLECTION_PLUS_INNER_NO_NOTIFICATION}, new Object[] {"org.eclipse.jem.tests.beaninfo.Test1Class"});		
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.jem.tests.modelListeners.TestListeners#setupAddClass()
-	 */
-	protected void setupAddClass() {
-		super.setupAddClass();
-		factory.setTestCases(new int[0], new Object[0]);				
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.jem.tests.modelListeners.TestListeners#setupDeleteClassWithWorkingCopy()
-	 */
-	protected void setupDeleteClassWithWorkingCopy() throws JavaModelException {
-		super.setupDeleteClassWithWorkingCopy();
-		factory.setTestCases(new int[] {TestJavaJDOMAdapterFactory.FLUSH_REFLECTION_PLUS_INNER_NO_NOTIFICATION, TestJavaJDOMAdapterFactory.DISASSOCIATE_SOURCE_PLUS_INNER_NOTIFY}, new Object[] {"org.eclipse.jem.tests.beaninfo.NewClass", new Object[] {"org.eclipse.jem.tests.beaninfo.NewClass", Boolean.FALSE}});		
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.jem.tests.modelListeners.TestListeners#setUpDeleteClassNoWorkingCopy()
-	 */
-	protected void setUpDeleteClassNoWorkingCopy() throws JavaModelException {
-		super.setUpDeleteClassNoWorkingCopy();
-		factory.setTestCases(new int[] {TestJavaJDOMAdapterFactory.DISASSOCIATE_SOURCE_PLUS_INNER_NOTIFY}, new Object[] {new Object[] {"org.eclipse.jem.tests.beaninfo.NewClass", Boolean.FALSE}});		
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.jem.tests.modelListeners.TestListeners#setUpAddPackage()
-	 */
-	protected void setUpAddPackage() throws JavaModelException {
-		super.setUpAddPackage();
-		factory.setTestCases(new int[] {TestJavaJDOMAdapterFactory.FLUSH_PACKAGE_NO_NOTIFICATION}, new Object[] {new Object[] {"test", Boolean.TRUE}});		
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.jem.tests.modelListeners.TestListeners#setUpDeletePackage()
-	 */
-	protected void setUpDeletePackage() throws JavaModelException {
-		super.setUpDeletePackage();
-		factory.setTestCases(new int[] {TestJavaJDOMAdapterFactory.FLUSH_PACKAGE}, new Object[] {new Object[] {"test", Boolean.FALSE}});
-	}
-	/* (non-Javadoc)
-	 * @see junit.framework.TestCase#tearDown()
-	 */
-	protected void tearDown() throws Exception {
-		sync.stopSynchronizer();
-		super.tearDown();
-	}
-}
diff --git a/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/modelListeners/TestJavaJDOMAdapterFactory.java b/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/modelListeners/TestJavaJDOMAdapterFactory.java
deleted file mode 100644
index e78fdbf..0000000
--- a/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/modelListeners/TestJavaJDOMAdapterFactory.java
+++ /dev/null
@@ -1,234 +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
- *******************************************************************************/
-/*
- *  $RCSfile: TestJavaJDOMAdapterFactory.java,v $
- *  $Revision: 1.2 $  $Date: 2005/02/15 23:00:16 $ 
- */
-package org.eclipse.jem.tests.modelListeners;
-
-import java.util.Collections;
-import java.util.List;
-
-import junit.framework.Assert;
-import junit.framework.AssertionFailedError;
-
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.jdt.core.ICompilationUnit;
-
-import org.eclipse.jem.internal.adapters.jdom.JavaJDOMAdapterFactory;
-import org.eclipse.jem.internal.adapters.jdom.JavaReflectionSynchronizer;
- 
-
-/**
- * A test version of this so that it works with our test cases without having fullblown JEM model up and running.
- * @since 1.0.0
- */
-public class TestJavaJDOMAdapterFactory extends JavaJDOMAdapterFactory implements IListenerTester {
-	
-	int callIndex = -1;	// Index of calls into control list.
-	AssertionFailedError exception; // Set if exception occured.
-	
-	protected int[] callTypes;	// Order of permitted calltypes. If any come out of order, then error.
-	protected Object[] callArgs;	// Corresponding args for each call types. Each type specific.
-	
-	public void setTestCases(int[] callTypes, Object[] callArgs) {
-		this.callTypes = callTypes;
-		this.callArgs = callArgs;
-	}
-	
-	public void isException() throws AssertionFailedError {
-		if (exception != null)
-			throw exception;
-	}
-		
-	public void isComplete() throws AssertionFailedError {
-		Assert.assertEquals("Did not complete all notifcations. ", callTypes.length, callIndex+1);
-	}
-
-	public static final int FLUSH_ALL = 0, FLUSH_ALL_NO_NOTIFICATION = 1, FLUSH_PACKAGE = 2, FLUSH_PACKAGE_NO_NOTIFICATION = 3, 
-		FLUSH_REFLECTION = 4, FLUSH_REFLECTION_NO_NOTIFICATION = 5, FLUSH_REFLECTION_PLUS_INNER_NO_NOTIFICATION = 6, NOTIFY_CONTENT_CHANGED = 7,
-		DISASSOCIATE_SOURCE_NOTIFY = 8, DISASSOCIATE_SOURCE = 9, DISASSOCIATE_SOURCE_PLUS_INNER_NOTIFY = 10, DISASSOCIATE_SOURCE_PLUS_INNER = 11; 
-	
-	private static final String[] callTypeNames = new String[] {"FLUSH_ALL", "FLUSH_ALL_NO_NOTIFICATION", "FLUSH_PACKAGE", "FLUSH_PACKAGE_NO_NOTIFICATION", 
-			"FLUSH_REFLECTION", "FLUSH_REFLECTION_NO_NOTIFICATION", "FLUSH_REFLECTION_PLUS_INNER_NO_NOTIFICATION", "NOTIFY_CONTENT_CHANGED",
-			"DISASSOCIATE_SOURCE_NOTIFY", "DISASSOCIATE_SOURCE", "DISASSOCIATE_SOURCE_PLUS_INNER_NOTIFY", "DISASSOCIATE_SOURCE_PLUS_INNER"};	
-	/*
-	 * Test the next call type, if not valid, return false.
-	 */
-	protected boolean testCallType(int callType) {
-		if (exception != null)
-			return false;	// Already had an error
-		try {
-			if (++callIndex >= callTypes.length)
-				Assert.fail("An extra notification of type " + callTypeNames[callType] + " received.");
-			if (callTypes[callIndex] != callType)
-				Assert.assertEquals(callTypeNames[callTypes[callIndex]], callTypeNames[callType]);
-		} catch (AssertionFailedError e) {
-			exception = e;
-			return false;
-		}
-		return true;
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.jem.internal.java.adapters.JavaReflectionAdapterFactory#flushAll()
-	 */
-	public void flushAll() {
-		testCallType(FLUSH_ALL);
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.jem.internal.adapters.jdom.JavaJDOMAdapterFactory#flushAllNoNotification()
-	 */
-	public List flushAllNoNotification() {
-		testCallType(FLUSH_ALL_NO_NOTIFICATION);
-		return Collections.EMPTY_LIST;
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.jem.internal.adapters.jdom.JavaJDOMAdapterFactory#flushPackage(java.lang.String, boolean)
-	 */
-	public void flushPackage(String packageName, boolean noFlushIfSourceFound) {
-		if (testCallType(FLUSH_PACKAGE)) {
-			try {
-				Assert.assertEquals((String) ((Object[]) callArgs[callIndex])[0], packageName);
-				Assert.assertEquals(((Boolean) ((Object[]) callArgs[callIndex])[1]).booleanValue(), noFlushIfSourceFound); 
-			} catch (AssertionFailedError e) {
-				exception = e;
-			}			
-		}
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.jem.internal.adapters.jdom.JavaJDOMAdapterFactory#flushPackageNoNotification(java.lang.String, boolean)
-	 */
-	public List flushPackageNoNotification(String packageName, boolean noFlushIfSourceFound) {
-		if (testCallType(FLUSH_PACKAGE_NO_NOTIFICATION)) {
-			try {
-				Assert.assertEquals((String) ((Object[]) callArgs[callIndex])[0], packageName);
-				Assert.assertEquals(((Boolean) ((Object[]) callArgs[callIndex])[1]).booleanValue(), noFlushIfSourceFound); 
-			} catch (AssertionFailedError e) {
-				exception = e;
-			}			
-		}		
-		return Collections.EMPTY_LIST;
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.jem.internal.java.adapters.JavaReflectionAdapterFactory#flushReflection(java.lang.String)
-	 */
-	public void flushReflection(String source) {
-		if (testCallType(FLUSH_REFLECTION)) {
-			try {
-				Assert.assertEquals((String) callArgs[callIndex], source); 
-			} catch (AssertionFailedError e) {
-				exception = e;
-			}			
-		}		
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.jem.internal.adapters.jdom.JavaJDOMAdapterFactory#flushReflectionNoNotification(java.lang.String)
-	 */
-	public Notification flushReflectionNoNotification(String source) {
-		if (testCallType(FLUSH_REFLECTION_NO_NOTIFICATION)) {
-			try {
-				Assert.assertEquals((String) callArgs[callIndex], source); 
-			} catch (AssertionFailedError e) {
-				exception = e;
-			}			
-		}			
-		return null;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jem.internal.adapters.jdom.JavaJDOMAdapterFactory#flushReflectionPlusInnerNoNotification(java.lang.String)
-	 */
-	public Notification flushReflectionPlusInnerNoNotification(String source) {
-		if (testCallType(FLUSH_REFLECTION_PLUS_INNER_NO_NOTIFICATION)) {
-			try {
-				Assert.assertEquals((String) callArgs[callIndex], source); 
-			} catch (AssertionFailedError e) {
-				exception = e;
-			}			
-		}
-		return null;
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.jem.internal.adapters.jdom.JavaJDOMAdapterFactory#notifyContentChanged(org.eclipse.jdt.core.ICompilationUnit)
-	 */
-	public void notifyContentChanged(ICompilationUnit targetCU) {
-		if (testCallType(NOTIFY_CONTENT_CHANGED)) {
-			try {
-				Assert.assertEquals((String) callArgs[callIndex], targetCU.getElementName()); 
-			} catch (AssertionFailedError e) {
-				exception = e;
-			}			
-		}			
-	}
-	
-	
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jem.internal.java.adapters.JavaReflectionAdapterFactory#disAssociateSource(java.lang.String, boolean)
-	 */
-	public Notification disAssociateSource(String source, boolean doNotify) {
-		if (testCallType(DISASSOCIATE_SOURCE_NOTIFY)) {
-			try {
-				Assert.assertEquals((String) ((Object[]) callArgs[callIndex])[0], source);
-				Assert.assertEquals(((Boolean) ((Object[]) callArgs[callIndex])[1]).booleanValue(), doNotify); 
-			} catch (AssertionFailedError e) {
-				exception = e;
-			}			
-		}		
-		return null;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jem.internal.java.adapters.JavaReflectionAdapterFactory#disAssociateSource(java.lang.String)
-	 */
-	public Notification disAssociateSource(String source) {
-		if (testCallType(DISASSOCIATE_SOURCE)) {
-			try {
-				Assert.assertEquals((String) callArgs[callIndex], source); 
-			} catch (AssertionFailedError e) {
-				exception = e;
-			}			
-		}
-		return null;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jem.internal.java.adapters.JavaReflectionAdapterFactory#disAssociateSourcePlusInner(java.lang.String, boolean)
-	 */
-	public Notification disAssociateSourcePlusInner(String source, boolean doNotify) {
-		if (testCallType(DISASSOCIATE_SOURCE_PLUS_INNER_NOTIFY)) {
-			try {
-				Assert.assertEquals((String) ((Object[]) callArgs[callIndex])[0], source);
-				Assert.assertEquals(((Boolean) ((Object[]) callArgs[callIndex])[1]).booleanValue(), doNotify); 
-			} catch (AssertionFailedError e) {
-				exception = e;
-			}			
-		}		
-		return null;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jem.internal.java.adapters.JavaReflectionAdapterFactory#disAssociateSourcePlusInner(java.lang.String)
-	 */
-	public void disAssociateSourcePlusInner(String source) {
-		if (testCallType(DISASSOCIATE_SOURCE_PLUS_INNER)) {
-			try {
-				Assert.assertEquals((String) callArgs[callIndex], source); 
-			} catch (AssertionFailedError e) {
-				exception = e;
-			}			
-		}		
-	}
-	
-	public JavaReflectionSynchronizer getSynchronizer() {
-		return synchronizer;
-	}
-}
diff --git a/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/modelListeners/TestListeners.java b/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/modelListeners/TestListeners.java
deleted file mode 100644
index 64630e1..0000000
--- a/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/modelListeners/TestListeners.java
+++ /dev/null
@@ -1,350 +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
- *******************************************************************************/
-/*
- *  $RCSfile: TestListeners.java,v $
- *  $Revision: 1.2 $  $Date: 2005/02/15 23:00:16 $ 
- */
-package org.eclipse.jem.tests.modelListeners;
-
-import java.util.Arrays;
-import java.util.List;
-
-import junit.framework.TestCase;
-
-import org.eclipse.core.resources.IWorkspaceRunnable;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.*;
-import org.eclipse.jdt.core.*;
-
-import org.eclipse.jem.tests.JavaProjectUtil;
-import org.eclipse.jem.tests.beaninfo.AbstractBeanInfoTestCase;
- 
-
-/**
- * 
- * @since 1.0.0
- */
-public abstract class TestListeners extends TestCase {
-	
-	protected IJavaProject jp;
-
-	// The indexes of these lookups are found in the setup and teardown methods. They must be kept in sync.
-	protected List setupSpecials = Arrays.asList(new String[] { "testOpen", "testClose", "testAddMethodInWorkcopy", "testSaveFromWorkingCopy",
-			"testRevert", "testDeleteMethodNoWorkingCopy", "testAddClass", "testDeleteClassWithWorkingCopy",
-			"testDeleteClassNoWorkingCopy", "testAddPackage", "testDeletePackage"});
-	
-	protected IListenerTester tester;
-		
-	/* (non-Javadoc)
-	 * @see junit.framework.TestCase#setUp()
-	 */
-	protected void setUp() throws Exception {
-		super.setUp();
-		jp = JavaCore.create(JavaProjectUtil.getProject(AbstractBeanInfoTestCase.TEST_BEANINFO_PROJECT));
-		String testname = getName();
-		int index = setupSpecials.indexOf(testname);
-		switch (index) {
-			case 0:
-				setUpOpen();
-				break;
-			case 1:
-				setUpClose();
-				break;
-			case 2:
-				setUpAddMethodInWorkingCopy();
-				break;
-			case 3:
-				setUpSaveFromWorkingCopy();
-				break;
-			case 4:
-				setUpRevert();
-				break;
-			case 5:
-				setupDeleteMethodNoWorkingCopy();
-				break;
-			case 6:
-				setupAddClass();
-				break;
-			case 7:
-				setupDeleteClassWithWorkingCopy();
-				break;
-			case 8:
-				setUpDeleteClassNoWorkingCopy();
-				break;
-			case 9:
-				setUpAddPackage();
-				break;
-			case 10:
-				setUpDeletePackage();
-				break;
-			default:
-				break;
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see junit.framework.TestCase#tearDown()
-	 */
-	protected void tearDown() throws Exception {
-		String testname = getName();
-		int index = setupSpecials.indexOf(testname);
-		switch (index) {
-			case 0:
-				tearDownOpen();
-				break;
-			case 1:
-				tearDownClose();
-				break;
-			case 2:
-				tearDownAddMethodInWorkingCopy();
-				break;
-			case 3:
-				tearDownSaveFromWorkingCopy();
-				break;
-			case 4:
-				tearDownRevert();
-				break;
-			case 5:
-				tearDownDeleteMethodNoWorkingCopy();
-				break;
-			case 6:
-				tearDownAddClass();
-				break;
-			case 7:
-				tearDownDeleteClassWithWorkingCopy();
-				break;
-			case 8:
-				tearDownDeleteClassNoWorkingCopy();
-				break;
-			case 9:
-				tearDownAddPackage();
-				break;
-			case 10:
-				tearDownDeletePackage();
-				break;
-			default:
-				break;
-		}		
-		super.tearDown();
-	}	
-
-
-	protected void setTester(IListenerTester tester) {
-		this.tester = tester;
-	}
-	
-	protected void setUpOpen() {	
-	}	
-	public void testOpen() throws JavaModelException {
-		// Test open a working copy.
-		testCU = (ICompilationUnit) jp.findElement(new Path("org/eclipse/jem/tests/beaninfo/Test1Class.java"));
-		testCU.becomeWorkingCopy(null, null);
-		tester.isException();
-		tester.isComplete();	// It should of been complete.
-	}
-	protected void tearDownOpen() throws JavaModelException {
-		if (testCU != null)
-			testCU.discardWorkingCopy();		
-	}
-	
-	
-	protected ICompilationUnit testCU;
-	protected void setUpClose() throws JavaModelException {
-		testCU = (ICompilationUnit) jp.findElement(new Path("org/eclipse/jem/tests/beaninfo/Test1Class.java"));
-		testCU.becomeWorkingCopy(null, null);		
-	}	
-	public void testClose() throws JavaModelException {
-		// Test close a working copy.
-		testCU.discardWorkingCopy();
-		tester.isException();
-		tester.isComplete();	// It should of been complete.
-	}
-	protected void tearDownClose() throws JavaModelException {
-		if (testCU != null)
-			testCU.discardWorkingCopy();
-	}
-	
-	
-	protected void setUpAddMethodInWorkingCopy() throws JavaModelException {
-		testCU = (ICompilationUnit) jp.findElement(new Path("org/eclipse/jem/tests/beaninfo/Test1Class.java"));
-		testCU.becomeWorkingCopy(null, null);		
-	}	
-	public void testAddMethodInWorkcopy() throws JavaModelException {
-		testCU.getTypes()[0].createMethod("private void getSomething() {}", null, true, new NullProgressMonitor());
-		tester.isException();
-		tester.isComplete();	// It should of been complete.
-	}
-	protected void tearDownAddMethodInWorkingCopy() throws JavaModelException {
-		if (testCU != null)
-			testCU.discardWorkingCopy();		
-	}	
-	
-	
-	protected void setUpSaveFromWorkingCopy() throws JavaModelException {
-		testCU = (ICompilationUnit) jp.findElement(new Path("org/eclipse/jem/tests/beaninfo/Test1Class.java"));
-		testCU.becomeWorkingCopy(null, null);		
-		testCU.getTypes()[0].createMethod("private void getSomething() {}", null, true, new NullProgressMonitor());		
-	}
-	public void testSaveFromWorkingCopy() throws JavaModelException {
-		testCU.commitWorkingCopy(true, new NullProgressMonitor());
-		tester.isException();
-		tester.isComplete();	// It should of been complete.		
-	}
-	protected void tearDownSaveFromWorkingCopy() throws JavaModelException {
-		if (testCU != null)
-			testCU.discardWorkingCopy();				
-	}
-	
-	protected void setUpRevert() throws JavaModelException {
-		testCU = (ICompilationUnit) jp.findElement(new Path("org/eclipse/jem/tests/beaninfo/Test1Class.java"));
-		testCU.becomeWorkingCopy(null, null);		
-		testCU.getTypes()[0].createMethod("private void getSomething() {}", null, true, new NullProgressMonitor());				
-	}	
-	public void testRevert() throws JavaModelException {
-		testCU.restore();
-		tester.isException();
-		tester.isComplete();	// It should of been complete.		
-	}
-	protected void tearDownRevert() throws JavaModelException {
-		if (testCU != null)
-			testCU.discardWorkingCopy();				
-	}
-	
-	protected void setupDeleteMethodNoWorkingCopy() throws JavaModelException {
-		testCU = (ICompilationUnit) jp.findElement(new Path("org/eclipse/jem/tests/beaninfo/Test1Class.java"));
-		IMethod m = testCU.getTypes()[0].getMethod("getSomething", new String[0]);
-		if (m.exists())
-			m.delete(true, new NullProgressMonitor());
-		testCU.getTypes()[0].createMethod("private void getSomething() {}", null, true, new NullProgressMonitor());						
-	}
-	public void testDeleteMethodNoWorkingCopy() throws CoreException {
-		JavaCore.run(new IWorkspaceRunnable() {
-			public void run(IProgressMonitor monitor) throws CoreException {
-				// Actually there will be a working copy. This is to simulate what delete method from member list
-				// with no open editor. This is done by batching everything up, but there is a working copy created.
-				// But it changes the file directly then. (Confusing, no? But that is the way it does it in JDT).
-				testCU.becomeWorkingCopy(null, null);
-				IMethod method = testCU.getTypes()[0].getMethod("getSomething", new String[] {});
-				IBuffer cuBuffer = testCU.getBuffer();
-				ISourceRange sr = method.getSourceRange();
-				cuBuffer.replace(sr.getOffset(), sr.getLength(),"");
-				cuBuffer.save(monitor, true);
-				testCU.discardWorkingCopy();
-			}
-		}, new NullProgressMonitor());
-		tester.isException();
-		tester.isComplete();	// It should of been complete.				
-	}
-	protected void tearDownDeleteMethodNoWorkingCopy() throws JavaModelException {
-		if (testCU != null)
-			testCU.discardWorkingCopy();						
-	}
-	
-	protected void setupAddClass() {
-		
-	}
-	public void testAddClass() throws JavaModelException {
-		IPackageFragment pkg = (IPackageFragment) jp.findElement(new Path("org/eclipse/jem/tests/beaninfo"));
-		testCU = pkg.createCompilationUnit("NewClass.java", "public class NewClass {}", true, new NullProgressMonitor());
-		tester.isException();
-		tester.isComplete();	// It should of been complete.				
-	}
-	protected void tearDownAddClass() throws JavaModelException {
-		if (testCU != null) {
-			testCU.delete(true, new NullProgressMonitor());
-		}
-	}
-	
-	protected void setupDeleteClassWithWorkingCopy() throws JavaModelException {
-		IPackageFragment pkg = (IPackageFragment) jp.findElement(new Path("org/eclipse/jem/tests/beaninfo"));
-		testCU = pkg.createCompilationUnit("NewClass.java", "public class NewClass {}", true, new NullProgressMonitor());
-		testCU.becomeWorkingCopy(null, null);
-	}
-	public void testDeleteClassWithWorkingCopy() throws CoreException {
-		ResourcesPlugin.getWorkspace().run(new IWorkspaceRunnable() {
-
-			public void run(IProgressMonitor monitor) throws CoreException {
-				// Need to run this way to simulate what happens for real.
-				testCU.delete(true, new NullProgressMonitor());
-				ResourcesPlugin.getWorkspace().checkpoint(true);
-				testCU.discardWorkingCopy();
-			}
-		}, new NullProgressMonitor());
-		tester.isException();
-		tester.isComplete();	// It should of been complete.	
-		testCU = null;
-	}
-	protected void tearDownDeleteClassWithWorkingCopy() throws JavaModelException {
-		if (testCU != null && testCU.exists()) {
-			testCU.delete(true, new NullProgressMonitor());
-		}		
-	}
-	
-	protected void setUpDeleteClassNoWorkingCopy() throws JavaModelException {
-		IPackageFragment pkg = (IPackageFragment) jp.findElement(new Path("org/eclipse/jem/tests/beaninfo"));
-		testCU = pkg.createCompilationUnit("NewClass.java", "public class NewClass {}", true, new NullProgressMonitor());		
-	}
-	public void testDeleteClassNoWorkingCopy() throws JavaModelException {
-		testCU.delete(true, new NullProgressMonitor());
-		tester.isException();
-		tester.isComplete();	// It should of been complete.	
-		testCU = null;		
-	}
-	protected void tearDownDeleteClassNoWorkingCopy() throws JavaModelException {
-		if (testCU != null && testCU.exists()) {
-			testCU.delete(true, new NullProgressMonitor());
-		}				
-	}
-	
-	protected void setUpAddPackage() throws JavaModelException {
-		IPackageFragment pkg = (IPackageFragment) jp.findElement(new Path("test"));
-		if (pkg != null)
-			pkg.delete(true, new NullProgressMonitor());
-	}
-	public void testAddPackage() throws JavaModelException {
-		IPackageFragmentRoot[] roots = jp.getPackageFragmentRoots();
-		for (int i = 0; i < roots.length; i++) {
-			if (roots[i].getKind() == IPackageFragmentRoot.K_SOURCE) {
-				roots[i].createPackageFragment("test", true, new NullProgressMonitor());
-				break;
-			}
-		}
-		tester.isException();
-		tester.isComplete();	// It should of been complete.			
-	}
-	protected void tearDownAddPackage() throws JavaModelException {
-		IPackageFragment pkg = (IPackageFragment) jp.findElement(new Path("test"));
-		if (pkg != null)
-			pkg.delete(true, new NullProgressMonitor());		
-	}
-	
-	protected IPackageFragment testPkg;
-	protected void setUpDeletePackage() throws JavaModelException {
-		IPackageFragmentRoot[] roots = jp.getPackageFragmentRoots();
-		for (int i = 0; i < roots.length; i++) {
-			if (roots[i].getKind() == IPackageFragmentRoot.K_SOURCE) {
-				testPkg = roots[i].createPackageFragment("test", true, new NullProgressMonitor());
-				break;
-			}
-		}		
-	}
-	public void testDeletePackage() throws JavaModelException {
-		testPkg.delete(true, new NullProgressMonitor());
-		tester.isException();
-		tester.isComplete();	// It should of been complete.			
-		testPkg = null;
-	}
-	protected void tearDownDeletePackage() throws JavaModelException {
-		if (testPkg != null && testPkg.exists())
-			testPkg.delete(true, new NullProgressMonitor());
-	}
-	
-}
diff --git a/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/proxy/AbstractTestProxy.java b/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/proxy/AbstractTestProxy.java
deleted file mode 100644
index 2241ade..0000000
--- a/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/proxy/AbstractTestProxy.java
+++ /dev/null
@@ -1,110 +0,0 @@
-package org.eclipse.jem.tests.proxy;
-/*******************************************************************************
- * Copyright (c)  2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Eclipse Public License v1.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: AbstractTestProxy.java,v $
- *  $Revision: 1.3 $  $Date: 2005/02/15 23:00:16 $ 
- */
-import java.util.Enumeration;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jem.internal.proxy.core.*;
-import org.eclipse.jem.internal.proxy.core.IStandardBeanTypeProxyFactory;
-import org.eclipse.jem.internal.proxy.core.ProxyFactoryRegistry;
-
-import junit.framework.*;
-import junit.framework.TestCase;
-import junit.framework.TestSuite;
-
-/**
- * @author richkulp
- *
- * Standard type of Proxy Tests.
- */
-public abstract class AbstractTestProxy extends TestCase {
-	
-	/**
-	 * @author richkulp
-	 *
-	 * Interface for registry handler. Actual implementations will place their
-	 * handler in the field REGISTRY_HANDLER to that the proxy tests can access it. 
-	 */
-	public interface RegistryHandler {
-		
-		/**
-		 * @return is the handler valid and setup correctly.
-		 */
-		public boolean isValid();
-		
-		/**
-		 * Return the current registry, creating it if necessary.
-		 * @return The registry. 
-		 */
-		public ProxyFactoryRegistry getRegistry() throws CoreException;
-		
-		/**
-		 * Destroy the current registry.
-		 */
-		public void destroyRegistry();
-	}
-
-	/**
-	 * Initialize the registry handler for all AbstractTestProxy tests in the 
-	 * given suite.
-	 * @param suite
-	 */
-	public static void initRegistryHandler(TestSuite suite, RegistryHandler registryHandler) {
-		Enumeration tests = suite.tests();
-		while (tests.hasMoreElements()) {
-			Test test = (Test) tests.nextElement();
-			if (test instanceof AbstractTestProxy)
-				((AbstractTestProxy) test).setRegistryHandler(registryHandler);
-			else if (test instanceof TestSuite)
-				initRegistryHandler((TestSuite) test, registryHandler);
-		}
-	}
-	
-	public AbstractTestProxy() {
-		super();
-	}
-
-	public AbstractTestProxy(String name) {
-		super(name);
-	}
-	
-	private RegistryHandler registryHandler;
-	
-	protected ProxyFactoryRegistry registry;
-	protected IStandardBeanTypeProxyFactory proxyTypeFactory;
-	protected IStandardBeanProxyFactory proxyFactory;
-
-	/* (non-Javadoc)
-	 * @see junit.framework.TestCase#setUp()
-	 */
-	protected void setUp() throws Exception {
-		super.setUp();
-		assertNotNull(getRegistryHandler());
-		assertTrue("Suite not setup correctly.", getRegistryHandler().isValid());
-		registry = getRegistryHandler().getRegistry();
-		assertNotNull(registry);
-		proxyFactory = registry.getBeanProxyFactory();
-		proxyTypeFactory = registry.getBeanTypeProxyFactory();
-	}
-
-	public void setRegistryHandler(RegistryHandler registryHandler) {
-		this.registryHandler = registryHandler;
-	}
-
-	public RegistryHandler getRegistryHandler() {
-		return registryHandler;
-	}
-
-}
diff --git a/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/proxy/ExpressionTest.java b/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/proxy/ExpressionTest.java
deleted file mode 100644
index 64b2829..0000000
--- a/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/proxy/ExpressionTest.java
+++ /dev/null
@@ -1,1158 +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
- *******************************************************************************/
-/*
- *  $RCSfile: ExpressionTest.java,v $
- *  $Revision: 1.4 $  $Date: 2005/02/15 23:00:16 $ 
- */
-package org.eclipse.jem.tests.proxy;
-
-import org.eclipse.jem.internal.proxy.core.*;
-import org.eclipse.jem.internal.proxy.initParser.tree.IExpressionConstants;
-import org.eclipse.jem.internal.proxy.initParser.tree.IExpressionConstants.NoExpressionValueException;
- 
-/**
- * 
- * @since 1.0.0
- */
-public class ExpressionTest extends AbstractTestProxy {
-
-	/**
-	 * 
-	 * 
-	 * @since 1.0.0
-	 */
-	public ExpressionTest() {
-		super();
-	}
-
-	/**
-	 * @param name
-	 * 
-	 * @since 1.0.0
-	 */
-	public ExpressionTest(String name) {
-		super(name);
-	}
-	
-	public void testCastStringType() throws IllegalStateException, ThrowableProxy, NoExpressionValueException {
-		IExpression exp = proxyFactory.createExpression();
-		exp.createCastExpression(IExpressionConstants.ROOTEXPRESSION, "short");
-		exp.createPrimitiveLiteral(IExpressionConstants.CAST_EXPRESSION, 10l);
-		IBeanProxy result = exp.getExpressionValue();
-		assertNotNull(result);
-		assertEquals("short", result.getTypeProxy().getTypeName());
-		assertEquals((short) 10, ((INumberBeanProxy) result).shortValue());
-	}
-	
-	public void testCastProxyType() throws IllegalStateException, ThrowableProxy, NoExpressionValueException {
-		IExpression exp = proxyFactory.createExpression();
-		exp.createCastExpression(IExpressionConstants.ROOTEXPRESSION, proxyTypeFactory.getBeanTypeProxy("short"));
-		exp.createPrimitiveLiteral(IExpressionConstants.CAST_EXPRESSION, 'a');
-		IBeanProxy result = exp.getExpressionValue();
-		assertNotNull(result);
-		assertEquals("short", result.getTypeProxy().getTypeName());
-		assertEquals((short) 'a', ((INumberBeanProxy) result).shortValue());	
-	}
-	
-	public void testCastError() throws IllegalStateException, ThrowableProxy, NoExpressionValueException {
-		IExpression exp = proxyFactory.createExpression();
-		exp.createCastExpression(IExpressionConstants.ROOTEXPRESSION, proxyTypeFactory.getBeanTypeProxy("short"));
-		try {
-			exp.createProxyExpression(IExpressionConstants.CAST_EXPRESSION, proxyFactory.createBeanProxyWith(Boolean.TRUE));
-			exp.getExpressionValue();
-			fail("Should of thrown ClassCastException");
-		} catch (ThrowableProxy e) {
-			if (!e.getTypeProxy().getFormalTypeName().equals("java.lang.ClassCastException"))
-				throw e;	// Some other exception, rethrow it.
-		}
-	}	
-	
-	public void testCastFailed() throws IllegalStateException, ThrowableProxy, NoExpressionValueException {
-		IExpression exp = proxyFactory.createExpression();
-		exp.createCastExpression(IExpressionConstants.ROOTEXPRESSION, proxyTypeFactory.getBeanTypeProxy("short"));
-		try {
-			exp.getExpressionValue();
-			fail("Should of gotton IllegalStateException");
-		} catch (IllegalStateException e) {
-			System.out.println(e.getLocalizedMessage());
-		}		
-	}
-
-	public void testInstanceofStringType() throws IllegalStateException, ThrowableProxy, NoExpressionValueException {
-		IExpression exp = proxyFactory.createExpression();
-		exp.createInstanceofExpression(IExpressionConstants.ROOTEXPRESSION, "java.lang.String");
-		exp.createStringLiteral(IExpressionConstants.INSTANCEOF_VALUE, "asdf");
-		IBeanProxy result = exp.getExpressionValue();
-		assertNotNull(result);
-		assertEquals("boolean", result.getTypeProxy().getTypeName());
-		assertEquals(true, ((IBooleanBeanProxy) result).booleanValue());
-	}
-	
-	public void testInstanceofProxyType() throws IllegalStateException, ThrowableProxy, NoExpressionValueException {
-		IExpression exp = proxyFactory.createExpression();
-		exp.createInstanceofExpression(IExpressionConstants.ROOTEXPRESSION, proxyTypeFactory.getBeanTypeProxy("java.lang.String"));
-		exp.createStringLiteral(IExpressionConstants.INSTANCEOF_VALUE, "asdf");
-		IBeanProxy result = exp.getExpressionValue();
-		assertNotNull(result);
-		assertEquals("boolean", result.getTypeProxy().getTypeName());
-		assertEquals(true, ((IBooleanBeanProxy) result).booleanValue());
-		
-	}
-	
-	public void testInstanceofFailed() throws IllegalStateException, ThrowableProxy, NoExpressionValueException {
-		IExpression exp = proxyFactory.createExpression();
-		exp.createInstanceofExpression(IExpressionConstants.ROOTEXPRESSION, proxyTypeFactory.getBeanTypeProxy("java.lang.String"));
-		try {
-			exp.getExpressionValue();
-			fail("Should of gotton IllegalStateException");
-		} catch (IllegalStateException e) {
-			System.out.println(e.getLocalizedMessage());
-		}		
-	}
-	
-	public void testTypeLiteral() throws IllegalStateException, ThrowableProxy, NoExpressionValueException {
-		IExpression exp = proxyFactory.createExpression();
-		exp.createTypeLiteral(IExpressionConstants.ROOTEXPRESSION, "java.lang.String");
-		IBeanProxy result = exp.getExpressionValue();
-		assertTrue("Not a bean type proxy.", result instanceof IBeanTypeProxy);
-		IBeanTypeProxy type = (IBeanTypeProxy) result;
-		assertTrue("Not valid.", type.isValid());
-		assertEquals("java.lang.String", type.getFormalTypeName());
-	}
-
-	public void testTypeFails() throws IllegalStateException, ThrowableProxy, NoExpressionValueException {
-		IExpression exp = proxyFactory.createExpression();
-		try {
-			exp.createTypeLiteral(IExpressionConstants.ROOTEXPRESSION, "java.lang.Stng");
-			exp.getExpressionValue();
-			fail("Should not of gotton a result.");
-		} catch (ThrowableProxy e) {
-			System.out.println(e.getProxyLocalizedMessage());
-		}
-	}
-	
-	public void testNesting() throws IllegalStateException, ThrowableProxy, NoExpressionValueException {
-		IExpression exp = proxyFactory.createExpression();
-		exp.createInstanceofExpression(IExpressionConstants.ROOTEXPRESSION, "short");
-		exp.createCastExpression(IExpressionConstants.INSTANCEOF_VALUE, "short");
-		exp.createPrimitiveLiteral(IExpressionConstants.CAST_EXPRESSION, (short) 10);
-		IBeanProxy result = exp.getExpressionValue();
-		assertNotNull(result);
-		assertEquals("boolean", result.getTypeProxy().getTypeName());
-		assertEquals(true, ((IBooleanBeanProxy) result).booleanValue());
-	}
-	
-	public void testPrefixPlus() throws IllegalStateException, ThrowableProxy, NoExpressionValueException {
-		IExpression exp = proxyFactory.createExpression();
-		exp.createPrefixExpression(IExpressionConstants.ROOTEXPRESSION, IExpressionConstants.PRE_PLUS);
-		exp.createPrimitiveLiteral(IExpressionConstants.PREFIX_OPERAND, 10);
-		IBeanProxy result = exp.getExpressionValue();
-		assertNotNull(result);
-		assertEquals("int", result.getTypeProxy().getTypeName());
-		assertEquals(10, ((INumberBeanProxy) result).intValue());
-		
-	}
-	
-	public void testPrefixMinus() throws IllegalStateException, ThrowableProxy, NoExpressionValueException {
-		IExpression exp = proxyFactory.createExpression();
-		exp.createPrefixExpression(IExpressionConstants.ROOTEXPRESSION, IExpressionConstants.PRE_MINUS);
-		exp.createPrimitiveLiteral(IExpressionConstants.PREFIX_OPERAND, 10);
-		IBeanProxy result = exp.getExpressionValue();
-		assertNotNull(result);
-		assertEquals("int", result.getTypeProxy().getTypeName());
-		assertEquals(-10, ((INumberBeanProxy) result).intValue());
-		
-	}
-
-	public void testPrefixMinusChar() throws IllegalStateException, ThrowableProxy, NoExpressionValueException {
-		IExpression exp = proxyFactory.createExpression();
-		exp.createPrefixExpression(IExpressionConstants.ROOTEXPRESSION, IExpressionConstants.PRE_MINUS);
-		exp.createPrimitiveLiteral(IExpressionConstants.PREFIX_OPERAND, 'a');
-		IBeanProxy result = exp.getExpressionValue();
-		assertNotNull(result);
-		assertEquals("int", result.getTypeProxy().getTypeName());
-		assertEquals(-'a', ((INumberBeanProxy) result).intValue());
-		
-	}
-
-	public void testPrefixComplement() throws IllegalStateException, ThrowableProxy, NoExpressionValueException {
-		IExpression exp = proxyFactory.createExpression();
-		exp.createPrefixExpression(IExpressionConstants.ROOTEXPRESSION, IExpressionConstants.PRE_COMPLEMENT);
-		exp.createPrimitiveLiteral(IExpressionConstants.PREFIX_OPERAND, (short) 10);
-		IBeanProxy result = exp.getExpressionValue();
-		assertNotNull(result);
-		assertEquals("int", result.getTypeProxy().getTypeName());
-		assertEquals(~10, ((INumberBeanProxy) result).intValue());
-		
-	}
-
-	public void testPrefixNot() throws IllegalStateException, ThrowableProxy, NoExpressionValueException {
-		IExpression exp = proxyFactory.createExpression();
-		exp.createPrefixExpression(IExpressionConstants.ROOTEXPRESSION, IExpressionConstants.PRE_NOT);
-		exp.createPrimitiveLiteral(IExpressionConstants.PREFIX_OPERAND, true);
-		IBeanProxy result = exp.getExpressionValue();
-		assertNotNull(result);
-		assertEquals("boolean", result.getTypeProxy().getTypeName());
-		assertEquals(false, ((IBooleanBeanProxy) result).booleanValue());
-		
-	}
-
-	public void testPrefixFail() throws IllegalStateException, ThrowableProxy, NoExpressionValueException {
-		IExpression exp = proxyFactory.createExpression();
-		exp.createPrefixExpression(IExpressionConstants.ROOTEXPRESSION, IExpressionConstants.PRE_NOT);
-		try {
-			exp.createPrimitiveLiteral(IExpressionConstants.PREFIX_OPERAND, 10);
-			exp.getExpressionValue();
-			fail("Should of failed.");
-		} catch (ThrowableProxy e) {
-			System.out.println(e.getProxyLocalizedMessage());
-		}
-		
-	}
-	
-	public void testTimes() throws IllegalStateException, ThrowableProxy, NoExpressionValueException {
-		IExpression exp = proxyFactory.createExpression();
-		exp.createInfixExpression(IExpressionConstants.ROOTEXPRESSION, IExpressionConstants.IN_TIMES, 0);
-		exp.createPrimitiveLiteral(IExpressionConstants.INFIX_LEFT, 3);
-		exp.createPrimitiveLiteral(IExpressionConstants.INFIX_RIGHT, 4);
-		IBeanProxy result = exp.getExpressionValue();
-		assertNotNull(result);
-		assertEquals("int", result.getTypeProxy().getTypeName());
-		assertEquals(3*4, ((INumberBeanProxy) result).intValue());
-		
-	}
-	
-	public void testTimesExtended() throws IllegalStateException, ThrowableProxy, NoExpressionValueException {
-		IExpression exp = proxyFactory.createExpression();
-		exp.createInfixExpression(IExpressionConstants.ROOTEXPRESSION, IExpressionConstants.IN_TIMES, 1);
-		exp.createPrimitiveLiteral(IExpressionConstants.INFIX_LEFT, 3);
-		exp.createPrimitiveLiteral(IExpressionConstants.INFIX_RIGHT, 4);
-		exp.createPrimitiveLiteral(IExpressionConstants.INFIX_EXTENDED, 5d);
-		IBeanProxy result = exp.getExpressionValue();
-		assertNotNull(result);
-		assertEquals("double", result.getTypeProxy().getTypeName());
-		assertEquals((3*4*5d), ((INumberBeanProxy) result).doubleValue(), 0);
-		
-	}
-
-	public void testTimesExtendedNested() throws IllegalStateException, ThrowableProxy, NoExpressionValueException {
-		IExpression exp = proxyFactory.createExpression();
-		exp.createInfixExpression(IExpressionConstants.ROOTEXPRESSION, IExpressionConstants.IN_TIMES, 1);
-		exp.createInfixExpression(IExpressionConstants.INFIX_LEFT, IExpressionConstants.IN_MINUS, 0);
-		exp.createPrimitiveLiteral(IExpressionConstants.INFIX_LEFT, 10);
-		exp.createPrimitiveLiteral(IExpressionConstants.INFIX_RIGHT, 5);
-		exp.createPrimitiveLiteral(IExpressionConstants.INFIX_RIGHT, 4);
-		exp.createPrimitiveLiteral(IExpressionConstants.INFIX_EXTENDED, 5d);
-		IBeanProxy result = exp.getExpressionValue();
-		assertNotNull(result);
-		assertEquals("double", result.getTypeProxy().getTypeName());
-		assertEquals(((10-5)*4*5d), ((INumberBeanProxy) result).doubleValue(), 0);
-		
-	}
-
-	public void testDivide() throws IllegalStateException, ThrowableProxy, NoExpressionValueException {
-		IExpression exp = proxyFactory.createExpression();
-		exp.createInfixExpression(IExpressionConstants.ROOTEXPRESSION, IExpressionConstants.IN_DIVIDE, 0);
-		exp.createPrimitiveLiteral(IExpressionConstants.INFIX_LEFT, 4);
-		exp.createPrimitiveLiteral(IExpressionConstants.INFIX_RIGHT, 2);
-		IBeanProxy result = exp.getExpressionValue();
-		assertNotNull(result);
-		assertEquals("int", result.getTypeProxy().getTypeName());
-		assertEquals(4/2, ((INumberBeanProxy) result).intValue());
-		
-	}
-	
-	public void testDivideExtended() throws IllegalStateException, ThrowableProxy, NoExpressionValueException {
-		IExpression exp = proxyFactory.createExpression();
-		exp.createInfixExpression(IExpressionConstants.ROOTEXPRESSION, IExpressionConstants.IN_DIVIDE, 1);
-		exp.createPrimitiveLiteral(IExpressionConstants.INFIX_LEFT, 12);
-		exp.createPrimitiveLiteral(IExpressionConstants.INFIX_RIGHT, 3);
-		exp.createPrimitiveLiteral(IExpressionConstants.INFIX_EXTENDED, 2d);
-		IBeanProxy result = exp.getExpressionValue();
-		assertNotNull(result);
-		assertEquals("double", result.getTypeProxy().getTypeName());
-		assertEquals((12/3/2d), ((INumberBeanProxy) result).doubleValue(), 0);
-		
-	}
-
-	public void testRemainder() throws IllegalStateException, ThrowableProxy, NoExpressionValueException {
-		IExpression exp = proxyFactory.createExpression();
-		exp.createInfixExpression(IExpressionConstants.ROOTEXPRESSION, IExpressionConstants.IN_REMAINDER, 0);
-		exp.createPrimitiveLiteral(IExpressionConstants.INFIX_LEFT, 4);
-		exp.createPrimitiveLiteral(IExpressionConstants.INFIX_RIGHT, 3);
-		IBeanProxy result = exp.getExpressionValue();
-		assertNotNull(result);
-		assertEquals("int", result.getTypeProxy().getTypeName());
-		assertEquals(4%3, ((INumberBeanProxy) result).intValue());
-		
-	}
-	
-	public void testRemainderExtended() throws IllegalStateException, ThrowableProxy, NoExpressionValueException {
-		IExpression exp = proxyFactory.createExpression();
-		exp.createInfixExpression(IExpressionConstants.ROOTEXPRESSION, IExpressionConstants.IN_REMAINDER, 1);
-		exp.createPrimitiveLiteral(IExpressionConstants.INFIX_LEFT, 12);
-		exp.createPrimitiveLiteral(IExpressionConstants.INFIX_RIGHT, 9);
-		exp.createPrimitiveLiteral(IExpressionConstants.INFIX_EXTENDED, 2d);
-		IBeanProxy result = exp.getExpressionValue();
-		assertNotNull(result);
-		assertEquals("double", result.getTypeProxy().getTypeName());
-		assertEquals((12%9%2d), ((INumberBeanProxy) result).doubleValue(), 0);
-		
-	}
-
-	public void testMinus() throws IllegalStateException, ThrowableProxy, NoExpressionValueException {
-		IExpression exp = proxyFactory.createExpression();
-		exp.createInfixExpression(IExpressionConstants.ROOTEXPRESSION, IExpressionConstants.IN_MINUS, 0);
-		exp.createPrimitiveLiteral(IExpressionConstants.INFIX_LEFT, 4);
-		exp.createPrimitiveLiteral(IExpressionConstants.INFIX_RIGHT, 3);
-		IBeanProxy result = exp.getExpressionValue();
-		assertNotNull(result);
-		assertEquals("int", result.getTypeProxy().getTypeName());
-		assertEquals(4-3, ((INumberBeanProxy) result).intValue());
-		
-	}
-	
-	public void testMinusExtended() throws IllegalStateException, ThrowableProxy, NoExpressionValueException {
-		IExpression exp = proxyFactory.createExpression();
-		exp.createInfixExpression(IExpressionConstants.ROOTEXPRESSION, IExpressionConstants.IN_MINUS, 1);
-		exp.createPrimitiveLiteral(IExpressionConstants.INFIX_LEFT, 12);
-		exp.createPrimitiveLiteral(IExpressionConstants.INFIX_RIGHT, 9);
-		exp.createPrimitiveLiteral(IExpressionConstants.INFIX_EXTENDED, 2d);
-		IBeanProxy result = exp.getExpressionValue();
-		assertNotNull(result);
-		assertEquals("double", result.getTypeProxy().getTypeName());
-		assertEquals((12-9-2d), ((INumberBeanProxy) result).doubleValue(), 0);
-		
-	}
-
-	public void testLeftShift() throws IllegalStateException, ThrowableProxy, NoExpressionValueException {
-		IExpression exp = proxyFactory.createExpression();
-		exp.createInfixExpression(IExpressionConstants.ROOTEXPRESSION, IExpressionConstants.IN_LEFT_SHIFT, 0);
-		exp.createPrimitiveLiteral(IExpressionConstants.INFIX_LEFT, 4);
-		exp.createPrimitiveLiteral(IExpressionConstants.INFIX_RIGHT, 3);
-		IBeanProxy result = exp.getExpressionValue();
-		assertNotNull(result);
-		assertEquals("int", result.getTypeProxy().getTypeName());
-		assertEquals(4<<3, ((INumberBeanProxy) result).intValue());
-		
-	}
-	
-	public void testLeftShiftExtended() throws IllegalStateException, ThrowableProxy, NoExpressionValueException {
-		IExpression exp = proxyFactory.createExpression();
-		exp.createInfixExpression(IExpressionConstants.ROOTEXPRESSION, IExpressionConstants.IN_LEFT_SHIFT, 1);
-		exp.createPrimitiveLiteral(IExpressionConstants.INFIX_LEFT, 12);
-		exp.createPrimitiveLiteral(IExpressionConstants.INFIX_RIGHT, 9);
-		exp.createPrimitiveLiteral(IExpressionConstants.INFIX_EXTENDED, 2);
-		IBeanProxy result = exp.getExpressionValue();
-		assertNotNull(result);
-		assertEquals("int", result.getTypeProxy().getTypeName());
-		assertEquals((12<<9<<2), ((INumberBeanProxy) result).intValue(), 0);
-	}
-
-	public void testRightShiftSigned() throws IllegalStateException, ThrowableProxy, NoExpressionValueException {
-		IExpression exp = proxyFactory.createExpression();
-		exp.createInfixExpression(IExpressionConstants.ROOTEXPRESSION, IExpressionConstants.IN_RIGHT_SHIFT_SIGNED, 0);
-		exp.createPrimitiveLiteral(IExpressionConstants.INFIX_LEFT, -10000000);
-		exp.createPrimitiveLiteral(IExpressionConstants.INFIX_RIGHT, 3);
-		IBeanProxy result = exp.getExpressionValue();
-		assertNotNull(result);
-		assertEquals("int", result.getTypeProxy().getTypeName());
-		assertEquals(-10000000>>3, ((INumberBeanProxy) result).intValue());
-	}
-	
-	public void testRightShiftSignedExtended() throws IllegalStateException, ThrowableProxy, NoExpressionValueException {
-		IExpression exp = proxyFactory.createExpression();
-		exp.createInfixExpression(IExpressionConstants.ROOTEXPRESSION, IExpressionConstants.IN_RIGHT_SHIFT_SIGNED, 1);
-		exp.createPrimitiveLiteral(IExpressionConstants.INFIX_LEFT, -10000000);
-		exp.createPrimitiveLiteral(IExpressionConstants.INFIX_RIGHT, 4);
-		exp.createPrimitiveLiteral(IExpressionConstants.INFIX_EXTENDED, 2);
-		IBeanProxy result = exp.getExpressionValue();
-		assertNotNull(result);
-		assertEquals("int", result.getTypeProxy().getTypeName());
-		assertEquals((-10000000>>4>>2), ((INumberBeanProxy) result).intValue(), 0);
-	}
-	public void testRightShiftUnSigned() throws IllegalStateException, ThrowableProxy, NoExpressionValueException {
-		IExpression exp = proxyFactory.createExpression();
-		exp.createInfixExpression(IExpressionConstants.ROOTEXPRESSION, IExpressionConstants.IN_RIGHT_SHIFT_UNSIGNED, 0);
-		exp.createPrimitiveLiteral(IExpressionConstants.INFIX_LEFT, -10000000);
-		exp.createPrimitiveLiteral(IExpressionConstants.INFIX_RIGHT, 3);
-		IBeanProxy result = exp.getExpressionValue();
-		assertNotNull(result);
-		assertEquals("int", result.getTypeProxy().getTypeName());
-		assertEquals(-10000000>>>3, ((INumberBeanProxy) result).intValue());
-	}
-	
-	public void testRightShiftUnSignedExtended() throws IllegalStateException, ThrowableProxy, NoExpressionValueException {
-		IExpression exp = proxyFactory.createExpression();
-		exp.createInfixExpression(IExpressionConstants.ROOTEXPRESSION, IExpressionConstants.IN_RIGHT_SHIFT_UNSIGNED, 1);
-		exp.createPrimitiveLiteral(IExpressionConstants.INFIX_LEFT, -10000000);
-		exp.createPrimitiveLiteral(IExpressionConstants.INFIX_RIGHT, 4);
-		exp.createPrimitiveLiteral(IExpressionConstants.INFIX_EXTENDED, 2);
-		IBeanProxy result = exp.getExpressionValue();
-		assertNotNull(result);
-		assertEquals("int", result.getTypeProxy().getTypeName());
-		assertEquals((-10000000>>>4>>>2), ((INumberBeanProxy) result).intValue(), 0);
-	}
-
-	public void testLess() throws IllegalStateException, ThrowableProxy, NoExpressionValueException {
-		IExpression exp = proxyFactory.createExpression();
-		exp.createInfixExpression(IExpressionConstants.ROOTEXPRESSION, IExpressionConstants.IN_LESS, 0);
-		exp.createPrimitiveLiteral(IExpressionConstants.INFIX_LEFT, -10000000);
-		exp.createPrimitiveLiteral(IExpressionConstants.INFIX_RIGHT, 3);
-		IBeanProxy result = exp.getExpressionValue();
-		assertNotNull(result);
-		assertEquals("boolean", result.getTypeProxy().getTypeName());
-		assertEquals(-10000000<3, ((IBooleanBeanProxy) result).booleanValue());
-	}
-
-	public void testLessEquals() throws IllegalStateException, ThrowableProxy, NoExpressionValueException {
-		IExpression exp = proxyFactory.createExpression();
-		exp.createInfixExpression(IExpressionConstants.ROOTEXPRESSION, IExpressionConstants.IN_LESS_EQUALS, 0);
-		exp.createPrimitiveLiteral(IExpressionConstants.INFIX_LEFT, 3);
-		exp.createPrimitiveLiteral(IExpressionConstants.INFIX_RIGHT, 3);
-		IBeanProxy result = exp.getExpressionValue();
-		assertNotNull(result);
-		assertEquals("boolean", result.getTypeProxy().getTypeName());
-		assertEquals(3<=3, ((IBooleanBeanProxy) result).booleanValue());
-	}
-
-	public void testGreater() throws IllegalStateException, ThrowableProxy, NoExpressionValueException {
-		IExpression exp = proxyFactory.createExpression();
-		exp.createInfixExpression(IExpressionConstants.ROOTEXPRESSION, IExpressionConstants.IN_GREATER, 0);
-		exp.createPrimitiveLiteral(IExpressionConstants.INFIX_LEFT, -10000000);
-		exp.createPrimitiveLiteral(IExpressionConstants.INFIX_RIGHT, 3);
-		IBeanProxy result = exp.getExpressionValue();
-		assertNotNull(result);
-		assertEquals("boolean", result.getTypeProxy().getTypeName());
-		assertEquals(-10000000>3, ((IBooleanBeanProxy) result).booleanValue());
-	}
-
-	public void testGreaterEquals() throws IllegalStateException, ThrowableProxy, NoExpressionValueException {
-		IExpression exp = proxyFactory.createExpression();
-		exp.createInfixExpression(IExpressionConstants.ROOTEXPRESSION, IExpressionConstants.IN_GREATER_EQUALS, 0);
-		exp.createPrimitiveLiteral(IExpressionConstants.INFIX_LEFT, 2);
-		exp.createPrimitiveLiteral(IExpressionConstants.INFIX_RIGHT, 3);
-		IBeanProxy result = exp.getExpressionValue();
-		assertNotNull(result);
-		assertEquals("boolean", result.getTypeProxy().getTypeName());
-		assertEquals(2>=3, ((IBooleanBeanProxy) result).booleanValue());
-	}
-
-	public void testEqualsPrimitives() throws IllegalStateException, ThrowableProxy, NoExpressionValueException {
-		IExpression exp = proxyFactory.createExpression();
-		exp.createInfixExpression(IExpressionConstants.ROOTEXPRESSION, IExpressionConstants.IN_EQUALS, 0);
-		exp.createPrimitiveLiteral(IExpressionConstants.INFIX_LEFT, 3d);
-		exp.createPrimitiveLiteral(IExpressionConstants.INFIX_RIGHT, 3);
-		IBeanProxy result = exp.getExpressionValue();
-		assertNotNull(result);
-		assertEquals("boolean", result.getTypeProxy().getTypeName());
-		assertEquals(3d==3, ((IBooleanBeanProxy) result).booleanValue());
-	}
-	
-	public void testEqualsObjects() throws IllegalStateException, ThrowableProxy, NoExpressionValueException {
-		IExpression exp = proxyFactory.createExpression();
-		exp.createInfixExpression(IExpressionConstants.ROOTEXPRESSION, IExpressionConstants.IN_EQUALS, 0);
-		exp.createTypeLiteral(IExpressionConstants.INFIX_LEFT, "java.lang.String");
-		exp.createTypeLiteral(IExpressionConstants.INFIX_RIGHT, "java.lang.String");
-		IBeanProxy result = exp.getExpressionValue();
-		assertNotNull(result);
-		assertEquals("boolean", result.getTypeProxy().getTypeName());
-		assertEquals(String.class == String.class, ((IBooleanBeanProxy) result).booleanValue());
-	}	
-
-	public void testNotEqualsPrimitives() throws IllegalStateException, ThrowableProxy, NoExpressionValueException {
-		IExpression exp = proxyFactory.createExpression();
-		exp.createInfixExpression(IExpressionConstants.ROOTEXPRESSION, IExpressionConstants.IN_NOT_EQUALS, 0);
-		exp.createPrimitiveLiteral(IExpressionConstants.INFIX_LEFT, 3d);
-		exp.createPrimitiveLiteral(IExpressionConstants.INFIX_RIGHT, 3);
-		IBeanProxy result = exp.getExpressionValue();
-		assertNotNull(result);
-		assertEquals("boolean", result.getTypeProxy().getTypeName());
-		assertEquals(3d!=3, ((IBooleanBeanProxy) result).booleanValue());
-	}
-	
-	public void testNotEqualsObjects() throws IllegalStateException, ThrowableProxy, NoExpressionValueException {
-		IExpression exp = proxyFactory.createExpression();
-		exp.createInfixExpression(IExpressionConstants.ROOTEXPRESSION, IExpressionConstants.IN_NOT_EQUALS, 0);
-		exp.createTypeLiteral(IExpressionConstants.INFIX_LEFT, "java.lang.String");
-		exp.createTypeLiteral(IExpressionConstants.INFIX_RIGHT, "java.lang.String");
-		IBeanProxy result = exp.getExpressionValue();
-		assertNotNull(result);
-		assertEquals("boolean", result.getTypeProxy().getTypeName());
-		assertEquals(String.class != String.class, ((IBooleanBeanProxy) result).booleanValue());
-	}	
-
-	public void testXOR() throws IllegalStateException, ThrowableProxy, NoExpressionValueException {
-		IExpression exp = proxyFactory.createExpression();
-		exp.createInfixExpression(IExpressionConstants.ROOTEXPRESSION, IExpressionConstants.IN_XOR, 0);
-		exp.createPrimitiveLiteral(IExpressionConstants.INFIX_LEFT, 5);
-		exp.createPrimitiveLiteral(IExpressionConstants.INFIX_RIGHT, 3);
-		IBeanProxy result = exp.getExpressionValue();
-		assertNotNull(result);
-		assertEquals("int", result.getTypeProxy().getTypeName());
-		assertEquals(5^3, ((INumberBeanProxy) result).intValue());
-		
-	}
-	
-	public void testXORExtended() throws IllegalStateException, ThrowableProxy, NoExpressionValueException {
-		IExpression exp = proxyFactory.createExpression();
-		exp.createInfixExpression(IExpressionConstants.ROOTEXPRESSION, IExpressionConstants.IN_XOR, 1);
-		exp.createPrimitiveLiteral(IExpressionConstants.INFIX_LEFT, 23);
-		exp.createPrimitiveLiteral(IExpressionConstants.INFIX_RIGHT, 9);
-		exp.createPrimitiveLiteral(IExpressionConstants.INFIX_EXTENDED, 2);
-		IBeanProxy result = exp.getExpressionValue();
-		assertNotNull(result);
-		assertEquals("int", result.getTypeProxy().getTypeName());
-		assertEquals((23^9^2), ((INumberBeanProxy) result).intValue(), 0);
-		
-	}
-
-	public void testAnd() throws IllegalStateException, ThrowableProxy, NoExpressionValueException {
-		IExpression exp = proxyFactory.createExpression();
-		exp.createInfixExpression(IExpressionConstants.ROOTEXPRESSION, IExpressionConstants.IN_AND, 0);
-		exp.createPrimitiveLiteral(IExpressionConstants.INFIX_LEFT, 5);
-		exp.createPrimitiveLiteral(IExpressionConstants.INFIX_RIGHT, 3);
-		IBeanProxy result = exp.getExpressionValue();
-		assertNotNull(result);
-		assertEquals("int", result.getTypeProxy().getTypeName());
-		assertEquals(5&3, ((INumberBeanProxy) result).intValue());
-	}
-	
-	public void testAndExtended() throws IllegalStateException, ThrowableProxy, NoExpressionValueException {
-		IExpression exp = proxyFactory.createExpression();
-		exp.createInfixExpression(IExpressionConstants.ROOTEXPRESSION, IExpressionConstants.IN_AND, 1);
-		exp.createPrimitiveLiteral(IExpressionConstants.INFIX_LEFT, 13);
-		exp.createPrimitiveLiteral(IExpressionConstants.INFIX_RIGHT, 15);
-		exp.createPrimitiveLiteral(IExpressionConstants.INFIX_EXTENDED, 1);
-		IBeanProxy result = exp.getExpressionValue();
-		assertNotNull(result);
-		assertEquals("int", result.getTypeProxy().getTypeName());
-		assertEquals((13&5&1), ((INumberBeanProxy) result).intValue(), 0);
-	}
-
-	public void testOr() throws IllegalStateException, ThrowableProxy, NoExpressionValueException {
-		IExpression exp = proxyFactory.createExpression();
-		exp.createInfixExpression(IExpressionConstants.ROOTEXPRESSION, IExpressionConstants.IN_OR, 0);
-		exp.createPrimitiveLiteral(IExpressionConstants.INFIX_LEFT, 5);
-		exp.createPrimitiveLiteral(IExpressionConstants.INFIX_RIGHT, 2);
-		IBeanProxy result = exp.getExpressionValue();
-		assertNotNull(result);
-		assertEquals("int", result.getTypeProxy().getTypeName());
-		assertEquals(5|2, ((INumberBeanProxy) result).intValue());
-	}
-	
-	public void testOrExtended() throws IllegalStateException, ThrowableProxy, NoExpressionValueException {
-		IExpression exp = proxyFactory.createExpression();
-		exp.createInfixExpression(IExpressionConstants.ROOTEXPRESSION, IExpressionConstants.IN_OR, 1);
-		exp.createPrimitiveLiteral(IExpressionConstants.INFIX_LEFT, 13);
-		exp.createPrimitiveLiteral(IExpressionConstants.INFIX_RIGHT, 6);
-		exp.createPrimitiveLiteral(IExpressionConstants.INFIX_EXTENDED, 2);
-		IBeanProxy result = exp.getExpressionValue();
-		assertNotNull(result);
-		assertEquals("int", result.getTypeProxy().getTypeName());
-		assertEquals((13|6|2), ((INumberBeanProxy) result).intValue(), 0);
-	}
-
-	public void testPlus() throws IllegalStateException, ThrowableProxy, NoExpressionValueException {
-		IExpression exp = proxyFactory.createExpression();
-		exp.createInfixExpression(IExpressionConstants.ROOTEXPRESSION, IExpressionConstants.IN_PLUS, 0);
-		exp.createPrimitiveLiteral(IExpressionConstants.INFIX_LEFT, 5);
-		exp.createPrimitiveLiteral(IExpressionConstants.INFIX_RIGHT, 2);
-		IBeanProxy result = exp.getExpressionValue();
-		assertNotNull(result);
-		assertEquals("int", result.getTypeProxy().getTypeName());
-		assertEquals(5+2, ((INumberBeanProxy) result).intValue());
-	}
-
-	public void testPlusExtended() throws IllegalStateException, ThrowableProxy, NoExpressionValueException {
-		IExpression exp = proxyFactory.createExpression();
-		exp.createInfixExpression(IExpressionConstants.ROOTEXPRESSION, IExpressionConstants.IN_PLUS, 1);
-		exp.createPrimitiveLiteral(IExpressionConstants.INFIX_LEFT, 5);
-		exp.createPrimitiveLiteral(IExpressionConstants.INFIX_RIGHT, 2);
-		exp.createPrimitiveLiteral(IExpressionConstants.INFIX_EXTENDED, 2l);
-		IBeanProxy result = exp.getExpressionValue();
-		assertNotNull(result);
-		assertEquals("long", result.getTypeProxy().getTypeName());
-		assertEquals(5+2+2l, ((INumberBeanProxy) result).intValue());
-	}
-
-	public void testPlusStringLeft() throws IllegalStateException, ThrowableProxy, NoExpressionValueException {
-		IExpression exp = proxyFactory.createExpression();
-		exp.createInfixExpression(IExpressionConstants.ROOTEXPRESSION, IExpressionConstants.IN_PLUS, 0);
-		exp.createProxyExpression(IExpressionConstants.INFIX_LEFT, proxyFactory.createBeanProxyWith("abc"));
-		exp.createPrimitiveLiteral(IExpressionConstants.INFIX_RIGHT, 2);
-		IBeanProxy result = exp.getExpressionValue();
-		assertNotNull(result);
-		assertEquals("java.lang.String", result.getTypeProxy().getTypeName());
-		assertEquals("abc"+2, ((IStringBeanProxy) result).stringValue());
-	}
-
-	public void testPlusStringRight() throws IllegalStateException, ThrowableProxy, NoExpressionValueException {
-		IExpression exp = proxyFactory.createExpression();
-		exp.createInfixExpression(IExpressionConstants.ROOTEXPRESSION, IExpressionConstants.IN_PLUS, 0);
-		exp.createPrimitiveLiteral(IExpressionConstants.INFIX_LEFT, 2);
-		exp.createProxyExpression(IExpressionConstants.INFIX_RIGHT, proxyFactory.createBeanProxyWith("abc"));		
-		IBeanProxy result = exp.getExpressionValue();
-		assertNotNull(result);
-		assertEquals("java.lang.String", result.getTypeProxy().getTypeName());
-		assertEquals(2+"abc", ((IStringBeanProxy) result).stringValue());
-	}
-	
-	public void testPlusStringLeftNull() throws IllegalStateException, ThrowableProxy, NoExpressionValueException {
-		IExpression exp = proxyFactory.createExpression();
-		exp.createInfixExpression(IExpressionConstants.ROOTEXPRESSION, IExpressionConstants.IN_PLUS, 0);
-		exp.createProxyExpression(IExpressionConstants.INFIX_LEFT, proxyFactory.createBeanProxyWith("abc"));
-		exp.createNull(IExpressionConstants.INFIX_RIGHT);
-		IBeanProxy result = exp.getExpressionValue();
-		assertNotNull(result);
-		assertEquals("java.lang.String", result.getTypeProxy().getTypeName());
-		assertEquals("abc"+null, ((IStringBeanProxy) result).stringValue());
-	}
-	
-	public void testPlusStringRightNull() throws IllegalStateException, ThrowableProxy, NoExpressionValueException {
-		IExpression exp = proxyFactory.createExpression();
-		exp.createInfixExpression(IExpressionConstants.ROOTEXPRESSION, IExpressionConstants.IN_PLUS, 0);
-		exp.createNull(IExpressionConstants.INFIX_LEFT);
-		exp.createProxyExpression(IExpressionConstants.INFIX_RIGHT, proxyFactory.createBeanProxyWith("abc"));
-		IBeanProxy result = exp.getExpressionValue();
-		assertNotNull(result);
-		assertEquals("java.lang.String", result.getTypeProxy().getTypeName());
-		assertEquals(null+"abc", ((IStringBeanProxy) result).stringValue());
-	}
-
-	public void testPlusStringLeftChar() throws IllegalStateException, ThrowableProxy, NoExpressionValueException {
-		IExpression exp = proxyFactory.createExpression();
-		exp.createInfixExpression(IExpressionConstants.ROOTEXPRESSION, IExpressionConstants.IN_PLUS, 0);
-		exp.createProxyExpression(IExpressionConstants.INFIX_LEFT, proxyFactory.createBeanProxyWith("abc"));
-		exp.createPrimitiveLiteral(IExpressionConstants.INFIX_RIGHT, 'a');
-		IBeanProxy result = exp.getExpressionValue();
-		assertNotNull(result);
-		assertEquals("java.lang.String", result.getTypeProxy().getTypeName());
-		assertEquals("abc"+'a', ((IStringBeanProxy) result).stringValue());
-	}
-
-	public void testPlusStringRightChar() throws IllegalStateException, ThrowableProxy, NoExpressionValueException {
-		IExpression exp = proxyFactory.createExpression();
-		exp.createInfixExpression(IExpressionConstants.ROOTEXPRESSION, IExpressionConstants.IN_PLUS, 0);
-		exp.createPrimitiveLiteral(IExpressionConstants.INFIX_LEFT, 'a');
-		exp.createProxyExpression(IExpressionConstants.INFIX_RIGHT, proxyFactory.createBeanProxyWith("abc"));
-		IBeanProxy result = exp.getExpressionValue();
-		assertNotNull(result);
-		assertEquals("java.lang.String", result.getTypeProxy().getTypeName());
-		assertEquals('a'+"abc", ((IStringBeanProxy) result).stringValue());
-	}
-
-	public void testConditionalAnd() throws IllegalStateException, ThrowableProxy, NoExpressionValueException {
-		IExpression exp = proxyFactory.createExpression();
-		exp.createInfixExpression(IExpressionConstants.ROOTEXPRESSION, IExpressionConstants.IN_CONDITIONAL_AND, 0);
-		exp.createPrimitiveLiteral(IExpressionConstants.INFIX_LEFT, true);
-		exp.createPrimitiveLiteral(IExpressionConstants.INFIX_RIGHT, true);
-		IBeanProxy result = exp.getExpressionValue();
-		assertNotNull(result);
-		assertEquals("boolean", result.getTypeProxy().getTypeName());
-		assertEquals(true && true, ((IBooleanBeanProxy) result).booleanValue());
-	}
-
-	public void testConditionalAndExtended() throws IllegalStateException, ThrowableProxy, NoExpressionValueException {
-		IExpression exp = proxyFactory.createExpression();
-		exp.createInfixExpression(IExpressionConstants.ROOTEXPRESSION, IExpressionConstants.IN_CONDITIONAL_AND, 1);
-		exp.createPrimitiveLiteral(IExpressionConstants.INFIX_LEFT, true);
-		exp.createPrimitiveLiteral(IExpressionConstants.INFIX_RIGHT, true);
-		exp.createInfixExpression(IExpressionConstants.INFIX_EXTENDED, IExpressionConstants.IN_EQUALS, 0);
-		exp.createPrimitiveLiteral(IExpressionConstants.INFIX_LEFT, 3);
-		exp.createPrimitiveLiteral(IExpressionConstants.INFIX_RIGHT, 3);
-		IBeanProxy result = exp.getExpressionValue();
-		assertNotNull(result);
-		assertEquals("boolean", result.getTypeProxy().getTypeName());
-		assertEquals(true && true && (3 == 3), ((IBooleanBeanProxy) result).booleanValue());
-	}
-
-	public void testConditionalAndFalseLast() throws IllegalStateException, ThrowableProxy, NoExpressionValueException {
-		IExpression exp = proxyFactory.createExpression();
-		exp.createInfixExpression(IExpressionConstants.ROOTEXPRESSION, IExpressionConstants.IN_CONDITIONAL_AND, 0);
-		exp.createPrimitiveLiteral(IExpressionConstants.INFIX_LEFT, true);
-		exp.createPrimitiveLiteral(IExpressionConstants.INFIX_RIGHT, false);
-		IBeanProxy result = exp.getExpressionValue();
-		assertNotNull(result);
-		assertEquals("boolean", result.getTypeProxy().getTypeName());
-		assertEquals(true && false, ((IBooleanBeanProxy) result).booleanValue());
-	}
-
-	public void testConditionalAndFalseFirst() throws IllegalStateException, ThrowableProxy, NoExpressionValueException {
-		IExpression exp = proxyFactory.createExpression();
-		exp.createInfixExpression(IExpressionConstants.ROOTEXPRESSION, IExpressionConstants.IN_CONDITIONAL_AND, 0);
-		exp.createPrimitiveLiteral(IExpressionConstants.INFIX_LEFT, false);
-		exp.createPrimitiveLiteral(IExpressionConstants.INFIX_RIGHT, true);
-		IBeanProxy result = exp.getExpressionValue();
-		assertNotNull(result);
-		assertEquals("boolean", result.getTypeProxy().getTypeName());
-		assertEquals(false && true, ((IBooleanBeanProxy) result).booleanValue());
-	}
-
-	public void testConditionalAndExtendedAndFalseFirst() throws IllegalStateException, ThrowableProxy, NoExpressionValueException {
-		IExpression exp = proxyFactory.createExpression();
-		exp.createInfixExpression(IExpressionConstants.ROOTEXPRESSION, IExpressionConstants.IN_CONDITIONAL_AND, 1);
-		exp.createPrimitiveLiteral(IExpressionConstants.INFIX_LEFT, false);
-		exp.createPrimitiveLiteral(IExpressionConstants.INFIX_RIGHT, true);
-		exp.createInfixExpression(IExpressionConstants.INFIX_EXTENDED, IExpressionConstants.IN_EQUALS, 0);
-		exp.createPrimitiveLiteral(IExpressionConstants.INFIX_LEFT, 3);
-		exp.createPrimitiveLiteral(IExpressionConstants.INFIX_RIGHT, 3);
-		IBeanProxy result = exp.getExpressionValue();
-		assertNotNull(result);
-		assertEquals("boolean", result.getTypeProxy().getTypeName());
-		assertEquals(false && true && (3 == 3), ((IBooleanBeanProxy) result).booleanValue());
-	}
-
-	public void testConditionalOr() throws IllegalStateException, ThrowableProxy, NoExpressionValueException {
-		IExpression exp = proxyFactory.createExpression();
-		exp.createInfixExpression(IExpressionConstants.ROOTEXPRESSION, IExpressionConstants.IN_CONDITIONAL_OR, 0);
-		exp.createPrimitiveLiteral(IExpressionConstants.INFIX_LEFT, false);
-		exp.createPrimitiveLiteral(IExpressionConstants.INFIX_RIGHT, true);
-		IBeanProxy result = exp.getExpressionValue();
-		assertNotNull(result);
-		assertEquals("boolean", result.getTypeProxy().getTypeName());
-		assertEquals(false || true, ((IBooleanBeanProxy) result).booleanValue());
-	}
-
-	public void testConditionalOrExtended() throws IllegalStateException, ThrowableProxy, NoExpressionValueException {
-		IExpression exp = proxyFactory.createExpression();
-		exp.createInfixExpression(IExpressionConstants.ROOTEXPRESSION, IExpressionConstants.IN_CONDITIONAL_OR, 1);
-		exp.createPrimitiveLiteral(IExpressionConstants.INFIX_LEFT, false);
-		exp.createPrimitiveLiteral(IExpressionConstants.INFIX_RIGHT, false);
-		exp.createInfixExpression(IExpressionConstants.INFIX_EXTENDED, IExpressionConstants.IN_EQUALS, 0);
-		exp.createPrimitiveLiteral(IExpressionConstants.INFIX_LEFT, 3);
-		exp.createPrimitiveLiteral(IExpressionConstants.INFIX_RIGHT, 3);
-		IBeanProxy result = exp.getExpressionValue();
-		assertNotNull(result);
-		assertEquals("boolean", result.getTypeProxy().getTypeName());
-		assertEquals(false || false || (3 == 3), ((IBooleanBeanProxy) result).booleanValue());
-	}
-
-	public void testConditionalOrTrueFirst() throws IllegalStateException, ThrowableProxy, NoExpressionValueException {
-		IExpression exp = proxyFactory.createExpression();
-		exp.createInfixExpression(IExpressionConstants.ROOTEXPRESSION, IExpressionConstants.IN_CONDITIONAL_OR, 0);
-		exp.createPrimitiveLiteral(IExpressionConstants.INFIX_LEFT, true);
-		exp.createPrimitiveLiteral(IExpressionConstants.INFIX_RIGHT, false);
-		IBeanProxy result = exp.getExpressionValue();
-		assertNotNull(result);
-		assertEquals("boolean", result.getTypeProxy().getTypeName());
-		assertEquals(true || false, ((IBooleanBeanProxy) result).booleanValue());
-	}
-
-	public void testConditionalOrExtendedAndTrueMiddle() throws IllegalStateException, ThrowableProxy, NoExpressionValueException {
-		IExpression exp = proxyFactory.createExpression();
-		exp.createInfixExpression(IExpressionConstants.ROOTEXPRESSION, IExpressionConstants.IN_CONDITIONAL_OR, 1);
-		exp.createPrimitiveLiteral(IExpressionConstants.INFIX_LEFT, false);
-		exp.createPrimitiveLiteral(IExpressionConstants.INFIX_RIGHT, true);
-		exp.createInfixExpression(IExpressionConstants.INFIX_EXTENDED, IExpressionConstants.IN_EQUALS, 0);
-		exp.createPrimitiveLiteral(IExpressionConstants.INFIX_LEFT, 3);
-		exp.createPrimitiveLiteral(IExpressionConstants.INFIX_RIGHT, 3);
-		IBeanProxy result = exp.getExpressionValue();
-		assertNotNull(result);
-		assertEquals("boolean", result.getTypeProxy().getTypeName());
-		assertEquals(false || true || (3 == 3), ((IBooleanBeanProxy) result).booleanValue());
-	}
-
-	public void testArrayAccess() throws IllegalStateException, ThrowableProxy, NoExpressionValueException {
-		IArrayBeanProxy array = (IArrayBeanProxy) proxyFactory.createBeanProxyWith(proxyTypeFactory.getBeanTypeProxy("short"), 1);
-		array.set(proxyFactory.createBeanProxyWith((short) 3), 0);
-		
-		IExpression exp = proxyFactory.createExpression();
-		exp.createArrayAccess(IExpressionConstants.ROOTEXPRESSION, 1);
-		exp.createProxyExpression(IExpressionConstants.ARRAYACCESS_ARRAY, array);
-		exp.createPrimitiveLiteral(IExpressionConstants.ARRAYACCESS_INDEX, 0);
-		IBeanProxy result = exp.getExpressionValue();
-		assertNotNull(result);
-		assertEquals("short", result.getTypeProxy().getTypeName());
-		assertEquals(((INumberBeanProxy) result).shortValue(), (short) 3);
-	}
-	
-	public void testMultiArrayAccess() throws IllegalStateException, ThrowableProxy, NoExpressionValueException {
-		IArrayBeanProxy array = (IArrayBeanProxy) proxyFactory.createBeanProxyWith(proxyTypeFactory.getBeanTypeProxy("short"), new int[] {2,1});
-		array.set(proxyFactory.createBeanProxyWith((short) 3), new int[]{1,0});
-		
-		IExpression exp = proxyFactory.createExpression();
-		exp.createArrayAccess(IExpressionConstants.ROOTEXPRESSION, 1);
-		exp.createProxyExpression(IExpressionConstants.ARRAYACCESS_ARRAY, array);
-		exp.createPrimitiveLiteral(IExpressionConstants.ARRAYACCESS_INDEX, 1);
-		IBeanProxy result = exp.getExpressionValue();
-		assertNotNull(result);
-		assertEquals("short[]", result.getTypeProxy().getFormalTypeName());
-	}
-	
-	public void testMultiArrayAccess1() throws IllegalStateException, ThrowableProxy, NoExpressionValueException {
-		IArrayBeanProxy array = (IArrayBeanProxy) proxyFactory.createBeanProxyWith(proxyTypeFactory.getBeanTypeProxy("short"), new int[] {2,1});
-		array.set(proxyFactory.createBeanProxyWith((short) 3), new int[]{1,0});
-		
-		IExpression exp = proxyFactory.createExpression();
-		exp.createArrayAccess(IExpressionConstants.ROOTEXPRESSION, 2);
-		exp.createProxyExpression(IExpressionConstants.ARRAYACCESS_ARRAY, array);
-		exp.createPrimitiveLiteral(IExpressionConstants.ARRAYACCESS_INDEX, 1);
-		exp.createPrimitiveLiteral(IExpressionConstants.ARRAYACCESS_INDEX, 0);		
-		IBeanProxy result = exp.getExpressionValue();
-		assertNotNull(result);
-		assertEquals("short", result.getTypeProxy().getFormalTypeName());
-		assertEquals((short) 3, ((INumberBeanProxy) result).shortValue());
-	}
-	
-	public void testArrayCreation() throws IllegalStateException, IllegalArgumentException, ThrowableProxy, NoExpressionValueException {
-		IExpression exp = proxyFactory.createExpression();
-		exp.createArrayCreation(IExpressionConstants.ROOTEXPRESSION, "int[]", 1);
-		exp.createPrimitiveLiteral(IExpressionConstants.ARRAYCREATION_DIMENSION, 2);
-		IBeanProxy result = exp.getExpressionValue();
-		assertNotNull(result);
-		assertEquals("int[]", result.getTypeProxy().getFormalTypeName());
-		assertEquals(2, ((IArrayBeanProxy) result).getLength());
-	}
-	
-	public void testMultiArrayCreation() throws IllegalStateException, IllegalArgumentException, ThrowableProxy, NoExpressionValueException {
-		IExpression exp = proxyFactory.createExpression();
-		exp.createArrayCreation(IExpressionConstants.ROOTEXPRESSION, "int[][]", 2);
-		exp.createPrimitiveLiteral(IExpressionConstants.ARRAYCREATION_DIMENSION, 2);
-		exp.createPrimitiveLiteral(IExpressionConstants.ARRAYCREATION_DIMENSION, 4);		
-		IBeanProxy result = exp.getExpressionValue();
-		assertNotNull(result);
-		assertEquals("int[][]", result.getTypeProxy().getFormalTypeName());
-		assertEquals(2, ((IArrayBeanProxy) result).getLength());
-		assertEquals(4, ((IArrayBeanProxy)((IArrayBeanProxy) result).get(0)).getLength());
-	}	
-
-	public void testMultiPartialArrayCreation() throws IllegalStateException, IllegalArgumentException, ThrowableProxy, NoExpressionValueException {
-		IExpression exp = proxyFactory.createExpression();
-		exp.createArrayCreation(IExpressionConstants.ROOTEXPRESSION, "int[][][]", 2);
-		exp.createPrimitiveLiteral(IExpressionConstants.ARRAYCREATION_DIMENSION, 2);
-		exp.createPrimitiveLiteral(IExpressionConstants.ARRAYCREATION_DIMENSION, 4);		
-		IBeanProxy result = exp.getExpressionValue();
-		assertNotNull(result);
-		assertEquals("int[][][]", result.getTypeProxy().getFormalTypeName());
-		assertEquals(2, ((IArrayBeanProxy) result).getLength());
-		assertEquals(4, ((IArrayBeanProxy)((IArrayBeanProxy) result).get(0)).getLength());
-		assertNull(((IArrayBeanProxy)((IArrayBeanProxy) result).get(0)).get(0));
-	}
-	
-	public void testArrayInitializerEmpty() throws IllegalStateException, ThrowableProxy, NoExpressionValueException {
-		IExpression exp = proxyFactory.createExpression();
-		exp.createArrayCreation(IExpressionConstants.ROOTEXPRESSION, "int[]", 0);
-		exp.createArrayInitializer(0);
-		IBeanProxy result = exp.getExpressionValue();
-		assertNotNull(result);
-		assertEquals("int[]", result.getTypeProxy().getFormalTypeName());
-		assertEquals(0, ((IArrayBeanProxy) result).getLength());
-	}
-	
-	public void testArrayInitializerOneDim() throws IllegalStateException, ThrowableProxy, NoExpressionValueException {
-		IExpression exp = proxyFactory.createExpression();
-		exp.createArrayCreation(IExpressionConstants.ROOTEXPRESSION, "int[]", 0);
-		exp.createArrayInitializer(1);
-		exp.createPrimitiveLiteral(IExpressionConstants.ARRAYINITIALIZER_EXPRESSION, 3);
-		IBeanProxy result = exp.getExpressionValue();
-		assertNotNull(result);
-		assertEquals("int[]", result.getTypeProxy().getFormalTypeName());
-		assertEquals(1, ((IArrayBeanProxy) result).getLength());
-		assertEquals(3, ((INumberBeanProxy) ((IArrayBeanProxy) result).get(0)).intValue());
-	}
-	
-	public void testArrayInitializerTwoDimEmpty() throws IllegalStateException, ThrowableProxy, NoExpressionValueException {
-		IExpression exp = proxyFactory.createExpression();
-		exp.createArrayCreation(IExpressionConstants.ROOTEXPRESSION, "int[][]", 0);
-		exp.createArrayInitializer(0);
-		IBeanProxy result = exp.getExpressionValue();
-		assertNotNull(result);
-		assertEquals("int[][]", result.getTypeProxy().getFormalTypeName());
-		assertEquals(0, ((IArrayBeanProxy) result).getLength());
-	}
-	
-	public void testArrayInitializerTwoDim() throws IllegalStateException, ThrowableProxy, NoExpressionValueException {
-		IExpression exp = proxyFactory.createExpression();
-		exp.createArrayCreation(IExpressionConstants.ROOTEXPRESSION, "int[][]", 0);
-		exp.createArrayInitializer(1);
-		exp.createArrayInitializer(0);
-		IBeanProxy result = exp.getExpressionValue();
-		assertNotNull(result);
-		assertEquals("int[][]", result.getTypeProxy().getFormalTypeName());
-		assertEquals(1, ((IArrayBeanProxy) result).getLength());
-		assertEquals(0, ((IArrayBeanProxy) ((IArrayBeanProxy) result).get(0)).getLength());
-	}	
-
-	public void testArrayInitializerTwoDimNotEmpty() throws IllegalStateException, ThrowableProxy, NoExpressionValueException {
-		IExpression exp = proxyFactory.createExpression();
-		exp.createArrayCreation(IExpressionConstants.ROOTEXPRESSION, "int[][]", 0);
-		exp.createArrayInitializer(2);
-		exp.createNull(IExpressionConstants.ARRAYINITIALIZER_EXPRESSION);
-		exp.createArrayInitializer(2);
-		exp.createPrimitiveLiteral(IExpressionConstants.ARRAYINITIALIZER_EXPRESSION, 3);
-		exp.createPrimitiveLiteral(IExpressionConstants.ARRAYINITIALIZER_EXPRESSION, 4);
-		IBeanProxy result = exp.getExpressionValue();
-		assertNotNull(result);
-		assertEquals("int[][]", result.getTypeProxy().getFormalTypeName());
-		assertEquals(2, ((IArrayBeanProxy) result).getLength());
-		assertNull((IArrayBeanProxy) ((IArrayBeanProxy) result).get(0));
-		assertEquals(2, ((IArrayBeanProxy) ((IArrayBeanProxy) result).get(1)).getLength());
-		assertEquals(4, ((INumberBeanProxy)((IArrayBeanProxy) ((IArrayBeanProxy) result).get(1)).get(1)).intValue());		
-	}
-	
-	public void testArrayInitializerShortInt() throws IllegalStateException, ThrowableProxy, NoExpressionValueException {
-		IExpression exp = proxyFactory.createExpression();
-		exp.createArrayCreation(IExpressionConstants.ROOTEXPRESSION, "short[]", 0);
-		exp.createArrayInitializer(1);
-		exp.createPrimitiveLiteral(IExpressionConstants.ARRAYINITIALIZER_EXPRESSION, 3);
-		IBeanProxy result = exp.getExpressionValue();
-		assertNotNull(result);
-		assertEquals("short[]", result.getTypeProxy().getFormalTypeName());
-		assertEquals(1, ((IArrayBeanProxy) result).getLength());
-		assertEquals(3, ((INumberBeanProxy) ((IArrayBeanProxy) result).get(0)).intValue());
-	}
-	
-	public void testClassInstanceCreationDefault() throws IllegalStateException, ThrowableProxy, NoExpressionValueException {
-		IExpression exp = proxyFactory.createExpression();
-		exp.createClassInstanceCreation(IExpressionConstants.ROOTEXPRESSION, "java.lang.Object", 0);
-		IBeanProxy result = exp.getExpressionValue();
-		assertNotNull(result);
-		assertEquals("java.lang.Object", result.getTypeProxy().getFormalTypeName());
-	}
-	
-	public void testClassInstanceCreationDefaultWithBeanTypeProxy() throws IllegalStateException, ThrowableProxy, NoExpressionValueException {
-		IExpression exp = proxyFactory.createExpression();
-		exp.createClassInstanceCreation(IExpressionConstants.ROOTEXPRESSION, proxyTypeFactory.getBeanTypeProxy("java.lang.Object"), 0);
-		IBeanProxy result = exp.getExpressionValue();
-		assertNotNull(result);
-		assertEquals("java.lang.Object", result.getTypeProxy().getFormalTypeName());
-	}	
-	
-	public void testClassInstanceCreationOneArg() throws IllegalStateException, ThrowableProxy, NoExpressionValueException {
-		IExpression exp = proxyFactory.createExpression();
-		exp.createClassInstanceCreation(IExpressionConstants.ROOTEXPRESSION, "java.lang.Integer", 1);
-		exp.createStringLiteral(IExpressionConstants.CLASSINSTANCECREATION_ARGUMENT, "3");
-		IBeanProxy result = exp.getExpressionValue();
-		assertNotNull(result);
-		assertEquals("java.lang.Integer", result.getTypeProxy().getFormalTypeName());
-		assertEquals(3, ((INumberBeanProxy) result).intValue());
-	}
-	
-	public void testClassInstanceCreationOneArgWithPrimWidening() throws IllegalStateException, ThrowableProxy, NoExpressionValueException {
-		IExpression exp = proxyFactory.createExpression();
-		exp.createClassInstanceCreation(IExpressionConstants.ROOTEXPRESSION, "java.lang.Short", 1);
-		exp.createPrimitiveLiteral(IExpressionConstants.CLASSINSTANCECREATION_ARGUMENT, (byte)3);
-		IBeanProxy result = exp.getExpressionValue();
-		assertNotNull(result);
-		assertEquals("java.lang.Short", result.getTypeProxy().getFormalTypeName());
-		assertEquals((short)3, ((INumberBeanProxy) result).shortValue());
-	}	
-	
-	public void testClassInstanceCreationNullArg() throws IllegalStateException, ThrowableProxy, NoExpressionValueException {
-		IExpression exp = proxyFactory.createExpression();
-		exp.createClassInstanceCreation(IExpressionConstants.ROOTEXPRESSION, "testPackage.TestCtorWithNull", 1);
-		exp.createNull(IExpressionConstants.CLASSINSTANCECREATION_ARGUMENT);
-		IBeanProxy result = exp.getExpressionValue();
-		assertNotNull(result);
-		assertEquals("testPackage.TestCtorWithNull", result.getTypeProxy().getFormalTypeName());
-	}	
-	
-	public void testClassInstanceCreationMismatchArg() throws IllegalStateException, ThrowableProxy, NoExpressionValueException {
-		IExpression exp = proxyFactory.createExpression();
-		exp.createClassInstanceCreation(IExpressionConstants.ROOTEXPRESSION, "testPackage.TestCtorWithNull", 1);
-		try {
-			exp.createPrimitiveLiteral(IExpressionConstants.CLASSINSTANCECREATION_ARGUMENT, 1);
-			exp.getExpressionValue();
-			fail("Exception should of been thrown.");
-		} catch (ThrowableProxy e) {
-			assertEquals("java.lang.NoSuchMethodException", e.getTypeProxy().getFormalTypeName());
-		}
-	}	
-	
-	public void testStaticFieldAccess() throws IllegalStateException, ThrowableProxy, NoExpressionValueException {
-		IExpression exp = proxyFactory.createExpression();
-		exp.createFieldAccess(IExpressionConstants.ROOTEXPRESSION, "RED", true);
-		exp.createTypeReceiver("java.awt.Color");
-		IBeanProxy result = exp.getExpressionValue();
-		assertNotNull(result);
-		assertEquals("java.awt.Color", result.getTypeProxy().getFormalTypeName());
-		IBeanTypeProxy colorType = result.getTypeProxy();
-		IMethodProxy red = colorType.getMethodProxy("getRed");
-		IMethodProxy green = colorType.getMethodProxy("getGreen");
-		IMethodProxy blue = colorType.getMethodProxy("getBlue");
-		assertEquals(255, ((INumberBeanProxy) red.invoke(result)).intValue());
-		assertEquals(0, ((INumberBeanProxy) green.invoke(result)).intValue());
-		assertEquals(0, ((INumberBeanProxy) blue.invoke(result)).intValue());
-	}
-	
-	public void testNonStaticFieldAccess() throws IllegalStateException, ThrowableProxy, NoExpressionValueException {
-		IExpression exp = proxyFactory.createExpression();
-		exp.createFieldAccess(IExpressionConstants.ROOTEXPRESSION, "x", true);
-		exp.createClassInstanceCreation(IExpression.FIELD_RECEIVER, "java.awt.Point", 2);
-		exp.createPrimitiveLiteral(IExpression.CLASSINSTANCECREATION_ARGUMENT, 1);
-		exp.createPrimitiveLiteral(IExpression.CLASSINSTANCECREATION_ARGUMENT, 2);
-		IBeanProxy result = exp.getExpressionValue();
-		assertNotNull(result);
-		assertEquals("int", result.getTypeProxy().getFormalTypeName());
-		assertEquals(1, ((INumberBeanProxy) result).intValue());
-	}	
-
-	public void testStaticMethodInvoke() throws IllegalStateException, ThrowableProxy, NoExpressionValueException {
-		IExpression exp = proxyFactory.createExpression();
-		exp.createMethodInvocation(IExpressionConstants.ROOTEXPRESSION, "valueOf", true, 1);
-		exp.createTypeReceiver("java.lang.String");
-		exp.createPrimitiveLiteral(IExpression.METHOD_ARGUMENT, true);
-		IBeanProxy result = exp.getExpressionValue();
-		assertNotNull(result);
-		assertEquals("java.lang.String", result.getTypeProxy().getFormalTypeName());
-		assertEquals("true", ((IStringBeanProxy) result).stringValue());
-	}
-
-	public void testNonStaticMethodInvoke() throws IllegalStateException, ThrowableProxy, NoExpressionValueException {
-		IExpression exp = proxyFactory.createExpression();
-		exp.createMethodInvocation(IExpressionConstants.ROOTEXPRESSION, "compareTo", true, 1);
-		exp.createClassInstanceCreation(IExpression.METHOD_RECEIVER, "java.lang.Integer", 1);
-		exp.createPrimitiveLiteral(IExpression.CLASSINSTANCECREATION_ARGUMENT, 3);
-		exp.createClassInstanceCreation(IExpression.METHOD_ARGUMENT, "java.lang.Integer", 1);
-		exp.createPrimitiveLiteral(IExpression.CLASSINSTANCECREATION_ARGUMENT, 4);
-		IBeanProxy result = exp.getExpressionValue();
-		assertNotNull(result);
-		assertEquals("int", result.getTypeProxy().getFormalTypeName());
-		assertTrue("CompareTo wasn't less than 0.", ((INumberBeanProxy) result).intValue() < 0);
-	}	
-	
-	public void testConditionalTrue() throws IllegalStateException, ThrowableProxy, NoExpressionValueException {
-		IExpression exp = proxyFactory.createExpression();
-		exp.createConditionalExpression(IExpression.ROOTEXPRESSION);
-		exp.createInfixExpression(IExpression.CONDITIONAL_CONDITION, IExpressionConstants.IN_EQUALS, 0);
-		exp.createPrimitiveLiteral(IExpression.INFIX_LEFT, (byte) 3);
-		exp.createPrimitiveLiteral(IExpression.INFIX_RIGHT, (short) 3);
-		exp.createInfixExpression(IExpression.CONDITIONAL_TRUE, IExpressionConstants.IN_PLUS, 0);
-		exp.createPrimitiveLiteral(IExpression.INFIX_LEFT, (byte) 3);
-		exp.createPrimitiveLiteral(IExpression.INFIX_RIGHT, (short) 3);
-		exp.createInfixExpression(IExpression.CONDITIONAL_FALSE, IExpressionConstants.IN_PLUS, 0);
-		exp.createPrimitiveLiteral(IExpression.INFIX_LEFT, (byte) 3);
-		exp.createPrimitiveLiteral(IExpression.INFIX_RIGHT, (short) 3);
-		IBeanProxy result = exp.getExpressionValue();
-		assertNotNull(result);
-		assertEquals("int", result.getTypeProxy().getFormalTypeName());
-		assertEquals(6, ((INumberBeanProxy) result).intValue());
-	}
-	
-	public void testConditionalFalse() throws IllegalStateException, ThrowableProxy, NoExpressionValueException {
-		IExpression exp = proxyFactory.createExpression();
-		exp.createConditionalExpression(IExpression.ROOTEXPRESSION);
-		exp.createInfixExpression(IExpression.CONDITIONAL_CONDITION, IExpressionConstants.IN_EQUALS, 0);
-		exp.createPrimitiveLiteral(IExpression.INFIX_LEFT, (byte) 4);
-		exp.createPrimitiveLiteral(IExpression.INFIX_RIGHT, (short) 3);
-		exp.createInfixExpression(IExpression.CONDITIONAL_TRUE, IExpressionConstants.IN_PLUS, 0);
-		exp.createPrimitiveLiteral(IExpression.INFIX_LEFT, (byte) 3);
-		exp.createPrimitiveLiteral(IExpression.INFIX_RIGHT, (short) 3);
-		exp.createInfixExpression(IExpression.CONDITIONAL_FALSE, IExpressionConstants.IN_MINUS, 0);
-		exp.createPrimitiveLiteral(IExpression.INFIX_LEFT, (byte) 3);
-		exp.createPrimitiveLiteral(IExpression.INFIX_RIGHT, (short) 3);
-		IBeanProxy result = exp.getExpressionValue();
-		assertNotNull(result);
-		assertEquals("int", result.getTypeProxy().getFormalTypeName());
-		assertEquals(0, ((INumberBeanProxy) result).intValue());
-	}
-	
-	public void testNestedConditionalTrueTrue() throws IllegalStateException, ThrowableProxy, NoExpressionValueException {
-		IExpression exp = proxyFactory.createExpression();
-		exp.createConditionalExpression(IExpression.ROOTEXPRESSION);
-		exp.createInfixExpression(IExpression.CONDITIONAL_CONDITION, IExpressionConstants.IN_EQUALS, 0);
-		exp.createPrimitiveLiteral(IExpression.INFIX_LEFT, (byte) 3);
-		exp.createPrimitiveLiteral(IExpression.INFIX_RIGHT, (short) 3);
-		exp.createConditionalExpression(IExpression.CONDITIONAL_TRUE);
-		exp.createInfixExpression(IExpression.CONDITIONAL_CONDITION, IExpressionConstants.IN_EQUALS, 0);
-		exp.createPrimitiveLiteral(IExpression.INFIX_LEFT, (byte) 3);
-		exp.createPrimitiveLiteral(IExpression.INFIX_RIGHT, (short) 3);
-		exp.createInfixExpression(IExpression.CONDITIONAL_TRUE, IExpressionConstants.IN_PLUS, 0);
-		exp.createPrimitiveLiteral(IExpression.INFIX_LEFT, (byte) 4);
-		exp.createPrimitiveLiteral(IExpression.INFIX_RIGHT, (short) 4);
-		exp.createInfixExpression(IExpression.CONDITIONAL_FALSE, IExpressionConstants.IN_MINUS, 0);
-		exp.createPrimitiveLiteral(IExpression.INFIX_LEFT, (byte) 4);
-		exp.createPrimitiveLiteral(IExpression.INFIX_RIGHT, (short) 3);
-		exp.createInfixExpression(IExpression.CONDITIONAL_FALSE, IExpressionConstants.IN_MINUS, 0);
-		exp.createPrimitiveLiteral(IExpression.INFIX_LEFT, (byte) 5);
-		exp.createPrimitiveLiteral(IExpression.INFIX_RIGHT, (short) 3);
-		IBeanProxy result = exp.getExpressionValue();
-		assertNotNull(result);
-		assertEquals("int", result.getTypeProxy().getFormalTypeName());
-		assertEquals(8, ((INumberBeanProxy) result).intValue());
-	}
-	
-	public void testNestedConditionalFalseFalse() throws IllegalStateException, ThrowableProxy, NoExpressionValueException {
-		IExpression exp = proxyFactory.createExpression();
-		exp.createConditionalExpression(IExpression.ROOTEXPRESSION);
-		exp.createInfixExpression(IExpression.CONDITIONAL_CONDITION, IExpressionConstants.IN_EQUALS, 0);
-		exp.createPrimitiveLiteral(IExpression.INFIX_LEFT, (byte) 3);
-		exp.createPrimitiveLiteral(IExpression.INFIX_RIGHT, (short) 2);
-		exp.createConditionalExpression(IExpression.CONDITIONAL_TRUE);
-		exp.createInfixExpression(IExpression.CONDITIONAL_CONDITION, IExpressionConstants.IN_EQUALS, 0);
-		exp.createPrimitiveLiteral(IExpression.INFIX_LEFT, (byte) 2);
-		exp.createPrimitiveLiteral(IExpression.INFIX_RIGHT, (short) 3);
-		exp.createInfixExpression(IExpression.CONDITIONAL_TRUE, IExpressionConstants.IN_PLUS, 0);
-		exp.createPrimitiveLiteral(IExpression.INFIX_LEFT, (byte) 4);
-		exp.createPrimitiveLiteral(IExpression.INFIX_RIGHT, (short) 4);
-		exp.createInfixExpression(IExpression.CONDITIONAL_FALSE, IExpressionConstants.IN_MINUS, 0);
-		exp.createPrimitiveLiteral(IExpression.INFIX_LEFT, (byte) 4);
-		exp.createPrimitiveLiteral(IExpression.INFIX_RIGHT, (short) 3);
-		exp.createInfixExpression(IExpression.CONDITIONAL_FALSE, IExpressionConstants.IN_MINUS, 0);
-		exp.createPrimitiveLiteral(IExpression.INFIX_LEFT, (byte) 5);
-		exp.createPrimitiveLiteral(IExpression.INFIX_RIGHT, (short) 3);
-		IBeanProxy result = exp.getExpressionValue();
-		assertNotNull(result);
-		assertEquals("int", result.getTypeProxy().getFormalTypeName());
-		assertEquals(2, ((INumberBeanProxy) result).intValue());
-	}	
-	
-	public void testVoidReturnType() throws IllegalStateException, ThrowableProxy {
-		IExpression exp = proxyFactory.createExpression();
-		try {
-			exp.createInfixExpression(IExpression.ROOTEXPRESSION, IExpressionConstants.IN_PLUS, 0);
-			exp.createPrimitiveLiteral(IExpression.INFIX_LEFT, 3);
-			exp.createMethodInvocation(IExpression.INFIX_RIGHT, "gc", true, 0);
-			exp.createTypeReceiver("java.lang.System");
-			exp.getExpressionValue();
-			fail("Should of received no expression value exception.");
-		} catch (NoExpressionValueException e) {
-			if (e.getLocalizedMessage() != null)
-				System.out.println(e.getLocalizedMessage());
-		}
-	}
-	
-	public void testWrongReturnType() throws ThrowableProxy, IllegalStateException, NoExpressionValueException {
-		IExpression exp = proxyFactory.createExpression();
-		try {
-			exp.createInfixExpression(IExpression.ROOTEXPRESSION, IExpressionConstants.IN_PLUS, 0);
-			exp.createPrimitiveLiteral(IExpression.INFIX_LEFT, 3);
-			exp.createMethodInvocation(IExpression.INFIX_RIGHT, "getSecurityManager", true, 0);
-			exp.createTypeReceiver("java.lang.System");
-			exp.getExpressionValue();
-			fail("Should of received class cast proxy exception.");
-		} catch (ThrowableProxy e) {
-			if (!e.getTypeProxy().getFormalTypeName().equals("java.lang.IllegalArgumentException"))
-				throw e;	// Some other exception, rethrow it.
-		}
-	}
-	
-	public void testInvoke() throws ThrowableProxy, IllegalStateException, NoExpressionValueException {
-		IExpression exp = proxyFactory.createExpression();
-		exp.createMethodInvocation(IExpression.ROOTEXPRESSION, "getSecurityManager", true, 0);
-		exp.createTypeReceiver("java.lang.System");
-		exp.invokeExpression();
-	}
-	
-	public void testInvokeFail() throws ThrowableProxy, IllegalStateException, NoExpressionValueException {
-		IExpression exp = proxyFactory.createExpression();
-		try {
-			exp.createMethodInvocation(IExpression.ROOTEXPRESSION, "getenv", true, 1);
-			exp.createTypeReceiver("java.lang.System");
-			exp.createStringLiteral(IExpression.METHOD_ARGUMENT, "xyz");
-			exp.invokeExpression();
-		} catch (ThrowableProxy e) {
-			if (!e.getTypeProxy().getFormalTypeName().equals("java.lang.Error"))
-				throw e;	// Some other exception, rethrow it.
-		}
-	}
-}
diff --git a/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/proxy/ProxySuite.java b/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/proxy/ProxySuite.java
deleted file mode 100644
index 0be0f93..0000000
--- a/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/proxy/ProxySuite.java
+++ /dev/null
@@ -1,86 +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.jem.tests.proxy;
-/*
- *  $RCSfile: ProxySuite.java,v $
- *  $Revision: 1.8 $  $Date: 2005/02/15 23:00:16 $ 
- */
-import junit.framework.TestSuite;
-
-import org.eclipse.core.runtime.CoreException;
-
-import org.eclipse.jem.internal.proxy.core.*;
-import org.eclipse.jem.tests.JavaTestsPlugin;
-
-/**
- * @author richkulp
- * 
- * This suite is for testing straight Proxy independent of the type of proxy (e.g. Remote or IDE).
- * It can't run by itself. It needs to have the registry creater object stored in it so that
- * the appropriate registry can be created and recreated as necessary by the test.
- * 
- * If the tests inherit from AbstractTestProxy the setRegistryHandler will be called on it.
- */
-public class ProxySuite extends TestSuite {
-
-
-	// Test cases to be include in the suite
-	private static Class testsList[] = {
-		TestStandard.class,
-		TestAWTProxy.class,
-		ExpressionTest.class,
-									   } ;
-									   
-	public static String pkgName = "org.eclipse.jem.tests.proxy" ;
-	    
-	/**
-	 * Constructor for PackageSuite.
-	 */
-	public ProxySuite() {
-		super();
-		populateSuite();
-	}
-
-	/**
-	 * Constructor for PackageSuite.
-	 * @param theClass
-	 */
-	public ProxySuite(Class theClass) {
-		super(theClass);		
-		populateSuite();
-	}
-
-	/**
-	 * Constructor for PackageSuite.
-	 * @param name
-	 */
-	public ProxySuite(String name) {
-		super(name);		
-		populateSuite() ;
-	}
-
-	private void populateSuite () {
-		for (int i=0; i<testsList.length; i++)
-		  addTestSuite(testsList[i]) ;
-	}
-	
-	/**
-	 * Return a contributor to be used when starting tests so that ProxySuite can contribute to it.
-	 * @return A contributor for Proxy Suite tests
-	 */
-	public static IConfigurationContributor getProxySuiteContributor() {
-		return new ConfigurationContributorAdapter() {
-			public void contributeClasspaths(IConfigurationContributionController controller) throws CoreException {
-				controller.contributeClasspath(JavaTestsPlugin.getPlugin().getBundle(), "vm/tests.jar", IConfigurationContributionController.APPEND_USER_CLASSPATH, false);
-			}
-		};
-	}
-}
diff --git a/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/proxy/TestAWTProxy.java b/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/proxy/TestAWTProxy.java
deleted file mode 100644
index a20032d..0000000
--- a/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/proxy/TestAWTProxy.java
+++ /dev/null
@@ -1,119 +0,0 @@
-package org.eclipse.jem.tests.proxy;
-/*******************************************************************************
- * Copyright (c)  2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Eclipse Public License v1.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: TestAWTProxy.java,v $
- *  $Revision: 1.3 $  $Date: 2005/02/15 23:00:16 $ 
- */
-import org.eclipse.jem.internal.proxy.core.*;
-import org.eclipse.jem.internal.proxy.core.IBeanProxy;
-import org.eclipse.jem.internal.proxy.core.IBeanTypeProxy;
-import org.eclipse.jem.internal.proxy.awt.*;
-import org.eclipse.jem.internal.proxy.awt.IStandardAwtBeanProxyFactory;
-import org.eclipse.jem.internal.proxy.awt.JavaStandardAwtBeanConstants;
-
-/**
- * @author richkulp
- *
- * 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 TestAWTProxy extends AbstractTestProxy {
-
-	public TestAWTProxy() {
-		super();
-	}
-
-	public TestAWTProxy(String name) {
-		super(name);
-	}
-	
-	private JavaStandardAwtBeanConstants constants;	// If this is null then don't do tests.
-	
-	/* (non-Javadoc)
-	 * @see junit.framework.TestCase#setUp()
-	 */
-	protected void setUp() throws Exception {
-		super.setUp();
-		
-		constants = JavaStandardAwtBeanConstants.getConstants(registry);
-		assertNotNull(constants);
-		if (!constants.isAWTAvailable()) {
-			// this is not an error. It just means we don't anything. This is signified by constants being null.
-			constants = null;
-		}
-	}
-	
-	public void testAWTColor() throws ClassCastException, ThrowableProxy, InstantiationException {
-		if (constants == null)
-			return;	// No AWT, so test isn't done, but still considered good.
-			
-		// AWT Color tests
-		IBeanTypeProxy colorType = proxyTypeFactory.getBeanTypeProxy("java.awt.Color"); //$NON-NLS-1$
-		assertNotNull(colorType);
-		IBeanProxy colorProxy = colorType.newInstance("java.awt.Color.cyan"); //$NON-NLS-1$
-		assertNotNull(colorProxy);
-		assertEquals("java.awt.Color[r=0,g=255,b=255]", colorProxy.toBeanString());
-	}
-	
-	public void testAWTProxyFactory() {
-		if (constants == null)
-			return;	// No AWT, so test isn't done, but still considered good.
-			
-		IStandardAwtBeanProxyFactory awtProxyFactory = (IStandardAwtBeanProxyFactory) registry.getBeanProxyFactoryExtension(IStandardAwtBeanProxyFactory.REGISTRY_KEY);
-		assertNotNull(awtProxyFactory);
-		
-		// Test the creation through the helpers, plus test special methods 
-		IDimensionBeanProxy dimBean = awtProxyFactory.createDimensionBeanProxyWith(5,6);
-		assertNotNull(dimBean);
-		assertEquals("java.awt.Dimension[width=5,height=6]", dimBean.toBeanString()); //$NON-NLS-1$
-		assertEquals(5, dimBean.getWidth());
-		assertEquals(6, dimBean.getHeight());		
-		
-		IPointBeanProxy pointBean = awtProxyFactory.createPointBeanProxyWith(5,6);
-		assertNotNull(pointBean);
-		assertEquals("java.awt.Point[x=5,y=6]", pointBean.toBeanString()); //$NON-NLS-1$
-		assertEquals(5, pointBean.getX());
-		assertEquals(6, pointBean.getY());		
-		
-		IRectangleBeanProxy rectBean = awtProxyFactory.createBeanProxyWith(5,6,7,8);
-		assertNotNull(rectBean);
-		assertEquals("java.awt.Rectangle[x=5,y=6,width=7,height=8]", rectBean.toBeanString()); //$NON-NLS-1$
-		assertEquals(5, rectBean.getX());
-		assertEquals(6, rectBean.getY());		
-		assertEquals(7, rectBean.getWidth());
-		assertEquals(8, rectBean.getHeight());				
-	}
-	
-	public void testAWTSpecialsInitString() throws ClassCastException, ThrowableProxy, InstantiationException {
-		if (constants == null)
-			return;	// No AWT, so test isn't done, but still considered good.
-			
-		
-		// Test the creation through init strings
-		IBeanTypeProxy dimType = proxyTypeFactory.getBeanTypeProxy("java.awt.Dimension"); //$NON-NLS-1$
-		assertNotNull(dimType);		
-		IDimensionBeanProxy dimBean = (IDimensionBeanProxy) dimType.newInstance("new java.awt.Dimension(7,8)"); //$NON-NLS-1$
-		assertNotNull(dimBean);
-		assertEquals("java.awt.Dimension[width=7,height=8]", dimBean.toBeanString()); //$NON-NLS-1$
-		
-		IBeanTypeProxy pointType = proxyTypeFactory.getBeanTypeProxy("java.awt.Point"); //$NON-NLS-1$
-		IPointBeanProxy pointBean = (IPointBeanProxy) pointType.newInstance("new java.awt.Point(5,6)"); //$NON-NLS-1$
-		assertNotNull(pointBean);
-		assertEquals("java.awt.Point[x=5,y=6]", pointBean.toBeanString()); //$NON-NLS-1$
-		
-		IBeanTypeProxy rectType = proxyTypeFactory.getBeanTypeProxy("java.awt.Rectangle"); //$NON-NLS-1$
-		IRectangleBeanProxy rectBean = (IRectangleBeanProxy) rectType.newInstance("new java.awt.Rectangle(5,6,7,8)"); //$NON-NLS-1$
-		assertNotNull(rectBean);
-		assertEquals("java.awt.Rectangle[x=5,y=6,width=7,height=8]", rectBean.toBeanString()); //$NON-NLS-1$
-	}
-
-}
diff --git a/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/proxy/TestCallback.java b/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/proxy/TestCallback.java
deleted file mode 100644
index 17b1fae..0000000
--- a/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/proxy/TestCallback.java
+++ /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
- *******************************************************************************/
-package org.eclipse.jem.tests.proxy;
-/*
- *  $RCSfile: TestCallback.java,v $
- *  $Revision: 1.4 $  $Date: 2005/02/15 23:00:16 $ 
- */
-
-import org.eclipse.jem.internal.proxy.core.*;
-import java.io.InputStream;
-
-import junit.framework.TestCase;
-/**
- * This is the callback for the test case. This runs on the IDE side.
- */
-public class TestCallback implements ICallback {
-	
-	Object tester;
-	ProxyFactoryRegistry registry;
-	
-	int counter = 0;
-	
-	/**
-	 * This will do assert tests to make sure test completed correctly.
-	 */
-	public void testCompleted() {
-		if (badParmType != null)
-			TestCase.assertEquals(IIntegerBeanProxy.class, badParmType);
-		if (badParmValue != 0)
-			TestCase.assertEquals(goodParmValue, badParmValue);
-		if (badMsg != null)
-			TestCase.fail(badMsg);
-		TestCase.assertEquals(2, counter);
-	}
-	
-	private boolean stoppedTest;
-	private Class badParmType = null;
-	private int badParmValue, goodParmValue;
-	private String badMsg;
-	
-	// Normally the callback doesn't determine when to stop 
-	// the callback proxy. But for this test it does.
-	public TestCallback(Object t, ProxyFactoryRegistry registry) {
-		tester = t;
-		this.registry = registry;
-	}
-	
-	public Object calledBack(int msgID, IBeanProxy parm){
-		synchronized(tester) {
-			if (stoppedTest)
-				return null;	// We've already stopped, don't do anymore.
-		}
-		
-		if (msgID != 0) {
-			badMsg = "Msgid " + msgID + " is incorrect. It should be zero.";
-			stopTest();
-		} else if (parm instanceof IIntegerBeanProxy) {
-			int pv = ((IIntegerBeanProxy) parm).intValue();
-			if (++counter != pv) {
-				badParmValue = pv;
-				goodParmValue = counter;
-				stopTest();
-				return null;
-			}
-			if (counter == 2) {
-				stopTest();
-			}
-		} else {
-			// Bad parm type.
-			badParmType = parm.getClass();
-			stopTest();
-		}
-		return null;
-	}
-	
-	public Object calledBack(int msgID, Object parm) {
-		if (msgID != 1) {
-			badMsg = "Msgid " + msgID + " is incorrect. It should be one.";
-			stopTest();
-		} else if (parm instanceof Integer){
-			// We are going to use the registry to see what thread id is running when we call into it.
-			IMethodProxy currentThreadMethod = registry.getMethodProxyFactory().getMethodProxy("java.lang.Thread", "currentThread", null);
-			IBeanProxy thread = currentThreadMethod.invokeCatchThrowableExceptions(null);
-			IMethodProxy hashcodeMethod = registry.getMethodProxyFactory().getMethodProxy("java.lang.Object", "hashCode", null);
-			IBeanProxy threadID = hashcodeMethod.invokeCatchThrowableExceptions(thread);
-			if (threadID instanceof INumberBeanProxy) {
-				if (!parm.equals(((INumberBeanProxy) threadID).numberValue())) {
-					badMsg = "ThreadID returned from call not match parm sent it. Means callback not on same thread.";
-					stopTest();
-				}
-			} else {
-				badMsg = "ThreadID returned from call is not valid.";
-				stopTest();
-			}
-		} else {
-			badMsg = "Parm is invalid for calledBack with Object";
-			stopTest();
-		}
-		return null;
-	}
-	
-	public Object calledBack(int msgID, Object[] parms){
-		badMsg = "Failed Callback Test. Shouldn't have gotton to multi-parms"; //$NON-NLS-1$
-		stopTest();
-		return null;
-	}
-	
-	public void calledBackStream(int msgID, InputStream in){
-		badMsg = "Failed Callback Test. Shouldn't have gotton to input stream"; //$NON-NLS-1$
-		stopTest();
-	}	
-	
-	void stopTest() {
-		synchronized(tester) {
-			stoppedTest = true;
-			tester.notify();
-		}
-	}
-
-}
diff --git a/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/proxy/TestCallbackStream.java b/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/proxy/TestCallbackStream.java
deleted file mode 100644
index cce6181..0000000
--- a/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/proxy/TestCallbackStream.java
+++ /dev/null
@@ -1,112 +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.jem.tests.proxy;
-/*
- *  $RCSfile: TestCallbackStream.java,v $
- *  $Revision: 1.4 $  $Date: 2005/02/15 23:00:16 $ 
- */
-
-import org.eclipse.jem.internal.proxy.core.*;
-import java.io.InputStream;
-import java.io.IOException;
-
-import junit.framework.TestCase;
-/**
- * This is the callback for the test case of the stream. This runs on the IDE side.
- */
-public class TestCallbackStream implements ICallback {
-
-	Object tester;	// Notified when the test is finished.
-	
-	private boolean testStopped;
-	private String badMsg;
-	private IOException exp;
-	private boolean testSuccesful;
-	
-	public TestCallbackStream(Object o) {
-		tester = o;
-	}
-	
-	public void testComplete() throws IOException {
-		if (badMsg != null)
-			TestCase.fail(badMsg);
-		if (exp != null)
-			throw exp;
-		TestCase.assertTrue(testSuccesful);
-	}
-
-	public Object calledBack(int msgID, Object  parm){
-		badMsg = "Failed Callback Test. Shouldn't have gotton to object parm"; //$NON-NLS-1$
-		stopTest();
-		return null;
-	}
-	public Object calledBack(int msgID, IBeanProxy parm){
-		badMsg = "Failed Callback Test. Shouldn't have gotton to parm"; //$NON-NLS-1$
-		stopTest();
-		return null;
-	}
-	public Object calledBack(int msgID, Object[] parms){
-		badMsg = "Failed Callback Test. Shouldn't have gotton to multi-parms"; //$NON-NLS-1$
-		stopTest();		
-		return null;
-	}
-	public void calledBackStream(int msgID, InputStream in){
-		// Read from the stream for 30000 bytes. Verify that
-		// we get an incrementing stream, i.e. 0, 1, ..., 127, -127, ...
-		
-		synchronized (tester) {
-			if (testStopped)
-				return;
-		}
-		for (int i=0; i<30000; i++) {
-			try {
-				int next = in.read();
-				if (next == -1) {
-					badMsg = "Failed Callback Stream test. Stream ended too soon. On counter="+String.valueOf(i); //$NON-NLS-1$
-					stopTest();
-					return;
-				}
-				
-				if (((byte) next) != ((byte) i)) {
-					badMsg = "Failed Callback Stream test. Did not get correct next byte at:" + i; //$NON-NLS-1$
-					stopTest();
-					return;
-				}
-			} catch (IOException e) {
-				exp = e;
-				stopTest();				
-				return;
-			}
-		}
-		
-		try {
-			if (in.read() != -1) {
-				badMsg = "Failed Callback Stream test. Too much data sent."; //$NON-NLS-1$
-				stopTest();				
-				return;
-			}
-		} catch (IOException e) {
-			exp = e;
-		}
-		
-		testSuccesful = true;
-		stopTest();
-	}
-	
-	void stopTest() {
-		synchronized(tester) {
-			testStopped = true;
-			tester.notify();
-		}
-	}
-		
-
-}
diff --git a/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/proxy/TestStandard.java b/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/proxy/TestStandard.java
deleted file mode 100644
index a5a0fec..0000000
--- a/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/proxy/TestStandard.java
+++ /dev/null
@@ -1,639 +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.jem.tests.proxy;
-/*
- *  $RCSfile: TestStandard.java,v $
- *  $Revision: 1.8 $  $Date: 2005/02/15 23:00:16 $ 
- */
-import java.io.IOException;
-
-import org.eclipse.jem.internal.proxy.common.AmbiguousMethodException;
-import org.eclipse.jem.internal.proxy.core.*;
-
-/**
- * @author richkulp
- *
- * 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 TestStandard extends AbstractTestProxy {
-
-	/**
-	 * 
-	 */
-	public TestStandard() {
-		super();
-	}
-
-	/**
-	 * @param name
-	 */
-	public TestStandard(String name) {
-		super(name);
-	}
-
-	public void testObject() {
-		IBeanTypeProxy objectType = proxyTypeFactory.getBeanTypeProxy("java.lang.Object"); //$NON-NLS-1$
-		assertNotNull(objectType);
-		assertFalse(objectType.isArray());
-		assertEquals("java.lang.Object", objectType.getTypeName());
-	}
-	
-	public void testTypeOf() {
-		IBeanTypeProxy objectType = proxyTypeFactory.getBeanTypeProxy("java.lang.Object"); //$NON-NLS-1$		
-		IBeanTypeProxy integerType = proxyTypeFactory.getBeanTypeProxy("java.lang.Integer"); //$NON-NLS-1$
-		assertNotNull(integerType);
-		assertEquals("java.lang.Integer", integerType.getTypeName());
-		assertTrue(integerType.isKindOf(objectType));		
-	}
-	
-	public void testMethodInvoke() throws ThrowableProxy {		
-		IBeanTypeProxy integerType = proxyTypeFactory.getBeanTypeProxy("java.lang.Integer"); //$NON-NLS-1$		
-		IMethodProxy mthd = integerType.getMethodProxy("valueOf", "java.lang.String"); //$NON-NLS-1$ //$NON-NLS-2$
-		assertNotNull(mthd);
-		// See if we can invoke methods.
-		IIntegerBeanProxy anInt = (IIntegerBeanProxy) mthd.invoke(null, proxyFactory.createBeanProxyWith("5")); //$NON-NLS-1$
-		assertNotNull(anInt);
-		assertEquals(5, anInt.intValue());
-		// See if invoke with bad type throws the ExceptionProxy.
-		try {
-			mthd.invoke(null, proxyFactory.createBeanProxyWith(5));
-			fail("Exception not thrown like it should of been.");
-		} catch (ThrowableProxy e) {
-			// We should of gotton the exception. See if it is of the correct type.
-			assertEquals("java.lang.IllegalArgumentException", e.getTypeProxy().getTypeName()); //$NON-NLS-1$
-		}						
-	}
-
-	public void testInvoke() throws ThrowableProxy {
-		// Technically invokables should be used for one-shot usage, but here to test the invoke correctly
-		// it will be used twice. This is not an error, just overhead.
-		IBeanTypeProxy integerType = proxyTypeFactory.getBeanTypeProxy("java.lang.Integer"); //$NON-NLS-1$		
-		IInvokable invokable = integerType.getInvokable("valueOf", "java.lang.String"); //$NON-NLS-1$ //$NON-NLS-2$
-		assertNotNull(invokable);
-		// See if we can invoke methods.
-		IIntegerBeanProxy anInt = (IIntegerBeanProxy) invokable.invoke(null, proxyFactory.createBeanProxyWith("5")); //$NON-NLS-1$
-		assertNotNull(anInt);
-		assertEquals(5, anInt.intValue());
-		// See if invoke with bad type throws the ExceptionProxy.
-		try {
-			invokable.invoke(null, proxyFactory.createBeanProxyWith(5));
-			fail("Exception not thrown like it should of been.");
-		} catch (ThrowableProxy e) {
-			// We should of gotton the exception. See if it is of the correct type.
-			assertEquals("java.lang.IllegalArgumentException", e.getTypeProxy().getTypeName()); //$NON-NLS-1$
-		}						
-	}
-
-	public void testSimpleInitString() throws ThrowableProxy, InstantiationException {
-		IBeanTypeProxy integerType = proxyTypeFactory.getBeanTypeProxy("java.lang.Integer"); //$NON-NLS-1$				
-		// See if we can create it from an initialization string.
-		IIntegerBeanProxy anInt = (IIntegerBeanProxy) integerType.newInstance("new java.lang.Integer(6)"); //$NON-NLS-1$
-		assertNotNull(anInt);
-		assertEquals(6, anInt.intValue());
-
-		// See if string initialization works.
-		IStringBeanProxy aString = (IStringBeanProxy) proxyTypeFactory.getBeanTypeProxy("java.lang.String").newInstance("\"abcd\""); //$NON-NLS-1$ //$NON-NLS-2$
-		assertNotNull(aString);
-		assertEquals("abcd", aString.stringValue()); //$NON-NLS-1$
-	}
-	
-	public void testGetConstructors() {
-		IBeanTypeProxy stringType = proxyTypeFactory.getBeanTypeProxy("java.lang.String"); //$NON-NLS-1$				
-		
-		// Get all constructors.
-		IConstructorProxy[] ctors = stringType.getConstructors();
-		assertNotNull(ctors);
-		assertEquals(11, ctors.length);		
-	}
-
-	public void testGetDeclaredConstructors() {
-		IBeanTypeProxy testAccessType = proxyTypeFactory.getBeanTypeProxy("testPackage.TestAccess"); //$NON-NLS-1$				
-		
-		// Get all constructors.
-		IConstructorProxy[] ctors = testAccessType.getDeclaredConstructors();
-		assertNotNull(ctors);
-		assertEquals(3, ctors.length);		
-	}
-
-	public void testSimpleConstructor() throws ThrowableProxy {
-		IBeanTypeProxy integerType = proxyTypeFactory.getBeanTypeProxy("java.lang.Integer"); //$NON-NLS-1$				
-		
-		// See if we can create it from a constructor.
-		IConstructorProxy ctor = integerType.getConstructorProxy(new String[] {"java.lang.String"}); //$NON-NLS-1$
-		assertNotNull(ctor);
-		IIntegerBeanProxy anInt = (IIntegerBeanProxy) ctor.newInstance(new IBeanProxy[] {proxyFactory.createBeanProxyWith("0")}); //$NON-NLS-1$
-		assertEquals(0, anInt.intValue());
-						
-		// Zero is cached, let's see if that is what we got above.
-		IIntegerBeanProxy aZero = proxyFactory.createBeanProxyWith(new Integer(0));
-		assertSame(anInt, aZero);
-	}
-
-	public void testSimpleDeclaredConstructor() throws ThrowableProxy {
-		IBeanTypeProxy testAccessType = proxyTypeFactory.getBeanTypeProxy("testPackage.TestAccess"); //$NON-NLS-1$				
-		
-		// See if we can get a private constructor.
-		IConstructorProxy ctor = testAccessType.getDeclaredConstructorProxy(new String[] {"java.lang.RuntimeException"}); //$NON-NLS-1$
-		assertNotNull(ctor);
-	}
-
-	public void testPrimitiveReturn() throws ThrowableProxy {
-		IBeanTypeProxy integerType = proxyTypeFactory.getBeanTypeProxy("java.lang.Integer"); //$NON-NLS-1$				
-		
-		// See that we get a primitive back when the method return type is a primitive.
-		IMethodProxy mthdPrim = integerType.getMethodProxy("intValue"); //$NON-NLS-1$
-		IIntegerBeanProxy anInt = (IIntegerBeanProxy) mthdPrim.invoke(proxyFactory.createBeanProxyWith(5));
-		assertEquals("int", anInt.getTypeProxy().getTypeName()); //$NON-NLS-1$
-		assertEquals(5, anInt.intValue());
-		
-		// See that we get a primitive back when the field is a primitive.
-		IFieldProxy fieldPrim = integerType.getFieldProxy("MIN_VALUE"); //$NON-NLS-1$
-		anInt = (IIntegerBeanProxy) fieldPrim.get(null);
-		assertEquals("int", anInt.getTypeProxy().getTypeName()); //$NON-NLS-1$
-		assertEquals(Integer.MIN_VALUE, anInt.intValue());	
-	}
-	
-	public void testPrimitiveArrayType() {
-		// Test Primitive arrays.
-		IArrayBeanTypeProxy arrayType = (IArrayBeanTypeProxy) proxyTypeFactory.getBeanTypeProxy("[I"); //$NON-NLS-1$
-		assertNotNull(arrayType);
-		assertTrue(arrayType.isArray());
-		assertEquals("[I", arrayType.getTypeName()); //$NON-NLS-1$
-		assertEquals(proxyTypeFactory.getBeanTypeProxy("int"), arrayType.getComponentType()); //$NON-NLS-1$
-	}
-	
-	public void testObjectArrayType() {
-		// Test simple object type array
-		IArrayBeanTypeProxy arrayType = (IArrayBeanTypeProxy) proxyTypeFactory.getBeanTypeProxy("[Ljava.lang.Integer;"); //$NON-NLS-1$
-		assertNotNull(arrayType);
-		assertTrue(arrayType.isArray());
-		assertEquals("[Ljava.lang.Integer;", arrayType.getTypeName()); //$NON-NLS-1$
-		assertEquals(proxyTypeFactory.getBeanTypeProxy("java.lang.Integer"), arrayType.getComponentType()); //$NON-NLS-1$		
-	}
-	
-	public void testPrimitive2DArrayType() {
-		// Test two dimension primitive array
-		IArrayBeanTypeProxy arrayType = (IArrayBeanTypeProxy) proxyTypeFactory.getBeanTypeProxy("[[I"); //$NON-NLS-1$
-		assertNotNull(arrayType);
-		assertTrue(arrayType.isArray());
-		assertEquals("[[I", arrayType.getTypeName()); //$NON-NLS-1$
-		assertEquals(proxyTypeFactory.getBeanTypeProxy("[I"), arrayType.getComponentType()); //$NON-NLS-1$
-		
-		// Test construction using accessor.
-		arrayType = (IArrayBeanTypeProxy) proxyTypeFactory.getBeanTypeProxy("int", 2); //$NON-NLS-1$
-		assertNotNull(arrayType);
-		assertTrue(arrayType.isArray());
-		assertEquals("[[I", arrayType.getTypeName()); //$NON-NLS-1$
-	}
-	
-	public void testObject2DArrayType() {
-		// Test two dimension object type array
-		IArrayBeanTypeProxy arrayType = (IArrayBeanTypeProxy) proxyTypeFactory.getBeanTypeProxy("[[Ljava.lang.Integer;"); //$NON-NLS-1$
-		assertNotNull(arrayType);
-		assertTrue(arrayType.isArray());
-		assertEquals("[[Ljava.lang.Integer;", arrayType.getTypeName()); //$NON-NLS-1$
-		assertEquals(proxyTypeFactory.getBeanTypeProxy("[Ljava.lang.Integer;"), arrayType.getComponentType()); //$NON-NLS-1$
-		
-		// Test get type using accessor.
-		arrayType = (IArrayBeanTypeProxy) proxyTypeFactory.getBeanTypeProxy("java.lang.Integer", 2); //$NON-NLS-1$
-		assertNotNull(arrayType);
-		assertTrue(arrayType.isArray());
-		assertEquals("[[Ljava.lang.Integer;", arrayType.getTypeName()); //$NON-NLS-1$		
-	}
-	
-	public void testArrayTypeFromArrayType() {
-		// Test creating an array type from an array type, i.e. adding dimensions.
-		IArrayBeanTypeProxy arrayType = (IArrayBeanTypeProxy) proxyTypeFactory.getBeanTypeProxy("[Ljava.lang.Integer;", 2); //$NON-NLS-1$
-		assertNotNull(arrayType);
-		assertTrue(arrayType.isArray());
-		assertEquals("[[[Ljava.lang.Integer;", arrayType.getTypeName()); //$NON-NLS-1$
-	}
-	
-	public void testArrayFromAccessorSimpleType() throws ThrowableProxy {
-		IBeanTypeProxy integerType = proxyTypeFactory.getBeanTypeProxy("java.lang.Integer"); //$NON-NLS-1$				
-		
-		// Test creating an array with accessor of more than one dimension with component type not an array.
-		IArrayBeanProxy arrayProxy = proxyFactory.createBeanProxyWith(integerType, new int[] {3, 4});
-		assertNotNull(arrayProxy);
-		assertEquals("[[Ljava.lang.Integer;", arrayProxy.getTypeProxy().getTypeName()); //$NON-NLS-1$
-		assertEquals(3, arrayProxy.getLength());
-		
-		// get(0) should be an Integer[4].
-		arrayProxy = (IArrayBeanProxy) arrayProxy.get(0);
-		assertNotNull(arrayProxy);
-		assertEquals(4, arrayProxy.getLength());				
-	}
-	
-	public void testArrayFromAccessorArrayType() throws ThrowableProxy {
-		IArrayBeanTypeProxy arrayType = (IArrayBeanTypeProxy) proxyTypeFactory.getBeanTypeProxy("java.lang.Integer", 1); //$NON-NLS-1$
-		
-		// Test creating an array with accessor but component type is an array.		
-		IArrayBeanProxy arrayProxy = proxyFactory.createBeanProxyWith(arrayType, new int[] {1});
-		assertNotNull(arrayProxy);
-		assertEquals("[Ljava.lang.Integer;", arrayProxy.getTypeProxy().getTypeName()); //$NON-NLS-1$
-		assertEquals(1, arrayProxy.getLength());
-	}
-	
-	public void testArrayFromAccessorArrayTypeMultiDim() throws ThrowableProxy {
-		IArrayBeanTypeProxy arrayType = (IArrayBeanTypeProxy) proxyTypeFactory.getBeanTypeProxy("java.lang.Integer", 1); //$NON-NLS-1$
-
-		// Test creating an array with accessor but component type is an array, but extend and add a dimension.		
-		IArrayBeanProxy arrayProxy = proxyFactory.createBeanProxyWith(arrayType, new int[] {2 ,3});
-		assertNotNull(arrayProxy);
-		assertEquals("[[Ljava.lang.Integer;", arrayProxy.getTypeProxy().getTypeName()); //$NON-NLS-1$
-		assertEquals(2, arrayProxy.getLength());
-
-		// Test first entry is an Integer[3]		
-		IArrayBeanProxy idx1 = (IArrayBeanProxy) arrayProxy.get(0);
-		assertNotNull(idx1);
-		assertEquals(3, idx1.getLength());
-		
-		// Test [1][2] is null.
-		IBeanProxy idx2 = arrayProxy.get(new int [] {1,2});
-		assertNull(idx2);
-	}
-	
-	public void testArraySet() throws ThrowableProxy {
-		IBeanProxy anInt = proxyFactory.createBeanProxyWith(new java.lang.Integer(23));
-		IArrayBeanTypeProxy arrayType = (IArrayBeanTypeProxy) proxyTypeFactory.getBeanTypeProxy("java.lang.Integer", 1); //$NON-NLS-1$
-		
-		IArrayBeanProxy arrayProxy = proxyFactory.createBeanProxyWith(arrayType, new int[] {2 ,3});
-		assertNotNull(arrayProxy);
-		assertEquals("[[Ljava.lang.Integer;", arrayProxy.getTypeProxy().getTypeName()); //$NON-NLS-1$
-		assertEquals(2, arrayProxy.getLength());
-
-		// Test first entry is an Integer[3]		
-		IArrayBeanProxy idx1 = (IArrayBeanProxy) arrayProxy.get(0);
-		
-		// Test set into array idx1, but retrieve from arrayProxy. Tests
-		//   1) Set with one index into array from outer array[0]
-		//   2) Get with multi index from outer array
-		//   3) And that the same array is set that exists within the first array.
-		idx1.set(anInt, 2);
-		IBeanProxy idx3 = arrayProxy.get(new int[] {0, 2});
-		assertNotNull(idx3);
-		assertEquals("java.lang.Integer", idx3.getTypeProxy().getTypeName()); //$NON-NLS-1$
-		assertEquals(anInt, idx3);
-		
-		// Inverse test of above, multi set, single get of same array.
-		arrayProxy.set(anInt, new int[] {0,1});
-		assertEquals(anInt, idx1.get(1));
-	}
-
-	public void testArraySnapshot2DimArray() throws ThrowableProxy {
-		IArrayBeanTypeProxy arrayType = (IArrayBeanTypeProxy) proxyTypeFactory.getBeanTypeProxy("java.lang.Integer", 2); //$NON-NLS-1$
-		
-		IArrayBeanProxy arrayProxy = proxyFactory.createBeanProxyWith(arrayType, new int[] {2, 3});
-		assertNotNull(arrayProxy);
-
-		// Get the two entries which are Integer[3]		
-		IArrayBeanProxy idx0 = (IArrayBeanProxy) arrayProxy.get(0);
-		IArrayBeanProxy idx1 = (IArrayBeanProxy) arrayProxy.get(1);
-		
-		// Now get the snapshot and see if the entries are idx0 and idx1.
-		IBeanProxy[] snapshot = arrayProxy.getSnapshot();
-		assertEquals(idx0, snapshot[0]);
-		assertEquals(idx1, snapshot[1]);
-	}
-
-	public void testArraySnapshotPrimitiveArray() throws ThrowableProxy {
-		IArrayBeanTypeProxy arrayType = (IArrayBeanTypeProxy) proxyTypeFactory.getBeanTypeProxy("int", 1); //$NON-NLS-1$
-		
-		IArrayBeanProxy arrayProxy = proxyFactory.createBeanProxyWith(arrayType, new int[] {2});
-		assertNotNull(arrayProxy);
-
-		// Set the two entries to int values.
-		arrayProxy.set(proxyFactory.createBeanProxyWith(2), 0);
-		arrayProxy.set(proxyFactory.createBeanProxyWith(3), 1);
-		IIntegerBeanProxy idx0 = (IIntegerBeanProxy) arrayProxy.get(0);
-		IIntegerBeanProxy idx1 = (IIntegerBeanProxy) arrayProxy.get(1);
-		assertEquals(2, idx0.intValue());
-		assertEquals(3, idx1.intValue());
-		
-		// Now get the snapshot and see if the entries are idx0 and idx1.
-		IBeanProxy[] snapshot = arrayProxy.getSnapshot();
-		assertEquals(idx0, snapshot[0]);
-		assertEquals(idx1, snapshot[1]);
-	}
-
-	public void testEmptyArray() throws ThrowableProxy {
-		IArrayBeanTypeProxy arrayType = (IArrayBeanTypeProxy) proxyTypeFactory.getBeanTypeProxy("java.lang.Integer", 1); //$NON-NLS-1$
-
-		// Create an empty one dimensional array		
-		IArrayBeanProxy arrayProxy = proxyFactory.createBeanProxyWith(arrayType, null);
-		assertNotNull(arrayProxy);
-		assertEquals("[Ljava.lang.Integer;", arrayProxy.getTypeProxy().getTypeName()); //$NON-NLS-1$
-		assertEquals(0, arrayProxy.getLength());
-	}
-	
-	public void testEmpty2DArray() throws ThrowableProxy {
-		// Create an emtpy two dimensional array		
-		IArrayBeanProxy arrayProxy = proxyFactory.createBeanProxyWith(proxyTypeFactory.getBeanTypeProxy("java.lang.Integer", 2), null); //$NON-NLS-1$
-		assertNotNull(arrayProxy);
-		assertEquals("[[Ljava.lang.Integer;", arrayProxy.getTypeProxy().getTypeName()); //$NON-NLS-1$
-		assertEquals(0, arrayProxy.getLength());		
-	}
-	
-	public void test2DArray() throws ThrowableProxy {
-		// Create a 2D array with three empty entries in dim 0. 
-		IArrayBeanProxy arrayProxy = proxyFactory.createBeanProxyWith(proxyTypeFactory.getBeanTypeProxy("java.lang.Integer", 2), 3); //$NON-NLS-1$
-		assertNotNull(arrayProxy);
-		assertEquals("[[Ljava.lang.Integer;", arrayProxy.getTypeProxy().getTypeName()); //$NON-NLS-1$
-		assertEquals(3, arrayProxy.getLength());
-		// Array entry should be empty.
-		IArrayBeanProxy idx1 = (IArrayBeanProxy) arrayProxy.get(0);
-		assertNull(idx1);		
-	}
-	
-	public void testPrimitiveArray() throws ThrowableProxy {
-		// Make sure that if the final component type is an
-		// int (primitive) that we get a primitive proxy back and not an Integer object.		
-		IArrayBeanTypeProxy arrayType = (IArrayBeanTypeProxy) proxyTypeFactory.getBeanTypeProxy("int", 1); //$NON-NLS-1$
-		IArrayBeanProxy arrayProxy = proxyFactory.createBeanProxyWith(arrayType, 3);
-		arrayProxy.set(proxyFactory.createBeanProxyWith(44), 1);
-		IBeanProxy idx1 = arrayProxy.get(1);
-		assertNotNull(idx1);
-		assertEquals("int", idx1.getTypeProxy().getTypeName()); //$NON-NLS-1$
-		assertEquals(44, ((IIntegerBeanProxy) idx1).intValue());
-	}
-	
-	public void testCollections() throws ThrowableProxy {
-		IBeanTypeProxy vectorType = proxyTypeFactory.getBeanTypeProxy("java.util.Vector"); //$NON-NLS-1$
-		IBeanProxy vectorProxy = vectorType.newInstance();
-		CollectionBeanProxyWrapper col = new CollectionBeanProxyWrapper(vectorProxy);
-		
-		// Test adding
-		assertTrue(col.add(proxyFactory.createBeanProxyWith(33)));
-		assertEquals(1, col.size());
-			
-		// Test toArray, first entry should be 33 and length should be 1.
-		IArrayBeanProxy arrayOut = col.toArray();
-		assertEquals(1, arrayOut.getLength());
-		assertEquals(33, ((IIntegerBeanProxy) arrayOut.get(0)).intValue());
-		
-		// Test toArray(array).
-		IArrayBeanProxy arrayInto = proxyFactory.createBeanProxyWith(arrayOut.getTypeProxy(), arrayOut.getLength()); //$NON-NLS-1$
-		IArrayBeanProxy arrayOut2 = col.toArray(arrayInto);
-		// It should of been the exact same array (arrayInto == arrayOut2 under the proxies).
-		assertTrue(arrayInto.sameAs(arrayOut2));
-		assertEquals(33, ((IIntegerBeanProxy) arrayOut.get(0)).intValue());
-		
-		// Test setting with wrong type throws exception.
-		try {
-			// Test the setting with wrong type throws an exception
-			col = new CollectionBeanProxyWrapper(arrayOut);
-			fail("ClassCastException should of been thrown.");
-		} catch (ClassCastException e) {
-			// If here, then the test was passed
-		}
-	}
-	
-	public void testIterator() throws ThrowableProxy {
-		IBeanTypeProxy vectorType = proxyTypeFactory.getBeanTypeProxy("java.util.Vector"); //$NON-NLS-1$
-		IBeanProxy vectorProxy = vectorType.newInstance();
-		CollectionBeanProxyWrapper col = new CollectionBeanProxyWrapper(vectorProxy);
-		col.add(proxyFactory.createBeanProxyWith(33));		
-		
-		// See if the iterator interface works.
-		IteratorBeanProxyWrapper itrProxy = col.iterator();
-		assertNotNull(itrProxy);
-		int iterations = 0;
-		while (itrProxy.hasNext()) {
-			iterations++;
-			assertTrue(iterations < 2);
-			IBeanProxy itrValue = itrProxy.next();
-			assertEquals(33, ((IIntegerBeanProxy) itrValue).intValue());
-		}
-	}
-	
-	public void testListInterface() throws ThrowableProxy {
-		IBeanTypeProxy vectorType = proxyTypeFactory.getBeanTypeProxy("java.util.Vector"); //$NON-NLS-1$
-		IBeanProxy vectorProxy = vectorType.newInstance();
-		
-		// See if the list inteface works.
-		ListBeanProxyWrapper list = new ListBeanProxyWrapper(vectorProxy);
-		assertTrue(list.add(proxyFactory.createBeanProxyWith(33)));	// First entry.
-		list.add(0, proxyFactory.createBeanProxyWith(true));	// Now becomes first entry.
-		assertEquals(2, list.size());
-		assertEquals(true, ((IBooleanBeanProxy) list.get(0)).booleanValue());
-		assertEquals(33, ((IIntegerBeanProxy) list.get(1)).intValue());	// Swapped to second entry due to add(0,...)		
-	}
-	
-	public void testListIterator() throws ThrowableProxy {
-		IBeanTypeProxy vectorType = proxyTypeFactory.getBeanTypeProxy("java.util.Vector"); //$NON-NLS-1$
-		IBeanProxy vectorProxy = vectorType.newInstance();
-		ListBeanProxyWrapper list = new ListBeanProxyWrapper(vectorProxy);
-		list.add(proxyFactory.createBeanProxyWith(33));	// First entry.
-		list.add(0, proxyFactory.createBeanProxyWith(true));	// Now becomes first entry.
-
-		// See if the ListIterator interface works
-		ListIteratorBeanProxyWrapper lItrProxy = list.listIterator();
-		assertNotNull(lItrProxy);
-		assertTrue(lItrProxy.hasNext());
-		IBooleanBeanProxy bool1 = (IBooleanBeanProxy) lItrProxy.next();
-		assertEquals(true, bool1.booleanValue());
-		IIntegerBeanProxy int1 = (IIntegerBeanProxy) lItrProxy.next();
-		assertEquals(33, int1.intValue());	// Old first entry moved to second entry by add(0,...) above.
-		assertFalse(lItrProxy.hasNext());
-		assertEquals(1, lItrProxy.previousIndex());
-	}
-	
-	public void testMethodAccessors() throws ThrowableProxy {
-		IBeanTypeProxy integerType = proxyTypeFactory.getBeanTypeProxy("java.lang.Integer"); //$NON-NLS-1$				
-		
-		// Test able to access beantype proxy and invoke methods on it. This isn't
-		// the approved way of getting methods, but it tests that method proxies
-		// are created correctly if returned from an invoke method.
-		IBeanTypeProxy classTypeProxy = proxyTypeFactory.getBeanTypeProxy("java.lang.Class"); //$NON-NLS-1$
-		IMethodProxy getMethodMethod = classTypeProxy.getMethodProxy("getMethod", new String[] {"java.lang.String", "[Ljava.lang.Class;"}); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-		// Get the Integer.byteValue() method through an invoke instead of a method factory or bean type.
-		IBeanProxy method = getMethodMethod.invoke(integerType, new IBeanProxy[] {
-			proxyFactory.createBeanProxyWith("byteValue"), null}); //$NON-NLS-1$
-		assertNotNull(method);
-		assertTrue(method instanceof IMethodProxy);
-		
-		// Now invoke it to see if correct answer comes back.
-		IBeanProxy byteValue = ((IMethodProxy) method).invoke(proxyFactory.createBeanProxyWith(new Integer(254)));
-		assertNotNull(byteValue);
-		assertEquals("byte", byteValue.getTypeProxy().getTypeName()); //$NON-NLS-1$
-		assertEquals((byte)254, ((INumberBeanProxy) byteValue).byteValue());
-	}
-	
-	public void testInvokableAccessors() throws ThrowableProxy {
-		IBeanTypeProxy integerType = proxyTypeFactory.getBeanTypeProxy("java.lang.Integer"); //$NON-NLS-1$				
-		
-		// Test able to access beantype proxy and invoke methods on it. This isn't
-		// the approved way of getting methods, but it tests that method proxies
-		// are created correctly if returned from an invoke method.
-		IBeanTypeProxy classTypeProxy = proxyTypeFactory.getBeanTypeProxy("java.lang.Class"); //$NON-NLS-1$
-		IInvokable getMethodInvokable = classTypeProxy.getInvokable("getMethod", new String[] {"java.lang.String", "[Ljava.lang.Class;"}); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-		// Get the Integer.byteValue() method through an invoke instead of a method factory or bean type.
-		IBeanProxy method = getMethodInvokable.invoke(integerType, new IBeanProxy[] {
-			proxyFactory.createBeanProxyWith("byteValue"), null}); //$NON-NLS-1$
-		assertNotNull(method);
-		assertTrue(method instanceof IMethodProxy);
-		
-		// Now invoke it to see if correct answer comes back.
-		IBeanProxy byteValue = ((IMethodProxy) method).invoke(proxyFactory.createBeanProxyWith(new Integer(254)));
-		assertNotNull(byteValue);
-		assertEquals("byte", byteValue.getTypeProxy().getTypeName()); //$NON-NLS-1$
-		assertEquals((byte)254, ((INumberBeanProxy) byteValue).byteValue());
-	}	
-	
-	public void testCallback() throws ThrowableProxy {
-		System.out.println("--- Starting the callback test ---"); //$NON-NLS-1$
-		IBeanTypeProxy callbackType = proxyTypeFactory.getBeanTypeProxy("org.eclipse.jem.tests.proxy.vm.TestCallback"); //$NON-NLS-1$
-		assertNotNull(callbackType);
-		Object testObject = new Object();
-		IBeanProxy callbackProxy = callbackType.newInstance();
-		TestCallback cb = new TestCallback(testObject, registry);
-		registry.getCallbackRegistry().registerCallback(callbackProxy, cb);
-		IInvokable start = callbackType.getInvokable("start");	//$NON-NLS-1$
-		IInvokable stop = callbackType.getInvokable("stop");	//$NON-NLS-1$
-		synchronized(testObject) {
-			start.invokeCatchThrowableExceptions(callbackProxy);
-			try {
-				testObject.wait(30000);	// Should be done by 30 seconds.
-			} catch (InterruptedException e) {
-			}
-		}				
-		stop.invokeCatchThrowableExceptions(callbackProxy);
-		registry.getCallbackRegistry().deregisterCallback(callbackProxy);				
-		cb.testCompleted();
-		System.out.println("If there is anything in the .log file, then the test failed.");			 //$NON-NLS-1$		
-	}
-	
-	public void testCallbackStream() throws ThrowableProxy, IOException {
-		System.out.println("--- Starting the callback stream test ---"); //$NON-NLS-1$
-		IBeanTypeProxy callbackType = proxyTypeFactory.getBeanTypeProxy("org.eclipse.jem.tests.proxy.vm.TestCallbackStream"); //$NON-NLS-1$
-		assertNotNull(callbackType);
-		Object testObject = new Object();
-		IBeanProxy callbackProxy = callbackType.newInstance();
-		TestCallbackStream cb = new TestCallbackStream(testObject);
-		registry.getCallbackRegistry().registerCallback(callbackProxy, cb);
-		IMethodProxy start = callbackType.getMethodProxy("start");							 //$NON-NLS-1$
-		synchronized(testObject) {			
-			start.invokeCatchThrowableExceptions(callbackProxy);
-		try {
-				testObject.wait(30000);	// Should be done by 30 seconds.
-			} catch (InterruptedException e) {
-			}	
-		}		
-		registry.getCallbackRegistry().deregisterCallback(callbackProxy);				
-		cb.testComplete();
-		System.out.println("If there is anything in the .log file, then the test failed.");			 //$NON-NLS-1$		
-	}
-	
-	public void testSimpleGetField() throws ThrowableProxy {
-		IBeanTypeProxy integerType = proxyTypeFactory.getBeanTypeProxy("java.lang.Integer"); //$NON-NLS-1$				
-		
-		// Get the public field.
-		IFieldProxy field = integerType.getFieldProxy("MAX_VALUE"); //$NON-NLS-1$
-		assertNotNull(field);
-	}
-
-	public void testSimpleGetDeclaredField() throws ThrowableProxy {
-		IBeanTypeProxy integerType = proxyTypeFactory.getBeanTypeProxy("java.lang.Integer"); //$NON-NLS-1$				
-		
-		// Get the public field.
-		IFieldProxy field = integerType.getDeclaredFieldProxy("value"); //$NON-NLS-1$
-		assertNotNull(field);
-	}
-
-	public void testGetFields() {
-		IBeanTypeProxy testAccessType = proxyTypeFactory.getBeanTypeProxy("testPackage.TestAccess"); //$NON-NLS-1$				
-		
-		// Get all fields.
-		IFieldProxy[] fields = testAccessType.getFields();
-		assertNotNull(fields);
-		assertEquals(1, fields.length);		
-	}
-
-	public void testGetDeclaredFields() {
-		IBeanTypeProxy testAccessType = proxyTypeFactory.getBeanTypeProxy("testPackage.TestAccess"); //$NON-NLS-1$				
-		
-		// Get all fields.
-		IFieldProxy[] fields = testAccessType.getDeclaredFields();
-		assertNotNull(fields);
-		assertEquals(2, fields.length);		
-	}
-	
-	public void testSimpleGetMethod() throws ThrowableProxy {
-		IBeanTypeProxy testAccessType = proxyTypeFactory.getBeanTypeProxy("testPackage.TestAccess"); //$NON-NLS-1$	
-		
-		// Get the public field.
-		IMethodProxy method = testAccessType.getMethodProxy("xyz"); //$NON-NLS-1$
-		assertNotNull(method);
-	}
-
-	public void testSimpleGetDeclaredMethod() throws ThrowableProxy {
-		IBeanTypeProxy testAccessType = proxyTypeFactory.getBeanTypeProxy("testPackage.TestAccess"); //$NON-NLS-1$	
-		
-		// Get the public field.
-		IMethodProxy method = testAccessType.getDeclaredMethodProxy("qxr", (String[]) null); //$NON-NLS-1$
-		assertNotNull(method);
-	}
-
-	public void testGetMethods() {
-		IBeanTypeProxy testAccessType = proxyTypeFactory.getBeanTypeProxy("testPackage.TestAccess"); //$NON-NLS-1$
-		IBeanTypeProxy testObjectType = proxyTypeFactory.getBeanTypeProxy("java.lang.Object"); //$NON-NLS-1$
-		
-		// Get all methods. Need to get all of Object too since getMethods() gets them all including inherited. We will
-		// then take the diff to show what's only at the local level.
-		IMethodProxy[] methods = testAccessType.getMethods();
-		IMethodProxy[] objectMethods = testObjectType.getMethods();
-		assertNotNull(methods);
-		assertNotNull(objectMethods);
-		assertEquals(6, methods.length-objectMethods.length);		
-	}
-
-	public void testGetDeclaredMethods() {
-		IBeanTypeProxy testAccessType = proxyTypeFactory.getBeanTypeProxy("testPackage.TestAccess"); //$NON-NLS-1$				
-		
-		// Get all fields.
-		IMethodProxy[] methods = testAccessType.getDeclaredMethods();
-		assertNotNull(methods);
-		assertEquals(7, methods.length);		
-	}
-
-	public void testFindCompatibleConstructor() throws AmbiguousMethodException, NoSuchMethodException {
-		IBeanTypeProxy testAccessType = proxyTypeFactory.getBeanTypeProxy("testPackage.TestAccess"); //$NON-NLS-1$				
-
-		IConstructorProxy ctor = testAccessType.getCompatibleConstructor(new IBeanTypeProxy[] {proxyTypeFactory.getBeanTypeProxy("java.lang.ArrayStoreException")});
-		IConstructorProxy comp = testAccessType.getDeclaredConstructorProxy(new IBeanTypeProxy[] {proxyTypeFactory.getBeanTypeProxy("java.lang.RuntimeException")});
-		
-		assertNotNull(ctor);
-		assertNotNull(comp);
-		assertEquals(ctor, comp);
-	}
-	
-	public void testFindCompatibleMethod() throws AmbiguousMethodException, NoSuchMethodException {
-		IBeanTypeProxy testAccessType = proxyTypeFactory.getBeanTypeProxy("testPackage.TestAccess"); //$NON-NLS-1$				
-
-		IMethodProxy method = testAccessType.getCompatibleMethod("xyz", new IBeanTypeProxy[] {proxyTypeFactory.getBeanTypeProxy("java.lang.Integer")});
-		IMethodProxy comp = testAccessType.getDeclaredMethodProxy("xyz", new IBeanTypeProxy[] {proxyTypeFactory.getBeanTypeProxy("java.lang.Number")});
-		
-		assertNotNull(method);
-		assertNotNull(comp);
-		assertEquals(method, comp);
-	}
-	
-	public void testFindAmbiguousMethod() throws NoSuchMethodException {
-		IBeanTypeProxy testAccessType = proxyTypeFactory.getBeanTypeProxy("testPackage.TestAccess"); //$NON-NLS-1$				
-
-		try {
-			testAccessType.getCompatibleMethod("ddd", new IBeanTypeProxy[] {proxyTypeFactory.getBeanTypeProxy("java.lang.Integer"), proxyTypeFactory.getBeanTypeProxy("java.lang.Integer")});
-			fail("Should of been ambiguous");
-		} catch (AmbiguousMethodException e) {
-		} 
-	}
-}
diff --git a/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/proxy/ide/IDEProxySuite.java b/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/proxy/ide/IDEProxySuite.java
deleted file mode 100644
index 71fbd64..0000000
--- a/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/proxy/ide/IDEProxySuite.java
+++ /dev/null
@@ -1,93 +0,0 @@
-package org.eclipse.jem.tests.proxy.ide;
-/*******************************************************************************
- * Copyright (c)  2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Eclipse Public License v1.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: IDEProxySuite.java,v $
- *  $Revision: 1.3 $  $Date: 2005/02/15 23:00:16 $ 
- */
-import junit.extensions.TestSetup;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-import org.eclipse.core.runtime.CoreException;
-
-import org.eclipse.jem.internal.proxy.core.IConfigurationContributor;
-import org.eclipse.jem.internal.proxy.core.ProxyFactoryRegistry;
-import org.eclipse.jem.internal.proxy.ide.IDERegistration;
-import org.eclipse.jem.tests.proxy.AbstractTestProxy;
-import org.eclipse.jem.tests.proxy.ProxySuite;
-
-/**
- * @author richkulp
- *
- * This is the true test suite for Remote Proxy Testing. The RemoteProxyTest will use this.
- */
-public class IDEProxySuite extends TestSetup {
-
-	// Test cases to be include in the suite
-	private static Class testsList[] = { ProxySuite.class, };
-
-	private AbstractTestProxy.RegistryHandler registryHandler = new AbstractTestProxy.RegistryHandler() {
-		private ProxyFactoryRegistry registry;
-
-		public boolean isValid() {
-			return true;
-		}
-		public ProxyFactoryRegistry getRegistry() throws CoreException {
-			if (registry == null) {
-				registry = IDERegistration.startAnImplementation(new IConfigurationContributor[] { ProxySuite.getProxySuiteContributor()}, true, null, "JUnit Tests for IDE Proxy", "org.eclipse.jem.tests", null); //$NON-NLS-1$ //$NON-NLS-2$
-			}
-			return registry;
-		}
-
-		public void destroyRegistry() {
-			if (registry != null) {
-				registry.terminateRegistry();
-				registry = null;
-			}
-		}
-	};
-
-	public IDEProxySuite() {
-		this("Test IDE Proxy Suite");
-	}
-
-	public IDEProxySuite(String name) {
-		super(new TestSuite(name) {
-			{
-				for (int i = 0; i < testsList.length; i++) {
-					// We may get some tests and suites.
-					if (TestSuite.class.isAssignableFrom(testsList[i]) || TestSetup.class.isAssignableFrom(testsList[i])) {
-						try {
-							Test ts = (Test) testsList[i].newInstance();
-							addTest(ts);
-						} catch (Exception e) {
-							e.printStackTrace();
-						}
-					} else
-						addTestSuite(testsList[i]);
-				}
-
-			}
-		});
-
-		AbstractTestProxy.initRegistryHandler((TestSuite) getTest(), registryHandler);
-	}
-
-	public static Test suite() {
-		return new IDEProxySuite();
-	}
-
-	protected void tearDown() throws Exception {
-		registryHandler.destroyRegistry();
-	}
-
-}
diff --git a/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/proxy/initParser/AbstractInitParserTestCase.java b/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/proxy/initParser/AbstractInitParserTestCase.java
deleted file mode 100644
index 0748443..0000000
--- a/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/proxy/initParser/AbstractInitParserTestCase.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.jem.tests.proxy.initParser;
-/*
- *  $RCSfile: AbstractInitParserTestCase.java,v $
- *  $Revision: 1.5 $  $Date: 2005/02/15 23:00:16 $ 
- */
-import java.util.Enumeration;
-
-import junit.framework.*;
-import junit.framework.TestCase;
-import junit.framework.TestSuite;
-
-/**
- * @author richkulp
- *
- * To change the template for this generated type comment go to
- * Window&gt;Preferences&gt;Java&gt;Code Generation&gt;Code and Comments
- */
-public abstract class AbstractInitParserTestCase extends TestCase {
-
-	/**
-	 * Initialize the test helper for all of the tests within the given suite.
-	 * 
-	 * @param suite
-	 * @param testHelper
-	 * 
-	 * @since 1.0.0
-	 */
-	public static void initSuite(TestSuite suite, AbstractInitStringParserTestHelper testHelper) {
-		Enumeration tests = suite.tests();
-		while (tests.hasMoreElements()) {
-			Test test = (Test) tests.nextElement();
-			if (test instanceof AbstractInitParserTestCase)
-				((AbstractInitParserTestCase) test).setTestHelper(testHelper);
-			else if (test instanceof TestSuite)
-				initSuite((TestSuite) test, testHelper);
-		}
-	}
-	
-	public AbstractInitParserTestCase() {
-		super();
-	}
-
-	public AbstractInitParserTestCase(String name) {
-		super(name);
-	}
-
-	protected AbstractInitStringParserTestHelper testHelper;
-	
-	/**
-	 * Set the test helper to use.
-	 * 
-	 * @param testHelper
-	 * 
-	 * @since 1.0.0
-	 */
-	public void setTestHelper(AbstractInitStringParserTestHelper testHelper) {
-		this.testHelper = testHelper;
-	}
-	
-}
diff --git a/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/proxy/initParser/AbstractInitStringParserTestHelper.java b/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/proxy/initParser/AbstractInitStringParserTestHelper.java
deleted file mode 100644
index 0a79dc7..0000000
--- a/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/proxy/initParser/AbstractInitStringParserTestHelper.java
+++ /dev/null
@@ -1,66 +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
- *******************************************************************************/
-/*
- *  $RCSfile: AbstractInitStringParserTestHelper.java,v $
- *  $Revision: 1.2 $  $Date: 2005/02/15 23:00:16 $ 
- */
-package org.eclipse.jem.tests.proxy.initParser;
-
-/**
- * Interface for init string parser helper. Allows "InitString Parser" or "AST Parser" or some other kind of testing.
- * 
- * @since 1.0.0
- */
-public abstract class AbstractInitStringParserTestHelper {
-	/**
-	 * Test the given string against the given result. equalsOnly determines how exactly it matches.
-	 * If allowed to throw exceptions, then the exception as the result of evaluation will be squashed.
-	 * 
-	 * @param aString
-	 * @param expectedResult
-	 * @param throwsException <code>true</code> if this is expected to throw an exception and such exception will not be passed on out and will return normal.
-	 * @param equalsOnly <code>true</code> means if must match either ==, equals(), or toString()'s match.
-	 * @throws Throwable
-	 * 
-	 * @since 1.0.0
-	 */
-	public abstract void testInitString(String aString, Object expectedResult, boolean throwsException, boolean equalsOnly)
-		throws Throwable;
-
-	/**
-	 * Test the given string against the given result. It must match either ==, equals(), or toString()'s match.
-	 * It should not throw exceptions. If it does, the exception will be passed out.
-	 * 
-	 * @param aString
-	 * @param expectedResult
-	 * @throws Throwable 
-	 * 
-	 * @since 1.0.0
-	 */
-	public void testInitString(String aString, Object expectedResult) throws Throwable {
-		testInitString(aString, expectedResult, false, true);
-	}
-
-	/**
-	 * Test the given string against the given result. equalsOnly determines how exactly it matches
-	 * It should not throw exceptions. If it does, the exception will be passed out.
-	 * 
-	 * @param aString
-	 * @param equalsOnly <code>true</code> means if must match either ==, equals(), or toString()'s match.
-	 * @param expectedResult
-	 * @throws Throwable
-	 * 
-	 * @since 1.0.0
-	 */
-	public void testInitString(String aString, boolean equalsOnly, Object expectedResult) throws Throwable {
-		testInitString(aString, expectedResult, false, equalsOnly);
-	}
-}
\ No newline at end of file
diff --git a/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/proxy/initParser/ArrayConstructorTest.java b/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/proxy/initParser/ArrayConstructorTest.java
deleted file mode 100644
index b36255b..0000000
--- a/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/proxy/initParser/ArrayConstructorTest.java
+++ /dev/null
@@ -1,130 +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.jem.tests.proxy.initParser;
-/*
- *  $RCSfile: ArrayConstructorTest.java,v $
- *  $Revision: 1.3 $  $Date: 2005/02/15 23:00:16 $ 
- */
-
-/**
- * @author jmyers
- *
- * To change the template for this generated type comment go to
- * Window>Preferences>Java>Code Generation>Code and Comments
- */
-public class ArrayConstructorTest extends AbstractInitParserTestCase {
-
-	/**
-	 * Constructor for ArrayContructorTest.
-	 * @param name
-	 */
-	public ArrayConstructorTest(String name) {
-		super(name);
-	}
-		
-    public void testEmptyString1D() throws Throwable {
-		testHelper.testInitString("new String[2]",new String[2]);	
-    }
-	public void testEmptyString2D() throws Throwable {
-		testHelper.testInitString("new String[2][2]",new String[2][2]);	
-	}
-	public void testEmptyColor1D() throws Throwable {
-		testHelper.testInitString("new java.awt.Color[3]",new java.awt.Color[3]);	
-	}
-	public void testEmptyColor2D() throws Throwable {
-		testHelper.testInitString("new java.awt.Color[3][4]",new java.awt.Color[3][4]);	
-	}
-	public void testEmptyInt() throws Throwable {
-		testHelper.testInitString("new int[3]", new int[3]);	
-	}
-	
-	// TODO: enable this test when this works
-	/*
-	public void testCalculatedSize() {
-		testHelper.testInitString("new String[new Integer(3).intValue()]",new String[new Integer(3).intValue()]);    	
-	}
-	*/
-	
-	public void testInitializedInts() throws Throwable {
-		testHelper.testInitString("new int[] {-2,3}",new int[]{-2,3});	
-	}
-	public void testInitializedIntsTrailingComma() throws Throwable {
-		testHelper.testInitString("new int[] {-2,3,}",new int[]{-2,3,});
-	}
-	public void testInitializedDoubleParens() throws Throwable {
-		testHelper.testInitString("new double[] {(-2), 3.0 }",new double[] {(-2), 3.0 });	
-	}
-	public void testInitializedStringsTwo() throws Throwable {
-		testHelper.testInitString("new String[] {\"1\",\"2\"}",new String[] {"1","2"});	
-	}
-	public void testInitializedStringsThree() throws Throwable {
-		testHelper.testInitString("new String[] {\"Frog\",\"Dog\",\"Cow\"}",new String[] {"Frog","Dog","Cow"});	
-	}
-	public void testInitializedColors() throws Throwable {
-		testHelper.testInitString("new java.awt.Color[] { java.awt.Color.red , new java.awt.Color(0,0,0) }",new java.awt.Color[] { java.awt.Color.red , new java.awt.Color(0,0,0) });	
-	}
-	public void testInitalizedInts2D1() throws Throwable {
-		testHelper.testInitString("new int[][] { { 2 , -3 } , { 4 , 5 } }",new int[][] { { 2 , -3 } , { 4 , 5 } });	
-	}
-	public void testInitalizedInts2D2() throws Throwable {
-		testHelper.testInitString("new int[][] {{1,2,3},{4,5,6}}",new int[][]{{1,2,3},{4,5,6}});	
-	}
-	public void testInitalizedInts2DParensCommas() throws Throwable {
-		// Much to my surprise, extra commands are valid syntax at the end of the arguments even without any following argument
-		// the resolve that occurs by the Visual Editor actually inserts these, so we need tests to make sure we can deal with them correctly
-		testHelper.testInitString("new int[][] { {2 ,(-3),} , { 4 , 5,}}",new int[][] { { 2 , (-3),} , { 4 , 5,}});	
-	}
-	public void testInitalizedInts2DParensCommas2() throws Throwable {
-		testHelper.testInitString("new int[][] { {2 ,(-3),} , { 4 , 5,},}",new int[][] { { 2 , (-3),} , { 4 , 5,},});	
-	}
-	public void testInitalizedDoubles2D() throws Throwable {
-		testHelper.testInitString("new double[][] { { 2 , 3 } , { 4 , 5 } }",new double[][] { { 2 , 3 } , { 4 , 5 } });	
-	}
-	public void testInitalizedDoubles2DMany() throws Throwable {
-		testHelper.testInitString("new double[][]{{ 5.0, -2.0, 5.0, -1.0, -1.0, 5.0, -2.0, 5.0 }, { 5.0, -2.0, 5.0, -2.0, 5.0, -1.0, 5.0, -2.0, 5.0 }}",new double[][]{{ 5.0, -2.0, 5.0, -1.0, -1.0, 5.0, -2.0, 5.0 }, { 5.0, -2.0, 5.0, -2.0, 5.0, -1.0, 5.0, -2.0, 5.0 }});	
-	}
-	public void testInt2DParam() throws Throwable {
-		testHelper.testInitString("new org.eclipse.jem.tests.proxy.initParser.NavigationParameters(new int[][] {{1,2,3},{3,4,5}})",new org.eclipse.jem.tests.proxy.initParser.NavigationParameters(new int[][] {{1,2,3},{3,4,5}}));	
-	}
-	public void testInt2DParamCommas() throws Throwable {
-		testHelper.testInitString("new org.eclipse.jem.tests.proxy.initParser.NavigationParameters(new int[][] {{1,2,3,},{3,4,5,}})",new org.eclipse.jem.tests.proxy.initParser.NavigationParameters(new int[][] {{1,2,3,},{3,4,5,}}));	
-	}
-	public void testInt2DParamCommas2() throws Throwable {
-		testHelper.testInitString("new org.eclipse.jem.tests.proxy.initParser.NavigationParameters(new int[][] {{1,2,3,},{3,4,5,},})",new org.eclipse.jem.tests.proxy.initParser.NavigationParameters(new int[][] {{1,2,3,},{3,4,5,},}));	
-	}
-	public void testDoubleParam() throws Throwable {
-		testHelper.testInitString("new org.eclipse.jem.tests.proxy.initParser.NavigationParameters(new double[]{1,2,3})",new org.eclipse.jem.tests.proxy.initParser.NavigationParameters(new double[]{1,2,3}));	
-	}
-	public void testDoubleParam2() throws Throwable {
-		testHelper.testInitString("new org.eclipse.jem.tests.proxy.initParser.NavigationParameters(new double[]{1.0,2,-3.5})",new org.eclipse.jem.tests.proxy.initParser.NavigationParameters(new double[]{1.0,2,-3.5}));	
-	}
-	public void testDoubleParam3() throws Throwable {
-		testHelper.testInitString("new org.eclipse.jem.tests.proxy.initParser.NavigationParameters(new double[]{-1,2,-0.5})",new org.eclipse.jem.tests.proxy.initParser.NavigationParameters(new double[]{-1,2,-0.5}));	
-	}
-	public void testDouble2DParam() throws Throwable {
-		// This test is one that is similar to the type of constructor used by TableLayout for SWA
-		testHelper.testInitString("new org.eclipse.jem.tests.proxy.initParser.NavigationParameters(new double[][]{{ 5.0, -2.0, 5.0, -1.0, -1.0, 5.0, -2.0, 5.0 }, { 5.0, -2.0, 5.0, -2.0, 5.0, -1.0, 5.0, -2.0, 5.0 }})",
-						new org.eclipse.jem.tests.proxy.initParser.NavigationParameters(new double[][]{{ 5.0, -2.0, 5.0, -1.0, -1.0, 5.0, -2.0, 5.0 }, { 5.0, -2.0, 5.0, -2.0, 5.0, -1.0, 5.0, -2.0, 5.0 }}));    	
-	}
-	public void testDouble2DParamCommas() throws Throwable {
-		testHelper.testInitString("new org.eclipse.jem.tests.proxy.initParser.NavigationParameters(new double[][]{{ 5.0, -2.0, 5.0, -1.0, -1.0, 5.0, -2.0, 5.0 , }, { 5.0, -2.0, 5.0, -2.0, 5.0, -1.0, 5.0, -2.0, 5.0 , } , })",
-							new org.eclipse.jem.tests.proxy.initParser.NavigationParameters(new double[][]{{ 5.0, -2.0, 5.0, -1.0, -1.0, 5.0, -2.0, 5.0 , }, { 5.0, -2.0, 5.0, -2.0, 5.0, -1.0, 5.0, -2.0, 5.0 , } , }));	
-	}
-	
-	
-	// TODO: enable this test when the case is handled properly
-	/*
-	public void testInt3D() {
-		// Needs fixing - We don't have dimensions greater than 2 working yet
-		testHelper.testInitString("new int[][][] { { { 1 , 2 } , { 3 , 4 } }, { { 5 , 6 } , { 7 , 8 } } }",new int[][][] { { { 1 , 2 } , { 3 , 4 } }, { { 5 , 6 } , { 7 , 8 } } });    	
-	}
-    */
-}
diff --git a/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/proxy/initParser/BlockTest.java b/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/proxy/initParser/BlockTest.java
deleted file mode 100644
index 5719cfa..0000000
--- a/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/proxy/initParser/BlockTest.java
+++ /dev/null
@@ -1,108 +0,0 @@
-package org.eclipse.jem.tests.proxy.initParser;
-/*******************************************************************************
- * Copyright (c)  2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Eclipse Public License v1.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: BlockTest.java,v $
- *  $Revision: 1.4 $  $Date: 2005/02/15 23:00:16 $ 
- */
-
-/**
- * @author jmyers
- *
- * To change the template for this generated type comment go to
- * Window>Preferences>Java>Code Generation>Code and Comments
- */
-public class BlockTest extends AbstractInitParserTestCase {
-
-	/**
-	 * Constructor for BlockTest.
-	 * @param name
-	 */
-	public BlockTest(String name) {
-		super(name);
-	}
-
-/*
- * TODO These three don't work for now. Later they may be fixed if it shows up as a general problem for customers. So far they haven't.
-        public void testSetElements1() throws Throwable {
-		testHelper.testInitString(
-			"(((new org.eclipse.jem.tests.proxy.initParser.NavigationParameters(3)).setElemAt(\"accountStatementDetails\",0)).setElemAt(new org.eclipse.jem.tests.proxy.initParser.NavigationParameters(\"OpnBalance\",\"OpnBalance\",null,false,false,true,50),1)).setElemAt(new org.eclipse.jem.tests.proxy.initParser.NavigationParameters(\"OpnDate\",\"OpnDate\",null,false,false,true,50),2);",
-			(((new org.eclipse.jem.tests.proxy.initParser.NavigationParameters(3)).setElemAt("accountStatementDetails",0)).setElemAt(new NavigationParameters("OpnBalance","OpnBalance",null,false,false,true,50),1)).setElemAt(new org.eclipse.jem.tests.proxy.initParser.NavigationParameters("OpnDate","OpnDate",null,false,false,true,50),2));    	
-    }
-	public void testSetElements2() throws Throwable {
-		testHelper.testInitString(
-				"(((new org.eclipse.jem.tests.proxy.initParser.NavigationParameters(3)).setElemAt(\"accountStatementDetails\",0)).setElemAt(new org.eclipse.jem.tests.proxy.initParser.NavigationParameters(\"OpnBalance\",\"OpnBalance\",null,false,false,true,50),1))",
-				(((new org.eclipse.jem.tests.proxy.initParser.NavigationParameters(3)).setElemAt("accountStatementDetails",0)).setElemAt(new NavigationParameters("OpnBalance","OpnBalance",null,false,false,true,50),1)));	
-	}
-	public void testSetElements3() throws Throwable {
-		testHelper.testInitString(
-			"((new org.eclipse.jem.tests.proxy.initParser.NavigationParameters(3)).setElemAt(new org.eclipse.jem.tests.proxy.initParser.NavigationParameters(\"OpnBalance\",\"OpnBalance\",null,false,false,true,50),1))",
-			((new org.eclipse.jem.tests.proxy.initParser.NavigationParameters(3)).setElemAt(new org.eclipse.jem.tests.proxy.initParser.NavigationParameters("OpnBalance","OpnBalance",null,false,false,true,50),1)));    	
-	}
-*/
-	public void testSetElement4() throws Throwable {
-		testHelper.testInitString(
-				"((new org.eclipse.jem.tests.proxy.initParser.NavigationParameters(3)).setElemAt(\"accountStatementDetails\",0))",
-				((new org.eclipse.jem.tests.proxy.initParser.NavigationParameters(3)).setElemAt("accountStatementDetails",0)));	
-	}
-	public void testStringReplacement1() throws Throwable {
-		testHelper.testInitString(
-				"(((new String(\"Frog\")).replace('o','i')).replace('i','a')).replace('a','o')",
-				(((new String("Frog")).replace('o','i')).replace('i','a')).replace('a','o'));	
-	}
-	public void testStringReplacement2() throws Throwable {
-		testHelper.testInitString(
-				"((((new String(\"Frog\")).replace('o','i')).replace('i','a')).replace('a','o')).replace('o','e')",
-				((((new String("Frog")).replace('o','i')).replace('i','a')).replace('a','o')).replace('o','e'));	
-	}
-	public void testStringCases1() throws Throwable {
-		testHelper.testInitString(
-				"(new String(\"Frog\").toLowerCase()).toUpperCase()",
-				(new String("Frog").toLowerCase()).toUpperCase()
-				);	
-	}
-	public void testStringCases2() throws Throwable {
-		testHelper.testInitString(
-				"((new String(\"Frog\").toLowerCase()).toUpperCase()).toLowerCase()",
-				((new String("Frog").toLowerCase()).toUpperCase()).toLowerCase()
-				);	
-	}
-	public void testStringCases3() throws Throwable {
-		testHelper.testInitString(
-				"(((new String(\"Frog\").toLowerCase()).toUpperCase()).toLowerCase()).toUpperCase()",
-				(((new String("Frog").toLowerCase()).toUpperCase()).toLowerCase()).toUpperCase()
-				);	
-	}
-	public void testStringConcat1() throws Throwable {
-		testHelper.testInitString(
-				"(new String(\"Frogs\").concat(\"are\")).concat(\"cool\")",
-				(new String("Frogs").concat("are")).concat("cool")
-				);	
-	}
-	public void testStringConcat2() throws Throwable {
-		testHelper.testInitString(
-				"((new String(\"Frogs\").concat(\"are\")).concat(\"very\")).concat(\"cool\")",
-				((new String("Frogs").concat("are")).concat("very")).concat("cool")
-				);	
-	}
-	public void testStringConcat3() throws Throwable {
-		testHelper.testInitString(
-				"(((new String(\"Frogs\").concat(\"just\")).concat(\"rule\")).concat(\"cool\")).concat(\"kingdom\")",
-				(((new String("Frogs").concat("just")).concat("rule")).concat("cool")).concat("kingdom")
-				);	
-	}
-	public void testStringConcat4() throws Throwable {
-		testHelper.testInitString(
-				"((new String(\"Frogs\").concat(\"just\")).concat(new String(\"totally\")).concat(new String(\"Rock\")))",
-				((new String("Frogs").concat("just")).concat(new String("totally")).concat(new String("Rock")))
-				);	
-	}
-}
diff --git a/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/proxy/initParser/BorderTest.java b/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/proxy/initParser/BorderTest.java
deleted file mode 100644
index 0a7b79a..0000000
--- a/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/proxy/initParser/BorderTest.java
+++ /dev/null
@@ -1,114 +0,0 @@
-package org.eclipse.jem.tests.proxy.initParser;
-/*******************************************************************************
- * Copyright (c)  2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Eclipse Public License v1.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: BorderTest.java,v $
- *  $Revision: 1.4 $  $Date: 2005/02/15 23:00:16 $ 
- */
-
-/**
- * @author jmyers
- *
- * To change the template for this generated type comment go to
- * Window>Preferences>Java>Code Generation>Code and Comments
- */
-public class BorderTest extends AbstractInitParserTestCase {
-
-	/**
-	 * Constructor for BorderTest.
-	 * @param name
-	 */
-	public BorderTest(String name) {
-		super(name);
-	}
-	
-	public void testEtchedRaised() throws Throwable {
-		testHelper.testInitString(
-			"javax.swing.BorderFactory.createEtchedBorder(javax.swing.border.EtchedBorder.RAISED)" ,
-			 javax.swing.BorderFactory.createEtchedBorder(javax.swing.border.EtchedBorder.RAISED));	
-	}
-	
-	public void testBevelRaised() throws Throwable {
-		testHelper.testInitString(
-			"javax.swing.BorderFactory.createBevelBorder(javax.swing.border.BevelBorder.RAISED)",
-			javax.swing.BorderFactory.createBevelBorder(javax.swing.border.BevelBorder.RAISED));
-	}
-
-	public void testEmpty() throws Throwable {
-		testHelper.testInitString(
-			"javax.swing.BorderFactory.createEmptyBorder()",
-			javax.swing.BorderFactory.createEmptyBorder());
-	}
-
-	public void testMatte() throws Throwable {
-		testHelper.testInitString(
-			"javax.swing.BorderFactory.createMatteBorder(2, 2, 2, 2, java.awt.Color.black)",
-			false,
-			javax.swing.BorderFactory.createMatteBorder(2, 2, 2, 2, java.awt.Color.black));
-	}
-
-	public void testSoftBevel() throws Throwable {
-		testHelper.testInitString(
-			"new javax.swing.border.SoftBevelBorder(0)",
-			false,
-			new javax.swing.border.SoftBevelBorder(0));
-	}
-
-	public void testEmptySize() throws Throwable {
-		testHelper.testInitString(
-			"javax.swing.BorderFactory.createEmptyBorder(2, 2, 2, 2)",
-			false,
-			javax.swing.BorderFactory.createEmptyBorder(2, 2, 2, 2));
-	}
-
-	public void testLine() throws Throwable {
-		testHelper.testInitString(
-			"javax.swing.BorderFactory.createLineBorder(java.awt.Color.black, 2)",
-			false,
-			javax.swing.BorderFactory.createLineBorder(java.awt.Color.black, 2));
-	}
-
-	public void testSoftBevelRaised() throws Throwable {
-		testHelper.testInitString(
-			"new javax.swing.border.SoftBevelBorder(javax.swing.border.BevelBorder.RAISED)",
-			false,
-			new javax.swing.border.SoftBevelBorder(javax.swing.border.BevelBorder.RAISED));
-	}
-
-	public void testTitledBasic() throws Throwable {
-		testHelper.testInitString(
-			"javax.swing.BorderFactory.createTitledBorder(null,\"frog\",2,0)",
-			false,
-			javax.swing.BorderFactory.createTitledBorder(null, "frog", 2, 0));
-	}
-
-	public void testCompoundBasic() throws Throwable {
-		testHelper.testInitString(
-			"new javax.swing.border.CompoundBorder(javax.swing.BorderFactory.createEmptyBorder(),javax.swing.BorderFactory.createEmptyBorder())",
-			false,
-			new javax.swing.border.CompoundBorder(javax.swing.BorderFactory.createEmptyBorder(),javax.swing.BorderFactory.createEmptyBorder()));
-	}
-
-	public void testCompoundMedium() throws Throwable {
-		testHelper.testInitString(
-			"javax.swing.BorderFactory.createCompoundBorder(javax.swing.BorderFactory.createBevelBorder(javax.swing.border.BevelBorder.RAISED), javax.swing.BorderFactory.createBevelBorder(javax.swing.border.BevelBorder.LOWERED))",
-			false,
-			javax.swing.BorderFactory.createCompoundBorder(javax.swing.BorderFactory.createBevelBorder(javax.swing.border.BevelBorder.RAISED), javax.swing.BorderFactory.createBevelBorder(javax.swing.border.BevelBorder.LOWERED)));
-	}
-	
-	
-	public void testTitledAdvanced() throws Throwable {
-		testHelper.testInitString(
-			"javax.swing.BorderFactory.createTitledBorder(javax.swing.BorderFactory.createLineBorder(java.awt.SystemColor.activeCaption,30), \"Hello\", javax.swing.border.TitledBorder.CENTER, javax.swing.border.TitledBorder.DEFAULT_POSITION, new java.awt.Font(\"Dialog\", java.awt.Font.BOLD, 18), java.awt.Color.lightGray)",
-			false,
-			javax.swing.BorderFactory.createTitledBorder(javax.swing.BorderFactory.createLineBorder(java.awt.SystemColor.activeCaption,30), "Hello", javax.swing.border.TitledBorder.CENTER, javax.swing.border.TitledBorder.DEFAULT_POSITION, new java.awt.Font("Dialog", java.awt.Font.BOLD, 18), java.awt.Color.lightGray));
-	}
-}
diff --git a/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/proxy/initParser/CastTest.java b/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/proxy/initParser/CastTest.java
deleted file mode 100644
index 3e61c46..0000000
--- a/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/proxy/initParser/CastTest.java
+++ /dev/null
@@ -1,79 +0,0 @@
-package org.eclipse.jem.tests.proxy.initParser;
-/*******************************************************************************
- * Copyright (c)  2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Eclipse Public License v1.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: CastTest.java,v $
- *  $Revision: 1.3 $  $Date: 2005/02/15 23:00:16 $ 
- */
-
-/**
- * @author jmyers
- *
- * To change the template for this generated type comment go to
- * Window>Preferences>Java>Code Generation>Code and Comments
- */
-public class CastTest extends AbstractInitParserTestCase {
-
-	/**
-	 * Constructor for CastTest.
-	 * @param name
-	 */
-	public CastTest(String name) {
-		super(name);
-	}
-
-	public void testIntToFloat() throws Throwable {
-		testHelper.testInitString("new Float((float)10)", new Float((float) 10));	
-	}
-	public void testIntToFloatSpace() throws Throwable {
-		testHelper.testInitString("new Float( (float) 10 )", new Float((float) 10));	
-	}
-	public void testFloatToFloat() throws Throwable {
-		testHelper.testInitString("new Float((float)10.3)", new Float((float) 10.3));	
-	}
-	public void testFloatToFloat2() throws Throwable {
-		testHelper.testInitString("new Float((float)5.3)", new Float((float) 5.3));	
-	}
-	public void testFloatToFloatSpace() throws Throwable {
-		testHelper.testInitString("new Float( (float) 10.3 )", new Float((float) 10.3));	
-	}
-	public void testNullToString() throws Throwable {
-		testHelper.testInitString("(String)null", (String) null);	
-	}
-	public void testStringLiteralToString() throws Throwable {
-		testHelper.testInitString("(String)\"hi\"", (String) "hi");	
-	}
-	public void testNullToStringParam() throws Throwable {
-		testHelper.testInitString("new javax.swing.JLabel( (String) null)", new javax.swing.JLabel((String) null));	
-	}
-	public void testIntToShort() throws Throwable {
-		testHelper.testInitString("(short)10", new Short((short) 10));		
-	}
-	public void testFloatToFloatPrim() throws Throwable {
-		testHelper.testInitString("(float)10.3", new Float((float)10.3));	
-	}
-	
-    //	Casts statements with qualified expression used to fail
-	public void testQualifiedStringReturn() throws Throwable {
-		testHelper.testInitString("(java.lang.String)org.eclipse.jem.tests.proxy.initParser.NavigationParameters.getReversed(\"Frog\")",(String)org.eclipse.jem.tests.proxy.initParser.NavigationParameters.getReversed("Frog"));	
-	}
-	public void testStringReturn() throws Throwable {
-		testHelper.testInitString("(String)org.eclipse.jem.tests.proxy.initParser.NavigationParameters.getReversed(\"Frog\")",(String)org.eclipse.jem.tests.proxy.initParser.NavigationParameters.getReversed("Frog"));	
-	}
-	public void testQualifiedColorReturn() throws Throwable {
-		testHelper.testInitString("(java.awt.Color)org.eclipse.jem.tests.proxy.initParser.NavigationParameters.getColor(\"red\")",org.eclipse.jem.tests.proxy.initParser.NavigationParameters.getColor("red"));	
-	}
-	
-	public void testCastUpColor() throws Throwable {
-         //		Test where the method is typed to return Color and we cast to the more generailized subclass of SystemColor
-		 testHelper.testInitString("(java.awt.SystemColor)org.eclipse.jem.tests.proxy.initParser.NavigationParameters.getColor(\"window\")",org.eclipse.jem.tests.proxy.initParser.NavigationParameters.getColor("window"));	
-	}
-}
diff --git a/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/proxy/initParser/CharTest.java b/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/proxy/initParser/CharTest.java
deleted file mode 100644
index 29fe80a..0000000
--- a/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/proxy/initParser/CharTest.java
+++ /dev/null
@@ -1,51 +0,0 @@
-package org.eclipse.jem.tests.proxy.initParser;
-/*******************************************************************************
- * Copyright (c)  2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Eclipse Public License v1.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: CharTest.java,v $
- *  $Revision: 1.3 $  $Date: 2005/02/15 23:00:16 $ 
- */
-
-/**
- * @author jmyers
- *
- * To change the template for this generated type comment go to
- * Window>Preferences>Java>Code Generation>Code and Comments
- */
-public class CharTest extends AbstractInitParserTestCase {
-
-	/**
-	 * Constructor for CharTest.
-	 * @param name
-	 */
-	public CharTest(String name) {
-		super(name);
-	}
-	
-	public void testChar() throws Throwable {
-		testHelper.testInitString("'a'", new Character('a'));	
-	}
-	public void testCharacter() throws Throwable {
-		testHelper.testInitString("new Character('a')", new Character('a'));	
-	}
-	public void testDoubleQuote() throws Throwable {
-		testHelper.testInitString("'\"'", new Character('\"'));	
-	}
-	public void testSingleQuote() throws Throwable {
-		testHelper.testInitString("'\\''", new Character('\''));	
-	}
-	public void testBackslash() throws Throwable {
-		testHelper.testInitString("'\\\\'", new Character('\\'));		
-	}
-	public void testCharException() throws Throwable {
-		testHelper.testInitString("'asdf'", null, true, true);	
-	}
-}
diff --git a/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/proxy/initParser/ExceptionTest.java b/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/proxy/initParser/ExceptionTest.java
deleted file mode 100644
index 12bcf0b..0000000
--- a/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/proxy/initParser/ExceptionTest.java
+++ /dev/null
@@ -1,45 +0,0 @@
-package org.eclipse.jem.tests.proxy.initParser;
-/*******************************************************************************
- * Copyright (c)  2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Eclipse Public License v1.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: ExceptionTest.java,v $
- *  $Revision: 1.3 $  $Date: 2005/02/15 23:00:16 $ 
- */
-
-/**
- * @author jmyers
- *
- * To change the template for this generated type comment go to
- * Window>Preferences>Java>Code Generation>Code and Comments
- */
-public class ExceptionTest extends AbstractInitParserTestCase {
-
-	/**
-	 * Constructor for ExceptionTest.
-	 * @param name
-	 */
-	public ExceptionTest(String name) {
-		super(name);
-	}
-
-	public void testTooManyParams() throws Throwable {
-		testHelper.testInitString("new Integer(\"3,3\")", null, true, true);	
-	}
-	public void testUnresolvedClass() throws Throwable {
-		testHelper.testInitString("new ABCD(4)", null, true, true);	
-	}
-	public void testUnresolvedMethod() throws Throwable {
-		testHelper.testInitString("getMethod()",null,true, true);	
-	}
-	public void testUnresolvedLiteral() throws Throwable {
-		testHelper.testInitString("unresolvedLiteral",null,true, true);	
-	}
-}
diff --git a/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/proxy/initParser/InitParserSuite.java b/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/proxy/initParser/InitParserSuite.java
deleted file mode 100644
index 0bc20d3..0000000
--- a/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/proxy/initParser/InitParserSuite.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
- *******************************************************************************/
-package org.eclipse.jem.tests.proxy.initParser;
-/*
- *  $RCSfile: InitParserSuite.java,v $
- *  $Revision: 1.6 $  $Date: 2005/02/15 23:00:16 $ 
- */
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-/**
- * @author jmyers
- *
- * To change the template for this generated type comment go to
- * Window>Preferences>Java>Code Generation>Code and Comments
- */
-public class InitParserSuite extends TestSuite {
-
-	// Test cases to be include in the suite
-	private static Class testsList[] = {
-		NeedsCodingTest.class,
-		BlockTest.class,
-		ArrayConstructorTest.class,
-		MultiArgStaticMethodTest.class,
-		MultiArgConstructorTest.class,
-		MultiArgInstanceTest.class,
-		NumberTest.class,
-		CastTest.class,
-		ExceptionTest.class,
-		LiteralTest.class,
-		StringTest.class,
-		CharTest.class,
-		JFCTest.class,
-		BorderTest.class,
-		OverloadingTest.class,
-		SameName46376Test.class
-		                               } ;
-	public static String pkgName = "org.eclipse.jem.tests.proxy.initParser" ;
-	    
-	/**
-	 * Constructor for PackageSuite.
-	 */
-	public InitParserSuite() {
-		super();
-		populateSuite() ;
-	}
-
-	/**
-	 * Constructor for PackageSuite.
-	 * @param theClass
-	 */
-	public InitParserSuite(Class theClass) {
-		super(theClass);
-		populateSuite() ;
-	}
-
-	/**
-	 * Constructor for PackageSuite.
-	 * @param name
-	 */
-	public InitParserSuite(String name) {
-		super(name);
-		populateSuite() ;
-	}
-
-	private void populateSuite () {
-		for (int i=0; i<testsList.length; i++)
-		  addTestSuite(testsList[i]) ;
-		
-		AbstractInitParserTestCase.initSuite(this, new InitStringParserTestHelper(this.getClass().getClassLoader()));
-	}
-    
-	public static Test suite() {
-		return new InitParserSuite("Test for: "+pkgName);
-	}
-
-}
diff --git a/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/proxy/initParser/InitStringParserTestHelper.java b/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/proxy/initParser/InitStringParserTestHelper.java
deleted file mode 100644
index 685cb87..0000000
--- a/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/proxy/initParser/InitStringParserTestHelper.java
+++ /dev/null
@@ -1,134 +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.jem.tests.proxy.initParser;
-/*
- *  $RCSfile: InitStringParserTestHelper.java,v $
- *  $Revision: 1.5 $  $Date: 2005/02/15 23:00:16 $ 
- */
-import java.lang.reflect.Array;
-
-import junit.framework.Assert;
-import org.eclipse.jem.internal.proxy.initParser.InitializationStringEvaluationException;
-import org.eclipse.jem.internal.proxy.initParser.InitializationStringParser;
-
-/**
- * @author jmyers
- *
- * To change the template for this generated type comment go to
- * Window>Preferences>Java>Code Generation>Code and Comments
- */
-public class InitStringParserTestHelper extends AbstractInitStringParserTestHelper {
-
-	private final ClassLoader classLoader;
-	
-	public InitStringParserTestHelper() {
-		this.classLoader = null;	
-	}
-	
-	public InitStringParserTestHelper(ClassLoader classLoader) {
-		this.classLoader = classLoader;	
-	}
-	
-	/**
-	 * TestInitializationStringParser constructor comment.
-	 */
-	public void testInitString(String aString, Object expectedResult, boolean throwsException, boolean equalsOnly) throws Throwable {
-		// Equals only means accept if == or equals(), don't try to go on and say maybe equal.
-
-		try {
-			InitializationStringParser parser = InitializationStringParser.createParser(aString, classLoader);
-			Object result = parser.evaluate();
-			if (throwsException) {
-				Assert.fail("It should of thrown an exception. Instead result=" + (result != null ? result.toString() : "null"));
-			} else {
-				if (result == expectedResult) {
-					return;
-				} else if (
-					(result == null && expectedResult != null) || (expectedResult == null && result != null)) {
-						Assert.fail("ExpectedResult=" + expectedResult + " result=" + result);
-				} else if (result.equals(expectedResult)) {
-					return;
-				} else {
-					// It may be that the equals expression is bad.  If so use the toString() to do a partial comparison
-					if (result.getClass() == expectedResult.getClass()) {
-						if (result.toString().equals(expectedResult.toString())) {
-							return;
-						} else {
-							// The toStrings do not match perfectly but the classes do.
-							// Try and see how close the two strings are
-							if ( expectedResult.getClass().isArray() && result.getClass().isArray()){
-								Class expectedResultClass = expectedResult.getClass().getComponentType();
-								Class resultClass = result.getClass().getComponentType();
-								int resultLength = Array.getLength(result);
-								int expectedLength = Array.getLength(expectedResult);
-								if ( expectedLength == resultLength ){
-									if ( resultClass == expectedResultClass ) {
-										// TODO Should actually step in and check each element too.
-										return;																		
-									} else {
-										Assert.fail( aString
-												+ " ExpectedResult="
-												+ expectedResult
-												+ " ActualResult="
-												+ result
-												+ " ExpectedClass="
-												+ expectedResult.getClass()
-												+ " ActualClass="
-												+ result.getClass());
-									}
-								} else {
-									Assert.fail( aString
-											+ " ExpectedResult="
-											+ expectedResult
-											+ " ActualResult="
-											+ result
-											+ " ExpectedClass="
-											+ expectedResult.getClass()
-											+ " ActualClass="
-											+ result.getClass());		
-								}								
-							} else {
-								if (equalsOnly)
-									Assert.fail( aString
-										+ " ExpectedResult="
-										+ expectedResult
-										+ " ActualResult="
-										+ result
-										+ " ExpectedClass="
-										+ expectedResult.getClass()
-										+ " ActualClass="
-										+ result.getClass());
-								return;
-							}
-						}
-					} else {
-						Assert.fail( aString
-								+ " ExpectedResult="
-								+ expectedResult
-								+ " ActualResult="
-								+ result
-								+ " ExpectedClass="
-								+ expectedResult.getClass()
-								+ " ActualClass="
-								+ result.getClass());
-					}
-				}
-			}
-		} catch (InitializationStringEvaluationException e) {
-			if (throwsException) {
-				return;
-			} else {
-				throw e.getOriginalException();
-			}
-		}
-	}
-
-}
diff --git a/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/proxy/initParser/JFCTest.java b/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/proxy/initParser/JFCTest.java
deleted file mode 100644
index d89efec..0000000
--- a/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/proxy/initParser/JFCTest.java
+++ /dev/null
@@ -1,136 +0,0 @@
-package org.eclipse.jem.tests.proxy.initParser;
-/*******************************************************************************
- * Copyright (c)  2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Eclipse Public License v1.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: JFCTest.java,v $
- *  $Revision: 1.3 $  $Date: 2005/02/15 23:00:16 $ 
- */
-
-/**
- * @author jmyers
- *
- * To change the template for this generated type comment go to
- * Window>Preferences>Java>Code Generation>Code and Comments
- */
-public class JFCTest extends AbstractInitParserTestCase {
-
-	/**
-	 * Constructor for JFCTest.
-	 * @param name
-	 */
-	public JFCTest(String name) {
-		super(name);
-	}
-
-    public void testDimension() throws Throwable {
-		testHelper.testInitString("new java.awt.Dimension(1,1)", new java.awt.Dimension(1, 1));	
-    }
-	public void testDimensionNeg() throws Throwable {
-		testHelper.testInitString("new java.awt.Dimension(-1,-1)", new java.awt.Dimension(-1, -1));	
-	}
-	public void testColorConstant() throws Throwable {
-		testHelper.testInitString("java.awt.Color.cyan", java.awt.Color.cyan);	
-	}
-	public void testColorString() throws Throwable {
-		testHelper.testInitString("java.awt.Color.cyan.toString()", java.awt.Color.cyan.toString());    	
-	}
-	public void testColorRGB() throws Throwable {
-		testHelper.testInitString("new java.awt.Color(10,20,30)", new java.awt.Color(10, 20, 30));	
-	}
-	public void testInteger() throws Throwable {
-		testHelper.testInitString("new Integer(50)", new Integer(50));    	
-	}
-	public void testIntegerNegative() throws Throwable {
-		testHelper.testInitString("new java.lang.Integer(-50)", new Integer(-50));    	
-	}	
-	public void testShort() throws Throwable {
-		testHelper.testInitString("new Short((short)50)", new Short((short)50));    	
-	}
-	public void testShortNegative() throws Throwable {
-		testHelper.testInitString("new Short((short)-50)", new Short((short)-50));    	
-	}	
-	public void testLong() throws Throwable {
-		testHelper.testInitString("new Long(50L)", new Long(50L));    	
-	}
-	public void testLongNegative() throws Throwable {
-		testHelper.testInitString("new java.lang.Long(-50L)", new Long(-50L));    	
-	}	
-	public void testByte() throws Throwable {
-		testHelper.testInitString("new Byte((byte)10)", new Byte((byte)10));    	
-	}
-	public void testByteNegative() throws Throwable {
-		testHelper.testInitString("new Byte((byte)-10)", new Byte((byte)-10));    	
-	}	
-	public void testFloat() throws Throwable {
-//		TODO Need to fix this
-//			It just doesn't work w/o java.lang on front. There is a problem with Contructor going closed too early because of the'.' in 3.5,
-//			but if you fix that, then (new String("Frog").concat("xyz")).concat(... gets all messed up because it
-//			tries to process String().concat() together, and how that should work doesn't work the way it does. 		
-		testHelper.testInitString("new java.lang.Float(10.3F)", new Float(10.3F));    	
-	}
-	public void testDouble() throws Throwable {
-//		TODO same problem as testFloat. Need java.lang for now.		
-		testHelper.testInitString("new java.lang.Double(10.3D)", new Double(10.3D));    	
-	}	
-	public void testIntegerString() throws NumberFormatException, Throwable {
-		testHelper.testInitString("new Integer(\"50\")", new Integer("50"));    	
-	}
-	public void testFlowLayout() throws Throwable {
-		testHelper.testInitString("new java.awt.FlowLayout()", new java.awt.FlowLayout());	
-	}
-	public void testImageIcon() throws Throwable {
-		testHelper.testInitString("new javax.swing.ImageIcon( \"C:/WINNT/Zapotec.bmp\")",new javax.swing.ImageIcon( "C:/WINNT/Zapotec.bmp" ));  	
-	}
-	public void testRectangle() throws Throwable {
-		testHelper.testInitString(
-				"new java.awt.Rectangle( 10 , 20 , 30 , 40 )",
-				new java.awt.Rectangle(10, 20, 30, 40));
-    	
-	}
-	public void testLocale() throws Throwable {
-		testHelper.testInitString("new java.util.Locale(\"fr\",\"FR\")", new java.util.Locale("fr", "FR"));	
-	}
-	public void testLocaleVariant() throws Throwable {
-		testHelper.testInitString("new java.util.Locale(\"fr\",\"FR\",\"\")", new java.util.Locale("fr", "FR", ""));	
-	}
-	public void testLocaleException() throws Throwable {
-          //Locale constructor cannot take null as argument like this: new Java.util.Locale("fr", "FR", null)
-		  //so this is expected to fail
-		  testHelper.testInitString("new java.util.Locale(\"fr\",\"FR\",null)", null, true, true);	
-	}
-	public void testDialog() throws Throwable {
-		testHelper.testInitString("new java.awt.Dialog(new java.awt.Frame())", false, new java.awt.Dialog(new java.awt.Frame()));	
-	}
-	public void testLength() throws Throwable {
-		testHelper.testInitString("new Integer( 50 ).toString().length()", new Integer(new Integer( 50 ).toString().length()));	
-	}
-	public void testSize() throws Throwable {
-		testHelper.testInitString("new java.util.ArrayList().size()", new Integer(new java.util.ArrayList().size()));		
-	}
-	public void testCursor() throws Throwable {
-		testHelper.testInitString("new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR)",new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR));	
-	}
-	public void testPanel() throws Throwable {
-		testHelper.testInitString("new java.awt.Panel(null)", false, new java.awt.Panel(null));	
-	}
-	
-	public void testComplexFont() throws Throwable {
-		testHelper.testInitString(
-			"new java.awt.Font(\"Dialog\", java.awt.Font.BOLD | java.awt.Font.ITALIC, 12)",
-			new java.awt.Font("Dialog", java.awt.Font.BOLD | java.awt.Font.ITALIC, 12));		
-	}
-	
-	public void testKeyStroke() throws Throwable {
-		testHelper.testInitString(
-			"javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_H, java.awt.Event.ALT_MASK | java.awt.Event.CTRL_MASK | java.awt.Event.SHIFT_MASK, true)",
-			javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_H, java.awt.Event.ALT_MASK | java.awt.Event.CTRL_MASK | java.awt.Event.SHIFT_MASK, true));
-	}
-}
diff --git a/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/proxy/initParser/LiteralTest.java b/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/proxy/initParser/LiteralTest.java
deleted file mode 100644
index 5c7e932..0000000
--- a/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/proxy/initParser/LiteralTest.java
+++ /dev/null
@@ -1,48 +0,0 @@
-package org.eclipse.jem.tests.proxy.initParser;
-/*******************************************************************************
- * Copyright (c)  2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Eclipse Public License v1.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: LiteralTest.java,v $
- *  $Revision: 1.3 $  $Date: 2005/02/15 23:00:16 $ 
- */
-
-/**
- * @author jmyers
- *
- * To change the template for this generated type comment go to
- * Window>Preferences>Java>Code Generation>Code and Comments
- */
-public class LiteralTest extends AbstractInitParserTestCase {
-
-	/**
-	 * Constructor for LiteralTest.
-	 * @param name
-	 */
-	public LiteralTest(String name) {
-		super(name);
-	}
-	
-	public void testString() throws Throwable {
-		testHelper.testInitString("\"Frog\"", "Frog");	
-	}
-	public void testNull() throws Throwable {
-		testHelper.testInitString("null", null);	
-	}
-	public void testFalse() throws Throwable {
-		testHelper.testInitString("false", Boolean.FALSE);	
-	}
-	public void testTrue() throws Throwable {
-		testHelper.testInitString("true", Boolean.TRUE);	
-	}
-	public void testBooleanTrue() throws Throwable {
-		testHelper.testInitString("Boolean.TRUE", Boolean.TRUE);	
-	}
-}
diff --git a/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/proxy/initParser/MultiArgConstructorTest.java b/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/proxy/initParser/MultiArgConstructorTest.java
deleted file mode 100644
index 1b569ea..0000000
--- a/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/proxy/initParser/MultiArgConstructorTest.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.jem.tests.proxy.initParser;
-/*
- *  $RCSfile: MultiArgConstructorTest.java,v $
- *  $Revision: 1.5 $  $Date: 2005/02/15 23:00:16 $ 
- */
-
-/**
- * @author jmyers
- *
- * To change the template for this generated type comment go to
- * Window>Preferences>Java>Code Generation>Code and Comments
- */
-public class MultiArgConstructorTest extends AbstractInitParserTestCase {
-
-	/**
-	 * Constructor for MultiArgConstructorTest.
-	 * @param name
-	 */
-	public MultiArgConstructorTest(String name) {
-		super(name);
-	}
-
-	public void testTwoBooleans() throws Throwable {
-		testHelper.testInitString("new org.eclipse.jem.tests.proxy.initParser.NavigationParameters(false, false)",new org.eclipse.jem.tests.proxy.initParser.NavigationParameters(false,false));	
-	}
-	public void testTwoInts() throws Throwable {
-		testHelper.testInitString("new org.eclipse.jem.tests.proxy.initParser.NavigationParameters(12, 24)",new org.eclipse.jem.tests.proxy.initParser.NavigationParameters(12,24));		
-	}
-	public void testThreeFloats() throws Throwable {
-		testHelper.testInitString("new org.eclipse.jem.tests.proxy.initParser.NavigationParameters((float)12,(float)24,(float)50)",new org.eclipse.jem.tests.proxy.initParser.NavigationParameters((float)12,(float)24,(float)50));		
-	}
-	public void testTwoDoubles() throws Throwable {
-		testHelper.testInitString("new org.eclipse.jem.tests.proxy.initParser.NavigationParameters(12.5d, 24.5d)",new org.eclipse.jem.tests.proxy.initParser.NavigationParameters(12.5d,24.5d));	
-	}
-	public void testTwoStrings() throws Throwable {
-		testHelper.testInitString("new org.eclipse.jem.tests.proxy.initParser.NavigationParameters(\"a\", \"b\")",new org.eclipse.jem.tests.proxy.initParser.NavigationParameters("a","b"));	
-	}
-	public void testTwoColors() throws Throwable {
-		testHelper.testInitString("new org.eclipse.jem.tests.proxy.initParser.NavigationParameters(java.awt.Color.red, java.awt.Color.red)",new org.eclipse.jem.tests.proxy.initParser.NavigationParameters(java.awt.Color.red,java.awt.Color.red));		
-	}
-	public void testTwoNewColors() throws Throwable {
-		testHelper.testInitString("new org.eclipse.jem.tests.proxy.initParser.NavigationParameters(new java.awt.Color(255,0,0), new java.awt.Color(255,0,0))",new org.eclipse.jem.tests.proxy.initParser.NavigationParameters(new java.awt.Color(255,0,0),new java.awt.Color(255,0,0)));	
-	}
-	public void testLots() throws Throwable {
-		testHelper.testInitString("new org.eclipse.jem.tests.proxy.initParser.NavigationParameters(\"processor\", 0, \"customerSearchClientOp\", 0, \"2343434\", \"3443234234\", \"depositRepFmt\", \"depositRepFmt\", \"\", \"\", 0, 0, 0, 0, false, false)",new org.eclipse.jem.tests.proxy.initParser.NavigationParameters("processor", 0, "customerSearchClientOp", 0, "2343434", "3443234234", "depositRepFmt", "depositRepFmt", "", "", 0, 0, 0, 0, false, false));	
-	}
-
-// Testcase for Bugzilla bug #58854 - not yet fixed.
-//	public void testNestedNested() throws Throwable {
-//		testHelper.testInitString("new org.eclipse.jem.tests.proxy.initParser.NavigationParameters(new java.lang.String(new String(\"s\")), \"a\")",new org.eclipse.jem.tests.proxy.initParser.NavigationParameters(new java.lang.String(new String("s")), "a"));	
-//	}
-}
diff --git a/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/proxy/initParser/MultiArgInstanceTest.java b/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/proxy/initParser/MultiArgInstanceTest.java
deleted file mode 100644
index bb9ba52..0000000
--- a/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/proxy/initParser/MultiArgInstanceTest.java
+++ /dev/null
@@ -1,54 +0,0 @@
-package org.eclipse.jem.tests.proxy.initParser;
-/*******************************************************************************
- * Copyright (c)  2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Eclipse Public License v1.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: MultiArgInstanceTest.java,v $
- *  $Revision: 1.3 $  $Date: 2005/02/15 23:00:16 $ 
- */
-
-/**
- * @author jmyers
- *
- * To change the template for this generated type comment go to
- * Window>Preferences>Java>Code Generation>Code and Comments
- */
-public class MultiArgInstanceTest extends AbstractInitParserTestCase {
-
-	/**
-	 * Constructor for MultiArgInstanceTest.
-	 * @param name
-	 */
-	public MultiArgInstanceTest(String name) {
-		super(name);
-	}
-	
-	public void testTwoBooleans() throws Throwable {
-		testHelper.testInitString("new org.eclipse.jem.tests.proxy.initParser.NavigationParameters().set(false, false)",new org.eclipse.jem.tests.proxy.initParser.NavigationParameters().set(false,false));		
-	}
-	public void testTwoInts() throws Throwable {
-		testHelper.testInitString("new org.eclipse.jem.tests.proxy.initParser.NavigationParameters().set(12, 24)",new org.eclipse.jem.tests.proxy.initParser.NavigationParameters().set(12,24));		
-	}
-	public void testThreeFloats() throws Throwable {
-		testHelper.testInitString("new org.eclipse.jem.tests.proxy.initParser.NavigationParameters().set((float)12,(float)24,(float)50)",new org.eclipse.jem.tests.proxy.initParser.NavigationParameters().set((float)12,(float)24,(float)50));	
-	}
-	public void testTwoDoubles() throws Throwable {
-		testHelper.testInitString("new org.eclipse.jem.tests.proxy.initParser.NavigationParameters().set(12.5d, 24.5d)",new org.eclipse.jem.tests.proxy.initParser.NavigationParameters().set(12.5d,24.5d));	
-	}
-	public void testTwoStrings() throws Throwable {
-		testHelper.testInitString("new org.eclipse.jem.tests.proxy.initParser.NavigationParameters().set(\"a\", \"b\")",new org.eclipse.jem.tests.proxy.initParser.NavigationParameters().set("a","b"));	
-	}
-	public void testTwoColors() throws Throwable {
-		testHelper.testInitString("new org.eclipse.jem.tests.proxy.initParser.NavigationParameters().set(java.awt.Color.red, java.awt.Color.red)",new org.eclipse.jem.tests.proxy.initParser.NavigationParameters().set(java.awt.Color.red,java.awt.Color.red));	
-	}
-	public void testTwoNewColors() throws Throwable {
-		testHelper.testInitString("new org.eclipse.jem.tests.proxy.initParser.NavigationParameters().set(new java.awt.Color(255,0,0), new java.awt.Color(255,0,0))",new org.eclipse.jem.tests.proxy.initParser.NavigationParameters().set(new java.awt.Color(255,0,0),new java.awt.Color(255,0,0)));	
-	}
-}
diff --git a/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/proxy/initParser/MultiArgStaticMethodTest.java b/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/proxy/initParser/MultiArgStaticMethodTest.java
deleted file mode 100644
index 063d662..0000000
--- a/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/proxy/initParser/MultiArgStaticMethodTest.java
+++ /dev/null
@@ -1,54 +0,0 @@
-package org.eclipse.jem.tests.proxy.initParser;
-/*******************************************************************************
- * Copyright (c)  2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Eclipse Public License v1.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: MultiArgStaticMethodTest.java,v $
- *  $Revision: 1.3 $  $Date: 2005/02/15 23:00:16 $ 
- */
-
-/**
- * @author jmyers
- *
- * To change the template for this generated type comment go to
- * Window>Preferences>Java>Code Generation>Code and Comments
- */
-public class MultiArgStaticMethodTest extends AbstractInitParserTestCase {
-
-	/**
-	 * Constructor for MultiArgStaticMethodTest.
-	 * @param name
-	 */
-	public MultiArgStaticMethodTest(String name) {
-		super(name);
-	}
-
-	public void testTwoBooleans() throws Throwable {
-		testHelper.testInitString("org.eclipse.jem.tests.proxy.initParser.NavigationParameters.get(false, false)",org.eclipse.jem.tests.proxy.initParser.NavigationParameters.get(false,false));	
-	}
-	public void testTwoInts() throws Throwable {
-		testHelper.testInitString("org.eclipse.jem.tests.proxy.initParser.NavigationParameters.get(12, 24)",org.eclipse.jem.tests.proxy.initParser.NavigationParameters.get(12,24));	
-	}
-	public void testThreeFloats() throws Throwable {
-		testHelper.testInitString("org.eclipse.jem.tests.proxy.initParser.NavigationParameters.get((float)12,(float)24,(float)50)",org.eclipse.jem.tests.proxy.initParser.NavigationParameters.get((float)12,(float)24,(float)50));		
-	}
-	public void testTwoDoubles() throws Throwable {
-		testHelper.testInitString("org.eclipse.jem.tests.proxy.initParser.NavigationParameters.get(12.5d, 24.5d)",org.eclipse.jem.tests.proxy.initParser.NavigationParameters.get(12.5d,24.5d));	
-	}
-	public void testTwoStrings() throws Throwable {
-		testHelper.testInitString("org.eclipse.jem.tests.proxy.initParser.NavigationParameters.get(\"a\", \"b\")",org.eclipse.jem.tests.proxy.initParser.NavigationParameters.get("a","b"));	
-	}
-	public void testTwoColors() throws Throwable {
-		testHelper.testInitString("org.eclipse.jem.tests.proxy.initParser.NavigationParameters.get(java.awt.Color.red, java.awt.Color.red)",org.eclipse.jem.tests.proxy.initParser.NavigationParameters.get(java.awt.Color.red,java.awt.Color.red));		
-	}
-	public void testTwoNewColors() throws Throwable {
-		testHelper.testInitString("org.eclipse.jem.tests.proxy.initParser.NavigationParameters.get(new java.awt.Color(255,0,0), new java.awt.Color(255,0,0))",org.eclipse.jem.tests.proxy.initParser.NavigationParameters.get(new java.awt.Color(255,0,0),new java.awt.Color(255,0,0)));		
-	}
-}
diff --git a/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/proxy/initParser/NavigationParameters.java b/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/proxy/initParser/NavigationParameters.java
deleted file mode 100644
index 36ab8a9..0000000
--- a/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/proxy/initParser/NavigationParameters.java
+++ /dev/null
@@ -1,238 +0,0 @@
-package org.eclipse.jem.tests.proxy.initParser;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Eclipse Public License v1.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: NavigationParameters.java,v $
- *  $Revision: 1.2 $  $Date: 2005/02/15 23:00:16 $ 
- */
-
-import java.io.*;
-import java.lang.reflect.Field;
-import java.util.HashMap;
-import java.util.Map;
-import java.awt.*;
-
-/**
- * Test class for the initStrimg parser - This is there after the Spanish folks found some errors with initStrings
- * that showed up deficiencies where we had methods with multiple arguments and some of the expressions inside the
- * arguments were not being closed correctly.  This class is designed to have lots of methods ( constructors and statics
- * and instance methods ) with multiple argument types to test these scenarios, and nice toString() methods so that we can
- * get good hit results on the test succeeding by a perfect toString() match
- */
-public class NavigationParameters implements java.io.Serializable {
-	protected int x = Integer.MIN_VALUE;
-	protected int y = Integer.MIN_VALUE;
-	protected boolean boolA, boolB, boolC;
-	protected Color colorA, colorB;
-	protected String stringA, stringB, stringC;
-	protected double d1 = Double.MIN_VALUE;
-	protected double d2 = Double.MIN_VALUE;
-	protected float f1 = Float.MIN_VALUE;
-	protected float f2 = Float.MIN_VALUE;	
-	protected float f3 = Float.MIN_VALUE;	
-	protected int[][] fIntArray;	
-	protected double[][] fDoubleDoubleArray;
-	protected double[] fDoubleArray;	
-	protected Map fElements;	
-
-// The original constructor we broke on - left there for posterity
-public NavigationParameters(String newContextUsed, int newNavigation, String newOperationName, int newChainContext, String newViewName, String newViewSource, String newOutputMapFormat, String newInputMapFormat, String a, String b, int x, int y, int w, int h, boolean useP, boolean useS) {
-}
-public NavigationParameters(){
-}
-public NavigationParameters(int x){
-	this.x = x;
-	y = 100;
-}
-public NavigationParameters setElemAt(Object aKey, int aValue){
-	if ( fElements == null ) {
-		fElements = new HashMap(1);
-	};
-	fElements.put(aKey,new Integer(aValue));
-	return this;
-}
-public NavigationParameters(String string1, String string2, String string3, boolean bool1, boolean bool2, boolean bool3, int x){
-	stringA = string1;
-	stringB = string2;
-	stringC = string3;
-	boolA = bool1;
-	boolB = bool2;
-	boolC = bool3;	
-	this.x = x;
-}
-public NavigationParameters(int[][] intArray){
-	fIntArray = intArray;
-}
-public NavigationParameters(double[] doubleArray){
-	fDoubleArray = doubleArray;
-}
-// Constructors with different combinations of arguments
-public NavigationParameters(boolean a, boolean b){
-	boolA = a;
-	boolB = b;
-}
-public NavigationParameters(int x, int y){
-	this.x = x;
-	this.y = y;
-}
-public NavigationParameters(float f1, float f2, float f3){
-	this.f1 = f1;
-	this.f2 = f2;
-	this.f3 = f3;	
-}
-public NavigationParameters(double[][] aDoubleDoubleArray){
-	fDoubleDoubleArray = aDoubleDoubleArray;
-}
-public NavigationParameters(double d1, double d2){
-	this.d1 = d1;
-	this.d2 = d2;
-}
-public NavigationParameters(Color colorA, Color colorB){
-	this.colorA = colorA;
-	this.colorB = colorB;
-}
-public NavigationParameters(String stringA, String stringB){
-	this.stringA = stringA;
-	this.stringB = stringB;
-}
-// Static method calls with different combinations of arguments
-public static NavigationParameters get(boolean a, boolean b){
-	return new NavigationParameters(a,b);
-}
-public static NavigationParameters get(int x, int y){
-	return new NavigationParameters(x,y);
-}
-public static NavigationParameters get(float f1, float f2, float f3){
-	return new NavigationParameters(f1,f2,f3);
-}
-public static NavigationParameters get(double d1, double d2){
-	return new NavigationParameters(d1,d2);
-}
-public static NavigationParameters get(Color colorA, Color colorB){
-	return new NavigationParameters(colorA,colorB);
-}
-public static NavigationParameters get(String stringA, String stringB){
-	return new NavigationParameters(stringA,stringB);
-}
-public static Object getReversed(String arg){
-	// Return the argument reversed
-	StringBuffer buffer = new StringBuffer(arg.length());
-	for (int i = arg.length()-1; i >= 0; i--) {
-		buffer.append(arg.charAt(i));
-	}
-	return buffer.toString();
-}
-public static Color getColor(String colorName){
-	// Return the colorName to test cast statements
-	try {
-		Field field = Color.class.getField(colorName);
-		return (Color) field.get(Color.class);
-	} catch ( NoSuchFieldException exc ) {
-		try {
-			// It is possible that the field is on SystemColor and not color
-			Field field = SystemColor.class.getField(colorName);
-			return (Color) field.get(Color.class);		
-		} catch ( Exception e ) {
-		}
-	} catch ( Exception exc ) {
-	}
-	return null;
-}
-// Instance method calls with different combinations of arguments
-public NavigationParameters set(boolean a, boolean b){
-	boolA = a;
-	boolB = b;
-	return this;	
-}
-public NavigationParameters set(int x, int y){
-	this.x = x;
-	this.y = y;
-	return this;	
-}
-public NavigationParameters set(float f1, float f2, float f3){
-	this.f1 = f1;
-	this.f2 = f2;
-	this.f3 = f3;
-	return this;	
-}
-public NavigationParameters set(double d1, double d2){
-	this.d1 = d1;
-	this.d2 = d2;
-	return this;	
-}
-public NavigationParameters set(Color colorA, Color colorB){
-	this.colorA = colorA;
-	this.colorB = colorB;
-	return this;
-}
-public NavigationParameters set(String stringA, String stringB){
-	this.stringA = stringA;
-	this.stringB = stringB;
-	return this;	
-}
-// To string method to help the tests be OK? with matching toString() results
-public String toString(){
-	StringWriter writer = new StringWriter();
-	writer.write("NavigationParameters(");
-	if ( x != Integer.MIN_VALUE ) writer.write(new Integer(x).toString());
-	if ( y != Integer.MIN_VALUE ) writer.write(new Integer(y).toString());	
-	writer.write("boolA=" + boolA);
-	writer.write("boolA=" + boolB);	
-	writer.write("boolA=" + boolA);
-	writer.write("boolC=" + boolC);		
-	if ( colorA != null ) writer.write("colorA=" + colorA);
-	if ( colorB != null ) writer.write("colorB=" + colorB);	
-	if ( stringA != null ) writer.write("stringA=" + stringA);
-	if ( stringB != null ) writer.write("stringB=" + stringB);		
-	if ( stringC != null ) writer.write("stringB=" + stringC);
-	if ( d1 != Double.MIN_VALUE ) writer.write("d1=" + d1);
-	if ( d2 != Double.MIN_VALUE ) writer.write("d1=" + d2);
-	if ( f1 != Float.MIN_VALUE ) writer.write("f1=" + f1);
-	if ( f2 != Float.MIN_VALUE ) writer.write("f2=" + f2);
-	if ( f2 != Float.MIN_VALUE ) writer.write("f3=" + f3);	
-	if ( fIntArray != null ) {
-		writer.write("int array=");
-		for (int i = 0; i < fIntArray.length; i++) {
-			writer.write("[");
-			// The elements in the array are themselves arrays - it is two dimensional
-			int[] elements = fIntArray[i];
-			for (int j = 0; j < elements.length; j++) {
-				writer.write(new Integer(elements[j]).toString());	
-			}
-			writer.write("]");
-		}
-	}
-	if ( fDoubleDoubleArray != null ) {
-		writer.write("doubledouble array=");
-		for (int i = 0; i < fDoubleDoubleArray.length; i++) {
-			writer.write("[");
-			// The elements in the array are themselves arrays - it is two dimensional
-			double[] elements = fDoubleDoubleArray[i];
-			for (int j = 0; j < elements.length; j++) {
-				writer.write(new Double(elements[j]).toString());	
-			}
-			writer.write("]");
-		}
-	}
-	
-	if ( fDoubleArray != null ) {	
-		writer.write("double array=");		
-		for (int i = 0; i < fDoubleArray.length; i++) {
-			writer.write("(");			
-			writer.write(new Double(fDoubleArray[i]).toString());
-			writer.write(")");			
-		}
-	}
-	writer.write(")");
-	return writer.toString();
-}
-
-}
diff --git a/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/proxy/initParser/NeedsCodingTest.java b/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/proxy/initParser/NeedsCodingTest.java
deleted file mode 100644
index 6707c77..0000000
--- a/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/proxy/initParser/NeedsCodingTest.java
+++ /dev/null
@@ -1,54 +0,0 @@
-package org.eclipse.jem.tests.proxy.initParser;
-/*******************************************************************************
- * Copyright (c)  2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Eclipse Public License v1.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: NeedsCodingTest.java,v $
- *  $Revision: 1.3 $  $Date: 2005/02/15 23:00:16 $ 
- */
-
-/**
- * @author jmyers
- *
- * To change the template for this generated type comment go to
- * Window>Preferences>Java>Code Generation>Code and Comments
- */
-public class NeedsCodingTest extends AbstractInitParserTestCase {
-
-	/**
-	 * Constructor for NeedsCodingTest.
-	 * @param name
-	 */
-	public NeedsCodingTest(String name) {
-		super(name);
-	}	
-	
-	// TODO: enable this test when math works
-	/*
-	public void testMath() {
-		// Doing math is not coded yet.  We don't expect to encounter any strings like this as part of GA
-		testHelper.testInitString("10 + 20", new Integer(10 + 20));	
-	}
-	*/
-	
-	public void testInnerClasses() throws Throwable {
-         //	Inner classes need coding but we have a test to make sure we throw an explicit exception
-		 testHelper.testInitString("new javax.swing.table.DefaultTableModel(){}",new javax.swing.table.DefaultTableModel(){},true, true);	
-	}
-	public void testParamsThreeFloats() throws Throwable {
-		testHelper.testInitString("org.eclipse.jem.tests.proxy.initParser.NavigationParameters.get((float)12,(float)24,(float)50)",org.eclipse.jem.tests.proxy.initParser.NavigationParameters.get((float)12,(float)24,(float)50));		
-	}
-	public void testConstructThreeFloats() throws Throwable {
-		testHelper.testInitString("new org.eclipse.jem.tests.proxy.initParser.NavigationParameters((float)12,(float)24,(float)50)",new org.eclipse.jem.tests.proxy.initParser.NavigationParameters((float)12,(float)24,(float)50));	
-	}
-	public void testNewParamsThreeFloats() throws Throwable {
-		testHelper.testInitString("new org.eclipse.jem.tests.proxy.initParser.NavigationParameters().set((float)12,(float)24,(float)50)",new org.eclipse.jem.tests.proxy.initParser.NavigationParameters().set((float)12,(float)24,(float)50));	
-	}
-}
diff --git a/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/proxy/initParser/NumberTest.java b/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/proxy/initParser/NumberTest.java
deleted file mode 100644
index 1b7703e..0000000
--- a/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/proxy/initParser/NumberTest.java
+++ /dev/null
@@ -1,69 +0,0 @@
-package org.eclipse.jem.tests.proxy.initParser;
-/*******************************************************************************
- * Copyright (c)  2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Eclipse Public License v1.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: NumberTest.java,v $
- *  $Revision: 1.3 $  $Date: 2005/02/15 23:00:16 $ 
- */
-
-/**
- * @author jmyers
- *
- * To change the template for this generated type comment go to
- * Window>Preferences>Java>Code Generation>Code and Comments
- */
-public class NumberTest extends AbstractInitParserTestCase {
-
-	/**
-	 * Constructor for NumberTest.
-	 * @param name
-	 */
-	public NumberTest(String name) {
-		super(name);
-	}
-
-	public void testIntPrim() throws Throwable {
-		testHelper.testInitString("10", new Integer(10));	
-	}
-	public void testShortPrim() throws Throwable {
-		testHelper.testInitString("(short)10", new Short((short)10));	
-	}
-	public void testNegativeShortPrim() throws Throwable {
-		testHelper.testInitString("(short)-10", new Short((short)-10));	
-	}	
-	public void testBytePrim() throws Throwable {
-		testHelper.testInitString("(byte)10", new Byte((byte)10));	
-	}
-	public void testDoublePrimExplicit() throws Throwable {
-		testHelper.testInitString("10d", new Double(10d));	
-	}
-	public void testNegativeDoublePrimExplicit() throws Throwable {
-		testHelper.testInitString("-10d", new Double(-10d));	
-	}
-	public void testFloatPrimExplicit() throws Throwable {
-		testHelper.testInitString("10f", new Float(10f));	
-	}
-	public void testLongPrimExplicit() throws Throwable {
-		testHelper.testInitString("10l", new Long(10l));	
-	}
-	public void testDoublePrimImplicit() throws Throwable {
-		testHelper.testInitString("10.75", new Double(10.75));	
-	}
-	public void testNegativeDoublePrimImplicit() throws Throwable {
-		testHelper.testInitString("-10.75", new Double(-10.75));	
-	}
-	public void testSpacedDoublePrimImplicit() throws Throwable {
-		testHelper.testInitString(" 10.75 ", new Double(10.75));	
-	}
-	public void testNegativeDoublePrimExplicit2() throws Throwable {
-		testHelper.testInitString("-10.75d", new Double(-10.75d));	
-	}
-}
diff --git a/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/proxy/initParser/OverloadingTest.java b/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/proxy/initParser/OverloadingTest.java
deleted file mode 100644
index 23e0497..0000000
--- a/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/proxy/initParser/OverloadingTest.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.jem.tests.proxy.initParser;
-/*
- *  $RCSfile: OverloadingTest.java,v $
- *  $Revision: 1.6 $  $Date: 2005/02/15 23:00:16 $ 
- */
-
-/**
- * Test that correct overloaded method is called.
- * @author jmyers
- *
- * To change the template for this generated type comment go to
- * Window>Preferences>Java>Code Generation>Code and Comments
- */
-public class OverloadingTest extends AbstractInitParserTestCase {
-
-	/**
-	 * Constructor for OverloadingTest.
-	 * @param name
-	 */
-	public OverloadingTest(String name) {
-		super(name);
-	}
-
-	public void testOverloadString() throws Throwable {
-		testHelper.testInitString("new Integer(\"3\")", new Integer(3));
-	}
-	public void testOverloadShort() throws Throwable {
-		testHelper.testInitString("new Integer(5)", new Integer(5));
-	}
-}
diff --git a/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/proxy/initParser/SameName46376Test.java b/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/proxy/initParser/SameName46376Test.java
deleted file mode 100644
index 9d3795a..0000000
--- a/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/proxy/initParser/SameName46376Test.java
+++ /dev/null
@@ -1,41 +0,0 @@
-package org.eclipse.jem.tests.proxy.initParser;
-/*******************************************************************************
- * Copyright (c)  2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Eclipse Public License v1.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: SameName46376Test.java,v $
- *  $Revision: 1.2 $  $Date: 2005/02/15 23:00:16 $ 
- */
- 
-/**
- * This is to test for defect [46376].
- * 
- * SameName test. This is test where you have this:
- * 	InitParserTest46376.SameNameTestClass.java
- * 	InitParserTest46376.java
- * 
- * and
- * 
- * 	new org.eclipse.jem.tests.proxy.initParser.SameNameTestClass.RealClass()
- * 
- * Before [46376] the Static parser would find SameNameTestClass.java instead of the RealClass and would of failed.
- * To compile in Eclipse we need to have one of the classes be in the default package. Eclipse complains if we didn't.
- * But there is nothing to stop this from happening with packages too if they are spread across compile groups.  
- */
-public class SameName46376Test extends AbstractInitParserTestCase {
-	
-	public SameName46376Test(String name) {
-		super(name);
-	}	
-
-	public void test46376() throws Throwable {
-		testHelper.testInitString("new initParserTest46376.SameNameTestClass()", new initParserTest46376.SameNameTestClass());
-	}
-}
diff --git a/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/proxy/initParser/StringTest.java b/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/proxy/initParser/StringTest.java
deleted file mode 100644
index 4ee0185..0000000
--- a/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/proxy/initParser/StringTest.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
- *******************************************************************************/
-package org.eclipse.jem.tests.proxy.initParser;
-/*
- *  $RCSfile: StringTest.java,v $
- *  $Revision: 1.5 $  $Date: 2005/02/15 23:00:16 $ 
- */
-
-/**
- * @author jmyers
- *
- * To change the template for this generated type comment go to
- * Window>Preferences>Java>Code Generation>Code and Comments
- */
-public class StringTest extends AbstractInitParserTestCase {
-
-	/**
-	 * Constructor for StringTest.
-	 * @param name
-	 */
-	public StringTest(String name) {
-		super(name);
-	}
-
-	public void testBasic() throws Throwable {
-		testHelper.testInitString("\"Frog/123\"", "Frog/123");
-	}
-	public void testIntValue() throws Throwable {
-		testHelper.testInitString("String.valueOf(10)", "10");	
-	}
-	public void testParens() throws Throwable {
-		testHelper.testInitString("\"Frog(123)prince\"", "Frog(123)prince");	
-	}
-	public void testDoubleQuotes() throws Throwable {
-		testHelper.testInitString("\"Frog\\\"prince\\\"123\"", "Frog\"prince\"123");	
-	}
-	public void testBackSlashes() throws Throwable {
-		testHelper.testInitString("\"Frog\\\\prince\\\\123\"", "Frog\\prince\\123");	
-	}
-	public void testBackSlash() throws Throwable {
-		testHelper.testInitString("\"\\\\Frog\"", "\\Frog");	
-	}
-	public void testStringFunction() throws Throwable {
-		testHelper.testInitString("\"Frog\".length()", new Integer(4));	
-	}
-}
diff --git a/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/proxy/initParser/tree/ASTArraysTest.java b/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/proxy/initParser/tree/ASTArraysTest.java
deleted file mode 100644
index 9c8f9fc..0000000
--- a/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/proxy/initParser/tree/ASTArraysTest.java
+++ /dev/null
@@ -1,64 +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
- *******************************************************************************/
-/*
- *  $RCSfile: ASTArraysTest.java,v $
- *  $Revision: 1.3 $  $Date: 2005/02/15 23:00:16 $ 
- */
-package org.eclipse.jem.tests.proxy.initParser.tree;
-
-import org.eclipse.jem.internal.proxy.core.IExpression;
-import org.eclipse.jem.tests.proxy.initParser.ArrayConstructorTest;
- 
-/**
- * Test Arrays for AST.
- * 
- * @since 1.0.0
- */
-public class ASTArraysTest extends ArrayConstructorTest {
-
-	public ASTArraysTest(String name) {
-		super(name);
-	}
-	
-	protected ASTTreeInitStringParserTestHelper getTreeParser() {
-		return (ASTTreeInitStringParserTestHelper) testHelper;
-	}
-	
-	public void testUndefinedSecondDim() throws Throwable {
-		IExpression exp = getTreeParser().getRegistry().getBeanProxyFactory().createExpression();
-		exp.createArrayCreation(IExpression.ROOTEXPRESSION, "int[][]", 1);
-		exp.createPrimitiveLiteral(IExpression.ARRAYCREATION_DIMENSION, 3);
-		testHelper.testInitString("new int[3][]", exp.getExpressionValue());
-	}
-	
-	public void testArrayAccess() throws Throwable {
-		IExpression exp = getTreeParser().getRegistry().getBeanProxyFactory().createExpression();
-		exp.createArrayAccess(IExpression.ROOTEXPRESSION, 1);
-		exp.createArrayCreation(IExpression.ARRAYACCESS_ARRAY, "java.lang.Integer[]", 1);
-		exp.createPrimitiveLiteral(IExpression.ARRAYCREATION_DIMENSION, 3);
-		exp.createPrimitiveLiteral(IExpression.ARRAYACCESS_INDEX, 0);
-		testHelper.testInitString("(new Integer[3])[0]", exp.getExpressionValue()); 
-	}
-	
-	public void testMutltiArrayAccess() throws Throwable {
-		IExpression exp = getTreeParser().getRegistry().getBeanProxyFactory().createExpression();
-		exp.createArrayAccess(IExpression.ROOTEXPRESSION, 2);
-		exp.createArrayCreation(IExpression.ARRAYACCESS_ARRAY, "int[][]", 0);
-		exp.createArrayInitializer(2);
-		exp.createArrayInitializer(1);
-		exp.createPrimitiveLiteral(IExpression.ARRAYINITIALIZER_EXPRESSION, 2);
-		exp.createArrayInitializer(1);
-		exp.createPrimitiveLiteral(IExpression.ARRAYINITIALIZER_EXPRESSION, 4);
-		exp.createPrimitiveLiteral(IExpression.ARRAYACCESS_INDEX, 0);
-		exp.createPrimitiveLiteral(IExpression.ARRAYACCESS_INDEX, 0);		
-		testHelper.testInitString("(new int[][] {{2}, {4}})[0][0]", exp.getExpressionValue()); 
-	}	
-}
diff --git a/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/proxy/initParser/tree/ASTFieldAccessTest.java b/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/proxy/initParser/tree/ASTFieldAccessTest.java
deleted file mode 100644
index df42115..0000000
--- a/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/proxy/initParser/tree/ASTFieldAccessTest.java
+++ /dev/null
@@ -1,71 +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
- *******************************************************************************/
-/*
- *  $RCSfile: ASTFieldAccessTest.java,v $
- *  $Revision: 1.3 $  $Date: 2005/02/15 23:00:16 $ 
- */
-package org.eclipse.jem.tests.proxy.initParser.tree;
-
-import org.eclipse.jem.internal.proxy.core.IExpression;
-import org.eclipse.jem.tests.proxy.initParser.AbstractInitParserTestCase;
- 
-/**
- * 
- * @since 1.0.0
- */
-public class ASTFieldAccessTest extends AbstractInitParserTestCase {
-
-	/**
-	 * Create with name.
-	 * @param name
-	 * 
-	 * @since 1.0.0
-	 */
-	public ASTFieldAccessTest(String name) {
-		super(name);
-	}
-	
-	protected ASTTreeInitStringParserTestHelper getTreeParser() {
-		return (ASTTreeInitStringParserTestHelper) testHelper;
-	}
-	
-	public void testNonQualifiedFieldAccess() throws Throwable {
-		getTreeParser().testInitString("Color.red", new String[] {"java.awt.*"}, getTreeParser().getRegistry().getBeanTypeProxyFactory().getBeanTypeProxy("java.awt.Color").newInstance("java.awt.Color.red") );
-	}
-	
-	public void testExpressionFieldAccess() throws Throwable {
-		getTreeParser().testInitString("(Color.red).red", new String[] {"java.awt.*"}, getTreeParser().getRegistry().getBeanTypeProxyFactory().getBeanTypeProxy("java.awt.Color").newInstance("java.awt.Color.red") );	// Should not use this form, but it is valid, use valid form for expected results so no warnings.
-	}
-	
-	public void testNestedFieldAccess() throws Throwable {
-		getTreeParser().testInitString("ASTNestFieldAccessTestData.acolor.red", new String[] {"org.eclipse.jem.tests.proxy.initParser.tree.ASTNestFieldAccessTestData"},  getTreeParser().getRegistry().getBeanTypeProxyFactory().getBeanTypeProxy("java.awt.Color").newInstance("java.awt.Color.red"));	// Should not use this form, but it is valid, use valid form for expected results so no warnings.
-	}
-
-	public void testNestedFieldExpressionAccess() throws Throwable {
-		getTreeParser().testInitString("new ASTNestFieldAccessTestData().acolor.red", new String[] {"org.eclipse.jem.tests.proxy.initParser.tree.ASTNestFieldAccessTestData"},  getTreeParser().getRegistry().getBeanTypeProxyFactory().getBeanTypeProxy("java.awt.Color").newInstance("java.awt.Color.red"));	// Should not use this form, but it is valid, use valid form for expected results so no warnings.
-	}
-	
-	public void testNonstaticFieldAccess() throws Throwable {
-		IExpression exp = getTreeParser().getRegistry().getBeanProxyFactory().createExpression();
-		exp.createFieldAccess(IExpression.ROOTEXPRESSION, "arect", true);
-		exp.createClassInstanceCreation(IExpression.FIELD_RECEIVER, "org.eclipse.jem.tests.proxy.initParser.tree.ASTNestFieldAccessTestData", 0);
-		getTreeParser().testInitString("new ASTNestFieldAccessTestData().arect", new String[] {"org.eclipse.jem.tests.proxy.initParser.tree.ASTNestFieldAccessTestData"},  exp.getExpressionValue());
-	}
-	
-	public void testNonstaticNestedFieldAccess() throws Throwable {
-		IExpression exp = getTreeParser().getRegistry().getBeanProxyFactory().createExpression();
-		exp.createFieldAccess(IExpression.ROOTEXPRESSION, "x", true);
-		exp.createFieldAccess(IExpression.FIELD_RECEIVER, "arect", true);
-		exp.createClassInstanceCreation(IExpression.FIELD_RECEIVER, "org.eclipse.jem.tests.proxy.initParser.tree.ASTNestFieldAccessTestData", 0);
-		getTreeParser().testInitString("new ASTNestFieldAccessTestData().arect.x", new String[] {"org.eclipse.jem.tests.proxy.initParser.tree.ASTNestFieldAccessTestData"},  exp.getExpressionValue());
-	}
-	
-}
diff --git a/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/proxy/initParser/tree/ASTInnerClassAccessTest.java b/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/proxy/initParser/tree/ASTInnerClassAccessTest.java
deleted file mode 100644
index fd68ef8..0000000
--- a/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/proxy/initParser/tree/ASTInnerClassAccessTest.java
+++ /dev/null
@@ -1,71 +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
- *******************************************************************************/
-/*
- *  $RCSfile: ASTInnerClassAccessTest.java,v $
- *  $Revision: 1.3 $  $Date: 2005/02/15 23:00:16 $ 
- */
-package org.eclipse.jem.tests.proxy.initParser.tree;
-
-import org.eclipse.jem.internal.proxy.core.IExpression;
-import org.eclipse.jem.tests.proxy.initParser.AbstractInitParserTestCase;
- 
-/**
- * This is for testing inner class access.
- * @since 1.0.0
- */
-public class ASTInnerClassAccessTest extends AbstractInitParserTestCase {
-
-	/**
-	 * Construct with name.
-	 * @param name
-	 * 
-	 * @since 1.0.0
-	 */
-	public ASTInnerClassAccessTest(String name) {
-		super(name);
-	}
-
-	protected ASTTreeInitStringParserTestHelper getTreeParser() {
-		return (ASTTreeInitStringParserTestHelper) testHelper;
-	}
-	
-	public void testInnerFieldAccess() throws Throwable {
-		IExpression exp = getTreeParser().getRegistry().getBeanProxyFactory().createExpression();
-		exp.createFieldAccess(IExpression.ROOTEXPRESSION, "GREEN", true);
-		exp.createTypeReceiver("org.eclipse.jem.tests.proxy.initParser.tree.InnerClassTestData$InnerInnerClass");
-		getTreeParser().testInitString("InnerClassTestData.InnerInnerClass.GREEN", new String[] {"org.eclipse.jem.tests.proxy.initParser.tree.*"}, exp.getExpressionValue());
-	}
-	
-	public void testInnerFieldAccess2() throws Throwable {
-		IExpression exp = getTreeParser().getRegistry().getBeanProxyFactory().createExpression();
-		exp.createFieldAccess(IExpression.ROOTEXPRESSION, "GREEN", true);
-		exp.createTypeReceiver("org.eclipse.jem.tests.proxy.initParser.tree.InnerClassTestData$InnerInnerClass");
-		
-		// Test where the inner class is the top level listed.
-		getTreeParser().testInitString("InnerInnerClass.GREEN", new String[] {"org.eclipse.jem.tests.proxy.initParser.tree.InnerClassTestData.InnerInnerClass"}, exp.getExpressionValue());
-	}	
-	
-	public void testInnerInnerFieldAccess() throws Throwable {
-		IExpression exp = getTreeParser().getRegistry().getBeanProxyFactory().createExpression();
-		exp.createFieldAccess(IExpression.ROOTEXPRESSION, "RED", true);
-		exp.createTypeReceiver("org.eclipse.jem.tests.proxy.initParser.tree.InnerClassTestData$InnerInnerClass$InnerInnerInnerClass");
-		
-		getTreeParser().testInitString("InnerClassTestData.InnerInnerClass.InnerInnerInnerClass.RED", new String[] {"org.eclipse.jem.tests.proxy.initParser.tree.*"}, exp.getExpressionValue());
-	}
-
-	public void testInnerClassCreation() throws Throwable {
-		IExpression exp = getTreeParser().getRegistry().getBeanProxyFactory().createExpression();
-		exp.createClassInstanceCreation(IExpression.ROOTEXPRESSION, "org.eclipse.jem.tests.proxy.initParser.tree.InnerClassTestData$InnerInnerClass", 0);
-		// Create static inner class
-		getTreeParser().testInitString("new InnerClassTestData.InnerInnerClass()", new String[] {"org.eclipse.jem.tests.proxy.initParser.tree.*"}, exp.getExpressionValue());
-	}
-	
-}
diff --git a/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/proxy/initParser/tree/ASTMiscTest.java b/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/proxy/initParser/tree/ASTMiscTest.java
deleted file mode 100644
index 30647b3..0000000
--- a/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/proxy/initParser/tree/ASTMiscTest.java
+++ /dev/null
@@ -1,70 +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
- *******************************************************************************/
-/*
- *  $RCSfile: ASTMiscTest.java,v $
- *  $Revision: 1.2 $  $Date: 2005/02/15 23:00:16 $ 
- */
-package org.eclipse.jem.tests.proxy.initParser.tree;
-
-import org.eclipse.jem.internal.instantiation.*;
-import org.eclipse.jem.internal.instantiation.InstantiationFactory;
-import org.eclipse.jem.internal.instantiation.PTCharacterLiteral;
-import org.eclipse.jem.tests.proxy.initParser.AbstractInitParserTestCase;
- 
-/**
- * Some misc. tests.
- * @since 1.0.0
- */
-public class ASTMiscTest extends AbstractInitParserTestCase {
-
-	/**
-	 * Construct with name.
-	 * @param name
-	 * 
-	 * @since 1.0.0
-	 */
-	public ASTMiscTest(String name) {
-		super(name);
-	}
-	
-	public void testCharLiteral() {
-		PTCharacterLiteral cl = InstantiationFactory.eINSTANCE.createPTCharacterLiteral();
-		cl.setEscapedValue("\'a\'");
-		assertEquals('a', cl.getCharValue());
-		cl.setCharValue('b');
-		assertEquals("\'b\'", cl.getEscapedValue());
-		cl.setEscapedValue("\'\\n\'");
-		assertEquals('\n', cl.getCharValue());
-		cl.setCharValue('\b');
-		assertEquals("\'\\b\'", cl.getEscapedValue());
-		cl.setEscapedValue("\'\\u0300\'");
-		assertEquals('\u0300', cl.getCharValue());
-		cl.setCharValue('\u0400');
-		assertEquals("\'\\u0400\'", cl.getEscapedValue());
-	}
-
-	public void testStringLiteral() {
-		PTStringLiteral sl = InstantiationFactory.eINSTANCE.createPTStringLiteral();
-		sl.setEscapedValue("\"a\"");
-		assertEquals("a", sl.getLiteralValue());
-		sl.setLiteralValue("\b");
-		assertEquals("\"\\b\"", sl.getEscapedValue());
-		sl.setEscapedValue("\"\\n\"");
-		assertEquals("\n", sl.getLiteralValue());
-		sl.setLiteralValue("\b");
-		assertEquals("\"\\b\"", sl.getEscapedValue());
-		sl.setEscapedValue("\"\\u0300\"");
-		assertEquals("\u0300", sl.getLiteralValue());
-		sl.setLiteralValue("\u0400");
-		assertEquals("\"\\u0400\"", sl.getEscapedValue());
-	}
-	
-}
diff --git a/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/proxy/initParser/tree/ASTNestFieldAccessTestData.java b/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/proxy/initParser/tree/ASTNestFieldAccessTestData.java
deleted file mode 100644
index 9bede08..0000000
--- a/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/proxy/initParser/tree/ASTNestFieldAccessTestData.java
+++ /dev/null
@@ -1,29 +0,0 @@
-package org.eclipse.jem.tests.proxy.initParser.tree;
-/*******************************************************************************
- * 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
- *******************************************************************************/
-/*
- *  $RCSfile: ASTNestFieldAccessTestData.java,v $
- *  $Revision: 1.2 $  $Date: 2005/02/15 23:00:16 $ 
- */
-
-import java.awt.Color;
-import java.awt.Rectangle;
-
-/**
- * This class is used in the testing of nested field access for Parse testing.
- * This is when you access a field, and then access a field of that.
- * In this case  <code>ASTNestFieldAccessTestData.acolor.red</code>
- * @since 1.0.0
- */
-public class ASTNestFieldAccessTestData {
-	public static Color acolor = Color.green;
-	public Rectangle arect = new Rectangle(10,20,30,40); 
-}
diff --git a/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/proxy/initParser/tree/ASTOperationsTest.java b/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/proxy/initParser/tree/ASTOperationsTest.java
deleted file mode 100644
index 7e54cc3..0000000
--- a/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/proxy/initParser/tree/ASTOperationsTest.java
+++ /dev/null
@@ -1,84 +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
- *******************************************************************************/
-/*
- *  $RCSfile: ASTOperationsTest.java,v $
- *  $Revision: 1.3 $  $Date: 2005/02/15 23:00:16 $ 
- */
-package org.eclipse.jem.tests.proxy.initParser.tree;
-
-import org.eclipse.jem.tests.proxy.initParser.AbstractInitParserTestCase;
- 
-/**
- * 
- * @since 1.0.0
- */
-public class ASTOperationsTest extends AbstractInitParserTestCase {
-
-	/**
-	 * Create with name.
-	 * @param name
-	 * 
-	 * @since 1.0.0
-	 */
-	public ASTOperationsTest(String name) {
-		super(name);
-	}
-	
-	protected ASTTreeInitStringParserTestHelper getTreeParser() {
-		return (ASTTreeInitStringParserTestHelper) testHelper;
-	}
-	
-	public void testTwoOpers() throws Throwable {
-		testHelper.testInitString("3+4", getTreeParser().getRegistry().getBeanProxyFactory().createBeanProxyWith(3+4));
-	}
-	
-	public void testFourOpersExtended() throws Throwable {
-		testHelper.testInitString("3+4+5+6", getTreeParser().getRegistry().getBeanProxyFactory().createBeanProxyWith(3+4+5+6));
-	}	
-
-	public void testMixedOpers() throws Throwable {
-		testHelper.testInitString("3+4-5", getTreeParser().getRegistry().getBeanProxyFactory().createBeanProxyWith(3+4-5));
-	}
-	
-	public void testMixedOpersPrecedence() throws Throwable {
-		testHelper.testInitString("6 | 3+4 | 8", getTreeParser().getRegistry().getBeanProxyFactory().createBeanProxyWith(6 | 3+4 | 8));
-	}
-	
-	public void testConditional() throws Throwable {
-		testHelper.testInitString("java.awt.Color.red != null ? 3 : 5", getTreeParser().getRegistry().getBeanProxyFactory().createBeanProxyWith(java.awt.Color.red != null ? 3 : 5));
-	}
-
-	public void testInstanceof() throws Throwable {
-		testHelper.testInitString("java.awt.Color.red instanceof java.awt.Color", getTreeParser().getRegistry().getBeanProxyFactory().createBeanProxyWith(java.awt.Color.red instanceof java.awt.Color));
-	}
-
-	public void testTypeLiteral() throws Throwable {
-		testHelper.testInitString("Object.class", getTreeParser().getRegistry().getBeanTypeProxyFactory().getBeanTypeProxy("java.lang.Object"));
-	}
-	
-	public void testStringPlusOperations() throws Throwable {
-		testHelper.testInitString("3+\"a\"", getTreeParser().getRegistry().getBeanProxyFactory().createBeanProxyWith(3+"a"));
-	}
-	
-	public void testStringPlusOperations1() throws Throwable {
-		testHelper.testInitString("\"a\"+3", getTreeParser().getRegistry().getBeanProxyFactory().createBeanProxyWith("a"+3));
-	}
-	
-	public void testStringPlusExtendedOperations() throws Throwable {
-		testHelper.testInitString("3+4+\"a\"", getTreeParser().getRegistry().getBeanProxyFactory().createBeanProxyWith(3+4+"a"));
-	}
-	
-	public void testStringPlusExtendedOperations1() throws Throwable {
-		testHelper.testInitString("3+\"a\"+4", getTreeParser().getRegistry().getBeanProxyFactory().createBeanProxyWith(3+"a"+4));
-	}
-	
-	
-}
diff --git a/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/proxy/initParser/tree/ASTParserSuite.java b/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/proxy/initParser/tree/ASTParserSuite.java
deleted file mode 100644
index 4c47aaa..0000000
--- a/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/proxy/initParser/tree/ASTParserSuite.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.jem.tests.proxy.initParser.tree;
-/*
- *  $RCSfile: ASTParserSuite.java,v $
- *  $Revision: 1.8 $  $Date: 2005/02/15 23:00:16 $ 
- */
-import junit.extensions.TestSetup;
-import junit.framework.*;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.*;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.JavaCore;
-
-import org.eclipse.jem.internal.proxy.core.*;
-import org.eclipse.jem.tests.JavaProjectUtil;
-import org.eclipse.jem.tests.JavaTestsPlugin;
-import org.eclipse.jem.tests.proxy.ProxySuite;
-import org.eclipse.jem.tests.proxy.initParser.*;
-
-/**
- * @author jmyers
- *
- * To change the template for this generated type comment go to
- * Window>Preferences>Java>Code Generation>Code and Comments
- */
-public class ASTParserSuite extends TestSetup {
-
-	// Test cases to be include in the suite
-	private static Class testsList[] = {
-		NeedsCodingTest.class,
-		BlockTest.class,
-		ASTFieldAccessTest.class,
-		ASTArraysTest.class,
-		MultiArgStaticMethodTest.class,
-		MultiArgConstructorTest.class,
-		MultiArgInstanceTest.class,
-		NumberTest.class,
-		CastTest.class,
-//		ExceptionTest.class,	// mixes parse error w/execution errors. Can't test parse errors. Need specific test for exec errors like method not found.
-		LiteralTest.class,
-		StringTest.class,
-		CharTest.class,
-		JFCTest.class,
-		BorderTest.class,
-		OverloadingTest.class,
-		SameName46376Test.class,
-		ASTOperationsTest.class,
-		ASTInnerClassAccessTest.class,
-		ASTMiscTest.class
-		                               } ;
-	
-	public static String pkgName = "org.eclipse.jem.tests.proxy.initParser.tree" ;
-	    
-	/**
-	 * Constructor for PackageSuite.
-	 */
-	public ASTParserSuite() {
-		this("AST Parser Suite");
-	}
-
-	/**
-	 * Constructor for PackageSuite.
-	 * @param name
-	 */
-	public ASTParserSuite(String name) {
-		super(new TestSuite(name));
-		populateSuite() ;
-	}
-
-	ProxyFactoryRegistry registry;
-	
-	private void populateSuite () {
-		TestSuite suite = (TestSuite) getTest();
-		for (int i=0; i<testsList.length; i++)
-		  suite.addTestSuite(testsList[i]) ;
-		
-		try {
-			IProject project = JavaProjectUtil.createEmptyJavaProject(ResourcesPlugin.getWorkspace(), new Path(AST_PROJECT), null);
-			IJavaProject jproject = JavaCore.create(project);
-			// Add javatests.jar (i.e. this plugins jar) so that the classes within the tests jar are available
-			// to the jdt parser for referencing.
-			JavaProjectUtil.addBundleJarToPath(JavaTestsPlugin.getPlugin().getBundle(), "javatests.jar", jproject, null);
-			
-			// We're going to use the remote proxy, because it is easier to start up, but we aren't really testing
-			// the remote proxy expression evaluation. We are really testing AST->ParseTree->BeanProxy. If any expression
-			// type errors show up (i.e. the proxy expression itself is not working correctly). Then that should be fixed
-			// and a junit test in the proxy suite should be created instead.
-			registry = ProxyLaunchSupport.startImplementation(
-					project,
-					"JUnit Parse Tree Test",
-					new IConfigurationContributor[] { ProxySuite.getProxySuiteContributor()},
-					new NullProgressMonitor());
-			
-			AbstractInitParserTestCase.initSuite(suite, new ASTTreeInitStringParserTestHelper(project, registry));
-		} catch (CoreException e) {
-			Assert.assertNotNull(e);
-		}
-	}
-    
-	public static Test suite() {
-		return new ASTParserSuite("Test for: "+pkgName);
-	}
-
-	private static final String AST_PROJECT = "/AST tests/";
-
-	/* (non-Javadoc)
-	 * @see junit.extensions.TestSetup#tearDown()
-	 */
-	protected void tearDown() throws Exception {
-		if (registry != null) {
-			registry.terminateRegistry();
-			Thread.sleep(5000);	// Give it five seconds to REALLY go away. There is a small window between 
-			// terminate request and true shutdown of the remote vm. We return immediately and let a
-			// job wait for the actual true termination.
-		}
-		
-		JavaProjectUtil.deleteProject(JavaProjectUtil.getProject(AST_PROJECT));
-	}
-
-}
diff --git a/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/proxy/initParser/tree/ASTTreeInitStringParserTestHelper.java b/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/proxy/initParser/tree/ASTTreeInitStringParserTestHelper.java
deleted file mode 100644
index 5e9eb53..0000000
--- a/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/proxy/initParser/tree/ASTTreeInitStringParserTestHelper.java
+++ /dev/null
@@ -1,238 +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
- *******************************************************************************/
-/*
- *  $RCSfile: ASTTreeInitStringParserTestHelper.java,v $
- *  $Revision: 1.10 $  $Date: 2005/02/15 23:00:16 $ 
- */
-package org.eclipse.jem.tests.proxy.initParser.tree;
-
-import java.text.MessageFormat;
-
-import junit.framework.Assert;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.jdt.core.*;
-import org.eclipse.jdt.core.compiler.IProblem;
-import org.eclipse.jdt.core.dom.*;
-
-import org.eclipse.jem.internal.instantiation.PTExpression;
-import org.eclipse.jem.internal.instantiation.base.*;
-import org.eclipse.jem.internal.proxy.core.*;
-import org.eclipse.jem.tests.proxy.initParser.AbstractInitStringParserTestHelper;
-import org.eclipse.jem.workbench.utility.*;
- 
-/**
- * Init String parser helper for working with AST trees.
- *  
- * @since 1.0.0
- */
-public class ASTTreeInitStringParserTestHelper extends AbstractInitStringParserTestHelper {
-
-	private static final String TEMPLATE_CLASS = "public class TEMPLATE '{'\n  public void test() '{'\n    String.valueOf({0});\t// a line comment\n  }\n}";
-	private static final String TEMPLATE_CLASS_IMPORTS = "{0}\npublic class TEMPLATE '{'\n  public void test() '{'\n    String.valueOf({1});\n  }\n}";
-	
-	private IJavaProject project;
-	private ParseTreeCreationFromAST parser = new ParseTreeCreationFromAST(new ASTBoundResolver());
-	private ProxyFactoryRegistry registry;
-	
-	public ASTTreeInitStringParserTestHelper() {
-	}
-	
-	public ASTTreeInitStringParserTestHelper(IProject project, ProxyFactoryRegistry registry) {
-		this.project = JavaCore.create(project);
-		this.registry = registry;
-	}
-	
-	public ASTTreeInitStringParserTestHelper(IProject project) {
-		this(project, null);
-	}	
-	
-	public ProxyFactoryRegistry getRegistry() {
-		return registry;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jem.tests.proxy.initParser.AbstractInitStringParserTestHelper#testInitString(java.lang.String, java.lang.Object, boolean, boolean)
-	 */
-	public void testInitString(String aString, Object expectedResult, boolean throwsException, boolean equalsOnly) throws Throwable {
-		String testClass = MessageFormat.format(TEMPLATE_CLASS, new Object[] {aString});
-		ASTParser parser = ASTParser.newParser(AST.JLS2);
-		parser.setSource(testClass.toCharArray());
-		parser.setUnitName("TEMPLATE.java");
-		if (project != null) {
-			parser.setProject(project);
-			parser.setResolveBindings(true);
-		}
-		CompilationUnit cu  = (CompilationUnit) parser.createAST(new NullProgressMonitor());
-
-		// This is the only method that is called from both init string and parse allocation. So we can be assume that
-		// it is a straight init string. In that case we can go ahead and do regular proxy init string parsing to
-		// get a proxy to pass into the parse testing.
-		IBeanProxy expectedProxy = null;
-		if (expectedResult instanceof IBeanProxy)
-			expectedProxy = (IBeanProxy) expectedResult;
-		else if (expectedResult != null && !throwsException && registry != null) {
-			expectedProxy = registry.getBeanProxyFactory().createBeanProxyFrom(aString);
-		}
-		testInitString(aString, cu, expectedProxy, throwsException, equalsOnly);
-	}
-
-	public void testInitString(String aString, String[] imports, IBeanProxy expectedResult) throws Throwable {
-		testInitString(aString, imports,expectedResult, false, true);
-	}
-	
-	public void testInitString(String aString, String[] imports, IBeanProxy expectedResult, boolean throwsException, boolean equalsOnly) throws Throwable {
-		StringBuffer importLines = new StringBuffer(100);
-		for (int i = 0; i < imports.length; i++) {
-			importLines.append("import ");
-			importLines.append(imports[i]);
-			importLines.append(";\n");
-		}
-		String testClass = MessageFormat.format(TEMPLATE_CLASS_IMPORTS, new Object[] {importLines, aString});
-		ASTParser parser = ASTParser.newParser(AST.JLS2);
-		parser.setSource(testClass.toCharArray());
-		parser.setUnitName("TEMPLATE.java");
-		if (project != null) {
-			parser.setProject(project);
-			parser.setResolveBindings(true);
-		}
-		CompilationUnit cu  = (CompilationUnit) parser.createAST(null);
-		testInitString(aString, cu, expectedResult, throwsException, equalsOnly);
-	}
-	
-	protected void testInitString(
-		String aString,
-		CompilationUnit cu,
-		IBeanProxy expectedResult,
-		boolean throwsException,
-		boolean equalsOnly)
-		throws Throwable {
-		IProblem[] problems = cu.getProblems();
-		if (problems.length > 0) {
-			boolean errors = false;
-			StringBuffer buf = new StringBuffer(100);
-			for (int i = 0; i < problems.length; i++) {
-				errors = errors | problems[i].isError();
-				buf.append(" " + problems[i].getMessage());
-			}
-			// If only warnings, try going on. Only errors should cause a failure.
-			if (errors)
-				if (!throwsException)
-					Assert.fail("Problems with \"" + aString + "\": " + buf);
-				else
-					return; // Treat this as an exception.
-			else {
-				// Else just log the warnings.
-				System.err.println("Warnings ocurred for \"" + aString + "\":" + buf);
-			}
-		}
-
-		TypeDeclaration td = (TypeDeclaration) cu.types().get(0);
-		ExpressionStatement es = (ExpressionStatement) td.getMethods()[0].getBody().statements().get(0);
-		MethodInvocation mi = (MethodInvocation) es.getExpression();
-		org.eclipse.jdt.core.dom.Expression exp = (org.eclipse.jdt.core.dom.Expression) mi.arguments().get(0);
-		PTExpression parseExp = parser.createExpression(exp);
-
-		if (registry != null) {
-			ParseTreeAllocationInstantiationVisitor v = new ParseTreeAllocationInstantiationVisitor();
-			try {
-				IBeanProxy bean = v.getBeanProxy(parseExp, registry);
-				if (throwsException)
-					Assert.fail("Should of thrown exception. Instead result was \"" + (bean != null ? bean.toBeanString() : null) + "\"");
-				if (bean == expectedResult)
-					return;
-				if ((bean == null && expectedResult != null) || (expectedResult == null && bean != null))
-					Assert.fail(
-						"ExpectedResult="
-							+ (expectedResult != null ? expectedResult.toBeanString() : null)
-							+ " result="
-							+ (bean != null ? bean.toBeanString() : null));
-				if (bean.equals(expectedResult))
-					return;
-				// It may be that the equals expression is bad. If so use the toString() to do
-				// a partial comparison
-				if (bean.getTypeProxy() == expectedResult.getTypeProxy()) {
-					if (bean.toBeanString().equals(expectedResult.toBeanString())) {
-						return;
-					} else {
-						// The toStrings do not match perfectly but the classes do.
-						// Try and see how close the two strings are
-						if (expectedResult.getTypeProxy().isArray() && bean.getTypeProxy().isArray()) {
-							IBeanTypeProxy expectedResultClass = ((IArrayBeanTypeProxy) expectedResult.getTypeProxy()).getComponentType();
-							IBeanTypeProxy resultClass = ((IArrayBeanTypeProxy) bean.getTypeProxy()).getComponentType();
-							int resultLength = ((IArrayBeanProxy) bean).getLength();
-							int expectedLength = ((IArrayBeanProxy) expectedResult).getLength();
-							if (expectedLength == resultLength) {
-								if (resultClass == expectedResultClass) {
-									// TODO Should actually step in and check each element too.
-									return;
-								} else {
-									Assert.fail(
-										aString
-											+ " ExpectedResult="
-											+ expectedResult.toBeanString()
-											+ " ActualResult="
-											+ bean.toBeanString()
-											+ " ExpectedClass="
-											+ expectedResult.getTypeProxy().getFormalTypeName()
-											+ " ActualClass="
-											+ bean.getTypeProxy().getFormalTypeName());
-								}
-							} else {
-								Assert.fail(
-									aString
-										+ " ExpectedResult="
-										+ expectedResult.toBeanString()
-										+ " ActualResult="
-										+ bean.toBeanString()
-										+ " ExpectedClass="
-										+ expectedResult.getTypeProxy().getFormalTypeName()
-										+ " ActualClass="
-										+ bean.getTypeProxy().getFormalTypeName());
-							}
-						} else {
-							if (equalsOnly)
-								Assert.fail(
-									aString
-										+ " ExpectedResult="
-										+ expectedResult.toBeanString()
-										+ " ActualResult="
-										+ bean.toBeanString()
-										+ " ExpectedClass="
-										+ expectedResult.getTypeProxy().getFormalTypeName()
-										+ " ActualClass="
-										+ bean.getTypeProxy().getFormalTypeName());
-							return;
-						}
-					}
-				} else {
-					Assert.fail(
-						aString
-							+ " ExpectedResult="
-							+ expectedResult.toBeanString()
-							+ " ActualResult="
-							+ bean.toBeanString()
-							+ " ExpectedClass="
-							+ expectedResult.getTypeProxy().getFormalTypeName()
-							+ " ActualClass="
-							+ bean.getTypeProxy().getFormalTypeName());
-				}
-			} catch (Exception e) {
-				if (throwsException)
-					return; // This is ok, it should of thrown exception.
-				else
-					throw e;
-			}
-		}
-	}
-
-}
diff --git a/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/proxy/initParser/tree/InnerClassTestData.java b/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/proxy/initParser/tree/InnerClassTestData.java
deleted file mode 100644
index 08035d9..0000000
--- a/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/proxy/initParser/tree/InnerClassTestData.java
+++ /dev/null
@@ -1,76 +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
- *******************************************************************************/
-/*
- *  $RCSfile: InnerClassTestData.java,v $
- *  $Revision: 1.3 $  $Date: 2005/02/15 23:00:16 $ 
- */
-package org.eclipse.jem.tests.proxy.initParser.tree;
-
-import java.awt.Color;
- 
-/**
- * This is for testing inner class access.
- * @since 1.0.0
- */
-public class InnerClassTestData {
-
-	/**
-	 * 
-	 * @since 1.0.0
-	 */
-	public static class InnerInnerClass extends Object {
-		public final static Color GREEN = Color.green;
-
-		/**
-		 * 
-		 * @since 1.0.0
-		 */
-		public static class InnerInnerInnerClass extends Object {
-			public final static Color RED = Color.red; 
-
-			/**
-			 * 
-			 * @since 1.0.0
-			 */
-			public class InnerInnerInnerInnerClass {
-
-				/* (non-Javadoc)
-				 * @see java.lang.Object#equals(java.lang.Object)
-				 */
-				public boolean equals(Object obj) {
-					return super.equals(obj) || obj instanceof InnerInnerInnerInnerClass;
-				}
-			}
-			
-			/* (non-Javadoc)
-			 * @see java.lang.Object#equals(java.lang.Object)
-			 */
-			public boolean equals(Object obj) {
-				return super.equals(obj) || obj instanceof InnerInnerInnerClass;
-			}
-		}
-		
-		/* (non-Javadoc)
-		 * @see java.lang.Object#equals(java.lang.Object)
-		 */
-		public boolean equals(Object obj) {
-			return super.equals(obj) || obj instanceof InnerInnerClass;
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see java.lang.Object#equals(java.lang.Object)
-	 */
-	public boolean equals(Object obj) {
-		return super.equals(obj) || obj instanceof InnerClassTestData;
-	}
-	
-}
\ No newline at end of file
diff --git a/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/proxy/remote/RemoteProxySuite.java b/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/proxy/remote/RemoteProxySuite.java
deleted file mode 100644
index 5a40946..0000000
--- a/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/proxy/remote/RemoteProxySuite.java
+++ /dev/null
@@ -1,123 +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.jem.tests.proxy.remote;
-/*
- *  $RCSfile: RemoteProxySuite.java,v $
- *  $Revision: 1.7 $  $Date: 2005/02/15 23:00:16 $ 
- */
-import java.net.URL;
-
-import junit.extensions.TestSetup;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.*;
-
-import org.eclipse.jem.internal.proxy.core.*;
-import org.eclipse.jem.tests.JavaProjectUtil;
-import org.eclipse.jem.tests.JavaTestsPlugin;
-import org.eclipse.jem.tests.proxy.AbstractTestProxy;
-import org.eclipse.jem.tests.proxy.ProxySuite;
-
-/**
- * @author richkulp
- *
- * This is the true test suite for Remote Proxy Testing. The RemoteProxyTest will use this.
- */
-public class RemoteProxySuite extends TestSetup {
-
-	// Test cases to be include in the suite
-	private static final Class testsList[] = { ProxySuite.class, TestProjectAccess.class, };
-
-	private IProject project; // The project to start the proxy factory on.		                               
-	private AbstractTestProxy.RegistryHandler registryHandler = new AbstractTestProxy.RegistryHandler() {
-		private ProxyFactoryRegistry registry;
-
-		public boolean isValid() {
-			return project != null;
-		}
-		public ProxyFactoryRegistry getRegistry() throws CoreException {
-			if (registry == null) {
-				registry =
-					ProxyLaunchSupport.startImplementation(
-						project,
-						"JUnit Remote Proxy Test",
-						new IConfigurationContributor[] { ProxySuite.getProxySuiteContributor()},
-						new NullProgressMonitor());
-			}
-			return registry;
-		}
-
-		public void destroyRegistry() {
-			if (registry != null) {
-				registry.terminateRegistry();
-				registry = null;
-			}
-		}
-	};
-
-	public RemoteProxySuite() {
-		this("Test Remote Proxy Suite");
-	}
-
-	public RemoteProxySuite(String name) {
-		super(new TestSuite(name) {
-			{
-				for (int i = 0; i < testsList.length; i++) {
-					// We may get some tests and suites.
-					if (TestSuite.class.isAssignableFrom(testsList[i]) || TestSetup.class.isAssignableFrom(testsList[i])) {
-						try {
-							Test ts = (Test) testsList[i].newInstance();
-							addTest(ts);
-						} catch (Exception e) {
-							e.printStackTrace();
-						}
-					} else
-						addTestSuite(testsList[i]);
-				}
-			}
-		});
-
-		AbstractTestProxy.initRegistryHandler((TestSuite) this.getTest(), registryHandler);
-	}
-
-	public static Test suite() {
-		return new RemoteProxySuite();
-	}
-
-	private final static String TEST_PROJECT_NAME = "Test Remote Proxy";
-	private boolean oldAutoBuildingState; // autoBuilding state before we started.
-	protected void setUp() throws Exception {
-		System.out.println("-- Initializing the Proxy Remote test data --"); //$NON-NLS-1$
-		oldAutoBuildingState = JavaProjectUtil.setAutoBuild(true);
-		String zipPath =
-			Platform
-				.asLocalURL(new URL(JavaTestsPlugin.getPlugin().getBundle().getEntry("/"), "testdata/testremoteproject.zip"))
-				.getFile();
-		IProject[] projects = JavaProjectUtil.importProjects(new String[] { TEST_PROJECT_NAME }, new String[] { zipPath });
-		assertNotNull(projects[0]);
-		JavaProjectUtil.waitForAutoBuild();		
-		project = projects[0];
-		System.out.println("-- Data initialized --"); //$NON-NLS-1$
-
-	}
-
-	protected void tearDown() throws Exception {
-		registryHandler.destroyRegistry();
-		if (project != null) {
-			project.delete(true, false, null); // Get rid of the project and the files themselves.
-			project = null;
-		}
-		JavaProjectUtil.setAutoBuild(oldAutoBuildingState);
-	}
-
-}
diff --git a/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/proxy/remote/TestProjectAccess.java b/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/proxy/remote/TestProjectAccess.java
deleted file mode 100644
index 871badb..0000000
--- a/tests/org.eclipse.jem.tests/javatests/org/eclipse/jem/tests/proxy/remote/TestProjectAccess.java
+++ /dev/null
@@ -1,62 +0,0 @@
-package org.eclipse.jem.tests.proxy.remote;
-/*******************************************************************************
- * Copyright (c)  2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Eclipse Public License v1.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: TestProjectAccess.java,v $
- *  $Revision: 1.3 $  $Date: 2005/02/15 23:00:16 $ 
- */
-import org.eclipse.jem.internal.proxy.core.*;
-import org.eclipse.jem.internal.proxy.core.IBeanProxy;
-import org.eclipse.jem.internal.proxy.core.IBeanTypeProxy;
-import org.eclipse.jem.tests.proxy.AbstractTestProxy;
-
-/**
- * @author richkulp
- *
- * Test Project Access.
- */
-public class TestProjectAccess extends AbstractTestProxy {
-
-	public TestProjectAccess() {
-		super();
-	}
-
-	public TestProjectAccess(String name) {
-		super(name);
-	}
-	
-	public void testClassFromProject() {
-		IBeanTypeProxy testClassType = proxyTypeFactory.getBeanTypeProxy("org.eclipse.jem.testing.proxy.remote.TestClass"); //$NON-NLS-1$
-		assertNotNull(testClassType);		
-	}
-	
-	public void testProjectClassInstantiation() throws ThrowableProxy {
-		IBeanTypeProxy testClassType = proxyTypeFactory.getBeanTypeProxy("org.eclipse.jem.testing.proxy.remote.TestClass"); //$NON-NLS-1$
-		IBeanProxy testClass = testClassType.newInstance();
-		assertNotNull(testClass);		
-	}
-
-	public void testProjectClassMethod() throws ThrowableProxy {
-		IBeanTypeProxy testClassType = proxyTypeFactory.getBeanTypeProxy("org.eclipse.jem.testing.proxy.remote.TestClass"); //$NON-NLS-1$
-		IMethodProxy testMethod = testClassType.getMethodProxy("getTestString"); //$NON-NLS-1$
-		assertNotNull(testMethod);		
-	}
-	
-	public void testProjectClassMethodInvoke() throws ThrowableProxy {
-		IBeanTypeProxy testClassType = proxyTypeFactory.getBeanTypeProxy("org.eclipse.jem.testing.proxy.remote.TestClass"); //$NON-NLS-1$
-		IMethodProxy testMethod = testClassType.getMethodProxy("getTestString"); //$NON-NLS-1$
-		IBeanProxy testClass = testClassType.newInstance();
-		IStringBeanProxy aString = (IStringBeanProxy) testMethod.invoke(testClass);
-		assertNotNull(aString);
-		assertEquals("TESTSTRING", aString.stringValue());		
-	}	
-
-}
diff --git a/tests/org.eclipse.jem.tests/plugin.properties b/tests/org.eclipse.jem.tests/plugin.properties
deleted file mode 100644
index 64ee729..0000000
--- a/tests/org.eclipse.jem.tests/plugin.properties
+++ /dev/null
@@ -1,18 +0,0 @@
-###############################################################################
-# Copyright (c) 2003 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.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/jeetools.move/webtools.javaee.tests.git/tests/org.eclipse.jem.tests/plugin.properties,v $
-# $Revision: 1.2 $  $Date: 2005/02/15 23:01:05 $
-#
-
-
-pluginName=Java EMF Model JUnit Test Cases
-providerName = Eclipse.org
\ No newline at end of file
diff --git a/tests/org.eclipse.jem.tests/plugin.xml b/tests/org.eclipse.jem.tests/plugin.xml
deleted file mode 100644
index ba10481..0000000
--- a/tests/org.eclipse.jem.tests/plugin.xml
+++ /dev/null
@@ -1,42 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin
-   id="org.eclipse.jem.tests"
-   name="%pluginName"
-   version="1.1.0"
-   provider-name="%providerName"
-   class="org.eclipse.jem.tests.JavaTestsPlugin">
-
-   <runtime>
-      <library name="javatests.jar">
-         <export name="*"/>
-      </library>
-   </runtime>
-   <requires>
-      <import plugin="org.eclipse.jem.proxy"/>
-      <import plugin="org.junit"/>
-      <import plugin="org.eclipse.core.boot"/>
-      <import plugin="org.eclipse.ant.core"/>
-      <import plugin="org.eclipse.jem.beaninfo"/>
-      <import plugin="org.eclipse.jdt.core"/>
-      <import plugin="org.eclipse.jem.workbench"/>
-      <import plugin="org.eclipse.core.resources"/>
-      <import plugin="org.eclipse.jdt.launching"/>
-      <import plugin="org.eclipse.emf.ecore"/>
-      <import plugin="org.eclipse.jem"/>
-      <import plugin="org.eclipse.core.runtime"/>
-      <import plugin="org.eclipse.debug.core"/>
-   </requires>
-
-   <extension
-         point="org.eclipse.jem.beaninfo.registrations">
-      <registration
-            container="org.eclipse.jdt.launching.JRE_CONTAINER">
-         <override
-               package="org.eclipse.jem.tests.beaninfo"
-               path="testdata/overrides/beaninfo">
-         </override>
-      </registration>
-	</extension>
-
-</plugin>
diff --git a/tests/org.eclipse.jem.tests/proxy.jars b/tests/org.eclipse.jem.tests/proxy.jars
deleted file mode 100644
index 7a7029a..0000000
--- a/tests/org.eclipse.jem.tests/proxy.jars
+++ /dev/null
@@ -1,2 +0,0 @@
-vm/tests.jar=/org.eclipse.jem.tests/bin/
-javatests.jar=/org.eclipse.jem.tests/bin/
\ No newline at end of file
diff --git a/tests/org.eclipse.jem.tests/test.xml b/tests/org.eclipse.jem.tests/test.xml
deleted file mode 100644
index 57dc7f9..0000000
--- a/tests/org.eclipse.jem.tests/test.xml
+++ /dev/null
@@ -1,48 +0,0 @@
-<?xml version="1.0"?>
-
-<project name="testsuite" default="run" basedir=".">
-  <!-- The property ${eclipse-home} should be passed into this script -->
-  <!-- Set a meaningful default value for when it is not. -->
-  <property name="eclipse-home" value="${basedir}\..\.."/>
-
-  <!-- sets the properties plugin-name, and library-file -->
-  <property name="plugin-name" value="org.eclipse.jem.tests"/>
-  <property name="library-file" value="${eclipse-home}/plugins/org.eclipse.test/library.xml"/>
-
-  <!-- This target holds all initialization code that needs to be done for -->
-  <!-- all tests that are to be run. Initialization for individual tests -->
-  <!-- should be done within the body of the suite target. -->
-  <target name="init">
-    <tstamp/>
-    <delete>
-      <fileset dir="${eclipse-home}" includes="org*.xml"/>
-    </delete>
-  </target>
-
-  <!-- This target defines the tests that need to be run. -->
-  <target name="suite">
-    <property name="jem-folder" value="${eclipse-home}/jem_folder"/>
-    <delete dir="${jem-folder}" quiet="true"/>
-    <ant target="core-test" antfile="${library-file}" dir="${eclipse-home}">
-      <property name="data-dir" value="${jem-folder}"/>
-      <property name="plugin-name" value="${plugin-name}"/>
-      <property name="classname" value="org.eclipse.jem.tests.AllSuites"/>
-    </ant>
-  </target>
-
-  <!-- This target holds code to cleanup the testing environment after -->
-  <!-- after all of the tests have been run. You can use this target to -->
-  <!-- delete temporary files that have been created. -->
-  <target name="cleanup">
-  </target>
-
-  <!-- This target runs the test suite. Any actions that need to happen -->
-  <!-- after all the tests have been run should go here. -->
-  <target name="run" depends="init,suite,cleanup">
-    <ant target="collect" antfile="${library-file}" dir="${eclipse-home}">
-      <property name="includes" value="org*.xml"/>
-      <property name="output-file" value="${plugin-name}.xml"/>
-    </ant>
-  </target>
-
-</project>
\ No newline at end of file
diff --git a/tests/org.eclipse.jem.tests/testdata/extjarops.txt b/tests/org.eclipse.jem.tests/testdata/extjarops.txt
deleted file mode 100644
index a5cfb7d..0000000
--- a/tests/org.eclipse.jem.tests/testdata/extjarops.txt
+++ /dev/null
@@ -1,4 +0,0 @@
-getActionCommand
-getLabel
-setActionCommand
-setLabel
diff --git a/tests/org.eclipse.jem.tests/testdata/extjarprops.txt b/tests/org.eclipse.jem.tests/testdata/extjarprops.txt
deleted file mode 100644
index 737ed62..0000000
--- a/tests/org.eclipse.jem.tests/testdata/extjarprops.txt
+++ /dev/null
@@ -1,28 +0,0 @@
-alignmentX
-alignmentY
-background
-bounds
-colorModel
-cursor
-enabled
-focusTraversable
-componentOrientation
-font
-foreground
-graphics
-locale
-location
-locationOnScreen
-maximumSize
-minimumSize
-name
-parent
-preferredSize
-showing
-size
-toolkit
-treeLock
-valid
-visible
-actionCommand
-label
diff --git a/tests/org.eclipse.jem.tests/testdata/jlabelops.txt b/tests/org.eclipse.jem.tests/testdata/jlabelops.txt
deleted file mode 100644
index 0dad8d6..0000000
--- a/tests/org.eclipse.jem.tests/testdata/jlabelops.txt
+++ /dev/null
@@ -1,173 +0,0 @@
-hashCode
-notify
-notifyAll
-wait
-wait
-wait
-getClass
-equals
-toString
-add
-addNotify
-checkImage
-contains
-createImage
-createImage
-dispatchEvent
-doLayout
-getBackground
-getBounds
-getColorModel
-getCursor
-getFont
-getFontMetrics
-getForeground
-getGraphics
-getLocale
-getLocation
-getLocationOnScreen
-getMaximumSize
-getMinimumSize
-getName
-getParent
-getPreferredSize
-getSize
-getToolkit
-getTreeLock
-invalidate
-isEnabled
-isShowing
-isValid
-isVisible
-list
-list
-paintAll
-prepareImage
-printAll
-remove
-removeNotify
-repaint
-requestFocus
-setBackground
-setBounds
-setCursor
-setEnabled
-setForeground
-setLocale
-setLocation
-setLocation
-setName
-setSize
-setSize
-transferFocus
-validate
-add
-add
-add
-add
-add
-getAlignmentX
-getAlignmentY
-getComponent
-getComponentAt
-getComponentAt
-getComponentCount
-getComponents
-getInsets
-getLayout
-isAncestorOf
-list
-list
-print
-remove
-remove
-removeAll
-setLayout
-computeVisibleRect
-contains
-createToolTip
-firePropertyChange
-firePropertyChange
-firePropertyChange
-firePropertyChange
-firePropertyChange
-firePropertyChange
-firePropertyChange
-getAccessibleContext
-getActionForKeyStroke
-getAutoscrolls
-getBorder
-getBounds
-getClientProperty
-getConditionForKeyStroke
-getHeight
-getLocation
-getNextFocusableComponent
-getRegisteredKeyStrokes
-getRootPane
-getSize
-getToolTipText
-getTopLevelAncestor
-getVisibleRect
-getWidth
-getX
-getY
-grabFocus
-hasFocus
-isDoubleBuffered
-isFocusCycleRoot
-isFocusTraversable
-isManagingFocus
-isOpaque
-isOptimizedDrawingEnabled
-isRequestFocusEnabled
-isValidateRoot
-paint
-paintImmediately
-putClientProperty
-repaint
-requestDefaultFocus
-resetKeyboardActions
-revalidate
-scrollRectToVisible
-setAlignmentX
-setAlignmentY
-setAutoscrolls
-setBorder
-setBounds
-setDebugGraphicsOptions
-setDoubleBuffered
-setMaximumSize
-setMinimumSize
-setNextFocusableComponent
-setOpaque
-setPreferredSize
-setRequestFocusEnabled
-setToolTipText
-setVisible
-unregisterKeyboardAction
-update
-getDisabledIcon
-getDisplayedMnemonic
-getHorizontalAlignment
-getHorizontalTextPosition
-getIcon
-getIconTextGap
-getLabelFor
-getText
-getUI
-getVerticalAlignment
-getVerticalTextPosition
-setDisabledIcon
-setDisplayedMnemonic
-setFont
-setHorizontalAlignment
-setHorizontalTextPosition
-setIcon
-setIconTextGap
-setLabelFor
-setText
-setUI
-setVerticalAlignment
-setVerticalTextPosition
-updateUI
diff --git a/tests/org.eclipse.jem.tests/testdata/jlabelprops.txt b/tests/org.eclipse.jem.tests/testdata/jlabelprops.txt
deleted file mode 100644
index 24bc707..0000000
--- a/tests/org.eclipse.jem.tests/testdata/jlabelprops.txt
+++ /dev/null
@@ -1,61 +0,0 @@
-background
-bounds
-colorModel
-cursor
-enabled
-focusTraversable
-foreground
-locale
-location
-locationOnScreen
-componentOrientation
-name
-parent
-showing
-size
-toolkit
-treeLock
-valid
-visible
-componentCount
-components
-layout
-alignmentX
-alignmentY
-autoscrolls
-border
-debugGraphicsOptions
-doubleBuffered
-focusCycleRoot
-graphics
-height
-insets
-managingFocus
-maximumSize
-minimumSize
-nextFocusableComponent
-opaque
-optimizedDrawingEnabled
-paintingTile
-preferredSize
-registeredKeyStrokes
-requestFocusEnabled
-rootPane
-toolTipText
-topLevelAncestor
-validateRoot
-visibleRect
-width
-x
-y
-disabledIcon
-displayedMnemonic
-font
-horizontalAlignment
-horizontalTextPosition
-icon
-iconTextGap
-labelFor
-text
-verticalAlignment
-verticalTextPosition
diff --git a/tests/org.eclipse.jem.tests/testdata/overrides/beaninfo/TestOverrides.override b/tests/org.eclipse.jem.tests/testdata/overrides/beaninfo/TestOverrides.override
deleted file mode 100644
index 17639ad..0000000
--- a/tests/org.eclipse.jem.tests/testdata/overrides/beaninfo/TestOverrides.override
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-	xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore"
-    xmlns:event="event.xmi">
-  <event:AddMany  featureName="eStructuralFeatures">
-    <addedEObjects xsi:type="ecore:EReference" name="xyz">
-      <eAnnotations source="Override Annotation"/>
-    </addedEObjects>
-    <addedEObjects xsi:type="ecore:EReference" name="test79083"/>    
-  </event:AddMany>
-  
-</xmi:XMI>
diff --git a/tests/org.eclipse.jem.tests/testdata/testbeaninfo.zip b/tests/org.eclipse.jem.tests/testdata/testbeaninfo.zip
deleted file mode 100644
index bf70abf..0000000
--- a/tests/org.eclipse.jem.tests/testdata/testbeaninfo.zip
+++ /dev/null
Binary files differ
diff --git a/tests/org.eclipse.jem.tests/testdata/testbeaninfobeaninfos.zip b/tests/org.eclipse.jem.tests/testdata/testbeaninfobeaninfos.zip
deleted file mode 100644
index aa69c1a..0000000
--- a/tests/org.eclipse.jem.tests/testdata/testbeaninfobeaninfos.zip
+++ /dev/null
Binary files differ
diff --git a/tests/org.eclipse.jem.tests/testdata/testbeaninfopreq.zip b/tests/org.eclipse.jem.tests/testdata/testbeaninfopreq.zip
deleted file mode 100644
index 913e8af..0000000
--- a/tests/org.eclipse.jem.tests/testdata/testbeaninfopreq.zip
+++ /dev/null
Binary files differ
diff --git a/tests/org.eclipse.jem.tests/testdata/testbuttonbeaninfoui1projectjar.zip b/tests/org.eclipse.jem.tests/testdata/testbuttonbeaninfoui1projectjar.zip
deleted file mode 100644
index ac2b587..0000000
--- a/tests/org.eclipse.jem.tests/testdata/testbuttonbeaninfoui1projectjar.zip
+++ /dev/null
Binary files differ
diff --git a/tests/org.eclipse.jem.tests/testdata/testremoteproject.zip b/tests/org.eclipse.jem.tests/testdata/testremoteproject.zip
deleted file mode 100644
index 4a23022..0000000
--- a/tests/org.eclipse.jem.tests/testdata/testremoteproject.zip
+++ /dev/null
Binary files differ
diff --git a/tests/org.eclipse.jem.tests/testdata/unzip.xml b/tests/org.eclipse.jem.tests/testdata/unzip.xml
deleted file mode 100644
index 0097a75..0000000
--- a/tests/org.eclipse.jem.tests/testdata/unzip.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<project name="zip" default="zip" basedir=".">
-  <target name="zip">
-    <unzip src="${zipfrom}" dest="${zipto}" />  
-  </target>
-</project>
\ No newline at end of file
diff --git a/tests/org.eclipse.jem.tests/vm_tests/org/eclipse/jem/tests/proxy/vm/TestCallback.java b/tests/org.eclipse.jem.tests/vm_tests/org/eclipse/jem/tests/proxy/vm/TestCallback.java
deleted file mode 100644
index 5cf3d6c..0000000
--- a/tests/org.eclipse.jem.tests/vm_tests/org/eclipse/jem/tests/proxy/vm/TestCallback.java
+++ /dev/null
@@ -1,87 +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.jem.tests.proxy.vm;
-/*
- *  $RCSfile: TestCallback.java,v $
- *  $Revision: 1.4 $  $Date: 2005/02/15 23:00:32 $ 
- */
-
-import org.eclipse.jem.internal.proxy.common.*;
-/**
- * This is a test for testing callbacks.
- */
-public class TestCallback implements ICallback {
-	
-	IVMServer vmServer;
-	int callbackID;
-	boolean stop = false;
-
-	/**
-	 * When told to start, it will send a callback
-	 * once every half second until told to stop.
-	 */
-	public void start() {
-		new Thread(new Runnable() {
-			public void run() {
-				// First send back test for IDE calling back on same thread. We do this by sending the thread id
-				// as a constant and the other side will then call back to remote, ask for the thread id, and
-				// see if it matches.
-				try {
-					vmServer.doCallback(new ICallbackRunnable() {
-						public Object run(ICallbackHandler handler) throws CommandException {
-							return handler.callbackAsConstants(callbackID, 1, new Integer(Thread.currentThread().hashCode()));
-						}
-					});
-					
-				} catch (CommandException e) {
-				}
-				
-				// Now do the regular testing.
-				final Integer[] p = new Integer[] {new Integer(0)};
-				while(!stop) {
-					try {
-						Thread.sleep(500);
-					} catch (InterruptedException e) {
-						continue;
-					}
-					if (stop)
-						break;
-					// Now signal the callback.
-					p[0] = new Integer(p[0].intValue()+1);
-					try {
-						vmServer.doCallback(new ICallbackRunnable() {
-							public Object run(ICallbackHandler handler) throws CommandException {
-								return handler.callbackWithParms(callbackID, 0, p);								
-							}
-						});
-					} catch (CommandException e) {
-					}						
-				}
-			}
-		}).start();
-	}
-	
-	/**
-	 * Tell it stop.
-	 */
-	public void stop() {
-		stop = true;
-	}
-	
-	/**
-	 * It is being initialized.
-	 */
-	public void initializeCallback(IVMServer server, int id) {
-		vmServer = server;
-		callbackID = id;
-	}
-
-}
diff --git a/tests/org.eclipse.jem.tests/vm_tests/org/eclipse/jem/tests/proxy/vm/TestCallbackStream.java b/tests/org.eclipse.jem.tests/vm_tests/org/eclipse/jem/tests/proxy/vm/TestCallbackStream.java
deleted file mode 100644
index 94f6410..0000000
--- a/tests/org.eclipse.jem.tests/vm_tests/org/eclipse/jem/tests/proxy/vm/TestCallbackStream.java
+++ /dev/null
@@ -1,63 +0,0 @@
-package org.eclipse.jem.tests.proxy.vm;
-/*******************************************************************************
- * Copyright (c)  2001, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Eclipse Public License v1.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: TestCallbackStream.java,v $
- *  $Revision: 1.2 $  $Date: 2005/02/15 23:00:32 $ 
- */
-
-import java.io.IOException;
-import java.io.OutputStream;
-
-import org.eclipse.jem.internal.proxy.common.ICallback;
-import org.eclipse.jem.internal.proxy.common.IVMServer;
-/**
- * This is a test for testing callback streams.
- */
-public class TestCallbackStream implements ICallback {
-	
-	IVMServer vmServer;
-	int callbackID;
-	boolean stop = false;
-
-	/**
-	 * When told to start, it will send a stream of 30000 bytes of incrementing
-	 * value (i.e. 0, 1, 2, ..., 127, -127, ...)
-	 */
-	public void start() {
-		new Thread(new Runnable() {
-			public void run() {
-				OutputStream os = null;
-				try {
-					os = vmServer.requestStream(callbackID, 0);
-					if (os != null)
-						for (int i=0; i<30000; i++)
-							os.write(i);
-				} catch (Exception e) {
-					e.printStackTrace();
-				}
-				try {
-					if (os != null)
-						os.close();
-				} catch (IOException e) {
-				}
-		}}).start();
-	}
-	
-	/**
-	 * It is being initialized.
-	 */
-	public void initializeCallback(IVMServer server, int id) {
-		vmServer = server;
-		callbackID = id;
-	}
-
-}
\ No newline at end of file
diff --git a/tests/org.eclipse.jem.tests/vm_tests/testPackage/TestAccess.java b/tests/org.eclipse.jem.tests/vm_tests/testPackage/TestAccess.java
deleted file mode 100644
index e487cea..0000000
--- a/tests/org.eclipse.jem.tests/vm_tests/testPackage/TestAccess.java
+++ /dev/null
@@ -1,64 +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: TestAccess.java,v $
- *  $Revision: 1.2 $  $Date: 2005/02/15 23:00:32 $ 
- */
-package testPackage;
- 
-
-/**
- * Used for testing fields.
- * @since 1.1.0
- */
-public class TestAccess {
-
-	public int field1;
-	protected int field2;
-
-	TestAccess(RuntimeException i) {
-		
-	}
-	
-	TestAccess(Throwable n) {
-		
-	}
-	
-	public TestAccess(Exception o) {
-		
-	}
-	
-	public void ddd(Integer o, Number n) {
-		
-	}
-	
-	public void ddd(Number o, Integer n) {
-		
-	}
-	
-	public void ddd(Number n, Number n1) {
-		
-	}
-
-	
-	public void xyz() {
-	}
-	
-	public void xyz(Number n) {
-	}
-	
-	public void xyz(Object n) {
-	}
-	
-	protected void qxr() {
-		
-	}
-}
diff --git a/tests/org.eclipse.jem.tests/vm_tests/testPackage/TestCtorWithNull.java b/tests/org.eclipse.jem.tests/vm_tests/testPackage/TestCtorWithNull.java
deleted file mode 100644
index 56d4985..0000000
--- a/tests/org.eclipse.jem.tests/vm_tests/testPackage/TestCtorWithNull.java
+++ /dev/null
@@ -1,27 +0,0 @@
-package testPackage;
-/*******************************************************************************
- * 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
- *******************************************************************************/
-/*
- *  $RCSfile: TestCtorWithNull.java,v $
- *  $Revision: 1.2 $  $Date: 2005/02/15 23:00:32 $ 
- */
-
-/**
- * 
- * @since 1.0.0
- */
-public class TestCtorWithNull {
-
-	public TestCtorWithNull(String x) {
-		// This is just a test to see that ctor will be selected if it has a null passed in for Tree Expression Processing.
-	}
-
-}
diff --git a/tests/org.eclipse.jst.validation.sample/.classpath b/tests/org.eclipse.jst.validation.sample/.classpath
deleted file mode 100644
index 202b238..0000000
--- a/tests/org.eclipse.jst.validation.sample/.classpath
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="propertiesValidator/"/>
-	<classpathentry kind="src" path="propertiesValFS/"/>
-	<classpathentry kind="src" path="propertiesValWB/"/>
-	<classpathentry kind="src" path="filesystemFWK/"/>
-	<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/tests/org.eclipse.jst.validation.sample/.cvsignore b/tests/org.eclipse.jst.validation.sample/.cvsignore
deleted file mode 100644
index ba077a4..0000000
--- a/tests/org.eclipse.jst.validation.sample/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-bin
diff --git a/tests/org.eclipse.jst.validation.sample/.project b/tests/org.eclipse.jst.validation.sample/.project
deleted file mode 100644
index aff2b8f..0000000
--- a/tests/org.eclipse.jst.validation.sample/.project
+++ /dev/null
@@ -1,30 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.jst.validation.sample</name>
-	<comment></comment>
-	<projects>
-		<project>com.ibm.etools.validation</project>
-		<project>com.ibm.wtp.common</project>
-	</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/tests/org.eclipse.jst.validation.sample/build.properties b/tests/org.eclipse.jst.validation.sample/build.properties
deleted file mode 100644
index 3cf80e0..0000000
--- a/tests/org.eclipse.jst.validation.sample/build.properties
+++ /dev/null
@@ -1,10 +0,0 @@
-source.runtime/propertiesValidator.jar = propertiesValidator/,\
-                                         propertiesValFS/,\
-                                         propertiesValWB/,\
-                                         filesystemFWK/
-bin.includes = runtime/propertiesValidator.jar,\
-               plugin.xml,\
-               filesystem.bat,\
-               prop.bat
-jars.compile.order = runtime/propertiesValidator.jar
-output.runtime/propertiesValidator.jar = bin/
diff --git a/tests/org.eclipse.jst.validation.sample/filesystem.bat b/tests/org.eclipse.jst.validation.sample/filesystem.bat
deleted file mode 100644
index 2dc85a9..0000000
--- a/tests/org.eclipse.jst.validation.sample/filesystem.bat
+++ /dev/null
@@ -1,46 +0,0 @@
-@echo off
-REM Licensed Material - Property of IBM 
-REM (C) Copyright IBM Corp. 2002, 2003 - All Rights Reserved. 
-REM US Government Users Restricted Rights - Use, duplication or disclosure 
-REM restricted by GSA ADP Schedule Contract with IBM Corp. 
-REM 
-REM DISCLAIMER OF WARRANTIES.
-REM The following [enclosed] code is sample code created by IBM
-REM Corporation. This sample code is not part of any standard or IBM
-REM product and is provided to you solely for the purpose of assisting
-REM you in the development of your applications.  The code is provided
-REM "AS IS". IBM MAKES NO WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT
-REM NOT LIMITED TO THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
-REM FOR A PARTICULAR PURPOSE, REGARDING THE FUNCTION OR PERFORMANCE OF
-REM THIS CODE.  THIS CODE MAY CONTAIN ERRORS.  IBM shall not be liable
-REM for any damages arising out of your use of the sample code, even
-REM if it has been advised of the possibility of such damages.
-REM 
-REM This batch file runs the "filesystem framework"'s application
-REM
-setlocal
-
-if "%JAVA_HOME%" EQU "" goto syntax
-
-set CLASSPATH=%CLASSPATH%;..\com.ibm.etools.logging.util_5.1.0\runtime\logutil.jar
-set CLASSPATH=%CLASSPATH%;..\com.ibm.etools.validation.core_5.1.0\runtime\common.jar
-set CLASSPATH=%CLASSPATH%;.\runtime\propertiesValidator.jar
-set CLASSPATH=%CLASSPATH%;.\runtime\filesystemFWK.jar
-set CLASSPATH=%CLASSPATH%;.\runtime\propertiesValWB.jar
-set CLASSPATH=%CLASSPATH%;.\runtime\propertiesValFS.jar
-
-%JAVA_HOME%\bin\java com.ibm.etools.validation.filesystem.FilesystemApplication %1
-goto :end
-
-:syntax
-echo.
-echo The JAVA_HOME environment variable must be set to the JRE directory.
-echo e.g., set JAVA_HOME=C:\JRE
-echo where JRE has a subdirectory named "bin"
-echo.
-echo.
-goto :end
-
-:end
-endlocal
-@echo on
\ No newline at end of file
diff --git a/tests/org.eclipse.jst.validation.sample/filesystemFWK/filesystem.properties b/tests/org.eclipse.jst.validation.sample/filesystemFWK/filesystem.properties
deleted file mode 100644
index a728349..0000000
--- a/tests/org.eclipse.jst.validation.sample/filesystemFWK/filesystem.properties
+++ /dev/null
@@ -1,21 +0,0 @@
-#
-# Licensed Material - Property of IBM 
-# (C) Copyright IBM Corp. 2002, 2003 - All Rights Reserved. 
-# US Government Users Restricted Rights - Use, duplication or disclosure 
-# restricted by GSA ADP Schedule Contract with IBM Corp. 
-#
-#  DISCLAIMER OF WARRANTIES.
-#  The following [enclosed] code is sample code created by IBM
-#  Corporation. This sample code is not part of any standard or IBM
-#  product and is provided to you solely for the purpose of assisting
-#  you in the development of your applications.  The code is provided
-#  "AS IS". IBM MAKES NO WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT
-#  NOT LIMITED TO THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
-#  FOR A PARTICULAR PURPOSE, REGARDING THE FUNCTION OR PERFORMANCE OF
-#  THIS CODE.  THIS CODE MAY CONTAIN ERRORS.  IBM shall not be liable
-#  for any damages arising out of your use of the sample code, even
-#  if it has been advised of the possibility of such damages.
-#
-
-# VFFS = Validation Framework File System 
-VFFS0000 = VFFS0000E: Internal error caused premature termination of validator {0}. See the stack trace below.
\ No newline at end of file
diff --git a/tests/org.eclipse.jst.validation.sample/filesystemFWK/org/eclipse/wst/validation/sample/filesystem/FilesystemApplication.java b/tests/org.eclipse.jst.validation.sample/filesystemFWK/org/eclipse/wst/validation/sample/filesystem/FilesystemApplication.java
deleted file mode 100644
index c0cf899..0000000
--- a/tests/org.eclipse.jst.validation.sample/filesystemFWK/org/eclipse/wst/validation/sample/filesystem/FilesystemApplication.java
+++ /dev/null
@@ -1,82 +0,0 @@
-package org.eclipse.wst.validation.sample.filesystem;
-/*
- * Licensed Material - Property of IBM 
- * (C) Copyright IBM Corp. 2002, 2003 - All Rights Reserved. 
- * US Government Users Restricted Rights - Use, duplication or disclosure 
- * restricted by GSA ADP Schedule Contract with IBM Corp. 
- *
- * DISCLAIMER OF WARRANTIES.
- * The following [enclosed] code is sample code created by IBM
- * Corporation. This sample code is not part of any standard or IBM
- * product and is provided to you solely for the purpose of assisting
- * you in the development of your applications.  The code is provided
- * "AS IS". IBM MAKES NO WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT
- * NOT LIMITED TO THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE, REGARDING THE FUNCTION OR PERFORMANCE OF
- * THIS CODE.  THIS CODE MAY CONTAIN ERRORS.  IBM shall not be liable
- * for any damages arising out of your use of the sample code, even
- * if it has been advised of the possibility of such damages.
- * 
- */
-
-
-import org.eclipse.wst.validation.core.IFileDelta;
-import org.eclipse.wst.validation.core.IMessage;
-import org.eclipse.wst.validation.core.IReporter;
-import org.eclipse.wst.validation.core.ValidationException;
-import org.eclispe.wst.validation.internal.core.Message;
-import org.eclispe.wst.validation.internal.core.ValidatorLauncher;
-
-/**
- * This class is the representation of a file system based application
- * which needs to use the common validation APIs.
- */
-public class FilesystemApplication {
-	/**
-	 * The argv[] parameter needs to be a fully-qualified list of file names 
-	 * of files that should be validated. 
-	 */
-	public static void main(String argv[]) {
-		IFileDelta[] files = FilesystemManager.getManager().getFileDeltas(argv);
-		boolean fullBuild = ((files == null) || (files.length == 0));
-
-		IReporter reporter = null;
-		if (fullBuild) {
-			reporter = new FullReporter();
-		}
-		else {
-			reporter = new IncrementalReporter();
-		}
-
-		FilesystemLoader loaders[] = FilesystemManager.getManager().getLoaders(files);
-		for (int i=0; i<loaders.length; i++) {
-			FilesystemLoader loader = loaders[i];
-			try {
-				ValidatorLauncher.getLauncher().start(loader.getHelper(), loader.getValidator(), reporter, files);
-				if (!fullBuild) {
-					((IncrementalReporter)reporter).report();
-				}
-			}
-			catch (ValidationException exc) {
-				Message message = new Message("filesystem", IMessage.HIGH_SEVERITY, "VFFS0000", new String[]{loader.getValidator().getClass().getName()}); //$NON-NLS-1$  //$NON-NLS-2$
-				reporter.displaySubtask(loader.getValidator(), message);
-				
-				if(exc.getAssociatedMessage() != null) {
-					System.out.println(exc.getAssociatedMessage());
-				}
-				
-				exc.printStackTrace();
-				if(exc.getAssociatedException() != null) {
-					exc.getAssociatedException().printStackTrace();
-				}
-				// continue with the next validation
-			}
-			catch (Exception exc) {
-				Message message = new Message("filesystem", IMessage.HIGH_SEVERITY, "VFFS0000", new String[]{loader.getValidator().getClass().getName()}); //$NON-NLS-1$ //$NON-NLS-2$
-				reporter.displaySubtask(loader.getValidator(), message);
-				// continue with the next validation
-				exc.printStackTrace();
-			}
-		}
-	}
-}
diff --git a/tests/org.eclipse.jst.validation.sample/filesystemFWK/org/eclipse/wst/validation/sample/filesystem/FilesystemLoader.java b/tests/org.eclipse.jst.validation.sample/filesystemFWK/org/eclipse/wst/validation/sample/filesystem/FilesystemLoader.java
deleted file mode 100644
index 08fb649..0000000
--- a/tests/org.eclipse.jst.validation.sample/filesystemFWK/org/eclipse/wst/validation/sample/filesystem/FilesystemLoader.java
+++ /dev/null
@@ -1,62 +0,0 @@
-package org.eclipse.wst.validation.sample.filesystem;
-/*
- * Licensed Material - Property of IBM 
- * (C) Copyright IBM Corp. 2002, 2003 - All Rights Reserved. 
- * US Government Users Restricted Rights - Use, duplication or disclosure 
- * restricted by GSA ADP Schedule Contract with IBM Corp. 
- *
- * DISCLAIMER OF WARRANTIES.
- * The following [enclosed] code is sample code created by IBM
- * Corporation. This sample code is not part of any standard or IBM
- * product and is provided to you solely for the purpose of assisting
- * you in the development of your applications.  The code is provided
- * "AS IS". IBM MAKES NO WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT
- * NOT LIMITED TO THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE, REGARDING THE FUNCTION OR PERFORMANCE OF
- * THIS CODE.  THIS CODE MAY CONTAIN ERRORS.  IBM shall not be liable
- * for any damages arising out of your use of the sample code, even
- * if it has been advised of the possibility of such damages.
- * 
- */
-
-import org.eclipse.wst.validation.core.IValidator;
-
-/**
- * This class associates a Validator with a Helper and the file extensions that
- * the validator runs on.
- */
-public class FilesystemLoader {
-	private IFilesystemHelper _helper = null;
-	private IValidator _validator = null;
-	private String[] _fileExtensions = null;
-	
-	public FilesystemLoader(String[] fileExtensions, IFilesystemHelper helper, IValidator validator) {
-		super();
-
-		_fileExtensions = fileExtensions;
-		_helper = helper;
-		_validator = validator;
-	}
-	
-	/**
-	 * Return the helper that the validator needs to access information 
-	 * in the filesystem validation framework.
-	 */
-	public IFilesystemHelper getHelper() {
-		return _helper;
-	}
-
-	/**
-	 * Return the validator that checks the rules.
-	 */
-	public IValidator getValidator() {
-		return _validator;
-	}
-	
-	/**
-	 * Return a list of file name extensions that this validator validates.
-	 */
-	public String[] getFileExtensions() {
-		return _fileExtensions;
-	}
-}
diff --git a/tests/org.eclipse.jst.validation.sample/filesystemFWK/org/eclipse/wst/validation/sample/filesystem/FilesystemManager.java b/tests/org.eclipse.jst.validation.sample/filesystemFWK/org/eclipse/wst/validation/sample/filesystem/FilesystemManager.java
deleted file mode 100644
index 03ca768..0000000
--- a/tests/org.eclipse.jst.validation.sample/filesystemFWK/org/eclipse/wst/validation/sample/filesystem/FilesystemManager.java
+++ /dev/null
@@ -1,220 +0,0 @@
-package org.eclipse.wst.validation.sample.filesystem;
-/*
- * Licensed Material - Property of IBM 
- * (C) Copyright IBM Corp. 2002, 2003 - All Rights Reserved. 
- * US Government Users Restricted Rights - Use, duplication or disclosure 
- * restricted by GSA ADP Schedule Contract with IBM Corp. 
- *
- * DISCLAIMER OF WARRANTIES.
- * The following [enclosed] code is sample code created by IBM
- * Corporation. This sample code is not part of any standard or IBM
- * product and is provided to you solely for the purpose of assisting
- * you in the development of your applications.  The code is provided
- * "AS IS". IBM MAKES NO WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT
- * NOT LIMITED TO THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE, REGARDING THE FUNCTION OR PERFORMANCE OF
- * THIS CODE.  THIS CODE MAY CONTAIN ERRORS.  IBM shall not be liable
- * for any damages arising out of your use of the sample code, even
- * if it has been advised of the possibility of such damages.
- * 
- */
-
-
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.Set;
-
-import org.eclipse.wst.validation.core.IFileDelta;
-import org.eclipse.wst.validation.core.IValidator;
-import org.eclispe.wst.validation.internal.core.FileDelta;
-
-/**
- * This class is the heart of the filesystem validation framework.
- * It &quot;loads&quot; each validator's metadata
- */
-public class FilesystemManager {
-	private static FilesystemManager _inst = null;
-	private Set _loaders = null;
-	
-	private FilesystemManager() {
-		_loaders = new HashSet();
-		
-		// Please pretend that this metadata, i.e., the file extension, fully-qualified
-		// class name of the helper, and fully-qualified class name of the validator, 
-		// was loaded generically somehow. In practice, this information could be stored
-		// in .xml files, in a configuration file, etc., that the framework would read
-		// to find the installed validators.
-		try {
-			_loaders.add(new FilesystemLoader(new String[]{".properties"}, loadHelper("org.eclipse.jst.validation.sample.filesystemimpl.FilesystemPropertiesHelper"), loadValidator("org.eclipse.wst.validation.sample.PropertiesValidator"))); //$NON-NLS-1$  //$NON-NLS-2$ //$NON-NLS-3$
-		}
-		catch(IllegalArgumentException exc) {
-			exc.printStackTrace();
-		}
-		catch(ClassNotFoundException exc) {
-			exc.printStackTrace();
-		}
-		catch(IllegalAccessException exc) {
-			exc.printStackTrace();
-		}
-		catch(InstantiationException exc) {
-			exc.printStackTrace();
-		}
-	}
-	
-	/**
-	 * Given a fully-qualified name of a helper, return an instance of it.
-	 */
-	private static IFilesystemHelper loadHelper(String className) throws IllegalArgumentException, ClassNotFoundException, IllegalAccessException, InstantiationException  {
-		return (IFilesystemHelper)loadClass(className);
-	}
-	
-	/**
-	 * Given a fully-qualified name of a validator, return an instance of it.
-	 */
-	private static IValidator loadValidator(String className) throws IllegalArgumentException, ClassNotFoundException, IllegalAccessException, InstantiationException  {
-		return (IValidator)loadClass(className);
-	}
-	
-	/**
-	 * Return an instance of the class identified by the className parameter,
-	 * which contains the fully-qualified class name of the class.
-	 */
-	private static Object loadClass(String className) throws IllegalArgumentException, ClassNotFoundException, IllegalAccessException, InstantiationException {
-		if(className == null) {
-			throw new IllegalArgumentException("loadClass argument must not be null"); //$NON-NLS-1$
-		}
-		
-		Class clazz = Class.forName(className);
-		return clazz.newInstance();		
-	}
-	
-	/**
-	 * Return the FilesystemManager singleton.
-	 */
-	public static FilesystemManager getManager() {
-		if(_inst == null) {
-			_inst = new FilesystemManager();
-		}
-		return _inst;
-	}
-
-	/**
-	 * Given an array of file names, return an array of IFileDelta
-	 * instances to pass to the validator instance.
-	 */
-	public IFileDelta[] getFileDeltas(String[] fileNames) {
-		if((fileNames == null) || (fileNames.length == 0)) {
-			return null;
-		}
-		
-		FileDelta[] files = new FileDelta[fileNames.length];
-		for(int i=0; i<fileNames.length; i++) {
-			files[i] = new FileDelta(fileNames[i], IFileDelta.CHANGED);
-		}
-		return files;
-	}
-	
-	/**
-	 * Given an array of IFileDelta instances, return an array
-	 * of the IValidator instances, with their associated IHelper instances,
-	 * that validate these particular delta instances.
-	 */
-	public FilesystemLoader[] getLoaders(IFileDelta[] deltas) {
-		if(deltas == null) {
-			return getAllLoaders();
-		}
-
-		Set loaders = new HashSet();		
-		for(int i=0; i<deltas.length; i++) {
-			FilesystemLoader[] loaderArray = getLoadersFor(deltas[i]);
-			if(loaderArray != null) {
-				for(int j=0; j<loaderArray.length; j++) {
-					loaders.add(loaderArray[j]);
-				}
-			}
-		}
-		
-		FilesystemLoader[] result = new FilesystemLoader[loaders.size()];
-		loaders.toArray(result);
-		return result;
-	}
-	
-	/**
-	 * Given an IValidator instance, return the IHelper instance that the
-	 * IValidator uses to load information from the filesystem validation
-	 * framework environment.
-	 */
-	public IFilesystemHelper getHelper(IValidator validator) {
-		if(validator == null) {
-			return null;
-		}
-		
-		Iterator iterator = _loaders.iterator();
-		while(iterator.hasNext()) {
-			FilesystemLoader loader = (FilesystemLoader)iterator.next();
-			if(validator.equals(loader.getValidator())) {
-				return loader.getHelper();
-			}
-		}
-		
-		return null;
-	}
-	
-	/**
-	 * Given the fully-qualified name of the validator, return the IValidator instance.
-	 * null will be returned if the IValidator cannot be found.
-	 */
-	public IValidator getValidator(String validatorClassName) {
-		if(validatorClassName == null) {
-			return null;
-		}
-		
-		Iterator iterator = _loaders.iterator();
-		while(iterator.hasNext()) {
-			FilesystemLoader loader = (FilesystemLoader)iterator.next();
-			if(validatorClassName.equals(loader.getValidator().getClass().getName())) {
-				return loader.getValidator();
-			}
-		}
-		
-		return null;
-	}
-	
-	/**
-	 * Return an array of all FilesystemLoader instances. Each loader has
-	 * one IValidator and one IHelper.
-	 */
-	public FilesystemLoader[] getAllLoaders() {
-		FilesystemLoader[] result = new FilesystemLoader[_loaders.size()];
-		_loaders.toArray(result);
-		return result;
-	}
-
-	/**
-	 * Given a file name, return the loader which contains the validator & helper
-	 * which can validate that file, if one exists.
-	 */
-	public FilesystemLoader[] getLoadersFor(IFileDelta delta) {
-		Iterator iterator = _loaders.iterator();
-		FilesystemLoader[] tempLoaders = new FilesystemLoader[_loaders.size()];
-		int count = 0;
-		while(iterator.hasNext()) {
-			FilesystemLoader loader = (FilesystemLoader)iterator.next();
-			String[] fileExtensions = loader.getFileExtensions();
-			if(fileExtensions == null) {
-				continue;
-			}
-			
-			for(int i=0; i<fileExtensions.length; i++) {
-				if(delta.getFileName().endsWith(fileExtensions[i])) {
-					tempLoaders[count++] = loader;
-				}
-			}
-		}
-		
-		FilesystemLoader[] result = new FilesystemLoader[count];
-		System.arraycopy(tempLoaders, 0, result, 0, count);
-		return result;
-	}
-
-}
diff --git a/tests/org.eclipse.jst.validation.sample/filesystemFWK/org/eclipse/wst/validation/sample/filesystem/FullReporter.java b/tests/org.eclipse.jst.validation.sample/filesystemFWK/org/eclipse/wst/validation/sample/filesystem/FullReporter.java
deleted file mode 100644
index 31fabbb..0000000
--- a/tests/org.eclipse.jst.validation.sample/filesystemFWK/org/eclipse/wst/validation/sample/filesystem/FullReporter.java
+++ /dev/null
@@ -1,91 +0,0 @@
-package org.eclipse.wst.validation.sample.filesystem;
-/*
- * Licensed Material - Property of IBM 
- * (C) Copyright IBM Corp. 2002, 2003 - All Rights Reserved. 
- * US Government Users Restricted Rights - Use, duplication or disclosure 
- * restricted by GSA ADP Schedule Contract with IBM Corp. 
- *
- * DISCLAIMER OF WARRANTIES.
- * The following [enclosed] code is sample code created by IBM
- * Corporation. This sample code is not part of any standard or IBM
- * product and is provided to you solely for the purpose of assisting
- * you in the development of your applications.  The code is provided
- * "AS IS". IBM MAKES NO WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT
- * NOT LIMITED TO THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE, REGARDING THE FUNCTION OR PERFORMANCE OF
- * THIS CODE.  THIS CODE MAY CONTAIN ERRORS.  IBM shall not be liable
- * for any damages arising out of your use of the sample code, even
- * if it has been advised of the possibility of such damages.
- * 
- */
-
-import org.eclipse.wst.validation.core.IMessage;
-import org.eclipse.wst.validation.core.IMessageAccess;
-import org.eclipse.wst.validation.core.IReporter;
-import org.eclipse.wst.validation.core.IValidator;
-
-/**
- * This reporter is used when full validation is needed. It doesn't cache
- * anything, so it's faster than the IncrementalReporter.
- */
-public class FullReporter implements IReporter {
-	public FullReporter() {
-		super();
-	}
-
-	/**
-	 * @see IReporter#addMessage(IValidator, IMessage)
-	 */
-	public void addMessage(IValidator validator, IMessage message) {
-		if (message == null) {
-			return;
-		}
-
-		System.out.println(MessageManager.formatMessage(validator, message));
-	}
-	
-	/**
-	 * @see IReporter#displaySubtask(IValidator, IMessage)
-	 */
-	public void displaySubtask(IValidator validator, IMessage message) {
-		// Flush the message to the user immediately.
-		System.err.println(message.getText());
-	}
-	
-	/**
-	 * @see IReporter#getMessageAccess()
-	 */
-	public IMessageAccess getMessageAccess() {
-		// this reporter does not support message access 
-		return null;
-	}
-	
-	/**
-	 * @see IReporter#isCancelled()
-	 */
-	public boolean isCancelled() {
-		// to make things easy, do not allow the user to cancel validation.
-		return false;
-	}
-	
-	/**
-	 * @see IReporter#removeAllMessages(IValidator)
-	 */
-	public void removeAllMessages(IValidator validator) {
-		// since no messages are stored, there's nothing to remove
-	}
-	
-	/**
-	 * @see IReporter#removeAllMessages(IValidator, Object)
-	 */
-	public void removeAllMessages(IValidator validator, Object object) {
-		// since no messages are stored, there's nothing to remove
-	}
-	
-	/**
-	 * @see IReporter#removeMessageSubset(IValidator, Object, String)
-	 */
-	public void removeMessageSubset(IValidator validator, Object obj, String groupName) {
-		// Since this reporter doesn't store messages, there is no removal of any messages
-	}
-}
diff --git a/tests/org.eclipse.jst.validation.sample/filesystemFWK/org/eclipse/wst/validation/sample/filesystem/IFilesystemHelper.java b/tests/org.eclipse.jst.validation.sample/filesystemFWK/org/eclipse/wst/validation/sample/filesystem/IFilesystemHelper.java
deleted file mode 100644
index 7d5a9ee..0000000
--- a/tests/org.eclipse.jst.validation.sample/filesystemFWK/org/eclipse/wst/validation/sample/filesystem/IFilesystemHelper.java
+++ /dev/null
@@ -1,34 +0,0 @@
-package org.eclipse.wst.validation.sample.filesystem;
-/*
- * Licensed Material - Property of IBM 
- * (C) Copyright IBM Corp. 2002, 2003 - All Rights Reserved. 
- * US Government Users Restricted Rights - Use, duplication or disclosure 
- * restricted by GSA ADP Schedule Contract with IBM Corp. 
- *
- * DISCLAIMER OF WARRANTIES.
- * The following [enclosed] code is sample code created by IBM
- * Corporation. This sample code is not part of any standard or IBM
- * product and is provided to you solely for the purpose of assisting
- * you in the development of your applications.  The code is provided
- * "AS IS". IBM MAKES NO WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT
- * NOT LIMITED TO THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE, REGARDING THE FUNCTION OR PERFORMANCE OF
- * THIS CODE.  THIS CODE MAY CONTAIN ERRORS.  IBM shall not be liable
- * for any damages arising out of your use of the sample code, even
- * if it has been advised of the possibility of such damages.
- * 
- */
-
-import org.eclipse.wst.validation.core.IHelper;
-import org.eclipse.wst.validation.core.IMessage;
-
-/**
- * To integrate a validator into this framework, an implementation of this
- * IHelper must be provided.
- */
-public interface IFilesystemHelper extends IHelper {
-	/**
-	 * Return the fully-qualified name of the file which the IMessage is reported against.
-	 */
-	public String getFileName(IMessage message);
-}
diff --git a/tests/org.eclipse.jst.validation.sample/filesystemFWK/org/eclipse/wst/validation/sample/filesystem/IncrementalReporter.java b/tests/org.eclipse.jst.validation.sample/filesystemFWK/org/eclipse/wst/validation/sample/filesystem/IncrementalReporter.java
deleted file mode 100644
index dfd6f04..0000000
--- a/tests/org.eclipse.jst.validation.sample/filesystemFWK/org/eclipse/wst/validation/sample/filesystem/IncrementalReporter.java
+++ /dev/null
@@ -1,169 +0,0 @@
-package org.eclipse.wst.validation.sample.filesystem;
-/*
- * Licensed Material - Property of IBM 
- * (C) Copyright IBM Corp. 2002, 2003 - All Rights Reserved. 
- * US Government Users Restricted Rights - Use, duplication or disclosure 
- * restricted by GSA ADP Schedule Contract with IBM Corp. 
- *
- * DISCLAIMER OF WARRANTIES.
- * The following [enclosed] code is sample code created by IBM
- * Corporation. This sample code is not part of any standard or IBM
- * product and is provided to you solely for the purpose of assisting
- * you in the development of your applications.  The code is provided
- * "AS IS". IBM MAKES NO WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT
- * NOT LIMITED TO THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE, REGARDING THE FUNCTION OR PERFORMANCE OF
- * THIS CODE.  THIS CODE MAY CONTAIN ERRORS.  IBM shall not be liable
- * for any damages arising out of your use of the sample code, even
- * if it has been advised of the possibility of such damages.
- * 
- */
-
-import java.util.Collections;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.wst.validation.core.IMessage;
-import org.eclipse.wst.validation.core.IMessageAccess;
-import org.eclipse.wst.validation.core.IReporter;
-import org.eclipse.wst.validation.core.IValidator;
-
-/**
- * This class is the file system specific implementation of an incremental IReporter.
- * It caches validation messages, so that messages can both be added and deleted.
- */
-public class IncrementalReporter implements IReporter {
-	
-	public IncrementalReporter() {
-		super();
-	}
-	
-	/**
-	 * @see IReporter#addMessage(IValidator, IMessage)
-	 */
-	public void addMessage(IValidator validator, IMessage message) {
-		if (validator == null) {
-			return;
-		}
-
-		if (message == null) {
-			return;
-		}
-
-		ValidatorMessages vm = MessageManager.getManager().getMessages(validator);
-		if (vm != null) {
-			vm.addValidationMessage(message);
-		}
-	}
-
-	/**
-	 * @see IReporter#displaySubtask(IValidator, IMessage)
-	 */
-	public void displaySubtask(IValidator validator, IMessage message) {
-		// Flush the message to the user immediately.
-		System.err.println(message.getText());
-	}
-
-	/**
-	 * @see IReporter#getMessageAccess()
-	 */
-	public IMessageAccess getMessageAccess() {
-		return null;
-	}
-
-	/**
-	 * Return a Map of String fully-qualified validator class names,
-	 * with a value of Collection, and the Collection contains the
-	 * MessageMetaData reported by the validator, of the given severity.
-	 */
-	public Map getMessages(int messageType) {
-		return MessageManager.getManager().getMessages(messageType);
-	}
-
-	/**
-	 * @see IReporter#isCancelled()
-	 */
-	public boolean isCancelled() {
-		// For simplicity, never allow cancellation.
-		// In a production system, this method might query another object to find out its cancellation status.
-		return false;
-	}
-
-	/**
-	 * @see IReporter#removeAllMessages(IValidator)
-	 */
-	public void removeAllMessages(IValidator validator) {
-		if (validator == null) {
-			return;
-		}
-		MessageManager.getManager().removeAllMessages(validator);
-	}
-
-	/**
-	 * @see IReporter#removeAllMessages(IValidator, Object)
-	 */
-	public void removeAllMessages(IValidator validator, Object object) {
-		if (validator == null) {
-			return;
-		}
-		
-
-		MessageManager.getManager().removeAllMessages(validator, object);
-	}
-
-	/**
-	 * @see IReporter#removeMessageSubset(IValidator, Object, String)
-	 */
-	public void removeMessageSubset(IValidator validator, Object obj, String groupName) {
-		// implement later
-	}
-
-	/**
-	 * Display a formatted list of all of the problems found while
-	 * validating the file.
-	 */
-	public void report() {
-		System.out.println();
-		System.out.println("Error messages"); //$NON-NLS-1$
-		Map messages = getMessages(IMessage.HIGH_SEVERITY);
-		report(messages);
-
-		System.out.println();
-		System.out.println("Warning messages"); //$NON-NLS-1$
-		messages = getMessages(IMessage.NORMAL_SEVERITY);
-		report(messages);
-
-		System.out.println();
-		System.out.println("Information messages"); //$NON-NLS-1$
-		messages = getMessages(IMessage.LOW_SEVERITY);
-		report(messages);
-	}
-	
-	/**
-	 * @see IReporter#report(Map)
-	 */
-	protected static void report(Map messages) {
-		if(messages.size() == 0) {
-			return;
-		}
-		
-		Iterator iterator = messages.keySet().iterator();
-		while(iterator.hasNext()) {
-			String validatorClassName = (String)iterator.next();
-			IValidator validator = FilesystemManager.getManager().getValidator(validatorClassName);
-			IFilesystemHelper helper = FilesystemManager.getManager().getHelper(validator);
-			List mssgList = (List)messages.get(validator);
-			if(mssgList == null) {
-				continue;
-			}
-			
-			Collections.sort(mssgList, MessageManager.getManager().getMessageComparator(helper));
-			
-			for(int i=0; i<mssgList.size(); i++) {
-				IMessage mssg = (IMessage)mssgList.get(i);
-				System.out.println(MessageManager.formatMessage(validator, mssg));
-			}
-		}
-	}
-}
diff --git a/tests/org.eclipse.jst.validation.sample/filesystemFWK/org/eclipse/wst/validation/sample/filesystem/MessageManager.java b/tests/org.eclipse.jst.validation.sample/filesystemFWK/org/eclipse/wst/validation/sample/filesystem/MessageManager.java
deleted file mode 100644
index 88252b5..0000000
--- a/tests/org.eclipse.jst.validation.sample/filesystemFWK/org/eclipse/wst/validation/sample/filesystem/MessageManager.java
+++ /dev/null
@@ -1,254 +0,0 @@
-package org.eclipse.wst.validation.sample.filesystem;
-/*
- * Licensed Material - Property of IBM 
- * (C) Copyright IBM Corp. 2002, 2003 - All Rights Reserved. 
- * US Government Users Restricted Rights - Use, duplication or disclosure 
- * restricted by GSA ADP Schedule Contract with IBM Corp. 
- *
- * DISCLAIMER OF WARRANTIES.
- * The following [enclosed] code is sample code created by IBM
- * Corporation. This sample code is not part of any standard or IBM
- * product and is provided to you solely for the purpose of assisting
- * you in the development of your applications.  The code is provided
- * "AS IS". IBM MAKES NO WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT
- * NOT LIMITED TO THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE, REGARDING THE FUNCTION OR PERFORMANCE OF
- * THIS CODE.  THIS CODE MAY CONTAIN ERRORS.  IBM shall not be liable
- * for any damages arising out of your use of the sample code, even
- * if it has been advised of the possibility of such damages.
- * 
- */
-
-import java.util.Comparator;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.Map;
-
-import org.eclipse.wst.validation.core.IMessage;
-import org.eclipse.wst.validation.core.IValidator;
-
-/**
- * This class manages the validation messages for each validator. Each validator's
- * messages can be retrieved by using the validator's unique name as a key into the
- * table. (i.e., call getMessages with the validator's unique name as the parameter.)
- */
-public class MessageManager {
-	private static MessageManager _singleton = null;
-	private Comparator _comparator = null;
-
-	private Map _validationMessages = null;
-
-	private MessageManager() {
-		super();
-
-		_validationMessages = new HashMap(10);
-	}
-
-	/**
-	 * Return the MessageManager singleton.
-	 */
-	public static MessageManager getManager() {
-		if (_singleton == null) {
-			_singleton = new MessageManager();
-		}
-		return _singleton;
-	}
-	
-	/**
-	 * Return a map of all messages of the given severity. The key of the map
-	 * is the IValidator, the value of the IValidator is the List of IMessage
-	 * instances of the given severity.
-	 */
-	public Map getMessages(int messageTypes) {
-		Map messages = new HashMap();
-
-		Iterator iterator = _validationMessages.values().iterator();
-		while(iterator.hasNext()) {
-			ValidatorMessages mssg = (ValidatorMessages) iterator.next();
-
-			messages.put(mssg.getValidator().getClass().getName(), mssg.getMessages(messageTypes));
-		}
-		return messages;
-	}
-	
-	/**
-	 * This method returns the ValidationMessage owned by the identified validator,
-	 * if one exists. If one doesn't exist, it is created & registered, and then 
-	 * returned.
-	 */
-	public ValidatorMessages getMessages(IValidator validator) {
-		if (validator == null) {
-			return null;
-		}
-
-		ValidatorMessages message = (ValidatorMessages) _validationMessages.get(validator.getClass().getName());
-		if (message == null) {
-			// if it doesn't exist, create it.
-			message = new ValidatorMessages(validator);
-			_validationMessages.put(validator.getClass().getName(), message);
-		}
-		return message;
-	}
-	
-	/**
-	 * Remove all messages owned by the identified validator.
-	 */
-	public void removeAllMessages(IValidator validator) {
-		if (validator == null) {
-			return;
-		}
-
-		_validationMessages.remove(validator.getClass().getName());
-	}
-	
-	/**
-	 * Remove all messages, owned by the identified validator, reported
-	 * against the given target object.
-	 */
-	public void removeAllMessages(IValidator validator, Object object) {
-		if (validator == null) {
-			return;
-		}
-
-		ValidatorMessages message = getMessages(validator);
-		if (message != null) {
-			message.removeAllMessages(object);
-		}
-	}
-	
-	/**
-	 * To support removal of a subset of validation messages, an IValidator
-	 * may assign group names to IMessages. An IMessage subset will be identified
-	 * by the name of its group. Default (null) means no group. This method will
-	 * remove only the IMessage's that are in the group identified by groupName.
-	 */
-	public void removeMessageSubset(IValidator validator, Object object, String groupName) {
-		if (validator == null) {
-			return;
-		}
-
-		ValidatorMessages message = getMessages(validator);
-		if (message != null) {
-			message.removeAllMessages(object);
-		}
-	}
-
-	/**
-	 * Return the IMessage as a String suitable for displaying to the user.
-	 */
-	public static String formatMessage(IValidator validator, IMessage message) {
-		if (message == null) {
-			return ""; //$NON-NLS-1$
-		}
-
-		int severity = message.getSeverity();
-		Object object = message.getTargetObject();
-		StringBuffer formattedMessage = new StringBuffer();
-		switch (severity) {
-			case (IMessage.HIGH_SEVERITY) :
-				{
-					formattedMessage.append("Error: "); //$NON-NLS-1$
-					break;
-				}
-
-			case (IMessage.LOW_SEVERITY) :
-				{
-					formattedMessage.append("Information: "); //$NON-NLS-1$
-					break;
-				}
-
-			case (IMessage.NORMAL_SEVERITY) :
-			default :
-				{
-					formattedMessage.append("Warning: "); //$NON-NLS-1$
-					break;
-				}
-		}
-
-		formattedMessage.append(message.getText());
-
-		if (object != null) {
-			String fileName = FilesystemManager.getManager().getHelper(validator).getFileName(message);
-			int lineNumber = message.getLineNumber();
-
-			if((fileName != null) || (lineNumber != IMessage.LINENO_UNSET)) {
-				formattedMessage.append("["); //$NON-NLS-1$
-				if(fileName != null) {
-					formattedMessage.append(fileName);
-				}
-				if(lineNumber != IMessage.LINENO_UNSET) {
-					formattedMessage.append(" line number: "); //$NON-NLS-1$
-					formattedMessage.append(String.valueOf(lineNumber));
-				}
-				formattedMessage.append("] "); //$NON-NLS-1$
-			}
-		}
-
-		return formattedMessage.toString();
-	}
-
-	/**
-	 * This Comparator is used to sort messages first by file name, then by line number.
-	 */
-	public Comparator getMessageComparator(final IFilesystemHelper helper) {
-		if(_comparator == null) {
-			_comparator = 	new Comparator() {
-				protected int compare(String a, String b) {
-					if((a == null) && (b == null)) {
-						return 0;
-					}
-					else if(a == null) {
-						return -1;
-					}
-					else if(b == null) {
-						return 1;
-					}
-					
-					return a.compareTo(b);
-				}
-				
-				protected int compare(int a, int b) {
-					if((a == IMessage.LINENO_UNSET) && (b == IMessage.LINENO_UNSET)) {
-						return 0;
-					}
-					else if(a == IMessage.LINENO_UNSET) {
-						return -1;
-					}
-					else if(b == IMessage.LINENO_UNSET) {
-						return 1;
-					}
-					
-					return (a - b);
-				}
-				
-				public int compare(Object a, Object b) {
-					if((a == null) && (b == null)) {
-						return 0;
-					}
-					else if(a == null) {
-						return -1;
-					}
-					else if(b == null) {
-						return 1;
-					}
-					
-					IMessage aMssg = (IMessage)a;
-					IMessage bMssg = (IMessage)b;
-					
-					// Sort by file name, then line number. Unset line numbers go to the start of the list.
-					String aFileName = helper.getFileName(aMssg);
-					String bFileName = helper.getFileName(bMssg);
-					int result = compare(aFileName, bFileName);
-					if(result != 0) {
-						return result;
-					}
-					
-					int aLineNumber = aMssg.getLineNumber();
-					int bLineNumber = bMssg.getLineNumber();
-					return compare(aLineNumber, bLineNumber);
-				}
-			};
-		}
-		return _comparator;
-	}
-}
diff --git a/tests/org.eclipse.jst.validation.sample/filesystemFWK/org/eclipse/wst/validation/sample/filesystem/ValidatorMessages.java b/tests/org.eclipse.jst.validation.sample/filesystemFWK/org/eclipse/wst/validation/sample/filesystem/ValidatorMessages.java
deleted file mode 100644
index 89eaaf1..0000000
--- a/tests/org.eclipse.jst.validation.sample/filesystemFWK/org/eclipse/wst/validation/sample/filesystem/ValidatorMessages.java
+++ /dev/null
@@ -1,171 +0,0 @@
-package org.eclipse.wst.validation.sample.filesystem;
-/*
- * Licensed Material - Property of IBM 
- * (C) Copyright IBM Corp. 2002, 2003 - All Rights Reserved. 
- * US Government Users Restricted Rights - Use, duplication or disclosure 
- * restricted by GSA ADP Schedule Contract with IBM Corp. 
- *
- * DISCLAIMER OF WARRANTIES.
- * The following [enclosed] code is sample code created by IBM
- * Corporation. This sample code is not part of any standard or IBM
- * product and is provided to you solely for the purpose of assisting
- * you in the development of your applications.  The code is provided
- * "AS IS". IBM MAKES NO WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT
- * NOT LIMITED TO THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE, REGARDING THE FUNCTION OR PERFORMANCE OF
- * THIS CODE.  THIS CODE MAY CONTAIN ERRORS.  IBM shall not be liable
- * for any damages arising out of your use of the sample code, even
- * if it has been advised of the possibility of such damages.
- * 
- */
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.wst.validation.core.IMessage;
-import org.eclipse.wst.validation.core.IValidator;
-
-/**
- * This class manages messages for one validator. Each validator 
- * can store three types of messages: error (SeverityEnum.HIGH_SEVERITY), 
- * warning (SeverityEnum.NORMAL_SEVERITY), and info (SeverityEnum.LOW_SEVERITY).
- * Each message is associated with an Object (for incremental validation).
- * If a message does not apply to a particular Object, the default Object
- * is used.
- *
- * Each Object is associated with either 0, 1, or >1 messages. 
- */
-public class ValidatorMessages {
-	private Map _messages = null;
-	private IValidator _validator = null;
-	protected static final Object DEFAULT_OBJECT = new Object();
-
-	public ValidatorMessages(IValidator validator) {
-		_messages = new HashMap();
-		_validator = validator;
-	}
-	
-	/**
-	 * Return the validator that owns these messages.
-	 */
-	public IValidator getValidator() {
-		return _validator;
-	}
-	
-	/**
-	 * Add an IMessage to the default group.
-	 */
-	public void addValidationMessage(IMessage message) {
-		addValidationMessage(message, null);
-	}
-	
-	/**
-	 * Add an IMessage to the named group.
-	 */
-	public void addValidationMessage(IMessage message, String groupName) {
-		if (message == null) {
-			return;
-		}
-
-		if (message.getTargetObject() == null) {
-			// If object is null, the error message does not apply to a particular object.
-			//
-			// This value might be used if, for example, the validator experiences an internal, unrecoverable error.
-			// You need to let the user know that validation terminated abnormally, but a list
-			// of the validation which proceeded normally can help to narrow down what part of the
-			// code caused a problem.
-			//
-			// Or it could be something generic, e.g. it applies to a .jar file, instead of a file in the .jar.
-			message.setTargetObject(getDefaultObject());
-		}
-		
-		if(groupName != null) {
-			message.setGroupName(groupName);
-		}
-
-		List list = (List) _messages.get(message.getTargetObject());
-		if (list == null) {
-			list = new ArrayList();
-		}
-		list.add(message);
-		_messages.put(message.getTargetObject(), list);
-	}
-	
-	/**
-	 * If the IMessage does not have a target object, the object
-	 * returned by this method is used as the key in the Map.
-	 */
-	public static Object getDefaultObject() {
-		return DEFAULT_OBJECT;
-	}
-	
-	/**
-	 * Return all messages whose severity matches the messageTypes severity.
-	 */
-	public List getMessages(int messageTypes) {
-		List messages = new ArrayList();
-
-		Iterator iterator = _messages.values().iterator();
-		while (iterator.hasNext()) {
-			List list = (List) iterator.next();
-
-			Object[] listContents = list.toArray();
-			for (int i = 0; i < listContents.length; i++) {
-				IMessage message = (IMessage) listContents[i];
-
-				if ((messageTypes & message.getSeverity()) != 0) {
-					messages.add(message);
-				}
-			}
-		}
-		return messages;
-	}
-	
-	/**
-	 * Remove all messages that apply to the given object. If object is
-	 * null, the messages owned by the default object are removed.
-	 */
-	public void removeAllMessages(Object object) {
-		if (object == null) {
-			object = getDefaultObject();
-		}
-
-		_messages.remove(object);
-	}
-	
-	/**
-	 * Remove all messages that apply to the given object which are in
-	 * the named group. If Object is null, the default object is used.
-	 */
-	public void removeMessageSubset(Object object, String groupName) {
-		if (groupName == null) {
-			removeAllMessages(object);
-			return;
-		}
-
-		if (object == null) {
-			object = getDefaultObject();
-		}
-
-		List list = (List) _messages.get(object);
-		if (list == null) {
-			return;
-		}
-
-		if (list.size() == 0) {
-			return;
-		}
-
-		Iterator iterator = list.iterator();
-		while (iterator.hasNext()) {
-			IMessage msg = (IMessage) iterator.next();
-			String msgGroupName = msg.getGroupName();
-			if (groupName.equals(msgGroupName)) {
-				list.remove(msg);
-			}
-		}
-	}
-}
diff --git a/tests/org.eclipse.jst.validation.sample/plugin.xml b/tests/org.eclipse.jst.validation.sample/plugin.xml
deleted file mode 100644
index 703127c..0000000
--- a/tests/org.eclipse.jst.validation.sample/plugin.xml
+++ /dev/null
@@ -1,78 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin
-   id="org.eclipse.jst.validation.sample"
-   name="Properties Validator"
-   version="1.0.0"
-   class="org.eclipse.jst.validation.sample.workbenchimpl.PropertiesValidatorPlugin">
-
-   <runtime>
-      <library name="runtime/propertiesValidator.jar">
-         <export name="*"/>
-      </library>
-   </runtime>
-   <requires>
-      <import plugin="org.eclipse.core.resources"/>
-      <import plugin="org.eclipse.jdt.core"/>
-      <import plugin="org.eclipse.wst.validation"/>
-      <import plugin="org.eclipse.help"/>
-      <import plugin="org.eclipse.wst.common.frameworks"/>
-      <import plugin="org.eclipse.core.runtime.compatibility"/>
-   </requires>
-
-
-<!--=======================================-->
-<!-- Properties Validator Contributions    -->
-<!--=======================================-->
-   <extension
-         id="PropertiesValidator"
-         name="Properties Validator"
-         point="org.eclipse.wst.validation.validator">
-      <validator>
-         <projectNature
-               id="org.eclipse.jdt.core.javanature">
-         </projectNature>
-         <filter
-               objectClass="org.eclipse.core.resources.IFile"
-               nameFilter="*.properties"
-               action="add, change">
-         </filter>
-         <run
-               enabled="false"
-               async="false"
-               class="org.eclipse.jst.validation.sample.PropertiesValidator">
-         </run>
-         <helper
-               class="org.eclipse.jst.validation.sample.workbenchimpl.PropertiesHelper">
-         </helper>
-      </validator>
-   </extension>
-<!--=======================================-->
-<!-- Validation Documentation              -->
-<!--=======================================-->
-<!--                                       -->
-<!-- Validator Developer's Guide           -->
-<!--                                       -->
-<!--
-   <extension
-         point="org.eclipse.help.toc">
-      <toc
-            file="doc/developerGuide/toc.xml"
-            primary="true">
-      </toc>
-   </extension>
--->
-<!--                                       -->
-<!-- Validation Guide                      -->
-<!--                                       -->
-<!--
-   <extension
-         point="org.eclipse.help.toc">
-      <toc
-            file="doc/guide/toc.xml"
-            primary="true">
-      </toc>
-   </extension>
--->
-
-</plugin>
diff --git a/tests/org.eclipse.jst.validation.sample/prop.bat b/tests/org.eclipse.jst.validation.sample/prop.bat
deleted file mode 100644
index 80bf940..0000000
--- a/tests/org.eclipse.jst.validation.sample/prop.bat
+++ /dev/null
@@ -1,45 +0,0 @@
-@echo off
-REM Licensed Material - Property of IBM 
-REM (C) Copyright IBM Corp. 2002, 2003 - All Rights Reserved. 
-REM US Government Users Restricted Rights - Use, duplication or disclosure 
-REM restricted by GSA ADP Schedule Contract with IBM Corp. 
-REM 
-REM DISCLAIMER OF WARRANTIES.
-REM The following [enclosed] code is sample code created by IBM
-REM Corporation. This sample code is not part of any standard or IBM
-REM product and is provided to you solely for the purpose of assisting
-REM you in the development of your applications.  The code is provided
-REM "AS IS". IBM MAKES NO WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT
-REM NOT LIMITED TO THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
-REM FOR A PARTICULAR PURPOSE, REGARDING THE FUNCTION OR PERFORMANCE OF
-REM THIS CODE.  THIS CODE MAY CONTAIN ERRORS.  IBM shall not be liable
-REM for any damages arising out of your use of the sample code, even
-REM if it has been advised of the possibility of such damages.
-REM 
-REM This batch file fires off the property file parse or comparison.
-REM
-setlocal
-
-if "%JAVA_HOME%" EQU "" goto NO_JAVA
-
-set CLASSPATH=%CLASSPATH%;..\com.ibm.etools.validation.core_5.1.0\runtime\common.jar
-set CLASSPATH=%CLASSPATH%;.\runtime\propertiesValidator.jar
-if "%1" == "" goto syntax
-
-%JAVA_HOME%\bin\java com.ibm.etools.parser.Main %1 %2 %3
-goto :end
-
-:NO_JAVA
-echo.
-echo The JAVA_HOME environment variable must be set to the JRE directory.
-echo e.g., set JAVA_HOME=C:\JRE
-echo where JRE has a subdirectory named "bin"
-echo.
-goto :end
-
-:syntax
-%JAVA_HOME%\bin\java com.ibm.etools.parser.Main
-
-:end
-endlocal
-@echo on
\ No newline at end of file
diff --git a/tests/org.eclipse.jst.validation.sample/propertiesValFS/org/eclipse/jst/validation/sample/filesystemimpl/FilesystemPropertiesHelper.java b/tests/org.eclipse.jst.validation.sample/propertiesValFS/org/eclipse/jst/validation/sample/filesystemimpl/FilesystemPropertiesHelper.java
deleted file mode 100644
index a3a68ae..0000000
--- a/tests/org.eclipse.jst.validation.sample/propertiesValFS/org/eclipse/jst/validation/sample/filesystemimpl/FilesystemPropertiesHelper.java
+++ /dev/null
@@ -1,198 +0,0 @@
-package org.eclipse.jst.validation.sample.filesystemimpl;
-/*
- * Licensed Material - Property of IBM 
- * (C) Copyright IBM Corp. 2002, 2003 - All Rights Reserved. 
- * US Government Users Restricted Rights - Use, duplication or disclosure 
- * restricted by GSA ADP Schedule Contract with IBM Corp. 
- *
- * DISCLAIMER OF WARRANTIES.
- * The following [enclosed] code is sample code created by IBM
- * Corporation. This sample code is not part of any standard or IBM
- * product and is provided to you solely for the purpose of assisting
- * you in the development of your applications.  The code is provided
- * "AS IS". IBM MAKES NO WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT
- * NOT LIMITED TO THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE, REGARDING THE FUNCTION OR PERFORMANCE OF
- * THIS CODE.  THIS CODE MAY CONTAIN ERRORS.  IBM shall not be liable
- * for any damages arising out of your use of the sample code, even
- * if it has been advised of the possibility of such damages.
- * 
- */
-
-import java.io.File;
-import java.io.FileNotFoundException;
-import java.io.FileReader;
-import java.io.IOException;
-import java.io.LineNumberReader;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.Set;
-
-import org.eclipse.jst.validation.sample.PModelEnum;
-import org.eclipse.jst.validation.sample.parser.APropertyFile;
-import org.eclipse.jst.validation.sample.parser.PropertyLine;
-import org.eclipse.wst.validation.core.IFileDelta;
-import org.eclipse.wst.validation.core.IMessage;
-import org.eclipse.wst.validation.sample.filesystem.IFilesystemHelper;
-import org.eclispe.wst.validation.internal.core.FileDelta;
-
-/**
- * This class is the IHelper implementation, used by the PropertiesValidator,
- * when the validator is run in the filesystem validation framework.
- */
-public class FilesystemPropertiesHelper implements IFilesystemHelper {
-	public FilesystemPropertiesHelper() {
-		super();
-	}
-
-	/**
-	 * @see com.ibm.etools.validation.core.IHelper#loadModel(String)
-	 */
-	public Object loadModel(String symbolicName) {
-		return (Object) loadModel(symbolicName, null);
-	}
-
-	/**
-	 * @see com.ibm.etools.validation.core.IHelper#loadModel(String, Object[])
-	 */
-	public Object loadModel(String symbolicName, Object[] parm) {
-		if ((symbolicName == null) || (symbolicName.equals(""))) { //$NON-NLS-1$
-			return null;
-		}
-
-		if (symbolicName.equals(PModelEnum.LINEINPUTREADER) && (parm != null) && (parm.length == 1) && (parm[0] instanceof String)) {
-			return loadLineNumberReader((String) parm[0]);
-		}
-		else if (symbolicName.equals(PModelEnum.RELEASE_LINEINPUTREADER) && (parm != null) && (parm.length == 1) && (parm[0] instanceof LineNumberReader)) {
-			return releaseLineNumberReader((LineNumberReader) parm[0]);
-		}
-		else if (symbolicName.equals(PModelEnum.ALL_PROPERTIES_FILES)) {
-			return loadAllPropertiesFiles();
-		}
-		else if(symbolicName.equals(PModelEnum.FILTER)) {
-			// Because this environment does not copy resources into a "bin" directory,
-			// the input is already filtered.
-			return parm;
-		}
-		else {
-			return null;
-		}
-	}
-
-	/**
-	 * Given the file name of an existing .properties file, return
-	 * the LineNumberReader that will read the file.
-	 */
-	protected Object loadLineNumberReader(String fileName) {
-		File propertyFile = new File(fileName);
-		if (!propertyFile.exists() || !propertyFile.isFile()) {
-			return null;
-		}
-
-		FileReader input = null;
-		try {
-			input = new FileReader(propertyFile);
-		}
-		catch (FileNotFoundException e) {
-			return null;
-		}
-
-		// Because we want to read in a line at a time from the file, convert the FileReader to a LineReader
-		LineNumberReader lineInput = new LineNumberReader(input);
-		return lineInput;
-	}
-
-	/**
-	 * This method doesn't load anything; it releases the resources allocated
-	 * by the loadLineNumberReader method. Its result will never be used, so always
-	 * return null.
-	 */
-	protected Object releaseLineNumberReader(LineNumberReader reader) {
-		if (reader == null) {
-			return null;
-		}
-
-		try {
-			reader.close();
-		}
-		catch (IOException e) {
-		}
-
-		return null;
-	}
-
-	/**
-	 * When the validator is told to perform a full validation, this
-	 * method returns an IFileDelta[], with one IFileDelta for every
-	 * .properties file in the current directory and its subdirectories.
-	 */
-	protected Object loadAllPropertiesFiles() {
-		String pwd = System.getProperty("user.dir"); //$NON-NLS-1$
-		File pwdDir = new File(pwd);
-		if (!pwdDir.exists()) {
-			return null;
-		}
-
-		if (!pwdDir.isDirectory()) {
-			return null;
-		}
-
-		Set tempSet = new HashSet();
-		traverseDirectories(pwdDir, tempSet);
-		
-		IFileDelta[] result = new IFileDelta[tempSet.size()];
-		Iterator iterator = tempSet.iterator();
-		int count = 0;
-		while(iterator.hasNext()) {
-			File file = (File)iterator.next();
-			result[count++] = new FileDelta(file.getAbsolutePath(), IFileDelta.CHANGED);
-		}
-		tempSet.clear();
-		tempSet = null;
-		iterator = null;
-		return result;
-	}
-
-	/**
-	 * Traverse the directory, looking for .properties files, and if a
-	 * .properties file is found then add it to the Set.
-	 */
-	protected void traverseDirectories(File directoryToSearch, Set result) {
-		if (directoryToSearch == null) {
-			return;
-		}
-
-		if (directoryToSearch.isDirectory()) {
-			// Traverse into this directory's children.
-			String[] children = directoryToSearch.list();
-			for (int i = 0; i < children.length; i++) {
-				File child = new File(directoryToSearch, children[i]);
-				traverseDirectories(child, result);
-			}
-		}
-		else if(directoryToSearch.isFile()) {
-			String fileName = directoryToSearch.getName();
-			if((fileName != null) && fileName.endsWith("properties")) { //$NON-NLS-1$
-				result.add(directoryToSearch);
-			}
-		}
-	}
-	
-	/**
-	 * Given an IMessage, return the file name of the .properties file that
-	 * the message was reported against.
-	 */
-	public String getFileName(IMessage message) {
-		Object object = message.getTargetObject();
-		if(object instanceof PropertyLine) {
-			PropertyLine line = (PropertyLine)object;
-			APropertyFile pFile = line.getFile();
-			return pFile.getQualifiedFileName(); // a ValidationPropertyFile returns the file name as its qualified name
-		}
-		else if(object instanceof APropertyFile) {
-			APropertyFile pFile = (APropertyFile)object;
-			return pFile.getQualifiedFileName(); // a ValidationPropertyFile returns the file name as its qualified name
-		}
-		return "";	//$NON-NLS-1$
-	}
-}
diff --git a/tests/org.eclipse.jst.validation.sample/propertiesValWB/org/eclipse/jst/validation/sample/workbenchimpl/PluginPropertyFile.java b/tests/org.eclipse.jst.validation.sample/propertiesValWB/org/eclipse/jst/validation/sample/workbenchimpl/PluginPropertyFile.java
deleted file mode 100644
index 4ac0934..0000000
--- a/tests/org.eclipse.jst.validation.sample/propertiesValWB/org/eclipse/jst/validation/sample/workbenchimpl/PluginPropertyFile.java
+++ /dev/null
@@ -1,232 +0,0 @@
-/*
- * (c) Copyright 2001 MyCorporation.
- * All Rights Reserved.
- */
-package org.eclipse.jst.validation.sample.workbenchimpl;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-import java.io.LineNumberReader;
-import java.net.URL;
-import java.net.URLClassLoader;
-import java.util.Locale;
-import java.util.logging.Level;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPluginDescriptor;
-import org.eclipse.core.runtime.IPluginRegistry;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.Plugin;
-import org.eclipse.jem.util.logger.proxy.Logger;
-import org.eclipse.jst.validation.sample.parser.APropertyFile;
-import org.eclipse.jst.validation.sample.parser.MessageMetaData;
-import org.eclipse.wst.validation.core.IMessage;
-
-/**
- * A PluginPropertyFile represents a resource bundle that is exported by a plugin.
- */
-public class PluginPropertyFile extends APropertyFile {
-	private String _bundleName = null;
-	private String _pluginId = null;
-	private String _langVariant = null; // e.g., en_US vs en
-	private ClassLoader _classLoader = null; // the ClassLoader used to load the bundle
-	
-	
-	/**
-	 * Both the pluginId and the bundleName must not be null, must
-	 * refer to an existing plugin, and must refer to an existing bundle 
-	 * exported by that plugin.
-	 */
-	public PluginPropertyFile(String pluginId, String bundleName) {
-		_pluginId = pluginId;
-		_bundleName = bundleName;
-		
-		ClassLoader cl = null;
-		InputStream inS = null;
-		Plugin plugin = getPlugin(pluginId);			
-		if(bundleName.equals("plugin")) { //$NON-NLS-1$
-			// Try loading it from the Plugin parent (a "plugin.properties")
-			cl = getPluginPropertiesClassLoader(plugin);
-		}
-		else {
-			cl = plugin.getDescriptor().getPluginClassLoader();
-		}
-		inS = getInputStream(cl, bundleName);
-		
-		InputStreamReader inR = new InputStreamReader(inS);
-		LineNumberReader lineR = new LineNumberReader(inR);
-		parseFile(lineR); // populate this property file
-		try {
-			lineR.close();
-			inR.close();
-		}
-		catch(IOException exc) {
-			Logger logger = PropertiesValidatorPlugin.getPlugin().getMsgLogger();;
-			if(logger.isLoggingLevel(Level.SEVERE)) {
-				logger.write(Level.SEVERE, exc);
-			}
-		}
-		
-		try {
-			if(inS != null) {
-				inS.close();
-			}
-		}
-		catch(IOException exc) {
-			Logger logger = PropertiesValidatorPlugin.getPlugin().getMsgLogger();
-			if(logger.isLoggingLevel(Level.SEVERE)) {
-				logger.write(Level.SEVERE, exc);
-			}
-		}
-		
-		_classLoader = cl; // store the ClassLoader which was used to load the bundle
-	}
-	
-	private InputStream getInputStream(ClassLoader cl, String bundleName) {
-		Locale l = Locale.getDefault();
-		String language = l.getLanguage();
-		String country = l.getCountry();
-		String variant = l.getVariant();
-		
-		String lang = null;
-		String lang_country = null;
-		String lang_country_variant = null;
-		if((language != null) && !(language.equals(""))) { //$NON-NLS-1$
-			lang = "_" + language; //$NON-NLS-1$
-		}
-
-		if((country != null) && !(country.equals(""))) { //$NON-NLS-1$
-			lang_country = lang + "_" + country; //$NON-NLS-1$
-		}
-
-		if((variant != null) && !(variant.equals(""))) { //$NON-NLS-1$
-			lang_country_variant = lang_country + "_" + variant; //$NON-NLS-1$
-		}
-		
-		InputStream inS = null;
-		if(lang_country_variant != null) {
-			inS = getResourceAsStream(cl, bundleName, lang_country_variant);
-			if(inS != null) {
-				_langVariant = lang_country_variant;
-				return inS;
-			}
-		}
-		
-		if(lang_country != null) {
-			inS = getResourceAsStream(cl, bundleName, lang_country);
-			if(inS != null) {
-				_langVariant = lang_country;
-				return inS;
-			}
-		}
-		
-		if(lang != null) {
-			inS = getResourceAsStream(cl, bundleName, lang);
-			if(inS != null) {
-				_langVariant = lang;
-				return inS;
-			}
-		}
-		
-		if(Locale.getDefault().equals(Locale.US)) {
-			// Running the TVT plugin in en_US mode, so return the default .properties file.
-			inS = getResourceAsStream(cl, bundleName, ""); //$NON-NLS-1$
-			if(inS != null) {
-				_langVariant = ""; //$NON-NLS-1$
-				return inS;
-			}
-		}
-		
-		return null;
-	}
-	
-	private final static InputStream getResourceAsStream(final ClassLoader cl, final String bundleName, final String language) {
-		String resName = bundleName.replace('.', '/') + language + ".properties"; //$NON-NLS-1$
-		return cl.getResourceAsStream(resName);
-	}
-	
-	private static ClassLoader getPluginPropertiesClassLoader(Plugin p) {
-		// Copied from PluginDescriptor.java's getResourceBundle method.
-		URL[] cp = ((URLClassLoader)p.getDescriptor().getPluginClassLoader()).getURLs();
-		URL[] newcp = new URL[cp.length+1];
-		for (int i=0; i<cp.length; i++) newcp[i+1] = cp[i];
-		try {
-			newcp[0] = Platform.resolve(p.getDescriptor().getInstallURL()); // always try to resolve URLs used in loaders
-		} catch(IOException e) {
-			newcp[0] = p.getDescriptor().getInstallURL();;
-		}
-		ClassLoader resourceLoader = new URLClassLoader(newcp, null);
-		return resourceLoader;
-	}
-	
-	private static Plugin getPlugin(String pluginId) {
-		if (pluginId == null) {
-			return null;
-		}
-
-		IPluginRegistry registry = Platform.getPluginRegistry();
-		IPluginDescriptor pluginDesc = registry.getPluginDescriptor(pluginId);
-		if(pluginDesc == null) {
-			return null;
-		}
-		
-		try {
-			return pluginDesc.getPlugin();
-		}
-		catch(CoreException exc) {
-			Logger logger = PropertiesValidatorPlugin.getPlugin().getMsgLogger();;
-			if(logger.isLoggingLevel(Level.SEVERE)) {
-				logger.write(Level.SEVERE, exc);
-			}
-			return null;
-		}
-		
-	}
-
-	
-	/*
-	 * @see APropertyFile#report(String)
-	 */
-	public void report(String str) {
-		addParseWarning(new MessageMetaData(str));
-	}
-	
-	public void report(IMessage message) {
-		MessageMetaData mmd = new MessageMetaData(message.getBundleName(), message.getSeverity(), message.getId(), message.getParams(), message.getTargetObject(), message.getLineNumber(), message.getOffset(), message.getLength());
-		addParseWarning(mmd);
-	}
-	
-	public void report(MessageMetaData mmd) {
-		addParseWarning(mmd);
-	}
-	
-	public void addParseWarning(IMessage message) {
-		MessageMetaData mmd = new MessageMetaData(message.getBundleName(), message.getSeverity(), message.getId(), message.getParams(), message.getTargetObject(), message.getLineNumber(), message.getOffset(), message.getLength());
-		addParseWarning(mmd);
-	}
-	
-	public String getPluginId() {
-		return _pluginId;
-	}
-
-	public String getBundleName() {
-		return _bundleName;
-	}
-	
-	public String getQualifiedFileName() {
-		StringBuffer buffer = new StringBuffer(getPluginId());
-		buffer.append("::");
-		buffer.append(getBundleName());
-		buffer.append(_langVariant);
-		return buffer.toString();
-	}
-
-	public String getLangVariant() {
-		return _langVariant;
-	}
-	
-	public ClassLoader getClassLoader() {
-		return _classLoader;
-	}	
-}
diff --git a/tests/org.eclipse.jst.validation.sample/propertiesValWB/org/eclipse/jst/validation/sample/workbenchimpl/PropertiesHelper.java b/tests/org.eclipse.jst.validation.sample/propertiesValWB/org/eclipse/jst/validation/sample/workbenchimpl/PropertiesHelper.java
deleted file mode 100644
index 853e8aa..0000000
--- a/tests/org.eclipse.jst.validation.sample/propertiesValWB/org/eclipse/jst/validation/sample/workbenchimpl/PropertiesHelper.java
+++ /dev/null
@@ -1,234 +0,0 @@
-package org.eclipse.jst.validation.sample.workbenchimpl;
-/*
- * Licensed Material - Property of IBM 
- * (C) Copyright IBM Corp. 2002, 2003 - All Rights Reserved. 
- * US Government Users Restricted Rights - Use, duplication or disclosure 
- * restricted by GSA ADP Schedule Contract with IBM Corp. 
- *
- * DISCLAIMER OF WARRANTIES.
- * The following [enclosed] code is sample code created by IBM
- * Corporation. This sample code is not part of any standard or IBM
- * product and is provided to you solely for the purpose of assisting
- * you in the development of your applications.  The code is provided
- * "AS IS". IBM MAKES NO WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT
- * NOT LIMITED TO THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE, REGARDING THE FUNCTION OR PERFORMANCE OF
- * THIS CODE.  THIS CODE MAY CONTAIN ERRORS.  IBM shall not be liable
- * for any damages arising out of your use of the sample code, even
- * if it has been advised of the possibility of such damages.
- * 
- */
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-import java.io.LineNumberReader;
-import java.util.HashSet;
-import java.util.Set;
-import java.util.logging.Level;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IResourceVisitor;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jem.util.logger.proxy.Logger;
-import org.eclipse.jst.validation.sample.PModelEnum;
-import org.eclipse.jst.validation.sample.parser.APropertyFile;
-import org.eclipse.jst.validation.sample.parser.PropertyLine;
-import org.eclipse.wst.validation.core.IFileDelta;
-import org.eclipse.wst.validation.internal.operations.AWorkbenchHelper;
-import org.eclipse.wst.validation.internal.operations.WorkbenchFileDelta;
-
-/**
- * This class implements the WebSphere Studio IHelper for the 
- * Properties Validator.
- */
-public class PropertiesHelper extends AWorkbenchHelper {
-	public PropertiesHelper() {
-		super();
-		 
-		registerModel(PModelEnum.LINEINPUTREADER, "loadLineNumberReader", new Class[]{java.lang.String.class}); //$NON-NLS-1$
-		registerModel(PModelEnum.RELEASE_LINEINPUTREADER, "releaseLineNumberReader", new Class[]{java.io.LineNumberReader.class}); //$NON-NLS-1$
-		registerModel(PModelEnum.ALL_PROPERTIES_FILES, "loadAllPropertiesFiles"); //$NON-NLS-1$
-		registerModel(PModelEnum.MSGLOGGER, "getMsgLogger"); //$NON-NLS-1$
-		registerModel(PModelEnum.FILTER, "filter", new Class[]{IFileDelta[].class}); //$NON-NLS-1$
-	}
-
-	/**
-	 * @see com.ibm.etools.validate.IWorkbenchHelper#getTargetObjectName(Object)
-	 */
-	public String getTargetObjectName(Object object) {
-		return null;
-	}
-	
-	/**
-	 * @see com.ibm.etools.validate.IWorkbenchHelper#getResource(Object)
-	 */
-	public IResource getResource(Object object) {
-		IFile file = null;
-		if(object instanceof PropertyLine) {
-			PropertyLine line = (PropertyLine)object;
-			APropertyFile pFile = line.getFile();
-			String fileName = pFile.getQualifiedFileName(); // a ValidationPropertyFile returns the file name as its qualified name
-			file = getFile(fileName);
-		}
-		else if(object instanceof APropertyFile) {
-			APropertyFile pFile = (APropertyFile)object;
-			String fileName = pFile.getQualifiedFileName(); // a ValidationPropertyFile returns the file name as its qualified name
-			file = getFile(fileName);
-		}
-		
-		if((file == null) || (!file.exists())) {
-			return super.getResource(object);
-		}
-		return file;
-	}
-	
-	/**
-	 * When a full validation is performed, this method returns an
-	 * IFileDelta[] containing one IFileDelta for each .properties 
-	 * file in the IProject.
-	 */
-	public IFileDelta[] loadAllPropertiesFiles() {
-		IProject project = getProject();
-		
-		final Set files = new HashSet();
-		IResourceVisitor visitor = new IResourceVisitor() {
-			public boolean visit(IResource res) throws CoreException {
-				if(!res.isAccessible()) {
-					return false; // if the resource isn't accessible then neither are its children
-				}
-				
-				if(isSrcFile(res)) { //$NON-NLS-1$
-					WorkbenchFileDelta newFileDelta = new WorkbenchFileDelta(res.getFullPath().toString(), IFileDelta.CHANGED, res);
-					files.add(newFileDelta);
-				}
-
-				return true; // visit the resource's children as well
-			}
-		};
-
-		try {
-			project.accept(visitor, IResource.DEPTH_INFINITE, true); // true means include phantom resources
-		}
-		catch(CoreException e) {
-			Logger logger = getMsgLogger();
-			if(logger.isLoggingLevel(Level.SEVERE)) {
-				logger.write(e);
-			}
-		}
-		
-		IFileDelta[] result = new IFileDelta[files.size()];
-		files.toArray(result);
-		return result;
-	}
-	
-	/**
-	 * Return the IFile handle for the file identified by fileName.
-	 * null will be returned if the file does not exist.
-	 */
-	protected static IFile getFile(String fileName) {
-		IFile file = (IFile)ResourcesPlugin.getWorkspace().getRoot().findMember(fileName);
-		return file;
-	}
-	
-	/**
-	 * Given the file name of an existing .properties file, return
-	 * the LineNumberReader that will read the file.
-	 */
-	public LineNumberReader loadLineNumberReader(String fileName) {
-		try {
-			IFile file = getFile(fileName);
-			InputStream in = file.getContents();
-			InputStreamReader reader = new InputStreamReader(in);
-	
-			// Because we want to read in a line at a time from the file, convert the InputStreamReader to a LineReader
-			LineNumberReader lineInput = new LineNumberReader(reader);
-			return lineInput;
-		}
-		catch(CoreException exc) {
-			Logger logger = getMsgLogger();
-			if(logger.isLoggingLevel(Level.SEVERE)) {
-				logger.write(exc);
-			}
-			return null;
-		}
-	}
-	
-	/**
-	 * This method doesn't load anything; it releases the resources allocated
-	 * by the loadLineNumberReader method. Its result will never be used, so always
-	 * return null.
-	 */
-	public LineNumberReader releaseLineNumberReader(LineNumberReader reader) {
-		if(reader == null) {
-			return null;
-		}
-		
-		try {
-			reader.close();
-		}
-		catch (IOException exc) {
-			Logger logger = getMsgLogger();
-			if(logger.isLoggingLevel(Level.SEVERE)) {
-				logger.write(exc);
-			}
-		}
-
-		return null;
-	}
-	
-	/**
-	 * The MsgLogger from this method can be used to log exceptions.
-	 * This method will never return null.
-	 */
-	public Logger getMsgLogger() {
-		return PropertiesValidatorPlugin.getPlugin().getMsgLogger();
-	}
-	
-	// package visibility for performance reasons (synthetic accessor method)
-	boolean isSrcFile(IResource res) {
-		// Want to filter out the copies in the "bin" directory.
-		if(res == null) {
-			return false;
-		}
-		
-		if(!(res instanceof IFile)) {
-			return false;
-		}
-		
-		if(!res.getFileExtension().equals("properties")) { //$NON-NLS-1$
-			return false; 		
-		}
-		
-		if(res.isDerived()) {
-			// Created by eclipse
-			return false;
-		}
-		
-		return true;
-	}
-	
-	public IFileDelta[] filter(IFileDelta[] changedFiles) {
-		IFileDelta[] temp = new IFileDelta[changedFiles.length];
-		int count = 0;
-		for(int i=0; i<changedFiles.length; i++) {
-			IFileDelta fd = changedFiles[i];
-			IResource resource = ((WorkbenchFileDelta)fd).getResource();
-			if(isSrcFile(resource)) {
-				temp[count++] = fd;
-			}
-		}
-		
-		if(count == changedFiles.length) {
-			return changedFiles;
-		}
-		
-		IFileDelta[] result = new IFileDelta[count];
-		System.arraycopy(temp, 0, result, 0, count);
-		return result;
-	}
-
-}
diff --git a/tests/org.eclipse.jst.validation.sample/propertiesValWB/org/eclipse/jst/validation/sample/workbenchimpl/PropertiesValidatorPlugin.java b/tests/org.eclipse.jst.validation.sample/propertiesValWB/org/eclipse/jst/validation/sample/workbenchimpl/PropertiesValidatorPlugin.java
deleted file mode 100644
index c8e4ac2..0000000
--- a/tests/org.eclipse.jst.validation.sample/propertiesValWB/org/eclipse/jst/validation/sample/workbenchimpl/PropertiesValidatorPlugin.java
+++ /dev/null
@@ -1,50 +0,0 @@
-package org.eclipse.jst.validation.sample.workbenchimpl;
-/*
- * Licensed Material - Property of IBM (C) Copyright IBM Corp. 2002, 2003 - All Rights Reserved. US
- * Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADP
- * Schedule Contract with IBM Corp.
- * 
- * DISCLAIMER OF WARRANTIES. The following [enclosed] code is sample code created by IBM
- * Corporation. This sample code is not part of any standard or IBM product and is provided to you
- * solely for the purpose of assisting you in the development of your applications. The code is
- * provided "AS IS". IBM MAKES NO WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, REGARDING THE
- * FUNCTION OR PERFORMANCE OF THIS CODE. THIS CODE MAY CONTAIN ERRORS. IBM shall not be liable for
- * any damages arising out of your use of the sample code, even if it has been advised of the
- * possibility of such damages.
- *  
- */
-import org.eclipse.jem.util.logger.proxy.Logger;
-import org.eclipse.wst.common.frameworks.internal.WTPPlugin;
-/**
- * This class is the Plugin class identified by the com.ibm.etools.validation.core.prop's plugin.xml
- * file (i.e., the &lt;plugin <br><br>
- * class=&quot;class="com.ibm.etools.validation.core.properties.workbenchimpl.PropertiesValidatorPlugin"&quot&gt;
- */
-public class PropertiesValidatorPlugin extends WTPPlugin {
-	private static PropertiesValidatorPlugin _inst = null;
-	public static final String PLUGIN_ID = "com.ibm.etools.validation.prop"; //$NON-NLS-1$
-	private static Logger _logger;
-	public PropertiesValidatorPlugin() {
-		super();
-		if (_inst == null) {
-			_inst = this;
-		}
-	}
-	public static PropertiesValidatorPlugin getPlugin() {
-		return _inst;
-	}
-	public Logger getMsgLogger() {
-		if (_logger == null)
-			_logger = Logger.getLogger();
-		return _logger;
-	}
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.wtp.common.WTPPlugin#getPluginID()
-	 */
-	public String getPluginID() {
-		return PLUGIN_ID;
-	}
-}
diff --git a/tests/org.eclipse.jst.validation.sample/propertiesValidator/org/eclipse/jst/validation/sample/PModelEnum.java b/tests/org.eclipse.jst.validation.sample/propertiesValidator/org/eclipse/jst/validation/sample/PModelEnum.java
deleted file mode 100644
index f625a6a..0000000
--- a/tests/org.eclipse.jst.validation.sample/propertiesValidator/org/eclipse/jst/validation/sample/PModelEnum.java
+++ /dev/null
@@ -1,35 +0,0 @@
-package org.eclipse.jst.validation.sample;
-/*
- * Licensed Material - Property of IBM 
- * (C) Copyright IBM Corp. 2002, 2003 - All Rights Reserved. 
- * US Government Users Restricted Rights - Use, duplication or disclosure 
- * restricted by GSA ADP Schedule Contract with IBM Corp. 
- *
- * DISCLAIMER OF WARRANTIES.
- * The following [enclosed] code is sample code created by IBM
- * Corporation. This sample code is not part of any standard or IBM
- * product and is provided to you solely for the purpose of assisting
- * you in the development of your applications.  The code is provided
- * "AS IS". IBM MAKES NO WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT
- * NOT LIMITED TO THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE, REGARDING THE FUNCTION OR PERFORMANCE OF
- * THIS CODE.  THIS CODE MAY CONTAIN ERRORS.  IBM shall not be liable
- * for any damages arising out of your use of the sample code, even
- * if it has been advised of the possibility of such damages.
- * 
- */
-
-/**
- * This class contains the constants that uniquely identify each
- * model that the Properties Validator's helper must load. All of
- * these models must be supported by the IHelper implementation
- * or the helper cannot be used to support the Properties Validator.
- */
-public interface PModelEnum {
-	public static final String LINEINPUTREADER = "get a LineInputReader for a .properties file"; //$NON-NLS-1$
-	public static final String RELEASE_LINEINPUTREADER = "relase (close) the LineInputReader"; //$NON-NLS-1$
-	public static final String ALL_PROPERTIES_FILES = "return an IFileDelta[] of all of the .properties files in the project"; //$NON-NLS-1$
-	public static final String MSGLOGGER = "get the MsgLogger needed to log messages. This MsgLogger must never be null."; //$NON-NLS-1$
-	public static final String FILTER = "get only the .properties files that are in src dir; filter out the .properties files that are in bin dir (i.e., don't validate the same file twice"; //$NON-NLS-1$
-
-}
diff --git a/tests/org.eclipse.jst.validation.sample/propertiesValidator/org/eclipse/jst/validation/sample/PropertiesValidator.java b/tests/org.eclipse.jst.validation.sample/propertiesValidator/org/eclipse/jst/validation/sample/PropertiesValidator.java
deleted file mode 100644
index f02da04..0000000
--- a/tests/org.eclipse.jst.validation.sample/propertiesValidator/org/eclipse/jst/validation/sample/PropertiesValidator.java
+++ /dev/null
@@ -1,106 +0,0 @@
-package org.eclipse.jst.validation.sample;
-/*
- * Licensed Material - Property of IBM 
- * (C) Copyright IBM Corp. 2002, 2003 - All Rights Reserved. 
- * US Government Users Restricted Rights - Use, duplication or disclosure 
- * restricted by GSA ADP Schedule Contract with IBM Corp. 
- *
- * DISCLAIMER OF WARRANTIES.
- * The following [enclosed] code is sample code created by IBM
- * Corporation. This sample code is not part of any standard or IBM
- * product and is provided to you solely for the purpose of assisting
- * you in the development of your applications.  The code is provided
- * "AS IS". IBM MAKES NO WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT
- * NOT LIMITED TO THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE, REGARDING THE FUNCTION OR PERFORMANCE OF
- * THIS CODE.  THIS CODE MAY CONTAIN ERRORS.  IBM shall not be liable
- * for any damages arising out of your use of the sample code, even
- * if it has been advised of the possibility of such damages.
- * 
- */
-
-import java.io.LineNumberReader;
-import java.util.logging.Level;
-
-import org.eclipse.jem.util.logger.proxy.Logger;
-import org.eclipse.jst.validation.sample.parser.IValidationConstants;
-import org.eclipse.wst.validation.core.IFileDelta;
-import org.eclipse.wst.validation.core.IHelper;
-import org.eclipse.wst.validation.core.IMessage;
-import org.eclipse.wst.validation.core.IReporter;
-import org.eclipse.wst.validation.core.IValidator;
-import org.eclipse.wst.validation.core.ValidationException;
-import org.eclispe.wst.validation.internal.core.Message;
-
-/**
- * This class checks that the .properties files has no syntax or
- * or problems. This validator can run in any validation framework
- * implementation.
- */
-public class PropertiesValidator implements IValidator {
-
-	/*
-	 * @see IValidator#cleanup(IReporter)
-	 */
-	public void cleanup(IReporter reporter) {
-		// This validator doesn't cache anything so it doesn't need to clean anything up.
-	}
-
-	/*
-	 * @see IValidator#validate(IHelper, IReporter, IFileDelta[])
-	 */
-	public void validate(IHelper helper, IReporter reporter, IFileDelta[] changedFiles) throws ValidationException {
-		if((changedFiles == null) || (changedFiles.length == 0)) {
-			changedFiles = (IFileDelta[])helper.loadModel(PModelEnum.ALL_PROPERTIES_FILES);
-		}
-		else {
-			// Filter out the files that are in the "bin" directory.
-			changedFiles = (IFileDelta[])helper.loadModel(PModelEnum.FILTER, new Object[]{changedFiles});
-		}
-		if(changedFiles == null) {
-			// Problem loading the files. 
-			Logger logger = (Logger)helper.loadModel(PModelEnum.MSGLOGGER);
-			if(logger.isLoggingLevel(Level.SEVERE)) {
-				logger.write(Level.SEVERE,"changedFiles == null; terminating validation"); //$NON-NLS-1$
-				return;
-			}
-		}
-		
-		for (int i = 0; i < changedFiles.length; i++) {
-			// Load the reader for the file
-			LineNumberReader reader = null;
-			try {
-				reader = (LineNumberReader)helper.loadModel(PModelEnum.LINEINPUTREADER, new Object[]{changedFiles[i].getFileName()});
-				if(reader == null) {
-					// Either: 
-					// 1. The file doesn't exist or
-					// 2. The file isn't a .properties file or
-					// 3. The file can't be read
-					IMessage message = new Message(IValidationConstants.BUNDLENAME, IMessage.NORMAL_SEVERITY, IValidationConstants.ABCD0090, new String[]{changedFiles[i].getFileName()});
-					reporter.addMessage(this, message);
-					continue;
-				}
-	
-				// If we can get a reader then we can get a PropertyFile
-				ValidatorPropertyFile propFile = new ValidatorPropertyFile(reader, changedFiles[i].getFileName(), reporter, this);
-				propFile.printSyntaxWarnings();
-				propFile.printDuplicateMessageId();
-				propFile.printDuplicateMessagePrefix();
-			}
-			finally {
-				// Don't catch Throwable, MessageLimitException, OperationCanceledException, or ValidationException.
-				// Let them travel up to the framework and the framework will log or cleanup as appropriate.
-				if(reader != null) {
-					// Release the reader for the file.
-					// Because different validation frameworks may allocate LineNumberReaders
-					// differently, don't close the reader in the validator. Instead, pass the
-					// reader back to the helper, and regardless of whether the reader should 
-					// be closed or reused, the helper knows the right thing to do for its
-					// framework environment.
-					helper.loadModel(PModelEnum.RELEASE_LINEINPUTREADER, new Object[]{reader});
-				}
-			}
-		}
-	}
-	
-}
diff --git a/tests/org.eclipse.jst.validation.sample/propertiesValidator/org/eclipse/jst/validation/sample/ValidatorPropertyFile.java b/tests/org.eclipse.jst.validation.sample/propertiesValidator/org/eclipse/jst/validation/sample/ValidatorPropertyFile.java
deleted file mode 100644
index 3fbf32d..0000000
--- a/tests/org.eclipse.jst.validation.sample/propertiesValidator/org/eclipse/jst/validation/sample/ValidatorPropertyFile.java
+++ /dev/null
@@ -1,115 +0,0 @@
-package org.eclipse.jst.validation.sample;
-/*
- * Licensed Material - Property of IBM 
- * (C) Copyright IBM Corp. 2002, 2003 - All Rights Reserved. 
- * US Government Users Restricted Rights - Use, duplication or disclosure 
- * restricted by GSA ADP Schedule Contract with IBM Corp. 
- *
- * DISCLAIMER OF WARRANTIES.
- * The following [enclosed] code is sample code created by IBM
- * Corporation. This sample code is not part of any standard or IBM
- * product and is provided to you solely for the purpose of assisting
- * you in the development of your applications.  The code is provided
- * "AS IS". IBM MAKES NO WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT
- * NOT LIMITED TO THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE, REGARDING THE FUNCTION OR PERFORMANCE OF
- * THIS CODE.  THIS CODE MAY CONTAIN ERRORS.  IBM shall not be liable
- * for any damages arising out of your use of the sample code, even
- * if it has been advised of the possibility of such damages.
- * 
- */
-
-import java.io.LineNumberReader;
-
-import org.eclipse.jst.validation.sample.parser.APropertyFile;
-import org.eclipse.jst.validation.sample.parser.MessageMetaData;
-import org.eclipse.wst.validation.core.IMessage;
-import org.eclipse.wst.validation.core.IReporter;
-import org.eclipse.wst.validation.core.IValidator;
-import org.eclispe.wst.validation.internal.core.Message;
-
-/**
- * This class represents an APropertyFile that is instantiated by a validator.
- */
-public class ValidatorPropertyFile extends APropertyFile {
-	private IReporter _reporter = null;
-	private IValidator _validator = null;
-	private String _fileName = null; // if this is created from a reader instead of a file name, we only have the bundle name
-	
-	public ValidatorPropertyFile(LineNumberReader reader, String fileName, IReporter reporter, IValidator validator) {
-		super();
-		setFileName(fileName);
-		_reporter = reporter;
-		_validator = validator;
-		parseFile(reader);
-	}
-	
-	public void setFileName(String bundleName) {
-		_fileName = bundleName;
-	}
-	
-	/**
-	 * Return the name of the .properties file (or bundle).
-	 */
-	public String getFileName() {
-		return _fileName;
-	}
-	
-	/*
-	 * @see APropertyFile#report(String)
-	 */
-	public void report(String str) {
-		// Never print titles like "DUPLICATE MESSAGE IDS". Print only the IMessage.
-	}
-	
-	/*
-	 * @see APropertyFile#report(MessageMetaData)
-	 */
-	public void report(MessageMetaData mmd) {
-		IMessage message = new Message();
-		message.setBundleName(mmd.getBundleName());
-		message.setSeverity(getSeverity(mmd.getSeverity()));
-		message.setId(mmd.getId());
-		message.setParams(mmd.getParams());
-		message.setTargetObject(mmd.getTargetObject());
-		message.setLineNo(mmd.getLineNumber());
-		message.setLength(mmd.getLength());
-		message.setOffset(mmd.getOffset());
-		message.setLength(mmd.getLength());
-		_reporter.addMessage(getValidator(), message);
-	}
-	
-	/**
-	 * Given the severity of the MessageMetaData, return the corresponding
-	 * severity of the validation framework.
-	 */
-	private static int getSeverity(int mmdSeverity) {
-		switch(mmdSeverity) {
-			case(MessageMetaData.ERROR): {
-				return IMessage.HIGH_SEVERITY;
-			}
-			
-			case(MessageMetaData.INFO): {
-				return IMessage.LOW_SEVERITY;
-			}
-			
-			default: {
-				return IMessage.NORMAL_SEVERITY;
-			}
-		}
-	}
-	
-	/**
-	 * Return the IValidator instance that is checking this file.
-	 */
-	public IValidator getValidator() {
-		return _validator;
-	}
-
-	/**
-	 * Return the name of this file that identifies this file uniquely.
-	 */
-	public String getQualifiedFileName() {
-		return getFileName();
-	}
-}
\ No newline at end of file
diff --git a/tests/org.eclipse.jst.validation.sample/propertiesValidator/org/eclipse/jst/validation/sample/parser/APropertyFile.java b/tests/org.eclipse.jst.validation.sample/propertiesValidator/org/eclipse/jst/validation/sample/parser/APropertyFile.java
deleted file mode 100644
index 51d6b4b..0000000
--- a/tests/org.eclipse.jst.validation.sample/propertiesValidator/org/eclipse/jst/validation/sample/parser/APropertyFile.java
+++ /dev/null
@@ -1,718 +0,0 @@
-package org.eclipse.jst.validation.sample.parser;
-/*
- * Licensed Material - Property of IBM 
- * (C) Copyright IBM Corp. 2002, 2003 - All Rights Reserved. 
- * US Government Users Restricted Rights - Use, duplication or disclosure 
- * restricted by GSA ADP Schedule Contract with IBM Corp. 
- *
- * DISCLAIMER OF WARRANTIES.
- * The following [enclosed] code is sample code created by IBM
- * Corporation. This sample code is not part of any standard or IBM
- * product and is provided to you solely for the purpose of assisting
- * you in the development of your applications.  The code is provided
- * "AS IS". IBM MAKES NO WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT
- * NOT LIMITED TO THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE, REGARDING THE FUNCTION OR PERFORMANCE OF
- * THIS CODE.  THIS CODE MAY CONTAIN ERRORS.  IBM shall not be liable
- * for any damages arising out of your use of the sample code, even
- * if it has been advised of the possibility of such damages.
- * 
- */
-
-import java.io.*;
-import java.util.*;
-
-/**
- * This class represents a .properties file; extensions of this class implement
- * environment-specific messages, such as how to report the known problems. This
- * class, and every class in the org.eclipse.jst.validation.sample.parser package, is independent
- * of the framework environment.
- */
-public abstract class APropertyFile {
-	private static final String EQUALS = "="; //$NON-NLS-1$
-
-	private List _propertyLines = null; // The List of PropertyLine instances.
-	private List _parseWarnings = null; // The List of MessageMetaData warnings found when parsing the .properties file.
-	private boolean _debug = false;
-
-	/**
-	 * Return a name that identifies this file uniquely.
-	 */
-	public abstract String getQualifiedFileName();
-	
-	/**
-	 * Tell the user that there is a problem - in WebSphere Studio, this
-	 * shows up as a row in the Task View; in the sample filesystem framework,
-	 * this appears as a message to System.out.
-	 */
-	public abstract void report(String str);
-	
-	/**
-	 * Tell the user that there is a problem - in WebSphere Studio, this
-	 * shows up as a row in the Task View; in the sample filesystem framework,
-	 * this appears as a message to System.out.
-	 */
-	public abstract void report(MessageMetaData mmd);
-	
-	protected APropertyFile() {
-		_propertyLines = new ArrayList();
-		_parseWarnings = new ArrayList();
-	}
-	
-	/**
-	 * Add the List of MessageMetaData to the list of warning messages.
-	 */
-	public void addParseWarnings(List list) {
-		_parseWarnings.addAll(list);
-	}
-
-	/**
-	 * Add a single warning message to the list of parse warnings.
-	 */
-	public void addParseWarning(MessageMetaData mmd) {
-		_parseWarnings.add(mmd);
-	}
-		
-	/**
-	 * Return the List of warning messages that report problems found
-	 * while parsing the .properties file.
-	 */
-	public List getParseWarnings() {
-		return _parseWarnings;
-	}
-	
-	
-	public String toString() {
-		return getQualifiedFileName();
-	}
-
-	/**
-	 * Should debug information be printed when parsing?
-	 */	
-	public boolean debug() {
-		return _debug;
-	}
-	
-	protected void setDebug(boolean d) {
-		_debug = d;
-	}
-	
-	public boolean equals(Object o) {
-		if(o == null) {
-			return false;
-		}
-		
-		if(!(o instanceof PropertyFile)) {
-			return false;
-		}
-		
-		PropertyFile file = (PropertyFile)o;
-		return getQualifiedFileName().equals(file.getQualifiedFileName());
-	}
-	
-	public int hashCode() {
-		return getQualifiedFileName().hashCode();
-	}
-
-	/**
-	 * Return the number of messages in the file, including duplicates & blanks.
-	 */
-	public int getNumProperties() {
-		return _propertyLines.size();
-	}
-
-	/**
-	 * Excluding message ids and error ids, output the number of words in the
-	 * .properties file.
-	 */
-	public int getNumWords() {
-		// NOT a fast method....how to optimize?
-		Iterator iterator = _propertyLines.iterator();
-		int count = 0;
-		while (iterator.hasNext()) {
-			PropertyLine line = (PropertyLine) iterator.next();
-			count += line.getNumWords();
-		}
-		return count;
-	}
-	
-	/**
-	 * Return a count of the number of unique message prefixes in the file.
-	 * (A message prefix starts the message text, e.g., ABCD0000E.)
-	 */
-	public int getNumUniquePrefixes() {
-		Set uniqueIds = new HashSet();
-		Iterator iterator = getPropertyLines().iterator();
-		while(iterator.hasNext()) {
-			PropertyLine line = (PropertyLine)iterator.next();
-			if(line.hasMessagePrefix()) {
-				uniqueIds.add(line.getMessagePrefix());
-			}
-		}
-		return uniqueIds.size();
-	}
-	
-	/**
-	 * Return a count of the number of message prefixes used in the file.
-	 * Usually this is the same as the number of unique prefixes, but if 
-	 * a .properties file has variations of a message (slightly different 
-	 * wording for a different context), then the number of prefixes will 
-	 * be larger than the number of unique prefixess.
-	 */
-	public int getNumPrefixes() {
-		int count = 0;
-		Iterator iterator = getPropertyLines().iterator();
-		while(iterator.hasNext()) {
-			PropertyLine line = (PropertyLine)iterator.next();
-			if(line.hasMessagePrefix()) {
-				count++;
-			}
-		}
-		return count;
-	}
-
-	/**
-	 * Return a count of the number of messages that do not use prefixes in the file.
-	 */
-	public int getNumWithoutPrefixes() {
-		int count = 0;
-		Iterator iterator = getPropertyLines().iterator();
-		while(iterator.hasNext()) {
-			PropertyLine line = (PropertyLine)iterator.next();
-			if(!line.hasMessagePrefix()) {
-				count++;
-			}
-		}
-		return count;
-	}
-
-	/**
-	 * Return a List of the PropertyLine instances contained in this file.
-	 */
-	public List getPropertyLines() {
-		return _propertyLines;
-	}
-	
-	/**
-	 * Return the PropertyLine instance that is identified by the 
-	 * given messageId.
-	 */
-	public PropertyLine getPropertyLine(String messageId) {
-		Collections.sort(_propertyLines, PropertyLineComparator.getMessageIdComparator());
-		int index = Collections.binarySearch(_propertyLines, messageId, PropertyLineComparator.getMessageIdComparator());
-		if(index < 0) {
-			return null;
-		}
-		
-		PropertyLine result = (PropertyLine)_propertyLines.get(index);
-		return result;
-	}
-
-	/**
-	 * Parse the file to create a collection of uniquely identified 
-	 * keys with their associated values. If there are any duplicate 
-	 * keys, the last value is the one that is stored. Store the 
-	 * value of the duplicate keys, and the line number on which 
-	 * each instance of the key (and its value) are located.
-	 */
-	protected void parseFile(File propertyFile) {
-		FileReader input = null;
-		LineNumberReader lineInput = null;
-		try {
-			input = new FileReader(propertyFile);
-		}
-		catch (FileNotFoundException e) {
-			// We can ignore this exception because we have already checked in the constructor that the
-			// file exists.
-		}
-
-		// Because we want to read in a line at a time from the file, convert the FileReader to a LineReader
-		lineInput = new LineNumberReader(input);
-		
-		parseFile(lineInput);
-		
-		try {
-			lineInput.close();
-		}
-		catch (IOException e) {
-		}
-		input = null;
-		lineInput = null;
-	}
-		
-	/**
-	 * Given a LineNumberReader on a .properties file, read the
-	 * file and note any problems that may need to be reported to
-	 * the user.
-	 */
-	protected void parseFile(LineNumberReader lineInput) {
-		_propertyLines.clear();
-		_parseWarnings.clear();
-
-		boolean isNewKey = true;
-		String key = null;
-		int lineNumber = 0;
-		String value = null;
-		int offset = 0; // each .properties line needs to know its offset so that columns in the line can be calculated.
-		int messageOffset = 0; // the offset, relative to the start of the line, where the message prefix starts
-		String line = null;
-		while (true) {
-			try {
-				line = lineInput.readLine(); // calculate the offset in the finally block
-				if (line == null)
-					break;
-				line = line.trim();
-
-				// ignore blank lines
-				if (line.equals("")) //$NON-NLS-1$
-					continue;
-
-				// strip off lines that begin with '#'
-				if (line.startsWith("#")) //$NON-NLS-1$
-					continue;
-
-				// strip off lines that begin with '/'
-				if (line.startsWith("/")) //$NON-NLS-1$
-					continue;
-
-				if (isNewKey) {
-					// We know that the line is of the form
-					//
-					// KEYNAME = VALUE
-					//
-					if (line.indexOf(EQUALS) != -1) {
-						// Make sure the line is not of the form " = Message" (i.e., missing the message id).
-						if(line.indexOf(EQUALS) == 0) {
-							throw new java.util.NoSuchElementException();
-						}
-						
-						// The user may or may not put spaces between the key
-						// name, the equals sign, and the value. This gives us four cases:
-						//    1. keyname=value
-						//    2. keyname= value
-						//    3. keyname =value
-						//    4. keyname = value
-						// The way to deal with all four cases is to find the index of the
-						// '=' sign, and the value is the remainder of the line after the
-						// sign.
-						//
-						key = line.substring(0, line.indexOf(EQUALS));
-						key = key.trim();
-
-						// add 1 to the EQUALS index because '=' is one character long
-						value = line.substring(line.indexOf(EQUALS) + 1);
-						value = value.trim();
-
-						messageOffset = line.indexOf(value);
-
-						lineNumber = lineInput.getLineNumber();
-					}
-					else {
-						// error in line syntax
-						throw new java.util.NoSuchElementException();
-					}
-				}
-				else {
-					// need to read in the multiple lines to get the multi-line value
-					value += line;
-				}
-
-				if (value.endsWith("\\")) { //$NON-NLS-1$
-					// multi-line value
-					// read in every line from the file until you reach an end-of-line
-					isNewKey = false;
-				}
-				else {
-					// end of multi-line value, or end of single-line value
-					isNewKey = true;
-					PropertyLine pline = new PropertyLine(this, offset, messageOffset, key, value, lineNumber);
-					_propertyLines.add(pline);
-				}
-			}
-			catch (IOException e) {
-				// When there is an IOException, we have reached the end of the file.
-				break;
-			}
-			catch (NullPointerException e) {
-				// If a line is not of the form KEYNAME = VALUE, there might be a null exception.
-				// Just continue onto the next line in the file
-				MessageMetaData mmd = new MessageMetaData(IValidationConstants.BUNDLENAME, MessageMetaData.ERROR, IValidationConstants.ABCD0080, null, this, lineInput.getLineNumber());
-				report(mmd);
-				break;
-			}
-			catch (java.util.NoSuchElementException e) {
-				// If a line is not of the form KEYNAME = VALUE, there might be a NoSuchElement exception.
-				// Just continue onto the next line in the file
-				MessageMetaData mmd = new MessageMetaData(IValidationConstants.BUNDLENAME, MessageMetaData.ERROR, IValidationConstants.ABCD0080, null, this, lineInput.getLineNumber());
-				report(mmd);
-			}
-			finally {
-				if(line != null) {
-					offset += line.length() + 2; // hack. 
-					// Can't get offset from BufferedReader, and since the reader strips 
-					// the '\n' and '\r' from the line before the line is returned, the 
-					// true length of the line can't be ascertained. This hack will not 
-					// work on Unix because unix's EOL char is different than Windows.
-					//
-					// When there's time, need to find an alternative to LineNumberReader.
-				}
-			}
-		}
-	}
-	
-	/**
-	 * Print a list of all message prefixes, e.g., ABCD0000E, that are used
-	 * in the .properties file.
-	 */
-	public void printAllMessagePrefixes() {
-		report("Line Number\tMessage prefix\tMessage id"); //$NON-NLS-1$
-		Collections.sort(_propertyLines, PropertyLineComparator.getMessagePrefixComparator());
-		Iterator iterator = _propertyLines.iterator();
-		while(iterator.hasNext()) {
-			PropertyLine line = (PropertyLine)iterator.next();
-			if((line.getMessagePrefix() != null) && (!line.getMessagePrefix().equals(""))) { //$NON-NLS-1$
-				StringBuffer buffer = new StringBuffer(String.valueOf(line.getLineNumber()));
-				buffer.append("\t"); //$NON-NLS-1$
-				buffer.append(line.getMessagePrefix());
-				buffer.append("\t"); //$NON-NLS-1$
-				buffer.append(line.getMessageId());
-				report(buffer.toString());
-			}
-		}
-	}
-
-	/**
-	 * Print a list of all of the message prefixes, e.g., ABCD1111E, 
-	 * that are not used in the file. A message prefix is considered
-	 * &quot;missing&quot; if a message prefix that precedes it, 
-	 * e.g. ABCD0000E, and a message prefix that follows it, 
-	 * e.g. ABCD2222E, are contained in the file, but the prefix is not.
-	 * This list is useful when adding a new message to the file;
-	 * the prefixes printed by this method are unused and one can be
-	 * selected for the new method.
-	 */
-	public void printAllMissingMessagePrefixes() {
-		int lastNumber = -1;
-		
-		Collections.sort(_propertyLines, PropertyLineComparator.getMessagePrefixComparator());
-		Iterator iterator = _propertyLines.iterator();
-		while(iterator.hasNext()) {
-			PropertyLine line = (PropertyLine)iterator.next();
-			String prefix = line.getMessagePrefix();
-			int prefixNumber = 0;
-			if(prefix == null) {
-				continue;
-			}
-			
-			if(prefix.equals("")) { //$NON-NLS-1$
-				continue;
-			}
-			
-			String prefixLetters = prefix.substring(0, 4); // "ABCD" of "ABCD0000W"
-			try {
-				// Re: magic numbers "4" and "8" below.
-				// Since the message prefix is of the form ABCD0000E,
-				// strip off the first four characters up to (and excluding) the 
-				// eighth character, "E".
-				prefixNumber = Integer.parseInt(prefix.substring(4, 8));
-			}
-			catch(NumberFormatException e) {
-				// just continue
-				continue;
-			}
-			if(lastNumber != -1) {
-				if(prefixNumber != (lastNumber + 1)) {
-					// Start at lastNumber + 1 because lastNumber exists.
-					// Exclude prefixNumber because prefixNumber exists.
-					for(int i=lastNumber+1; i<prefixNumber; i++) {
-						report(prefixLetters + i);
-					}
-				}
-			}
-			lastNumber = prefixNumber;
-		}
-	}
-
-	/**
-	 * Print all of the messages in the .properties file that use
-	 * a message prefix, e.g. ABCD0000E.
-	 */
-	public void printAllMessagesWithAMessagePrefix() {
-		report("MESSAGES WITH PREFIXES"); //$NON-NLS-1$
-		Collections.sort(_propertyLines, PropertyLineComparator.getLineNoComparator());
-		Iterator iterator = _propertyLines.iterator();
-		while(iterator.hasNext()) {
-			PropertyLine line = (PropertyLine)iterator.next();
-			if(line.hasMessagePrefix()) {
-				report(line.toString());
-			}
-		}
-	}
-
-	/**
-	 * Print all of the messages in the .properties file whose message
-	 * text does not begin with a message prefix, e.g., ABCD0000E.
-	 */
-	public void printAllMessagesWithoutAMessagePrefix() {
-		report("BLANK MESSAGE PREFIX"); //$NON-NLS-1$
-		Collections.sort(_propertyLines, PropertyLineComparator.getLineNoComparator());
-		Iterator iterator = _propertyLines.iterator();
-		while(iterator.hasNext()) {
-			PropertyLine line = (PropertyLine)iterator.next();
-			if(!line.hasMessagePrefix()) {
-				report(line.toString());
-			}
-		}
-	}
-	
-	/**
-	 * Print a list of all messages whose text is the empty string (&quot;&quot;).
-	 */
-	public void printAllMessagesWhichAreBlank() {
-		report("BLANK MESSAGES"); //$NON-NLS-1$
-		Collections.sort(_propertyLines, PropertyLineComparator.getLineNoComparator());
-		Iterator iterator = _propertyLines.iterator();
-		while(iterator.hasNext()) {
-			PropertyLine line = (PropertyLine)iterator.next();
-			if(line.getMessage().equals("")) { //$NON-NLS-1$
-				StringBuffer buffer = new StringBuffer("line number "); //$NON-NLS-1$
-				buffer.append(line.getLineNumber());
-				buffer.append(", message id "); //$NON-NLS-1$
-				buffer.append(line.getMessageId());
-				report(buffer.toString());
-			}
-		}
-	}
-	
-	/**
-	 * Print a list of the lines that have syntax errors, for example,
-	 * missing the equals sign between the message id and the message 
-	 * text.
-	 */
-	public void printSyntaxWarnings() {
-		List parseWarnings = getParseWarnings();
-		Iterator iterator = parseWarnings.iterator();
-		while (iterator.hasNext()) {
-			report((MessageMetaData)iterator.next());
-		}
-	}
-
-	/**
-	 * Print a list of all of the messages in the .properties file that
-	 * use the same message id. If more than one message uses the same
-	 * id, when the ResourceBundle is asked for that message id, it will
-	 * return the last message (i.e., the largest line number) with that
-	 * id in the file.
-	 */
-	public void printDuplicateMessageId() {
-		printDuplicateMessageId(true);
-	}
-	
-	/**
-	 * Print a list of all of the messages in the .properties file that
-	 * use the same message id. If more than one message uses the same
-	 * id, when the ResourceBundle is asked for that message id, it will
-	 * return the last message (i.e., the largest line number) with that
-	 * id in the file.
-	 * 
-	 * The boolean parameter is used to determine whether or not 
-	 * the &quot;DUPLICATE MESSAGE IDS&quot; title is emitted before 
-	 * the list of duplicates.
-	 */
-	public void printDuplicateMessageId(boolean printTitle) {
-		if(printTitle) {
-			report("DUPLICATE MESSAGE IDS"); //$NON-NLS-1$
-		}
-		Comparator c = PropertyLineComparator.getMessageIdComparator();
-		String messageId = IValidationConstants.ABCD0060;
-		Collections.sort(_propertyLines, c);
-		Iterator iterator = _propertyLines.iterator();
-		PropertyLine lastLine = null;
-		PropertyLine line = null;
-		boolean needToPrintLast = false;
-		while(iterator.hasNext()) {
-			lastLine = line;
-			line = (PropertyLine)iterator.next();
-			
-			if(c.compare(lastLine, line) == 0) {
-				needToPrintLast = true;
-				MessageMetaData mmd = new MessageMetaData(IValidationConstants.BUNDLENAME, MessageMetaData.WARNING, messageId, new String[]{lastLine.getMessageId()}, lastLine, lastLine.getLineNumber());
-				report(mmd);
-			}
-			else if(needToPrintLast) {
-				// The last duplicate line needs to be printed, because lastLine is always printed but line needs to be printed too.
-				needToPrintLast = false;
-				MessageMetaData mmd = new MessageMetaData(IValidationConstants.BUNDLENAME, MessageMetaData.WARNING, messageId, new String[]{lastLine.getMessageId()}, lastLine, lastLine.getLineNumber());
-				report(mmd);
-			}
-		}
-
-		if(needToPrintLast) {
-			// The last duplicate line needs to be printed, because lastLine is always printed but line needs to be printed too.
-			MessageMetaData mmd = new MessageMetaData(IValidationConstants.BUNDLENAME, MessageMetaData.WARNING, messageId, new String[]{line.getMessageId()}, line, line.getLineNumber());
-			report(mmd);
-		}
-	}
-	
-	/**
-	 * Print a list of all of the messages in the .properties file that
-	 * do not use a unique message prefix (e.g., ABCD0000E), with the 
-	 * exception of all messages which are intended to be duplicates.
-	 * Generally, users expect one message prefix per problem, so 
-	 * reused message prefixes can be confusing. Any message which 
-	 * deliberately reuses a message prefix must use a message id 
-	 * that starts with that prefix.
-	 */
-	public void printDuplicateMessagePrefix() {
-		printDuplicateMessagePrefix(true);
-	}
-	
-	/**
-	 * Print a list of all of the messages in the .properties file that
-	 * do not use a unique message prefix (e.g., ABCD0000E), with the 
-	 * exception of all messages which are intended to be duplicates.
-	 * Generally, users expect one message prefix per problem, so 
-	 * reused message prefixes can be confusing. Any message which 
-	 * deliberately reuses a message prefix must use a message id 
-	 * that starts with that prefix.
-	 * 
-	 * The boolean parameter is used to determine whether or not 
-	 * the &quot;DUPLICATE MESSAGE PREFIXESS&quot; title is emitted 
-	 * before the list of duplicates.
-	 */	
-	public void printDuplicateMessagePrefix(boolean printTitle) {
-		if(printTitle) {
-			report("DUPLICATE MESSAGE PREFIXES"); //$NON-NLS-1$
-		}
-		Comparator c = PropertyLineComparator.getMessagePrefixComparator();
-		Collections.sort(_propertyLines, c);
-		String messageId = IValidationConstants.ABCD0070;
-		Iterator iterator = _propertyLines.iterator();
-		PropertyLine lastLine = null;
-		PropertyLine line = null;
-		boolean needToPrintLast = false;
-		while(iterator.hasNext()) {
-			lastLine = line;
-			line = (PropertyLine)iterator.next();
-			
-			if(lastLine != null) {
-				if(!lastLine.getMessageId().startsWith(lastLine.getShortMessagePrefix())) {
-					if(c.compare(lastLine, line) == 0) {
-						needToPrintLast = true;
-						MessageMetaData mmd = new MessageMetaData(IValidationConstants.BUNDLENAME, MessageMetaData.WARNING, messageId, new String[]{lastLine.getMessagePrefix()}, lastLine, lastLine.getLineNumber());
-						report(mmd);
-					}
-					else if(needToPrintLast) {
-						// The last duplicate line needs to be printed, because lastLine is always printed but line needs to be printed too.
-						needToPrintLast = false;
-						MessageMetaData mmd = new MessageMetaData(IValidationConstants.BUNDLENAME, MessageMetaData.WARNING, messageId, new String[]{lastLine.getMessagePrefix()}, lastLine, lastLine.getLineNumber());
-						report(mmd);
-					}
-				}
-			}
-		}
-
-		if(lastLine != null) {
-			if(!lastLine.getMessageId().startsWith(lastLine.getShortMessagePrefix())) {
-				if(needToPrintLast) {
-					// The last duplicate line needs to be printed, because lastLine is always printed but line needs to be printed too.
-					MessageMetaData mmd = new MessageMetaData(IValidationConstants.BUNDLENAME, MessageMetaData.WARNING, messageId, new String[]{line.getMessagePrefix()}, line, line.getLineNumber());
-					report(mmd);
-				}
-			}
-		}
-	}
-
-	/**
-	 * Print a list of message prefixes whose first characters match
-	 * the prefix parameter. This method is useful when you want to see
-	 * if a range of prefixes is in use or not.
-	 */
-	public void printMessagePrefixStartingWith(final String prefix) {
-		report("Find all error prefixes starting with " + prefix); //$NON-NLS-1$
-		Comparator c = PropertyLineComparator.getMessagePrefixComparator();
-		Collections.sort(_propertyLines, c);
-		Iterator iterator = _propertyLines.iterator();
-		PropertyLine line = null;
-		while(iterator.hasNext()) {
-			line = (PropertyLine)iterator.next();
-			if (line.getMessagePrefix().startsWith(prefix)) {
-				StringBuffer buffer = new StringBuffer(String.valueOf(line.getLineNumber()));
-				buffer.append("\t"); //$NON-NLS-1$
-				buffer.append(line.getMessagePrefix());
-				buffer.append("\t"); //$NON-NLS-1$
-				buffer.append(line.getMessageId());
-				report(buffer.toString());
-			}
-		}
-	}
-	
-	/**
-	 * Print the last prefix (i.e., the one with the largest number, 
-	 * e.g. ABCD2222 is larger than ABCD1111 or ABCD0000) in the file 
-	 * whose first characters match the prefix parameter. 
-	 */
-	public void printLastMessagePrefixStartingWith(final String prefix) {
-		report("Find last error prefix starting with " + prefix); //$NON-NLS-1$
-		Comparator c = PropertyLineComparator.getMessagePrefixComparator();
-		Collections.sort(_propertyLines, c);
-		PropertyLine[] lines = new PropertyLine[_propertyLines.size()];
-		_propertyLines.toArray(lines);
-		boolean found = false;
-		for(int i=lines.length; i>-1; i--) {
-			PropertyLine line = lines[i];
-			if (line.getMessagePrefix().startsWith(prefix)) {
-				report(line.toString());
-				found = true;
-				break;
-			}
-		}
-		if(!found) {
-			report("No error ids were found that started with " + prefix); //$NON-NLS-1$
-		}
-	}
-
-	/**
-	 * Given an estimate of the number of characters in a substitution parameter,
-	 * print a list of the number of characters in a given message, if each 
-	 * parameter is replaced with &quot;length&quot; characters.
-	 */
-	public void printExpectedStringLength(final int length) {
-		report("EXPECTED LENGTH OF MESSAGE WITH PARAMETERS " + length + " LONG"); //$NON-NLS-1$ //$NON-NLS-2$
-		Comparator c = PropertyLineComparator.getStringLengthComparator(length);
-		Collections.sort(_propertyLines, c);
-		Iterator iterator = _propertyLines.iterator();
-		while(iterator.hasNext()) {
-			PropertyLine line = (PropertyLine)iterator.next();
-
-			StringBuffer buffer = new StringBuffer("Length: "); //$NON-NLS-1$
-			buffer.append(line.getExpectedLength(length));
-			buffer.append("\t"); //$NON-NLS-1$
-			buffer.append(line.toStringWithExpectedLength(length));
-			report(buffer.toString());
-		}
-	}
-
-	/**
-	 * Print the number of characters in each message.
-	 */
-	public void printStringLength() {
-		// "0" means no substitution
-		printExpectedStringLength(0);
-	}
-
-	/**
-	 * Print the contents of the .properties file, sorted by message id.
-	 */
-	public void printContents() {
-		report("CONTENTS OF .properties FILE, SORTED BY MESSAGE ID"); //$NON-NLS-1$
-		Comparator c = PropertyLineComparator.getMessageIdComparator();
-		Collections.sort(_propertyLines, c);
-		Iterator iterator = _propertyLines.iterator();
-		while(iterator.hasNext()) {
-			PropertyLine line = (PropertyLine)iterator.next();
-			report(line.toString());
-		}
-	}
-
-}
\ No newline at end of file
diff --git a/tests/org.eclipse.jst.validation.sample/propertiesValidator/org/eclipse/jst/validation/sample/parser/CompareProperties.java b/tests/org.eclipse.jst.validation.sample/propertiesValidator/org/eclipse/jst/validation/sample/parser/CompareProperties.java
deleted file mode 100644
index 1e51869..0000000
--- a/tests/org.eclipse.jst.validation.sample/propertiesValidator/org/eclipse/jst/validation/sample/parser/CompareProperties.java
+++ /dev/null
@@ -1,369 +0,0 @@
-package org.eclipse.jst.validation.sample.parser;
-/*
- * Licensed Material - Property of IBM 
- * (C) Copyright IBM Corp. 2002, 2003 - All Rights Reserved. 
- * US Government Users Restricted Rights - Use, duplication or disclosure 
- * restricted by GSA ADP Schedule Contract with IBM Corp. 
- *
- * DISCLAIMER OF WARRANTIES.
- * The following [enclosed] code is sample code created by IBM
- * Corporation. This sample code is not part of any standard or IBM
- * product and is provided to you solely for the purpose of assisting
- * you in the development of your applications.  The code is provided
- * "AS IS". IBM MAKES NO WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT
- * NOT LIMITED TO THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE, REGARDING THE FUNCTION OR PERFORMANCE OF
- * THIS CODE.  THIS CODE MAY CONTAIN ERRORS.  IBM shall not be liable
- * for any damages arising out of your use of the sample code, even
- * if it has been advised of the possibility of such damages.
- * 
- */
-
-import java.util.*;
-
-/**
- * This class compares two .properties file and outputs a list
- * of the differences. This class is used to count the number
- * of words that have changed.
- */
-public class CompareProperties {
-	public static final String lineSeparator = java.lang.System.getProperty("line.separator"); //$NON-NLS-1$
-	private TreeSet _deleted = null;
-	private TreeMap _changed = null;
-	private TreeSet _added = null;
-	private PropertyFile _oldFile = null;
-	private PropertyFile _newFile = null;
-
-	/**
-	 * This class is used to store PropertyLine instances which have the same
-	 * message id, but different values. When the list of differences is output,
-	 * all values are output so that the user can compare the lines manually, to
-	 * see what's different.
-	 */
-	class CompareLine implements Comparable {
-		private ArrayList _lines;
-		private final String _messageId;
-
-		public CompareLine(String messageId) {
-			_messageId = messageId;
-			_lines = new ArrayList();
-		}
-
-		public void add(PropertyLine oldLine, PropertyLine newLine) {
-			_lines.add(new PropertyLine[]{oldLine, newLine});
-		}
-
-		public String toString() {
-			StringBuffer buffer = new StringBuffer();
-			Iterator iterator = _lines.iterator();
-			while (iterator.hasNext()) {
-				buffer.append(lineSeparator);
-				buffer.append("\t"); //$NON-NLS-1$
-				PropertyLine[] lines = (PropertyLine[])iterator.next();
-				
-				buffer.append(lines[0]);
-				buffer.append("\n"); //$NON-NLS-1$
-				buffer.append(lines[1]);
-			}
-			return buffer.toString();
-		}
-
-		/**
-		 * Since this is a changed string, return the absolute difference of words between the strings.
-		 */		
-		public int getNumWords() {
-			int numWords = 0;
-			Iterator iterator = _lines.iterator();
-			while (iterator.hasNext()) {
-				PropertyLine[] lines = (PropertyLine[])iterator.next();
-				numWords = numWords + compare(lines[0], lines[1]);
-			}
-			return numWords;
-		}
-		
-		private int compare(PropertyLine oldLine, PropertyLine newLine) {
-			// For every word in the old string, see if it exists in the new
-			// string. The position of the word doesn't matter - if the word
-			// exists in the new, then the word is not counted as a "changed"
-			// word. 
-			//    1. If the word exists, remove the word from the newLine and
-			//       advance to the next old token. (Remove word from newLine
-			//       in case the word existed twice in the old string but only
-			//       once in the new. The second oldWord should be counted as
-			//       a changed word.)
-			//    2. If the word doesn't exist, numChanged++ and advance to the
-			//       next old token.
-			//    3. Once all of the oldWords have been checked, tokenize the
-			//       remaining newWord and count the number of words in the string.
-			//       These words have been added and each one counts as a 
-			//       changed word.
-			int numChangedWords = 0;
-			StringTokenizer oldTokenizer = new StringTokenizer(oldLine.getMessage());
-
-			// Need to be careful...want the entire word, not oldWord="on" mistaken for newWord="one" or newWord="bond"
-			// Easier to create a list of new words to compare against.
-			StringTokenizer newTokenizer = new StringTokenizer(newLine.getMessage());
-			List newWords = new ArrayList(); // Can't use a set in case the newLine uses a word, e.g. "the", more than once.
-			while(newTokenizer.hasMoreTokens()) {
-				newWords.add(newTokenizer.nextToken());
-			}
-			
-			while(oldTokenizer.hasMoreTokens()) {
-				String oldWord = oldTokenizer.nextToken();
-				if(newWords.contains(oldWord)) {
-					newWords.remove(oldWord);
-				}
-				else {
-					numChangedWords++;
-				}
-			}
-
-			// Can count the tokens but not the elments.
-			numChangedWords += newWords.size();
-			return numChangedWords;
-		}
-
-		public String getMessageId() {
-			return _messageId;
-		}
-
-		public int compareTo(Object o) {
-			// by default, sort by message id
-			if (!(o instanceof CompareLine)) {
-				// then how on earth did this method get called??
-				// put it at the end of the list
-				return 1;
-			}
-
-			return getMessageId().compareTo(((CompareLine) o).getMessageId());
-		}
-	}
-
-	/**
-	 * Compare the two PropertyFile and print out a list of the differences; 
-	 * the first parameter is the older .properties file, and the second 
-	 * parameter is the newer .properties file.
-	 */
-	public CompareProperties(PropertyFile oldFile, PropertyFile newFile) {
-		_deleted = new TreeSet();
-		_changed = new TreeMap();
-		_added = new TreeSet();
-		
-		_oldFile = oldFile;
-		_newFile = newFile;
-
-		compare(oldFile, newFile);
-	}
-	
-	/**
-	 * In the older PropertyFile, the message text was different; cache the
-	 * older version of the PropertyLine and the newer version of the PropertyLine.
-	 */
-	private void addChanged(PropertyLine oldLine, PropertyLine newLine) {
-		CompareLine cl = (CompareLine) _changed.get(oldLine.getMessageId());
-		if (cl == null) {
-			cl = new CompareLine(oldLine.getMessageId());
-		}
-		cl.add(oldLine, newLine);
-		_changed.put(oldLine.getMessageId(), cl);
-	}
-	
-	/**
-	 * Compare the two property files and build the collections of variable names with
-	 * their associated values.
-	 */
-	public void compare(PropertyFile oldFile, PropertyFile newFile) {
-		_added.clear();
-		_deleted.clear();
-		_changed.clear();
-
-		// For each element in file 1, see if it exists in file 2
-		//   a) if it doesn't exist, add it to the list of "deleted" strings
-		//   b) if it exists, and if the value is different, add it to the list of "changed" strings
-		//   c) if it exists, and if the value is the same, add it to the list of "not changed" strings
-		//   d) delete the entry, if it exists, from file 2's hashtable so we don't check it twice.
-		// For each element in file 2 not checked already, it cannot exist in file 1, so add it to the list of "new" strings
-		//
-		// Need some way to abort comparison if either of the files contains duplicate
-		// message ids.
-		//
-		List oldKeys = new ArrayList(oldFile.getPropertyLines());
-		List newKeys = new ArrayList(newFile.getPropertyLines());
-		Collections.sort(oldKeys, PropertyLineComparator.getMessageIdComparator());
-		Collections.sort(newKeys, PropertyLineComparator.getMessageIdComparator());
-		Iterator oldIterator = oldKeys.iterator();
-		Iterator newIterator = newKeys.iterator();
-		PropertyLine oldLine = (oldIterator.hasNext()) ? (PropertyLine) oldIterator.next() : null;
-		PropertyLine newLine = (newIterator.hasNext()) ? (PropertyLine) newIterator.next() : null;
-		while ((oldLine != null) && (newLine != null)) {
-			// oldLine message id is either <, =, or > newLine message id.
-			// if <, message id has been deleted.
-			// if =, see if changed (or just compare message ids.)
-			// if >, new line is a new message id.
-			// to increment, increment only the < (whether it's oldLine or newLine).
-			int compare = oldLine.getMessageId().compareTo(newLine.getMessageId());
-			if (compare < 0) {
-				// deleted
-				_deleted.add(oldLine);
-				if (oldIterator.hasNext()) {
-					oldLine = (PropertyLine) oldIterator.next();
-				}
-				else {
-					oldLine = null;
-				}
-			}
-			else if (compare == 0) {
-				// existed before. Check if changed.
-				if (!oldLine.getMessage().equals(newLine.getMessage())) {
-					// changed
-					addChanged(oldLine, newLine);
-				}
-				if (oldIterator.hasNext() && newIterator.hasNext()) {
-					oldLine = (PropertyLine) oldIterator.next();
-					newLine = (PropertyLine) newIterator.next();
-				}
-				else {
-					oldLine = null;
-					newLine = null;
-				}
-
-			}
-			else {
-				// added
-				_added.add(newLine);
-				if (newIterator.hasNext()) {
-					newLine = (PropertyLine) newIterator.next();
-				}
-				else {
-					newLine = null;
-				}
-			}
-		}
-
-		if (oldLine != null) {
-			_deleted.add(oldLine);
-		}
-
-		if (newLine != null) {
-			_added.add(newLine);
-		}
-
-		while (oldIterator.hasNext()) {
-			// all of the rest have been deleted
-			_deleted.add(oldIterator.next());
-		}
-
-		while (newIterator.hasNext()) {
-			// all of the rest have been added
-			_added.add(newIterator.next());
-		}
-	}
-	
-	/**
-	 * Return a Collction of PropertyLine instances that exist in
-	 * the newer PropertyFile that aren't in the older PropertyFile.
-	 */
-	public Set getAdded() {
-		return _added;
-	}
-	
-	/**
-	 * Return a Collection of CompareLine instances that represent
-	 * the two PropertyLine instances; one from the older PropertyFile,
-	 * and one from the newer PropertyFile.
-	 */
-	public Collection getChanged() {
-		return _changed.values();
-	}
-	
-	/**
-	 * Return a Collection of PropertyLine instances that do not
-	 * exist in the newer PropertyFile yet that exist in the older
-	 * PropertyFile.
-	 */
-	public Set getDeleted() {
-		return _deleted;
-	}
-	
-	/**
-	 * Print out all of the collections of variable strings.
-	 */
-	public void printResults() {
-		// create an output log in the current directory, and in it list the strings in a section each.
-		int numNew = printStrings("NEW PROPERTIES", _added); //$NON-NLS-1$
-		
-		int numWordsDeleted = printStrings("DELETED PROPERTIES", _deleted); //$NON-NLS-1$
-		int numWordsChanged =  printStrings("CHANGED PROPERTIES", _changed.values()); //$NON-NLS-1$
-		float totalChange = numNew + numWordsDeleted + numWordsChanged;
-		float numWords = _newFile.getNumWords();
-		float percent = totalChange / numWords * 100;
-		
-		System.out.println();
-		System.out.println("Number of new words: " + numNew); //$NON-NLS-1$
-		System.out.println("Number of words in deleted messages: " + numWordsDeleted); //$NON-NLS-1$
-		System.out.println("Number of changed words in modified messages: " + numWordsChanged); //$NON-NLS-1$
-		System.out.println("Number of words in file " + _newFile.getQualifiedFileName() + ": " + numWords); //$NON-NLS-1$ //$NON-NLS-2$
-		System.out.println("Total change of words: " + totalChange + ", which is a " + percent + "% change."); //$NON-NLS-1$  //$NON-NLS-2$ //$NON-NLS-3$
-	}
-	
-	public void printResultsForTranslation() {
-		// create an output log in the current directory, and in it list the strings in a section each.
-		printStringsForTranslation("DELETED PROPERTIES", _deleted); //$NON-NLS-1$
-		printStringsForTranslation("NEW PROPERTIES", _added); //$NON-NLS-1$
-		printStringsForTranslation("CHANGED PROPERTIES", _changed.values()); //$NON-NLS-1$
-	}
-	
-	/**
-	 * Print the number of lines in the .properties file.
-	 */
-	private int printStrings(String header, Collection lines) {
-		System.out.println();
-		System.out.println(header);
-		int count = 0;
-		int numWords = 0;
-		Iterator iterator = lines.iterator();
-		while (iterator.hasNext()) {
-			Object line = iterator.next();
-			if(line instanceof PropertyLine) {
-				numWords += ((PropertyLine)line).getNumWords();
-			}
-			else {
-				// must be a compare line
-				numWords += ((CompareLine)line).getNumWords();
-			}
-			
-			count++;
-			System.out.println(line);
-		}
-		System.out.println("Number of properties: " + count); //$NON-NLS-1$
-		System.out.println();
-		return numWords;
-	}
-	
-	/**
-	 * Print the contents of the sorted collection of lines from the .properties file.
-	 */
-	private void printStringsForTranslation(String header, Collection lines) {
-		System.out.println();
-		System.out.println(header);
-		int count = 0;
-		Iterator iterator = lines.iterator();
-		while (iterator.hasNext()) {
-			count++;
-			Object line = iterator.next();
-			if (line instanceof PropertyLine) {
-				PropertyLine propline = (PropertyLine) line;
-				System.out.println(propline.getMessageId());
-			}
-			else if (line instanceof CompareLine) {
-				CompareLine propline = (CompareLine) line;
-				System.out.println(propline.getMessageId());
-			}
-			else {
-				System.out.println("instance of " + line.getClass().getName()); //$NON-NLS-1$
-			}
-		}
-		System.out.println("Total: " + count); //$NON-NLS-1$
-		System.out.println();
-	}
-}
\ No newline at end of file
diff --git a/tests/org.eclipse.jst.validation.sample/propertiesValidator/org/eclipse/jst/validation/sample/parser/IValidationConstants.java b/tests/org.eclipse.jst.validation.sample/propertiesValidator/org/eclipse/jst/validation/sample/parser/IValidationConstants.java
deleted file mode 100644
index c8ae9e4..0000000
--- a/tests/org.eclipse.jst.validation.sample/propertiesValidator/org/eclipse/jst/validation/sample/parser/IValidationConstants.java
+++ /dev/null
@@ -1,46 +0,0 @@
-package org.eclipse.jst.validation.sample.parser;
-/*
- * Licensed Material - Property of IBM 
- * (C) Copyright IBM Corp. 2002, 2003 - All Rights Reserved. 
- * US Government Users Restricted Rights - Use, duplication or disclosure 
- * restricted by GSA ADP Schedule Contract with IBM Corp. 
- *
- * DISCLAIMER OF WARRANTIES.
- * The following [enclosed] code is sample code created by IBM
- * Corporation. This sample code is not part of any standard or IBM
- * product and is provided to you solely for the purpose of assisting
- * you in the development of your applications.  The code is provided
- * "AS IS". IBM MAKES NO WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT
- * NOT LIMITED TO THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE, REGARDING THE FUNCTION OR PERFORMANCE OF
- * THIS CODE.  THIS CODE MAY CONTAIN ERRORS.  IBM shall not be liable
- * for any damages arising out of your use of the sample code, even
- * if it has been advised of the possibility of such damages.
- * 
- */
-
-/**
- * This interface contains the message ids of all of the Properties
- * Validator's messages, and the name of the resource bundle that 
- * contains those messages. 
- */
-public interface IValidationConstants {
-	/*package*/ static final String BUNDLENAME = "propertiesValidator"; //$NON-NLS-1$
-	
-	/*package*/ static final String ABCD0000 = "ABCD0000"; //$NON-NLS-1$
-	/*package*/ static final String ABCD0010E = "ABCD0010E"; //$NON-NLS-1$
-	/*package*/ static final String ABCD0010W = "ABCD0010W"; //$NON-NLS-1$
-	/*package*/ static final String ABCD0020 = "ABCD0020"; //$NON-NLS-1$
-	/*package*/ static final String ABCD0030 = "ABCD0030"; //$NON-NLS-1$
-	/*package*/ static final String ABCD0040 = "ABCD0040"; //$NON-NLS-1$
-	/*package*/ static final String ABCD0050 = "ABCD0050"; //$NON-NLS-1$
-	/*package*/ static final String ABCD0060 = "ABCD0060"; //$NON-NLS-1$
-	/*package*/ static final String ABCD0070 = "ABCD0070"; //$NON-NLS-1$
-	/*package*/ static final String ABCD0080 = "ABCD0080"; //$NON-NLS-1$
-	/*package*/ static final String ABCD0090 = "ABCD0090"; //$NON-NLS-1$
-	/*package*/ static final String ABCD0110 = "ABCD0110"; //$NON-NLS-1$
-	/*package*/ static final String ABCD0120 = "ABCD0120"; //$NON-NLS-1$
-	/*package*/ static final String ABCD0130 = "ABCD0130"; //$NON-NLS-1$
-
-	/*package*/ static final String LINE_LOC = "LINE_LOC"; //$NON-NLS-1$
-}
diff --git a/tests/org.eclipse.jst.validation.sample/propertiesValidator/org/eclipse/jst/validation/sample/parser/Main.java b/tests/org.eclipse.jst.validation.sample/propertiesValidator/org/eclipse/jst/validation/sample/parser/Main.java
deleted file mode 100644
index a4d6ee1..0000000
--- a/tests/org.eclipse.jst.validation.sample/propertiesValidator/org/eclipse/jst/validation/sample/parser/Main.java
+++ /dev/null
@@ -1,451 +0,0 @@
-package org.eclipse.jst.validation.sample.parser;
-/*
- * Licensed Material - Property of IBM 
- * (C) Copyright IBM Corp. 2002, 2003 - All Rights Reserved. 
- * US Government Users Restricted Rights - Use, duplication or disclosure 
- * restricted by GSA ADP Schedule Contract with IBM Corp. 
- *
- * DISCLAIMER OF WARRANTIES.
- * The following [enclosed] code is sample code created by IBM
- * Corporation. This sample code is not part of any standard or IBM
- * product and is provided to you solely for the purpose of assisting
- * you in the development of your applications.  The code is provided
- * "AS IS". IBM MAKES NO WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT
- * NOT LIMITED TO THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE, REGARDING THE FUNCTION OR PERFORMANCE OF
- * THIS CODE.  THIS CODE MAY CONTAIN ERRORS.  IBM shall not be liable
- * for any damages arising out of your use of the sample code, even
- * if it has been advised of the possibility of such damages.
- * 
- */
-
-import java.io.File;
-
-/**
- * This class is used to perform validation or .properties file queries
- * without using an IValidator. 
- */
-public class Main {
-	public static void main(String[] argv) {
-		if(argv.length < 1) {
-			System.out.println("prop -tr [-a | -ac | -am | -an | -al PREFIX | -ap PREFIX | -au | -b | -di | -dp | -l | -le <positive integer> | -p ] f:\\dir1\\dir2\\myPropertiesFile.properties"); //$NON-NLS-1$
-			System.out.println("or "); //$NON-NLS-1$
-			System.out.println("prop [-c|-ct] f:\\dir1\\dir2\\myPropertiesFile.properties f:\\dir1\\dir2\\myNewPropertiesFile.properties"); //$NON-NLS-1$
-			System.out.println("   -a: print all error/warning/info prefixes in the file"); //$NON-NLS-1$
-			System.out.println("  -ac: print a count of messages with and without prefixes in the file"); //$NON-NLS-1$
-			System.out.println("  -am: print all messages with a prefix"); //$NON-NLS-1$
-			System.out.println("  -an: print all messages without an error prefix"); //$NON-NLS-1$
-			System.out.println("  -al: print the last error/warning/info prefix, starting with PREFIX, in the file"); //$NON-NLS-1$
-			System.out.println("  -ap: print any error/warning/info prefixes, starting with PREFIX, in the file"); //$NON-NLS-1$
-			System.out.println("  -au: print all error/warning/info prefixes that are not used in the file"); //$NON-NLS-1$
-			System.out.println("   -b: print any blank messages in the properties file"); //$NON-NLS-1$
-			System.out.println("   -c: compare the two property files listed. The first is the older, and the second is the newer."); //$NON-NLS-1$
-			System.out.println("  -ct: compare the two property files listed. The first is the older, and the second is the newer. Output a list of the added, deleted, and changed strings, but print only the message id."); //$NON-NLS-1$
-			System.out.println("  -di: print any duplicate message ids and syntax errors in the properties file"); //$NON-NLS-1$
-			System.out.println("  -dp: print any duplicate error/warning/info prefixes in the file"); //$NON-NLS-1$
-			System.out.println("   -l: print the length of each message in the file"); //$NON-NLS-1$
-			System.out.println("  -le: print the length of each message in the file if each parameter is <positive integer> characters long."); //$NON-NLS-1$
-			System.out.println("   -n: print the number of words in the file, including message prefixes and parameters"); //$NON-NLS-1$
-			System.out.println("   -p: print the contents of the property file, sorted by message id"); //$NON-NLS-1$
-			System.out.println("  -tr: print trace information while parsing the .properties file"); //$NON-NLS-1$
-			System.out.println();
-			System.out.println("The default action is to print the syntax errors, duplicates, and other types of errors in the given .properties file."); //$NON-NLS-1$
-			System.exit(-1);
-		}
-
-		// This is not robust error-checking by any stretch of the imagination!
-		int index = 0;
-		String option = argv[index++].toLowerCase();
-		boolean trace = false;
-		if(option.equals("-tr")) { //$NON-NLS-1$
-			trace = true;
-			option = argv[index++].toLowerCase();
-		}
-		
-		if (option.equals("-a") && (argv.length >= 2)) { //$NON-NLS-1$
-			String[] files = new String[argv.length-1];
-			System.arraycopy(argv, 1, files, 0, files.length);
-			printAllErrorPrefix(trace, files);
-		}
-		else if (option.equals("-ac") && (argv.length >= 2)) { //$NON-NLS-1$
-			String[] files = new String[argv.length-1];
-			System.arraycopy(argv, 1, files, 0, files.length);
-			printPrefixCount(trace, files);
-		}
-		else if (option.equals("-al") && (argv.length >= 3)) { //$NON-NLS-1$
-			String[] files = new String[argv.length-2];
-			System.arraycopy(argv, 2, files, 0, files.length);
-			printErrorPrefix(trace, argv[index], files);
-		}
-		else if (option.equals("-am") && (argv.length >= 2)) { //$NON-NLS-1$
-			String[] files = new String[argv.length-1];
-			System.arraycopy(argv, 1, files, 0, files.length);
-			printErrorMessages(trace, files);
-		}
-		else if (option.equals("-an") && (argv.length >= 2)) { //$NON-NLS-1$
-			String[] files = new String[argv.length-1];
-			System.arraycopy(argv, 1, files, 0, files.length);
-			printMessagesWithoutPrefixes(trace, files);
-		}
-		else if (option.equals("-ap") && (argv.length >= 3)) { //$NON-NLS-1$
-			String[] files = new String[argv.length-2];
-			System.arraycopy(argv, 2, files, 0, files.length);
-			printErrorPrefixRange(trace, argv[index], files);
-		}
-		else if (option.equals("-au") && (argv.length >= 2)) { //$NON-NLS-1$
-			String[] files = new String[argv.length-1];
-			System.arraycopy(argv, 1, files, 0, files.length);
-			printAllMissingErrorPrefix(trace, files);
-		}
-		else if (option.equals("-b") && (argv.length >= 2)) { //$NON-NLS-1$
-			String[] files = new String[argv.length-1];
-			System.arraycopy(argv, 1, files, 0, files.length);
-			printBlanks(trace, files);
-		}
-		else if (option.equals("-c") && (argv.length == 3)) { //$NON-NLS-1$
-			File oldFile = new File(argv[index++]);
-			File newFile = new File(argv[index]);
-			compareFiles(trace, oldFile, newFile);
-		}
-		else if (option.equals("-ct") && (argv.length == 3)) { //$NON-NLS-1$
-			File oldFile = new File(argv[index++]);
-			File newFile = new File(argv[index]);
-			compareFilesForTranslation(trace, oldFile, newFile);
-		}
-		else if (option.equals("-di") && (argv.length >= 2)) { //$NON-NLS-1$
-			String[] files = new String[argv.length-1];
-			System.arraycopy(argv, 1, files, 0, files.length);
-			printDuplicateIds(trace, files);
-		}
-		else if (option.equals("-dp") && (argv.length >= 2)) { //$NON-NLS-1$
-			String[] files = new String[argv.length-1];
-			System.arraycopy(argv, 1, files, 0, files.length);
-			printDuplicatePrefixes(trace, files);
-		}
-		else if (option.equals("-l") && (argv.length >= 2)) { //$NON-NLS-1$
-			String[] files = new String[argv.length-1];
-			System.arraycopy(argv, 1, files, 0, files.length);
-			printStringLength(trace, files);
-		}
-		else if (option.equals("-le") && (argv.length >= 3)) { //$NON-NLS-1$
-			String[] files = new String[argv.length-2];
-			System.arraycopy(argv, 2, files, 0, files.length);
-			printExpectedStringLength(trace, argv[index], files);
-		}
-		else if (option.equals("-n") && (argv.length >= 2)) { //$NON-NLS-1$
-			String[] files = new String[argv.length-1];
-			System.arraycopy(argv, 1, files, 0, files.length);
-			printWordCount(trace, files);
-		}
-		else if (option.equals("-p") && (argv.length >= 2)) { //$NON-NLS-1$
-			String[] files = new String[argv.length-1];
-			System.arraycopy(argv, 1, files, 0, files.length);
-			printFileContents(trace, files);
-		}
-		else {
-			printDefault(trace, argv);
-		}
-	}
-
-	public static void printAllErrorPrefix(boolean trace, String[] files) {
-		for (int i = 0; i < files.length; i++) {
-			try {
-				System.out.println("******************************************"); //$NON-NLS-1$
-				PropertyFile propFile = new PropertyFile(files[i], trace);
-				propFile.printAllMessagePrefixes();
-				System.out.println("******************************************"); //$NON-NLS-1$
-				System.out.println();
-			}
-			catch (java.io.IOException e) {
-				System.out.println(e.getMessage());
-			}
-		}
-	}
-
-	public static void printAllMissingErrorPrefix(boolean trace, String[] files) {
-		for (int i = 0; i < files.length; i++) {
-			try {
-				System.out.println("******************************************"); //$NON-NLS-1$
-				PropertyFile propFile = new PropertyFile(files[i], trace);
-				propFile.printAllMissingMessagePrefixes();
-				System.out.println("******************************************"); //$NON-NLS-1$
-				System.out.println();
-			}
-			catch (java.io.IOException e) {
-				System.out.println(e.getMessage());
-			}
-		}
-	}
-
-	public static void printBlanks(boolean trace, String[] files) {
-		for (int i = 0; i < files.length; i++) {
-			try {
-				System.out.println("******************************************"); //$NON-NLS-1$
-				PropertyFile propFile = new PropertyFile(files[i], trace);
-				propFile.printAllMessagesWhichAreBlank();
-				System.out.println("******************************************"); //$NON-NLS-1$
-				System.out.println();
-			}
-			catch (java.io.IOException e) {
-				System.out.println(e.getMessage());
-			}
-		}
-	}
-
-	public static void printMessagesWithoutPrefixes(boolean trace, String[] files) {
-		for (int i = 0; i < files.length; i++) {
-			try {
-				System.out.println("******************************************"); //$NON-NLS-1$
-				PropertyFile propFile = new PropertyFile(files[i], trace);
-				propFile.printAllMessagesWithoutAMessagePrefix();
-				System.out.println("******************************************"); //$NON-NLS-1$
-				System.out.println();
-			}
-			catch (java.io.IOException e) {
-				System.out.println(e.getMessage());
-			}
-		}
-	}
-
-	public static void compareFiles(boolean trace, File oldFile, File newFile) {
-		if(oldFile.isFile() && newFile.isFile()) {
-			try {
-				PropertyFile oldPropFile = new PropertyFile(oldFile.getAbsolutePath(), trace);
-				PropertyFile newPropFile = new PropertyFile(newFile.getAbsolutePath(), trace);
-				CompareProperties cp = new CompareProperties(oldPropFile, newPropFile);
-				cp.printResults();
-			}
-			catch (java.io.IOException e) {
-				System.out.println(e.getMessage());
-			}
-		}
-		else if(oldFile.isDirectory() && newFile.isDirectory()) {
-			String[] oldChildren = oldFile.list();
-			for(int i=0; i<oldChildren.length; i++) {
-				File newChild = new File(newFile, oldChildren[i]);
-				if(newChild.exists()) {
-					// Found a file or directory that is named the same in the old & new. Compare.
-					compareFiles(trace, new File(oldFile, oldChildren[i]), newChild);
-				}
-			}
-		}
-		else {
-			System.out.println("Compare two files or two directories. Do not compare a file to a directory (" + oldFile.getName() + ", " + newFile.getName() + ")."); //$NON-NLS-1$  //$NON-NLS-2$ //$NON-NLS-3$
-		}
-	}
-
-	public static void compareFilesForTranslation(boolean trace, File oldFile, File newFile) {
-		if(oldFile.isFile() && newFile.isFile()) {
-			try {
-				PropertyFile oldPropFile = new PropertyFile(oldFile.getAbsolutePath(), trace);
-				PropertyFile newPropFile = new PropertyFile(newFile.getAbsolutePath(), trace);
-				CompareProperties cp = new CompareProperties(oldPropFile, newPropFile);
-				cp.printResultsForTranslation();
-			}
-			catch (java.io.IOException e) {
-				System.out.println(e.getMessage());
-			}
-		}
-		else if(oldFile.isDirectory() && newFile.isDirectory()) {
-			String[] oldChildren = oldFile.list();
-			for(int i=0; i<oldChildren.length; i++) {
-				File newChild = new File(newFile, oldChildren[i]);
-				if(newChild.exists()) {
-					// Found a file or directory that is named the same in the old & new. Compare.
-					compareFilesForTranslation(trace, new File(oldFile, oldChildren[i]), newChild);
-				}
-			}
-		}
-		else {
-			System.out.println("Compare two files or two directories. Do not compare a file to a directory (" + oldFile.getName() + ", " + newFile.getName() + ")."); //$NON-NLS-1$  //$NON-NLS-2$ //$NON-NLS-3$
-		}
-	}
-
-	public static void printDuplicateIds(boolean trace, String[] files) {
-		for (int i = 0; i < files.length; i++) {
-			try {
-				System.out.println("******************************************"); //$NON-NLS-1$
-				PropertyFile propFile = new PropertyFile(files[i], trace);
-				propFile.printDuplicateMessageId();
-				System.out.println("******************************************"); //$NON-NLS-1$
-				System.out.println();
-			}
-			catch (java.io.IOException e) {
-				System.out.println(e.getMessage());
-			}
-		}
-	}
-
-	public static void printErrorPrefix(boolean trace, String prefix, String[] files) {
-		for (int i = 0; i < files.length; i++) {
-			try {
-				System.out.println("******************************************"); //$NON-NLS-1$
-				PropertyFile propFile = new PropertyFile(files[i], trace);
-				propFile.printLastMessagePrefixStartingWith(prefix);
-				System.out.println("******************************************"); //$NON-NLS-1$
-				System.out.println();
-			}
-			catch (java.io.IOException e) {
-				System.out.println(e.getMessage());
-			}
-		}
-	}
-
-	public static void printErrorPrefixRange(boolean trace, String prefix, String[] files) {
-		for (int i = 0; i < files.length; i++) {
-			try {
-				System.out.println("******************************************"); //$NON-NLS-1$
-				PropertyFile propFile = new PropertyFile(files[i], trace);
-				propFile.printMessagePrefixStartingWith(prefix);
-				System.out.println("******************************************"); //$NON-NLS-1$
-				System.out.println();
-			}
-			catch (java.io.IOException e) {
-				System.out.println(e.getMessage());
-			}
-		}
-	}
-
-	public static void printDuplicatePrefixes(boolean trace, String[] files) {
-		for (int i = 0; i < files.length; i++) {
-			try {
-				System.out.println("******************************************"); //$NON-NLS-1$
-				PropertyFile propFile = new PropertyFile(files[i], trace);
-				propFile.printDuplicateMessagePrefix();
-				System.out.println("******************************************"); //$NON-NLS-1$
-				System.out.println();
-			}
-			catch (java.io.IOException e) {
-				System.out.println(e.getMessage());
-			}
-		}
-	}
-
-	public static void printStringLength(boolean trace, String[] files) {
-		for (int i = 0; i < files.length; i++) {
-			try {
-				System.out.println("******************************************"); //$NON-NLS-1$
-				PropertyFile propFile = new PropertyFile(files[i], trace);
-				propFile.printStringLength();
-				System.out.println("******************************************"); //$NON-NLS-1$
-				System.out.println();
-			}
-			catch (java.io.IOException e) {
-				System.out.println(e.getMessage());
-			}
-		}
-	}
-
-	public static void printExpectedStringLength(boolean trace, String slength, String[] files) {
-		int length = 0;
-		
-		try {
-			length = new Integer(slength).intValue();
-		}
-		catch(NumberFormatException exc) {
-			System.out.println();
-			System.out.println("Parameter must be an integer."); //$NON-NLS-1$
-			System.out.println();
-			return;
-		}
-		
-		for (int i = 0; i < files.length; i++) {
-			try {
-				System.out.println("******************************************"); //$NON-NLS-1$
-				PropertyFile propFile = new PropertyFile(files[i], trace);
-				propFile.printExpectedStringLength(length);
-				System.out.println("******************************************"); //$NON-NLS-1$
-				System.out.println();
-			}
-			catch (java.io.IOException e) {
-				System.out.println(e.getMessage());
-			}
-		}
-	}
-
-	public static void printErrorMessages(boolean trace, String[] files) {
-		for (int i = 0; i < files.length; i++) {
-			try {
-				System.out.println("******************************************"); //$NON-NLS-1$
-				PropertyFile propFile = new PropertyFile(files[i], trace);
-				propFile.printAllMessagesWithAMessagePrefix();
-				System.out.println("******************************************"); //$NON-NLS-1$
-				System.out.println();
-			}
-			catch (java.io.IOException e) {
-				System.out.println(e.getMessage());
-			}
-		}
-	}
-
-	public static void printWordCount(boolean trace, String[] files) {
-		for (int i = 0; i < files.length; i++) {
-			try {
-				System.out.println("******************************************"); //$NON-NLS-1$
-				PropertyFile propFile = new PropertyFile(files[i], trace);
-				System.out.println(propFile.getQualifiedFileName() + ":: Number of words :: " + propFile.getNumWords()); //$NON-NLS-1$
-				System.out.println("******************************************"); //$NON-NLS-1$
-				System.out.println();
-			}
-			catch (java.io.IOException e) {
-				System.out.println(e.getMessage());
-			}
-		}
-	}
-
-	public static void printPrefixCount(boolean trace, String[] files) {
-		for (int i = 0; i < files.length; i++) {
-			try {
-				System.out.println("******************************************"); //$NON-NLS-1$
-				PropertyFile propFile = new PropertyFile(files[i], trace);
-				System.out.println("Usually the number of unique prefixes and the number of prefixes is the same, but if a .properties file has variations of a message (slightly different wording for a different context), then the number of prefix messages will be larger than the number of unique prefixes."); //$NON-NLS-1$
-				System.out.println(propFile.getQualifiedFileName() + ":: Number of unique prefixes :: " + propFile.getNumUniquePrefixes()); //$NON-NLS-1$
-				System.out.println(propFile.getQualifiedFileName() + ":: Number of messages with prefixes :: " + propFile.getNumPrefixes()); //$NON-NLS-1$
-				System.out.println(propFile.getQualifiedFileName() + ":: Number of messages without prefixes :: " + propFile.getNumWithoutPrefixes()); //$NON-NLS-1$
-				System.out.println("******************************************"); //$NON-NLS-1$
-				System.out.println();
-			}
-			catch (java.io.IOException e) {
-				System.out.println(e.getMessage());
-			}
-		}
-	}
-	public static void printFileContents(boolean trace, String[] files) {
-		for (int i = 0; i < files.length; i++) {
-			try {
-				System.out.println("******************************************"); //$NON-NLS-1$
-				PropertyFile propFile = new PropertyFile(files[i], trace);
-				propFile.printContents();
-				System.out.println("******************************************"); //$NON-NLS-1$
-				System.out.println();
-			}
-			catch (java.io.IOException e) {
-				System.out.println(e.getMessage());
-			}
-		}
-	}
-
-	public static void printDefault(boolean trace, String[] files) {
-		for (int i = 0; i < files.length; i++) {
-			try {
-				// print all errors, warnings, etc.
-				System.out.println("******************************************"); //$NON-NLS-1$
-				PropertyFile propFile = new PropertyFile(files[i], trace);
-				propFile.printSyntaxWarnings();
-				propFile.printDuplicateMessageId();
-				propFile.printDuplicateMessagePrefix();
-				System.out.println("******************************************"); //$NON-NLS-1$
-				System.out.println();
-			}
-			catch (java.io.IOException e) {
-				System.out.println(e.getMessage());
-			}
-		}
-	}
-
-	public static void print(String[] argv) {
-		for(int i =0;i<argv.length; i++) {
-			System.out.println(i + ". " + argv[i]); //$NON-NLS-1$
-		}
-	}
-}
\ No newline at end of file
diff --git a/tests/org.eclipse.jst.validation.sample/propertiesValidator/org/eclipse/jst/validation/sample/parser/MessageMetaData.java b/tests/org.eclipse.jst.validation.sample/propertiesValidator/org/eclipse/jst/validation/sample/parser/MessageMetaData.java
deleted file mode 100644
index 343123c..0000000
--- a/tests/org.eclipse.jst.validation.sample/propertiesValidator/org/eclipse/jst/validation/sample/parser/MessageMetaData.java
+++ /dev/null
@@ -1,209 +0,0 @@
-package org.eclipse.jst.validation.sample.parser;
-/*
- * Licensed Material - Property of IBM 
- * (C) Copyright IBM Corp. 2002, 2003 - All Rights Reserved. 
- * US Government Users Restricted Rights - Use, duplication or disclosure 
- * restricted by GSA ADP Schedule Contract with IBM Corp. 
- *
- * DISCLAIMER OF WARRANTIES.
- * The following [enclosed] code is sample code created by IBM
- * Corporation. This sample code is not part of any standard or IBM
- * product and is provided to you solely for the purpose of assisting
- * you in the development of your applications.  The code is provided
- * "AS IS". IBM MAKES NO WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT
- * NOT LIMITED TO THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE, REGARDING THE FUNCTION OR PERFORMANCE OF
- * THIS CODE.  THIS CODE MAY CONTAIN ERRORS.  IBM shall not be liable
- * for any damages arising out of your use of the sample code, even
- * if it has been advised of the possibility of such damages.
- * 
- */
-
-import java.util.*;
-
-
-/**
- * This class holds the metadata for an IMessage that must be 
- * reported to the user (i.e., a validation error, warning,
- * or information message). 
- */
-public class MessageMetaData {
-	public static final int INT_UNSET = -1;
-	public static final int ERROR = 1;
-	public static final int WARNING = 2;
-	public static final int INFO = 3;
-	
-	private String _bundleName = null;
-	private int _severity = INT_UNSET;
-	private String _messageId = null;
-	private String[] _parms = null;
-	private Object _targetObject = null;
-	private int _lineNumber = INT_UNSET;
-	private int _offset = INT_UNSET;
-	private int _length = INT_UNSET;
-	private String _text = null;
-	
-	/**
-	 * This constructor should be used if the message text has already
-	 * been translated.
-	 */
-	public MessageMetaData(String messageText) {
-		_text = messageText;
-	}
-	
-	/**
-	 * This constructor should be used if the message text is not translated
-	 * until just before the text should be shown to the user.
-	 * 
-	 * @param bundleName - The name of the resource bundle in which the message is contained
-	 * @param severity - One of the com.ibm.etools.validation.core.SeverityEnum constants; this parameter represents the severity of the IMessage.
-	 * @param messageId - The message id that uniquely identifies the message to be retrieved from the bundle.
-	 * @param parms - The parameters to be substituted into the java.text.MessageText's patterns.
-	 * @param targetObject - The target object of the IMessage (see com.ibm.etools.validation.core.IMessage).
-	 * @param lineNumber - The line number where the problem can be found.
-	 */
-	public MessageMetaData(String bundleName, int severity, String messageId, String[] parms, Object targetObject, int lineNumber) {
-		this(bundleName, severity, messageId, parms, targetObject, lineNumber, INT_UNSET, INT_UNSET);
-	}
-	
-	/**
-	 * This constructor should be used if the message text is not translated
-	 * until just before the text should be shown to the user.
-	 * 
-	 * @param bundleName - The name of the resource bundle in which the message is contained
-	 * @param severity - One of the com.ibm.etools.validation.core.SeverityEnum constants; this parameter represents the severity of the IMessage.
-	 * @param messageId - The message id that uniquely identifies the message to be retrieved from the bundle.
-	 * @param parms - The parameters to be substituted into the java.text.MessageText's patterns.
-	 * @param targetObject - The target object of the IMessage (see com.ibm.etools.validation.core.IMessage).
-	 * @param lineNumber - The line number where the problem can be found.
-	 * @param offset - In number of characters, how many characters from the start of the .properties file to the location of the problem.
-	 * @param length - In number of characters, how many characters from the offset to the end of the problem.
-	 */
-	public MessageMetaData(String bundleName, int severity, String messageId, String[] parms, Object targetObject, int lineNumber, int offset, int length) {
-		_bundleName = bundleName;
-		_severity = severity;
-		_messageId = messageId;
-		_parms = parms;
-		_targetObject = targetObject;
-		_lineNumber = lineNumber;
-		_offset = offset;
-		_length = length;
-	}
-	
-	public String getBundleName() {
-		return _bundleName;
-	}
-	
-	public int getSeverity() {
-		return _severity;
-	}
-	
-	public String getId() {
-		return _messageId;
-	}
-	
-	public String[] getParams() {
-		return _parms;
-	}
-	
-	public Object getTargetObject() {
-		return _targetObject;
-	}
-	
-	public int getLineNumber() {
-		return _lineNumber;
-	}
-	
-	public int getOffset() {
-		return _offset;
-	}
-
-	public int getLength() {
-		return _length;
-	}
-	
-	/**
-	 * Use the given ClassLoader to load this message's text
-	 * from the resource bundle.
-	 */
-	public String getText(ClassLoader classLoader) {
-		if(_text == null) {
-			return getText(Locale.getDefault(), classLoader);
-		}
-		return _text;
-	}
-
-	/**
-	 * Use the given ClassLoader to load this message's text,
-	 * for the Locale, from the resource bundle.
-	 */	
-	public String getText(Locale locale, ClassLoader classLoader) {
-		if(_text == null) {
-			return getText(getBundleName(), locale, classLoader, getId(), getParams());
-		}
-		
-		return _text;
-	}
-	
-	/**
-	 * Return the translated message.
-	 * 
-	 * @param bundleName The name of the resource bundle to search for the message.
-	 * @param locale The Locale for which the message should be loaded.
-	 * @param classLoader The ClassLoader which can locate the resource bundle.
-	 * @param messageId The unique id, in the resource bundle, that identifies the message.
-	 * @param parms The parameters to substitute into the pattern of the java.text.MessageFormat message.
-	 */
-	public static java.lang.String getText(String bundleName, Locale locale, ClassLoader classLoader, String messageId, String[] parms) {
-		String message = ""; //$NON-NLS-1$
-
-		if (locale == null) {
-			return message;
-		}
-
-		ResourceBundle bundle = getBundle(bundleName, locale, classLoader);
-		if (bundle == null) {
-			return message;
-		}
-
-		try {
-			message = bundle.getString(messageId);
-
-			if (parms != null) {
-				message = java.text.MessageFormat.format(message, parms);
-			}
-		}
-		catch (MissingResourceException exc) {
-			System.err.println(exc.getMessage());
-			System.err.println(messageId);
-		}
-		catch (NullPointerException exc) {
-			System.err.println(exc.getMessage());
-			System.err.println(messageId);
-		}
-
-		return message;
-	}
-
-	/**
-	 * Return the resource bundle which contains the messages, as identified by
-	 * @link #getBundleName()
-	 */
-	public static ResourceBundle getBundle(String bundleName, Locale locale, ClassLoader classLoader) {
-		ResourceBundle bundle = null;
-		try {
-			if (classLoader == null) {
-				bundle = ResourceBundle.getBundle(bundleName, locale);
-			}
-			else {
-				bundle = ResourceBundle.getBundle(bundleName, locale, classLoader);
-			}
-		}
-		catch (MissingResourceException e) {
-			e.printStackTrace();
-		}
-		return bundle;
-	}
-	
-}
-
diff --git a/tests/org.eclipse.jst.validation.sample/propertiesValidator/org/eclipse/jst/validation/sample/parser/PropertyFile.java b/tests/org.eclipse.jst.validation.sample/propertiesValidator/org/eclipse/jst/validation/sample/parser/PropertyFile.java
deleted file mode 100644
index 8b60b14..0000000
--- a/tests/org.eclipse.jst.validation.sample/propertiesValidator/org/eclipse/jst/validation/sample/parser/PropertyFile.java
+++ /dev/null
@@ -1,106 +0,0 @@
-package org.eclipse.jst.validation.sample.parser;
-/*
- * Licensed Material - Property of IBM 
- * (C) Copyright IBM Corp. 2002, 2003 - All Rights Reserved. 
- * US Government Users Restricted Rights - Use, duplication or disclosure 
- * restricted by GSA ADP Schedule Contract with IBM Corp. 
- *
- * DISCLAIMER OF WARRANTIES.
- * The following [enclosed] code is sample code created by IBM
- * Corporation. This sample code is not part of any standard or IBM
- * product and is provided to you solely for the purpose of assisting
- * you in the development of your applications.  The code is provided
- * "AS IS". IBM MAKES NO WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT
- * NOT LIMITED TO THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE, REGARDING THE FUNCTION OR PERFORMANCE OF
- * THIS CODE.  THIS CODE MAY CONTAIN ERRORS.  IBM shall not be liable
- * for any damages arising out of your use of the sample code, even
- * if it has been advised of the possibility of such damages.
- * 
- */
-
-import java.io.File;
-
-/**
- * This PropertyFile is instantiated by code that isn't an IValidator.
- */
-public class PropertyFile extends APropertyFile {
-	private String _enclosingZipFileName = null;
-	private String _propertyFileName = null;
-	private String _fileName = null;
-	
-	public PropertyFile(String fileName) throws java.io.IOException {
-		this(fileName, false);
-	}
-
-	public PropertyFile(String fileName, boolean trace) throws java.io.IOException {
-		this(new File(fileName), trace);
-	}
-	
-	public PropertyFile(File propertyFile) throws java.io.IOException {
-		this(propertyFile, false);
-	}
-	
-	public PropertyFile(File propertyFile, boolean trace) throws java.io.IOException {
-		this(null, propertyFile, trace);
-	}
-	
-	public PropertyFile(String enclosingZipFileName, File propertyFile) throws java.io.IOException {
-		this(enclosingZipFileName, propertyFile, false);
-	}
-
-	public PropertyFile(String enclosingZipFileName, File propertyFile, boolean debug) throws java.io.IOException {
-		if (!propertyFile.exists())
-			throw new java.io.IOException("Cannot find file " + propertyFile.getName()); //$NON-NLS-1$
-		if (!propertyFile.isFile())
-			throw new java.io.IOException(propertyFile.getName() + " is not a file"); //$NON-NLS-1$
-		if (!propertyFile.canRead())
-			throw new java.io.IOException("Cannot read " + propertyFile.getName()); //$NON-NLS-1$
-		if (!propertyFile.getName().endsWith("properties")) //$NON-NLS-1$
-			throw new java.io.IOException("Can parse only .properties files; ignoring " + propertyFile.getName()); //$NON-NLS-1$
-
-		setDebug(debug);
-			
-		_enclosingZipFileName = enclosingZipFileName;
-		
-		_fileName = propertyFile.getName();
-		
-		report("File name: " + _fileName); //$NON-NLS-1$
-		parseFile(propertyFile);
-		report(""); //$NON-NLS-1$
-
-		propertyFile = null;
-	}
-	
-	/*
-	 * @see APropertyFile#report(String)
-	 */
-	public void report(String str) {
-		System.out.println(str);
-	}
-	
-	/*
-	 * @see APropertyFile#report(MessageMetaData)
-	 */
-	public void report(MessageMetaData message) {
-		StringBuffer buffer = new StringBuffer(message.getText(getClass().getClassLoader()));
-		buffer.append(ResourceHandler.getExternalizedMessage(IValidationConstants.BUNDLENAME, IValidationConstants.LINE_LOC, new String[]{String.valueOf(message.getLineNumber()), getQualifiedFileName()}));
-		report(buffer.toString());
-	}
-	
-	public String getQualifiedFileName() {
-		if (_propertyFileName == null) {
-			if (_enclosingZipFileName == null) {
-				_propertyFileName = _fileName;
-			}
-			else {
-				_propertyFileName = _enclosingZipFileName + "::" + _fileName; //$NON-NLS-1$
-			}
-		}
-		return _propertyFileName;
-	}
-
-	public String getFileName() {
-		return _fileName;
-	}
-}
\ No newline at end of file
diff --git a/tests/org.eclipse.jst.validation.sample/propertiesValidator/org/eclipse/jst/validation/sample/parser/PropertyLine.java b/tests/org.eclipse.jst.validation.sample/propertiesValidator/org/eclipse/jst/validation/sample/parser/PropertyLine.java
deleted file mode 100644
index 490b2b8..0000000
--- a/tests/org.eclipse.jst.validation.sample/propertiesValidator/org/eclipse/jst/validation/sample/parser/PropertyLine.java
+++ /dev/null
@@ -1,641 +0,0 @@
-package org.eclipse.jst.validation.sample.parser;
-/*
- * Licensed Material - Property of IBM 
- * (C) Copyright IBM Corp. 2002, 2003 - All Rights Reserved. 
- * US Government Users Restricted Rights - Use, duplication or disclosure 
- * restricted by GSA ADP Schedule Contract with IBM Corp. 
- *
- * DISCLAIMER OF WARRANTIES.
- * The following [enclosed] code is sample code created by IBM
- * Corporation. This sample code is not part of any standard or IBM
- * product and is provided to you solely for the purpose of assisting
- * you in the development of your applications.  The code is provided
- * "AS IS". IBM MAKES NO WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT
- * NOT LIMITED TO THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE, REGARDING THE FUNCTION OR PERFORMANCE OF
- * THIS CODE.  THIS CODE MAY CONTAIN ERRORS.  IBM shall not be liable
- * for any damages arising out of your use of the sample code, even
- * if it has been advised of the possibility of such damages.
- * 
- */
-
-import java.util.*;
-
-/**
- * PropertyLine represents a line in a PropertyFile. It has a message id,
- * a message value (the text of the property; this is the text which is
- * translated), a line number, and, optionally, an unique error id (of the
- * form ABCD1234{E|W|I}).
- */
-public class PropertyLine implements Comparable {
-	private String _messageId; // the message id (not translated)
-	private String _message = null; // the message value with the error id (translated)
-	private String _messagePrefix = null; // the prefix (e.g. ABCD1234{E|W|I}
-	private String _shortMessage = null; // the message value without the error id (translated)
-	private int _lineNumber = -1; // the line number of this message value
-	private int _numWords = -1;
-	private final String EMPTY = ""; //$NON-NLS-1$
-	private APropertyFile _file = null;
-	private int _offset = -1; // the offset, in the .properties file, where this line begins
-	private int _messageOffset = -1;  // the offset in the line, after the EQUALS, where the message prefix begins
-	
-	private static final char QUOTE = '\'';
-	private static final char OBRACKET = '{';
-	private static final char CBRACKET = '}';
-
-	// The Enum for the message severity can be one of these four values. If there is an error id,
-	// UNASSIGNED indicates an invalid value. 
-	public final static int UNASSIGNED = 0;
-	public final static int ERROR = 0x1;
-	public final static int WARNING = 0x2;
-	public final static int INFO = 0x3;
-
-	private int _severity = UNASSIGNED; // the severity of the message, if this message has an error id. UNASSIGNED means either that the severity was an invalid severity (not info, warn, or error), or that the message has no error id. Check the value of the error id to find out which of the two is the case.
-	private int _numParms = 0;
-	
-	private static final char[] BLANK = "                                                                                                    ".toCharArray(); // this string is 100 characters long. It's used to quickly get a blank string in the getBlank(int) method. Hopefully the user will never want more than 100 char in a given parameter. //$NON-NLS-1$
-
-	public PropertyLine(APropertyFile file, int offset, int messageOffset, String messageId, String message, int lineNumber) {
-		// Comment on the use of intern().
-		// Because it's likely that we'll be comparing this string a lot,
-		// load it into the Java constants space through intern(). Since we won't
-		// be modifying this string, it's safe to load it into the constants space.
-		//
-		_offset = offset; // the offset in the .properties file where this line begins
-		_messageOffset = messageOffset; // the offset in the line, after the EQUALS, where the message prefix begins
-		_messageId = messageId;
-		_message = message; // re: intern(). Ditto.
-		_lineNumber = lineNumber;
-		_file = file;
-
-		parse(message);
-	}
-
-	public int compareTo(Object o) {
-		// by default, sort by message id
-		if (!(o instanceof PropertyLine)) {
-			// then how on earth did this method get called??
-			// put it at the end of the list
-			return 1;
-		}
-
-		return getMessageId().compareTo(((PropertyLine) o).getMessageId());
-	}
-
-	public APropertyFile getFile() {
-		return _file;
-	}
-
-	public String getMessagePrefix() {
-		return _messagePrefix;
-	}
-	
-	public boolean hasMessagePrefix() {
-		if(_messagePrefix == null) {
-			return false;
-		}
-		
-		if(_messagePrefix.equals(EMPTY)) {
-			return false;
-		}
-		
-		return true;
-	}
-	
-	public int getLineNumber() {
-		return _lineNumber;
-	}
-	public String getMessage() {
-		return _message;
-	}
-	public String getMessageId() {
-		return _messageId;
-	}
-	public String getShortMessage() {
-		return _shortMessage;
-	}
-	
-	/**
-	 * This method returns the number of words in the message excluding 
-	 * the message error id prefix.
-	 */
-	public int getNumWords() {
-		if(_numWords == -1) {
-			_numWords = 0;
-			StringTokenizer tokenizer = new StringTokenizer(getShortMessage());
-			_numWords = tokenizer.countTokens();
-		}
-		return _numWords;
-	}
-	
-	/**
-	 * This method returns the number of characters in the 
-	 * message including the message prefix and parameters. (i.e., {0} would
-	 * be counted as three characters.)
-	 */
-	public int getLength() {
-		return getMessage().length();
-	}
-	
-	/**
-	 * This method returns the number of characters in the 
-	 * message including the message prefix and the expected 
-	 * number of characters. (That is, the lengthParm parameter
-	 * is used as an approximation of the length of each parameter
-	 * in the message.)
-	 */
-	public int getExpectedLength(int lengthParm) {
-		if(hasParameters() && (lengthParm > 0)) {
-			return getExpectedMessage(lengthParm).length();
-		}
-		else {
-			return getLength();
-		}
-	}
-	
-	/**
-	 * This method substitutes a blank stub of the given length
-	 * every place in the string where there is a parm.
-	 */
-	public String getExpectedMessage(int lengthParm) {
-		if(hasParameters() && (lengthParm > 0)) {
-			// message cannot be null or blank or it wouldn't have parameters
-			String blank = getBlank(lengthParm);
-			
-			int numParm = getNumParameters();
-			String[] parm = new String[numParm];
-			for(int i=0; i<parm.length; i++) {
-				parm[i] = blank;
-			}
-			
-			try {
-				return java.text.MessageFormat.format(getMessage(), parm);
-			}
-			catch(IllegalArgumentException exc) {
-				if(getFile().debug()) {
-					getFile().report(exc.getMessage());
-					getFile().report(getFile().getQualifiedFileName() + "::" + getMessageId()); //$NON-NLS-1$
-				}
-				return getMessage();
-			}
-		}
-		else {
-			return getMessage();
-		}
-	}
-	
-	/**
-	 * Return a blank string of the given length.
-	 */
-	public static String getBlank(int length) {
-		char[] blank = new char[length];
-		if(length > BLANK.length) {
-			for(int i=0; i<length; i++) {
-				blank[i] = ' ';
-			}
-		}
-		else {
-			System.arraycopy(BLANK, 0, blank, 0, length);
-		}
-		return new String(blank);
-	}
-
-	/**
-	 * Return true if the line has java.text.MessageFormat patterns.
-	 */
-	public boolean hasParameters() {
-		return getNumParameters() > 0;
-	}
-	
-	/**
-	 * Return the number of java.text.MessageFormat patterns in the property line.
-	 */
-	public int getNumParameters() {
-		return _numParms;
-	}
-	
-	/**
-	 * Return the number of characters, from the start of the file, to
-	 * the beginning of the message.
-	 */
-	public int getMessageOffset() {
-		return _messageOffset;
-	}
-	
-	/**
-	 * The offset, in the .properties file, where this line begins.
-	 */
-	public int getOffset() {
-		return _offset;
-	}
-	
-	/**
-	 * The severity of the message, if this message has an error id. 
-	 * UNASSIGNED means either that the severity was an invalid severity 
-	 * (not info, warn, or error), or that the message has no error id. Check 
-	 * the value of the error id to find out which of the two is the case.
-	 */
-	public int getSeverity() {
-		return _severity;
-	}
-
-	/**
-	* Parse the message value to extract the unique error id, if any exists.
-	* This method initializes some of the fields in this class.
-	*/
-	public void parse(String message) {
-		// To see why it's safe to call intern(), read the comment in the
-		// constructor.
-
-		// Case 1: ABCD0000E: Blah Blah Blah
-		// Case 2: ABCD0000E  Blah Blah Blah
-		// Case 3: ABCD0000E : Blah Blah Blah
-		// Case 4: ABCD0000E  Blah:Blah Blah
-		// Case 5: ABCD0000E :
-		// Case 6: Blah Blah Blah (i.e., no prefix)
-		// Case 7: ABCD0000E: Blah
-		// Case 8: ABCD0000E  Blah
-		// Case 9: ABCD0000E : Blah
-		// Case 10: ABCD0000E Blah
-		// Case 11: ABCD0000E
-
-		if (message == null) {
-			_messagePrefix = EMPTY;
-			_shortMessage = EMPTY;
-			return;
-		}
-
-		StringTokenizer tokenizer = new StringTokenizer(message);
-		int numTokens = tokenizer.countTokens();
-		if (numTokens == 0) {
-			_messagePrefix = EMPTY;
-			_shortMessage = message;
-		}
-		else {
-			String errorId = tokenizer.nextToken();
-			boolean prefixExists = false;
-
-			// Sometimes the ':' isn't there or isn't in the right place, so don't determine the message prefix based on that.
-			String afterPrefix = null;
-			if(errorId.length() >= 9) {
-				afterPrefix = errorId.substring(0, 9); // Must be of the form ABCD1234E, which is 9 char long
-				char[] temp = afterPrefix.toCharArray();
-				prefixExists = Character.isLetter(temp[0]) && Character.isUpperCase(temp[0]);
-				prefixExists = prefixExists && Character.isLetter(temp[1]) && Character.isUpperCase(temp[0]);
-				prefixExists = prefixExists && Character.isLetter(temp[2]) && Character.isUpperCase(temp[0]);
-				prefixExists = prefixExists && Character.isLetter(temp[3]) && Character.isUpperCase(temp[0]);
-				prefixExists = prefixExists && Character.isDigit(temp[4]);
-				prefixExists = prefixExists && Character.isDigit(temp[5]);
-				prefixExists = prefixExists && Character.isDigit(temp[6]);
-				prefixExists = prefixExists && Character.isDigit(temp[7]);
-				prefixExists = prefixExists && Character.isLetter(temp[8]) && Character.isUpperCase(temp[0]);
-
-				if (prefixExists) {
-					switch (temp[8]) {
-						case ('E') :
-							{
-								_severity = ERROR;
-								break;
-							}
-						case ('W') :
-							{
-								_severity = WARNING;
-								break;
-							}
-						case ('I') :
-							{
-								_severity = INFO;
-								break;
-							}
-	
-						default :
-							{
-								_severity = UNASSIGNED;
-								break;
-							}
-					}
-					_messagePrefix = afterPrefix;
-					
-					int colonIndex = errorId.indexOf(':');
-					boolean noColon = (colonIndex == -1);
-	
-					int shortMessageIndex = 10; // assume that only the ABCD0000E prefix will be stripped (i.e., no colon)
-					if(noColon) {
-						// No colon following message prefix immediately.
-						// Is there whitespace before the colon?
-						if (numTokens > 1) {
-							String nextToken = tokenizer.nextToken();
-							colonIndex = nextToken.indexOf(':');
-							noColon = ((colonIndex == -1) || (nextToken.trim().indexOf(':') != 0)); // case 4 trim condition will be true
-							
-							// ":" should follow the message prefix immediately
-							// Know there's a prefix, and that's 9 char
-							if(noColon) {
-								// Case 2, 4, 8 or 10
-//								MessageMetaData mmd = new MessageMetaData(IValidationConstants.BUNDLENAME, MessageMetaData.INFO, IValidationConstants.ABCD0120, new String[]{}, this, getLineNumber());
-//								getFile().addParseWarning(mmd);
-								shortMessageIndex = 10;
-							}
-							else {
-//								MessageMetaData mmd = new MessageMetaData(IValidationConstants.BUNDLENAME, MessageMetaData.INFO, IValidationConstants.ABCD0130, new String[]{}, this, getLineNumber());
-//								getFile().addParseWarning(mmd);
-								
-								if(numTokens > 2) {
-									// Case 3 or 9
-									nextToken = tokenizer.nextToken();
-									shortMessageIndex = message.indexOf(nextToken);
-								}
-								else {
-									// Case 5
-									shortMessageIndex = colonIndex + 1;
-								}								
-							}
-							_shortMessage = message.substring(shortMessageIndex, message.length());
-						}
-						else {
-							// Case 11
-							_shortMessage = EMPTY;
-						}
-					}
-					else {
-						// Case 1 or 7
-						shortMessageIndex = colonIndex + 1;
-						_shortMessage = message.substring(shortMessageIndex, message.length());
-					}
-				}
-	
-			}
-
-			if (!prefixExists) {
-				// Case 6
-				_messagePrefix = EMPTY;
-				_shortMessage = message;
-			}
-		}
-
-		getFile().addParseWarnings(parseMessage());
-	}
-
-	/**
-	 * Once the field that holds the message text has been set (i.e., parse(String)
-	 * has been called), this method parses the message text, finds any syntax or
-	 * other problems, and returns a List of MessageMetaData, with one MessageMetaData
-	 * for each problem.
-	 */
-	public List parseMessage() {
-		// now parse to see if all apostrophes are in pairs, if there are parameters or not, etc.
-		ArrayList intList = new ArrayList();
-		int numObrackets = 0;
-		int numCbrackets = 0;
-		int index = 0;
-		char token;
-		int singleQuoteIndex = -1;
-		int doubleQuoteIndex = -1;
-		int missingTerminatingQuoteIndex = -1;
-		boolean parmExists = false;
-		int numCharBeforeShort = getMessageOffset() + getMessage().indexOf(getShortMessage());
-		
-		while (index < getShortMessage().length()) {
-			token = getShortMessage().charAt(index++);
-			if (token == QUOTE) {
-				if (index < getShortMessage().length()) {
-					token = getShortMessage().charAt(index++);
-				}
-				else {
-					token = ' ';
-				}
-				
-				if ((token == OBRACKET) || (token == CBRACKET)){
-					if (index < getShortMessage().length()) {
-						token = getShortMessage().charAt(index++);
-					}
-					else {
-						token = ' ';
-					}
-					
-					// Does the { or } character have a terminating single quote?
-					if(token != QUOTE) {
-						missingTerminatingQuoteIndex = (numCharBeforeShort + index-1);
-					}
-				}
-				else if ((token == QUOTE)) {
-					doubleQuoteIndex = (numCharBeforeShort + index-1);
-				}
-				else  {
-					// '{' means that a { will be output,
-					// '}' means that a } will be output,
-					// '' means that a ' will be output.
-					
-					// Since the quote is a special character, and the opening bracket is a 
-					// special character, keep track of the number of open brackets. If the
-					// following character isn't a quote or opening bracket, warn the user 
-					// that it takes two apostrophes to see one apostrophe.
-					singleQuoteIndex = (numCharBeforeShort + index-1);
-				}
-				
-			}
-			else if (token == OBRACKET) {
-				numObrackets++;
-				parmExists = true;
-				StringBuffer numBuffer = null;
-				if (index < getShortMessage().length()) {
-					numBuffer = new StringBuffer();
-					while (index < getShortMessage().length()) {
-						char digit = getShortMessage().charAt(index);
-						if ((Character.isDigit(digit)) || (digit == '-') || (digit == '+')) {
-							numBuffer.append(digit);
-							index++;
-						}
-						else {
-							break;
-						}
-					}
-				}
-				else {
-					// not an error; just not a number. Could be one of the other 
-					// ChoiceFormat, or whatever, formats. Do not get the next 
-					// token, because we still need to process this one.
-					continue;
-				}
-
-				try {
-					if ((numBuffer != null) && (numBuffer.length() > 0)) {
-						Integer parmNum = Integer.valueOf(numBuffer.toString());
-						intList.add(parmNum);
-					}
-				}
-				catch (NumberFormatException exc) {
-					// not an error; just not a number. Could be one of the other 
-					// ChoiceFormat, or whatever, formats. Do not get the next 
-					// token, because we still need to process this one.
-				}
-			}
-			else if (token == CBRACKET) {
-				numCbrackets++;
-			}
-		}
-		
-		_numParms = Math.max(numObrackets, numCbrackets);
-
-		// find parse warnings
-		List messages = new ArrayList();
-		if (numObrackets != numCbrackets) {
-			MessageMetaData mmd = new MessageMetaData(IValidationConstants.BUNDLENAME, MessageMetaData.ERROR, IValidationConstants.ABCD0000, new String[]{String.valueOf(numObrackets), String.valueOf(numCbrackets)}, this, getLineNumber());
-			messages.add(mmd);
-		}
-		
-		if(missingTerminatingQuoteIndex != -1) {
-			MessageMetaData mmd = new MessageMetaData(IValidationConstants.BUNDLENAME, MessageMetaData.INFO, IValidationConstants.ABCD0110, new String[]{String.valueOf(missingTerminatingQuoteIndex)}, this, getLineNumber(), getOffset() + missingTerminatingQuoteIndex, 1); // magic number 1 because a quote is one character long
-			messages.add(mmd);
-		}
-
-		// Now sort the list, to see if there's any numbers missing, duplicated, or negative
-		Collections.sort(intList, new Comparator() {
-			public int compare(Object a, Object b) {
-				// negative = b before a
-				// zero = a = b
-				// positive = a before b
-				return ((Integer) a).intValue() - ((Integer) b).intValue();
-			}
-		});
-		Iterator iterator = intList.iterator();
-		int parmCount = 0;
-		int lastNumber = -1;
-		int largestNumber = -1;
-		while (iterator.hasNext()) {
-			Integer parm = (Integer) iterator.next();
-			if (parm.intValue() < 0) {
-				MessageMetaData mmd = new MessageMetaData(IValidationConstants.BUNDLENAME, MessageMetaData.ERROR, IValidationConstants.ABCD0010E, new String[]{String.valueOf(parm.intValue())}, this, getLineNumber());
-				messages.add(mmd);
-			}
-			else if (parm.intValue() == lastNumber) {
-				MessageMetaData mmd = new MessageMetaData(IValidationConstants.BUNDLENAME, MessageMetaData.INFO, IValidationConstants.ABCD0020, new String[]{String.valueOf(lastNumber)}, this, getLineNumber());
-				messages.add(mmd);
-			}
-			else if (parm.intValue() != parmCount) {
-				MessageMetaData mmd = new MessageMetaData(IValidationConstants.BUNDLENAME, MessageMetaData.INFO, IValidationConstants.ABCD0030, new String[]{String.valueOf(parmCount)}, this, getLineNumber());
-				messages.add(mmd);
-			}
-			else {
-				parmCount++;
-			}
-			lastNumber = parm.intValue();
-			largestNumber = Math.max(largestNumber, parm.intValue());
-		}
-		if(largestNumber > 0) {
-			// Not a choice format.
-			//
-			// Although the first default (counting the number of 
-			// brackets) is okay in most cases, sometimes a parameter 
-			// is missing, and so the number of paramters passed into 
-			// the MessageFormat needs to be larger. (e.g. {0} {2}, 
-			// need String[] to be {"", "", ""}, not {"", ""}). 
-			
-			// Need to add "1" to it because the numbers start at a 0 index.
-			_numParms = largestNumber + 1; 
-		}
-		
-		if(largestNumber > 9) {
-			// MessageFormat will not substitute in parameters after the 10 parameter (i.e., number 9).
-			MessageMetaData mmd = new MessageMetaData(IValidationConstants.BUNDLENAME, MessageMetaData.WARNING, IValidationConstants.ABCD0010W, new String[]{String.valueOf(largestNumber)}, this, getLineNumber());
-			messages.add(mmd);
-		}
-
-		if ((singleQuoteIndex > -1) && parmExists) {
-			MessageMetaData mmd = new MessageMetaData(IValidationConstants.BUNDLENAME, MessageMetaData.INFO, IValidationConstants.ABCD0040, new String[]{String.valueOf(singleQuoteIndex)}, this, getLineNumber(), getOffset() + singleQuoteIndex, 1); // magic number 1 because a quote is one character long
-			messages.add(mmd);
-		}
-		else if ((doubleQuoteIndex > -1) && !parmExists) {
-			MessageMetaData mmd = new MessageMetaData(IValidationConstants.BUNDLENAME, MessageMetaData.INFO, IValidationConstants.ABCD0050, new String[]{String.valueOf(doubleQuoteIndex)}, this, getLineNumber(), getOffset() + doubleQuoteIndex, 1); // magic number 1 because a quote is one character long
-			messages.add(mmd);
-		}
-
-		return messages;
-	}
-
-	/**
-	 * Format this .properties line for display.
-	 */
-	public String toString() {
-		StringBuffer buffer = null;
-		if(getFile() == null) {
-			buffer = new StringBuffer();
-		}
-		else {
-			buffer = new StringBuffer(getFile().getQualifiedFileName());
-		}
-		buffer.append("\tLine number: "); //$NON-NLS-1$
-		buffer.append(String.valueOf(getLineNumber()));
-		buffer.append("\t"); //$NON-NLS-1$
-		buffer.append(getMessageId());
-		buffer.append(" = "); //$NON-NLS-1$
-		buffer.append(getMessage());
-		return buffer.toString();
-	}
-	
-	/**
-	 * Format this .properties line for display, and substitute a stub,
-	 * of the specified length, into each java.text.MessageFormat pattern.
-	 */
-	public String toStringWithExpectedLength(int length) {
-		StringBuffer buffer = null;
-		if(getFile() == null) {
-			buffer = new StringBuffer();
-		}
-		else {
-			buffer = new StringBuffer(getFile().getQualifiedFileName());
-		}
-		buffer.append("\tLine number: "); //$NON-NLS-1$
-		buffer.append(String.valueOf(getLineNumber()));
-		buffer.append("\t"); //$NON-NLS-1$
-		buffer.append(getMessageId());
-		buffer.append(" = "); //$NON-NLS-1$
-		buffer.append(getExpectedMessage(length));
-		return buffer.toString();
-	}
-	
-	/**
-	 * Return the message prefix without the severity, e.g.,
-	 * ABCD0000 instead of ABCD0000E.
-	 */
-	public String getShortMessagePrefix() {
-		String prefix = getMessagePrefix();
-		if(prefix.equals("")) { //$NON-NLS-1$
-			return ""; //$NON-NLS-1$
-		}
-		
-		char prefixEnd = prefix.charAt(prefix.length() - 1);
-		if ((prefixEnd == 'E') || (prefixEnd == 'W') || (prefixEnd == 'I')) {
-			prefix = prefix.substring(0, prefix.length() - 1);
-		}
-		return prefix;
-	}
-	
-	/**
-	 * A PropertyLine is equal if it is in the same file and on the same line number.
-	 */
-	public boolean equals(Object o) {
-		if(o == null) {
-			return false;
-		}
-		
-		if(!(o instanceof PropertyLine)) {
-			return false;
-		}
-		
-		PropertyLine oLine = (PropertyLine)o;
-		if(!(getLineNumber() == oLine.getLineNumber())) {
-			return false;
-		}
-		
-		if(!getFile().equals(oLine.getFile())) {
-			return false;
-		}
-		
-		return true;
-	}
-	
-	public int hashCode() {
-		return (getFile().hashCode() + getLineNumber());
-	}
-}
\ No newline at end of file
diff --git a/tests/org.eclipse.jst.validation.sample/propertiesValidator/org/eclipse/jst/validation/sample/parser/PropertyLineComparator.java b/tests/org.eclipse.jst.validation.sample/propertiesValidator/org/eclipse/jst/validation/sample/parser/PropertyLineComparator.java
deleted file mode 100644
index 7daad29..0000000
--- a/tests/org.eclipse.jst.validation.sample/propertiesValidator/org/eclipse/jst/validation/sample/parser/PropertyLineComparator.java
+++ /dev/null
@@ -1,254 +0,0 @@
-package org.eclipse.jst.validation.sample.parser;
-/*
- * Licensed Material - Property of IBM 
- * (C) Copyright IBM Corp. 2002, 2003 - All Rights Reserved. 
- * US Government Users Restricted Rights - Use, duplication or disclosure 
- * restricted by GSA ADP Schedule Contract with IBM Corp. 
- *
- * DISCLAIMER OF WARRANTIES.
- * The following [enclosed] code is sample code created by IBM
- * Corporation. This sample code is not part of any standard or IBM
- * product and is provided to you solely for the purpose of assisting
- * you in the development of your applications.  The code is provided
- * "AS IS". IBM MAKES NO WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT
- * NOT LIMITED TO THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE, REGARDING THE FUNCTION OR PERFORMANCE OF
- * THIS CODE.  THIS CODE MAY CONTAIN ERRORS.  IBM shall not be liable
- * for any damages arising out of your use of the sample code, even
- * if it has been advised of the possibility of such damages.
- * 
- */
-
-import java.util.Comparator;
-
-/**
- * This class contains all of the Comparator classes that can be used
- * to sort PropertyLine instances in an APropertyFile. (For example,
- * to find duplicate message ids, the MessageIdComparator would be used
- * to sort the lines according to message id. The sorted list is 
- * traversed to find out if one line has an identical message id 
- * to the line that follows it, and if so, a parse warning is reported.)
- */
-public class PropertyLineComparator {
-	private static PropertyLineComparator inst = new PropertyLineComparator();
-	
-	private static final Comparator _messagePrefixComparator = inst.new MessagePrefixComparator();
-	private static final Comparator _messageIdComparator = inst.new MessageIdComparator();
-	private static Comparator _stringLengthComparator = new StringLengthComparator();
-	private static final Comparator _valueComparator = inst.new ValueComparator();
-	private static final Comparator _lineNoComparator = inst.new LineNoComparator();
-
-	private PropertyLineComparator() {
-	}	
-
-	/**
-	 * This class compares PropertyLine instances and sorts them according to 
-	 * their message prefix (e.g., ABCD0000E).
-	 */
-	private class MessagePrefixComparator implements java.util.Comparator {
-		public int compare(Object a, Object b) {
-			if((a == null) && (b == null)) {
-				return 0;
-			}
-			else if(a == null) {
-				return -1;
-			}
-			else if(b == null) {
-				return 1;
-			}
-			
-			// Can't just look to see if they're the same; need to mark
-			// them as the same even if the last letter (E|W|I) is different.
-			String aid = ((PropertyLine) a).getMessagePrefix();
-			String bid = ((PropertyLine) b).getMessagePrefix();
-			if((aid == null) && (bid == null)) {
-				return 0;
-			}
-			else if(aid == null) {
-				return -1;
-			}
-			else if(bid == null) {
-				return 1;
-			}
-				
-			aid = aid.toUpperCase().trim();
-			bid = bid.toUpperCase().trim();
-
-			if((aid.equals("")) && (bid.equals(""))) { //$NON-NLS-1$  //$NON-NLS-2$
-				return 0;
-			}
-			else if(aid.equals("")) { //$NON-NLS-1$
-				return -1;
-			}
-			else if(bid.equals("")) { //$NON-NLS-1$
-				return 1;
-			}
-
-			return ((PropertyLine)a).getShortMessagePrefix().toUpperCase().compareTo(((PropertyLine)b).getShortMessagePrefix().toUpperCase());
-		}
-	}
-	
-	/**
-	 * This comparator sorts PropertyLine by their message id.
-	 */
-	private class MessageIdComparator implements java.util.Comparator {
-		public int compare(Object a, Object b) {
-			if((a == null) && (b == null)) {
-				return 0;
-			}
-			else if(a == null) {
-				return -1;
-			}
-			else if(b == null) {
-				return 1;
-			}
-			
-			String aMessageId = null;
-			String bMessageId = null;
-			if(a instanceof PropertyLine) {
-				aMessageId = ((PropertyLine)a).getMessageId();
-			}
-			else {
-				aMessageId = (String)a;
-			}
-			
-			if(b instanceof PropertyLine) {
-				bMessageId = ((PropertyLine)b).getMessageId();
-			}
-			else {
-				bMessageId = (String)b;
-			}
-				
-			
-			if((aMessageId == null) && (bMessageId == null)) {
-				return 0;
-			}
-			else if(aMessageId == null) {
-				return -1;
-			}
-			else if(bMessageId == null) {
-				return 1;
-			}
-			else {
-				return aMessageId.compareTo(bMessageId);
-			}
-		}
-	}
-	
-	/**
-	 * Sort the PropertyLine by the length of characters in the message text;
-	 * if you want to substitute characters for the message parameters, 
-	 * set the length field.
-	 */
-	static class StringLengthComparator implements java.util.Comparator {
-		public static int length = 0;
-		
-		public int compare(Object a, Object b) {
-			// return a negative number if object a is less than object b
-			// return a zero if the objects are equal
-			// return a positive number if object a is greater than object b
-			if((a == null) && (b == null)) {
-				return 0;
-			}
-			else if(a == null) {
-				return -1;
-			}
-			else if(b == null) {
-				return 1;
-			}
-			
-			int aLength = ((PropertyLine)a).getExpectedLength(length);
-			int bLength = ((PropertyLine)b).getExpectedLength(length);
-				
-			return (aLength - bLength);
-		}
-	}
-	
-	/**
-	 * Alphabetize the message text of the PropertyLine.
-	 */
-	private class ValueComparator implements java.util.Comparator {
-		public int compare(Object a, Object b) {
-			if((a == null) && (b == null)) {
-				return 0;
-			}
-			else if(a == null) {
-				return -1;
-			}
-			else if(b == null) {
-				return 1;
-			}
-			
-			String aMessage = ((PropertyLine)a).getMessage();
-			String bMessage = ((PropertyLine)b).getMessage();
-			if((aMessage == null) && (bMessage == null)) {
-				return 0;
-			}
-			else if(aMessage == null) {
-				return -1;
-			}
-			else if(bMessage == null) {
-				return 1;
-			}
-				
-			return aMessage.compareTo(bMessage);
-		}
-	}
-	
-	/**
-	 * Sort by line number of the PropertyLine, with the smallest line
-	 * number first in the list.
-	 */
-	private class LineNoComparator implements java.util.Comparator {
-		public int compare(Object a, Object b) {
-			// return a negative number if object a is less than object b
-			// return a zero if the objects are equal
-			// return a positive number if object a is greater than object b
-			if((a == null) && (b == null)) {
-				return 0;
-			}
-			else if(a == null) {
-				return -1;
-			}
-			else if(b == null) {
-				return 1;
-			}
-			
-			int aLineNo = ((PropertyLine)a).getLineNumber();
-			int bLineNo = ((PropertyLine)b).getLineNumber();
-			if((aLineNo < 0) && (bLineNo < 0)) {
-				return 0;
-			}
-			else if(aLineNo < 0) {
-				return -1;
-			}
-			else if(bLineNo < 0) {
-				return 1;
-			}
-			
-			return (aLineNo - bLineNo);
-		}
-	}
-
-	public static Comparator getMessagePrefixComparator() {
-		return _messagePrefixComparator;
-	}
-
-	public static Comparator getMessageIdComparator() {
-		return _messageIdComparator;
-	}
-
-	public static Comparator getStringLengthComparator(int length) {
-		StringLengthComparator.length = length;
-		return _stringLengthComparator;
-	}
-
-	public static Comparator getValueComparator() {
-		return _valueComparator;
-	}
-	
-	public static Comparator getLineNoComparator() {
-		return _lineNoComparator;
-	}
-}
-
diff --git a/tests/org.eclipse.jst.validation.sample/propertiesValidator/org/eclipse/jst/validation/sample/parser/ResourceHandler.java b/tests/org.eclipse.jst.validation.sample/propertiesValidator/org/eclipse/jst/validation/sample/parser/ResourceHandler.java
deleted file mode 100644
index 4dd7b55..0000000
--- a/tests/org.eclipse.jst.validation.sample/propertiesValidator/org/eclipse/jst/validation/sample/parser/ResourceHandler.java
+++ /dev/null
@@ -1,90 +0,0 @@
-package org.eclipse.jst.validation.sample.parser;
-/*
- * Licensed Material - Property of IBM 
- * (C) Copyright IBM Corp. 2002, 2003 - All Rights Reserved. 
- * US Government Users Restricted Rights - Use, duplication or disclosure 
- * restricted by GSA ADP Schedule Contract with IBM Corp. 
- *
- * DISCLAIMER OF WARRANTIES.
- * The following [enclosed] code is sample code created by IBM
- * Corporation. This sample code is not part of any standard or IBM
- * product and is provided to you solely for the purpose of assisting
- * you in the development of your applications.  The code is provided
- * "AS IS". IBM MAKES NO WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT
- * NOT LIMITED TO THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE, REGARDING THE FUNCTION OR PERFORMANCE OF
- * THIS CODE.  THIS CODE MAY CONTAIN ERRORS.  IBM shall not be liable
- * for any damages arising out of your use of the sample code, even
- * if it has been advised of the possibility of such damages.
- * 
- */
-
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-/**
- * This class retrieves the Strings from the .properties file appropriate
- * for the machine's Locale.
- */
-public final class ResourceHandler {
-	private static ResourceBundle _bundle = null;
-	
-	private ResourceHandler() {
-		super();
-	}
-	
-	/**
-	 * Return the resource bundle which contains the messages
-	 * in the resource identified by bundleName.
-	 */
-	private static ResourceBundle getBundle(String bundleName) {
-		if (_bundle == null) {
-			try {
-				_bundle = ResourceBundle.getBundle(bundleName);
-			}
-			catch (MissingResourceException exc) {
-				_bundle = null;
-				exc.printStackTrace();
-			}
-		}
-		return _bundle;
-	}
-
-	/**
-	 * Given the name of the bundle and the message id (key) into the
-	 * bundle, return the message text identified by the id.
-	 */	
-	public static String getExternalizedMessage(String bundleName, String key) {
-		try {
-			ResourceBundle bundle = getBundle(bundleName);
-			if (bundle == null) {
-				return key;
-			}
-
-			return bundle.getString(key);
-		}
-		catch (NullPointerException exc) {
-			exc.printStackTrace();
-		}
-		return key;
-	}
-	
-	/**
-	 * Given the name of the bundle, the message id (key) into the
-	 * bundle, and parameters to be substituted into the java.text.MessageFormat's
-	 * patterns, return the message with the parameters substituted in.
-	 */	
-	public static String getExternalizedMessage(String bundleName, String key, String[] parms) {
-		String res = ""; //$NON-NLS-1$
-		try {
-			res = java.text.MessageFormat.format(getExternalizedMessage(bundleName, key), parms);
-		}
-		catch (MissingResourceException exc) {
-			exc.printStackTrace();
-		}
-		catch (NullPointerException exc) {
-			exc.printStackTrace();
-		}
-		return res;
-	}
-}
diff --git a/tests/org.eclipse.jst.validation.sample/propertiesValidator/propertiesValidator.properties b/tests/org.eclipse.jst.validation.sample/propertiesValidator/propertiesValidator.properties
deleted file mode 100644
index 43a5bde..0000000
--- a/tests/org.eclipse.jst.validation.sample/propertiesValidator/propertiesValidator.properties
+++ /dev/null
@@ -1,41 +0,0 @@
-#
-# Licensed Material - Property of IBM 
-# (C) Copyright IBM Corp. 2002, 2003 - All Rights Reserved. 
-# US Government Users Restricted Rights - Use, duplication or disclosure 
-# restricted by GSA ADP Schedule Contract with IBM Corp. 
-#
-#  DISCLAIMER OF WARRANTIES.
-#  The following [enclosed] code is sample code created by IBM
-#  Corporation. This sample code is not part of any standard or IBM
-#  product and is provided to you solely for the purpose of assisting
-#  you in the development of your applications.  The code is provided
-#  "AS IS". IBM MAKES NO WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT
-#  NOT LIMITED TO THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
-#  FOR A PARTICULAR PURPOSE, REGARDING THE FUNCTION OR PERFORMANCE OF
-#  THIS CODE.  THIS CODE MAY CONTAIN ERRORS.  IBM shall not be liable
-#  for any damages arising out of your use of the sample code, even
-#  if it has been advised of the possibility of such damages.
-#
-
-ABCD0000 = ABCD0000E: Match the braces in the message. There are {0} '{' and {1} '}'. MessageFormat will throw a NullPointerException when there are mismatching braces.
-ABCD0010E = ABCD0010E: Change argument ('{'{0}'}') to an integer between 0 and 9 inclusive in the message. MessageFormat cannot process an integer parameter that is less than 0.
-ABCD0010W = ABCD0010W: Change argument ('{'{0}'}') to an integer between 0 and 9 inclusive in the message. MessageFormat ignores any parameters larger than 9.
-ABCD0020 = ABCD0020I: Remove redundant parameter '{'{0}'}' from the message. Make messages succinct.
-ABCD0030 = ABCD0030I: Check that argument '{'{0}'}' was omitted from the message deliberately. If it was omitted accidentally, and the code does not provide enough parameters, MessageFormat will throw a NullPointerException.
-ABCD0040 = ABCD0040I: Use two apostrophes in the message at column {0}. MessageFormat removes single apostrophes; for the message to display an apostrophe, two apostrophes must exist in the string. (An apostrophe is a reserved character of MessageFormat.)
-ABCD0050 = ABCD0050I: Use one apostrophe in the message at column {0}. MessageFormat processes only messages with parameters; without MessageFormat, the extra apostrophe will not be removed.
-
-ABCD0060 = ABCD0060W: Make {0} unique. When an id is used more than once in a file, ResourceBundle will use the value of the last message id.
-ABCD0070 = ABCD0070W: {0} may need to be unique. Conventionally, a message prefix applies to only one error condition.
-
-ABCD0080 = ABCD0080E: Fix the syntax error; each line must form MESSAGE_ID = MESSAGE.
-ABCD0090 = ABCD0090W: Check the read permissions of file {0}. The PropertiesValidator either cannot read or cannot find the file.
-
-ABCD0110 = ABCD0110I: Add a terminating apostrophe at column {0}. The '{' and '}' characters must be enclosed in apostrophes.
-
-ABCD0120 = ABCD0120I: Terminate message prefix {0} with a '':''. The IBM standard requires that message prefixes end with a colon.
-ABCD0130 = ABCD0130I: Remove the whitespace between {0} and the '':''. The IBM standard requires an absence of whitespace between the alphanumeric characters and the colon.
-
-# Outside WSAD, append the line number and file name to the end of the message.
-LINE_LOC = Line {0}, file {1}.
-
diff --git a/tests/org.eclipse.jst.validation.sample/test/test.properties b/tests/org.eclipse.jst.validation.sample/test/test.properties
deleted file mode 100644
index 90bc982..0000000
--- a/tests/org.eclipse.jst.validation.sample/test/test.properties
+++ /dev/null
@@ -1,67 +0,0 @@
-#
-# Licensed Material - Property of IBM 
-# (C) Copyright IBM Corp. 2002, 2003 - All Rights Reserved. 
-# US Government Users Restricted Rights - Use, duplication or disclosure 
-# restricted by GSA ADP Schedule Contract with IBM Corp. 
-#
-#  DISCLAIMER OF WARRANTIES.
-#  The following [enclosed] code is sample code created by IBM
-#  Corporation. This sample code is not part of any standard or IBM
-#  product and is provided to you solely for the purpose of assisting
-#  you in the development of your applications.  The code is provided
-#  "AS IS". IBM MAKES NO WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT
-#  NOT LIMITED TO THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
-#  FOR A PARTICULAR PURPOSE, REGARDING THE FUNCTION OR PERFORMANCE OF
-#  THIS CODE.  THIS CODE MAY CONTAIN ERRORS.  IBM shall not be liable
-#  for any damages arising out of your use of the sample code, even
-#  if it has been advised of the possibility of such damages.
-#
-
-# This file is used to test the Properties Validator.
-#
-
-MISMATCHED_BRACES = This line has '{0}' mismatching braces.
-MISMATCHED_BRACES_2 = This line has { a mismatching brace.
-MISMATCHED_BRACES_3 = This line has } a mismatching brace.
-MISMATCHED_BRACES_OKAY = This line has no '{' mismatching braces '}'.
-MISMATCHED_BRACES_OKAY2 = This line also has no mismatching braces {0} '{' '}'.
-
-TOO_MANY_ARGUMENTS = MessageFormat formats only 10 parameters {0} {1} {2} {3} {4} {5} {6} {7} {8} {9} {10}.
-TOO_MANY_ARGUMENTS_2 = MessageFormat formats only 10 parameters {10}.
-
-NEGATIVE_ARGUMENT = This line uses a negative {-1} argument.
-B = okay
-REDUNDANT_ARGUMENT = This line uses a redundant {0} {0} argument.
-MISSED_PARM = This line uses {0} and {2} but not (1).
-NEEDS_DOUBLE_APOS = This line uses a single apostrophe (') but should use two {0}.
-NEEDS_SINGLE_APOS = This line uses a double apostrophe ('') but should use one.
-A = okay
-SYM
-DUPLICATE_ID = This line uses a duplicate message id.
-DUPLICATE_ID = This line also uses a duplicate message id.
-DUPLICATE_PREFIX = AAAA0000W: This line uses a duplicate message prefix.
-= jjj
-
-DUPLICATE_PREFIX2 = AAAA0000W: This line also uses a duplicate message prefix.
-Z_DUPLICATE = jjj
-Z_DUPLICATE = mmm
-
-# This is a comment
-Z_DUPLICATE = nnn
-C = okay
-F = a \
-b \
-c
-D = okay
-
-CASE1 = ABCD0000E: Blah Blah Blah
-CASE2 = ABCD0000E  Blah Blah Blah
-CASE3 = ABCD0000E : Blah Blah Blah
-CASE4 = ABCD0000E  Blah:Blah Blah
-CASE5 = ABCD0000E :
-CASE6 = Blah Blah Blah (i.e., no prefix)
-CASE7 = ABCD0000E: Blah
-CASE8 = ABCD0000E  Blah
-CASE9 = ABCD0000E : Blah
-CASE10 = ABCD0000E Blah
-CASE11 = ABCD0000E
diff --git a/tests/org.eclipse.jst.validation.sample/test/test2.properties b/tests/org.eclipse.jst.validation.sample/test/test2.properties
deleted file mode 100644
index fdc0f32..0000000
--- a/tests/org.eclipse.jst.validation.sample/test/test2.properties
+++ /dev/null
@@ -1,24 +0,0 @@
-#
-# Licensed Material - Property of IBM 
-# (C) Copyright IBM Corp. 2002, 2003 - All Rights Reserved. 
-# US Government Users Restricted Rights - Use, duplication or disclosure 
-# restricted by GSA ADP Schedule Contract with IBM Corp. 
-#
-#  DISCLAIMER OF WARRANTIES.
-#  The following [enclosed] code is sample code created by IBM
-#  Corporation. This sample code is not part of any standard or IBM
-#  product and is provided to you solely for the purpose of assisting
-#  you in the development of your applications.  The code is provided
-#  "AS IS". IBM MAKES NO WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT
-#  NOT LIMITED TO THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
-#  FOR A PARTICULAR PURPOSE, REGARDING THE FUNCTION OR PERFORMANCE OF
-#  THIS CODE.  THIS CODE MAY CONTAIN ERRORS.  IBM shall not be liable
-#  for any damages arising out of your use of the sample code, even
-#  if it has been advised of the possibility of such damages.
-#
-
-#
-# This file is used to test the Properties Validator.
-#
-
-ID1 = This file has no errors in it.
\ No newline at end of file
diff --git a/tests/org.eclipse.jst.validation.sample/tvtplugin.xml b/tests/org.eclipse.jst.validation.sample/tvtplugin.xml
deleted file mode 100644
index a5250a3..0000000
--- a/tests/org.eclipse.jst.validation.sample/tvtplugin.xml
+++ /dev/null
@@ -1,52 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-   id="com.ibm.etools.validation.prop"
-   name="Properties Validator"
-   version="5.1.0"
-   class="com.ibm.etools.validation.properties.workbenchimpl.PropertiesValidatorPlugin">
-
-	<!--=================================================================-->
-	<!-- When testing TVT in EJBDeploy, because org.eclipse.help isn't   -->
-	<!-- packaged with EJBDeploy, this plugin is deactivated. However,   -->
-	<!-- because the TVT plugin doesn't ship the documentation, all      -->
-	<!-- references to the help can be removed.                          -->
-	<!--=================================================================-->
-	
-   <runtime>
-      <library name="runtime/propertiesValidator.jar">
-         <export name="*"/>
-      </library>
-      <library name="runtime/propertiesValFS.jar">
-         <export name="*"/>
-      </library>
-      <library name="runtime/propertiesValWB.jar">
-         <export name="*"/>
-      </library>
-      <library name="runtime/filesystemFWK.jar">
-         <export name="*"/>
-      </library>
-   </runtime>
-   
-    <requires>
-       <import plugin="org.eclipse.core.runtime" version="2.1" match="equivalent"/>
-       <import plugin="org.eclipse.core.resources" version="2.1" match="equivalent"/>
-       <import plugin="org.eclipse.jdt.core" version="2.1" match="equivalent"/>
-       <import plugin="com.ibm.etools.validation" export="true" version="5.1" match="equivalent"/>
-       <import plugin="com.ibm.etools.logging.util" version="5.1" match="equivalent"/>
-    </requires>
-
-    <!--=======================================-->
-    <!-- Properties Validator Contributions    -->
-    <!--=======================================-->
-    <extension
-       id="PropertiesValidator"
-       name="Properties Validator"
-       point="com.ibm.etools.validation.validator">
-       <validator>
-           <projectNature id="org.eclipse.jdt.core.javanature"/>
-           <filter objectClass="org.eclipse.core.resources.IFile" nameFilter="*.properties" action="add, change"/>
-           <run class="com.ibm.etools.validation.properties.PropertiesValidator" enabled="false" async="true"/>
-           <helper class="com.ibm.etools.validation.properties.workbenchimpl.PropertiesHelper"/>
-       </validator>
-    </extension>
-</plugin>
diff --git a/tests/org.eclipse.jst.validation.test/.classpath b/tests/org.eclipse.jst.validation.test/.classpath
deleted file mode 100644
index 19ff7d0..0000000
--- a/tests/org.eclipse.jst.validation.test/.classpath
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-    <classpathentry kind="src" path="jUnitWrapper"/>
-    <classpathentry kind="src" path="test"/>
-    <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/tests/org.eclipse.jst.validation.test/.cvsignore b/tests/org.eclipse.jst.validation.test/.cvsignore
deleted file mode 100644
index ba077a4..0000000
--- a/tests/org.eclipse.jst.validation.test/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-bin
diff --git a/tests/org.eclipse.jst.validation.test/.project b/tests/org.eclipse.jst.validation.test/.project
deleted file mode 100644
index 7fec391..0000000
--- a/tests/org.eclipse.jst.validation.test/.project
+++ /dev/null
@@ -1,33 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.jst.validation.test</name>
-	<comment></comment>
-	<projects>
-		<project>com.ibm.etools.commontests.testcollector</project>
-		<project>com.ibm.etools.validation</project>
-		<project>com.ibm.etools.validation.prop</project>
-		<project>com.ibm.wtp.common</project>
-		<project>org.eclipse.jem.workbench</project>
-	</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/tests/org.eclipse.jst.validation.test/build.properties b/tests/org.eclipse.jst.validation.test/build.properties
deleted file mode 100644
index 818a799..0000000
--- a/tests/org.eclipse.jst.validation.test/build.properties
+++ /dev/null
@@ -1,9 +0,0 @@
-source.test.jar = jUnitWrapper/,\
-                  test/
-bin.includes = plugin.xml,\
-               testInput/,\
-               test.xml,\
-               test.jar
-output.test.jar = bin/
-jars.compile.order = tests.jar
-              
\ No newline at end of file
diff --git a/tests/org.eclipse.jst.validation.test/build/buildcontrol.properties b/tests/org.eclipse.jst.validation.test/build/buildcontrol.properties
deleted file mode 100644
index 94147de..0000000
--- a/tests/org.eclipse.jst.validation.test/build/buildcontrol.properties
+++ /dev/null
@@ -1,6 +0,0 @@
-CONTACT=ruthdaly@ca.ibm.com
-ComponentShortName=ValTest
-ComponentFullName=Validation BVT Plugin
-ComponentCompetency=BVT
-JavaCompile.1=srcjar
-BuildVerification.1=dir
\ No newline at end of file
diff --git a/tests/org.eclipse.jst.validation.test/build/package.xml b/tests/org.eclipse.jst.validation.test/build/package.xml
deleted file mode 100644
index a590d8b..0000000
--- a/tests/org.eclipse.jst.validation.test/build/package.xml
+++ /dev/null
@@ -1,20 +0,0 @@
-<project name="com.ibm.etools.validation.test" 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.test"/>
-        <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.xml"/>
-                <include name="testvalidation.bat"/>
-                <include name="testvalidation.sh"/>
-                <include name="runtime/test.jar"/>
-                <include name="runtime/jUnitWrapper.jar"/>
-            </fileset>
-        </copy>
-    </target>
-</project>
diff --git a/tests/org.eclipse.jst.validation.test/build/sourcejar.txt b/tests/org.eclipse.jst.validation.test/build/sourcejar.txt
deleted file mode 100644
index 69bd473..0000000
--- a/tests/org.eclipse.jst.validation.test/build/sourcejar.txt
+++ /dev/null
@@ -1,6 +0,0 @@
-test
-jUnitWrapper
-
-
-
-
diff --git a/tests/org.eclipse.jst.validation.test/build/wsBuild.xml b/tests/org.eclipse.jst.validation.test/build/wsBuild.xml
deleted file mode 100644
index dedb95a..0000000
--- a/tests/org.eclipse.jst.validation.test/build/wsBuild.xml
+++ /dev/null
@@ -1,25 +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;
-
-<!-- customize the jar creation here for multi-jar builds -->
-<target name="build" depends="prepare" if="plugin.id">
-    <antcall target="buildjar">
-        <param name="jarname" value="test"/>
-        <param name="jarclasspath" value="${plugin.classpath}"/>
-    </antcall>
-
-    <antcall target="buildjar">
-        <param name="jarname" value="jUnitWrapper"/>
-        <param name="jarclasspath" value="${plugin.classpath};${plugin.directory}/${plugin.library.directory}/test.jar"/>
-    </antcall>
-
-</target>
-
-</project>
diff --git a/tests/org.eclipse.jst.validation.test/jUnitWrapper/org/eclipse/jst/validation/test/junit/AutomatedValidationBVT.java b/tests/org.eclipse.jst.validation.test/jUnitWrapper/org/eclipse/jst/validation/test/junit/AutomatedValidationBVT.java
deleted file mode 100644
index 89bd66c..0000000
--- a/tests/org.eclipse.jst.validation.test/jUnitWrapper/org/eclipse/jst/validation/test/junit/AutomatedValidationBVT.java
+++ /dev/null
@@ -1,70 +0,0 @@
-/*
- * Created on Feb 9, 2005
- *
- * TODO To change the template for this generated file go to
- * Window - Preferences - Java - Code Style - Code Templates
- */
-package org.eclipse.jst.validation.test.junit;
-
-/**
- * @author jialin
- *
- * TODO To change the template for this generated type comment go to
- * Window - Preferences - Java - Code Style - Code Templates
- */
-
-import java.io.File;
-import java.net.URL;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import junit.textui.TestRunner;
-
-import org.eclipse.core.runtime.IPluginDescriptor;
-import org.eclipse.core.runtime.Platform;
-
-
-/**
- * @author jsholl
- *
- * To change this generated comment go to 
- * Window>Preferences>Java>Code Generation>Code and Comments
- */
-public class AutomatedValidationBVT extends TestSuite {
-
-    public static String baseDirectory = null;
-    
-    static {
-        try {
-            IPluginDescriptor pluginDescriptor = Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.jst.validation.test");
-            URL url = pluginDescriptor.getInstallURL(); 
-        	AutomatedValidationBVT.baseDirectory = Platform.asLocalURL(url).getFile() + "validationResources" + File.separatorChar;
-		} catch (Exception e) { 
-			System.err.println("Using working directory since a workspace URL could not be located.");
-		} 
-    }
-
-    public static int unimplementedMethods;
-
-    public static void main(String[] args) {
-        unimplementedMethods = 0;
-        TestRunner.run(suite());
-        if (unimplementedMethods > 0) {
-            System.out.println("\nCalls to warnUnimpl: " + unimplementedMethods);
-        }
-    }
-
-    public AutomatedValidationBVT() {
-        super();
-        TestSuite suite = (TestSuite) AutomatedValidationBVT.suite();
-        for (int i = 0; i < suite.testCount(); i++) {
-            addTest(suite.testAt(i));
-        }
-    }
-
-    public static Test suite() {
-        TestSuite suite = new TestSuite("Test for org.eclipse.jst.validation.test");
-        suite.addTest(new BVTSuite());
-        return suite;
-    }
-}
diff --git a/tests/org.eclipse.jst.validation.test/jUnitWrapper/org/eclipse/jst/validation/test/junit/BVTSuite.java b/tests/org.eclipse.jst.validation.test/jUnitWrapper/org/eclipse/jst/validation/test/junit/BVTSuite.java
deleted file mode 100644
index 510c90a..0000000
--- a/tests/org.eclipse.jst.validation.test/jUnitWrapper/org/eclipse/jst/validation/test/junit/BVTSuite.java
+++ /dev/null
@@ -1,85 +0,0 @@
-package org.eclipse.jst.validation.test.junit;
-
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.Map;
-import java.util.logging.Level;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.jst.validation.test.BVTValidationPlugin;
-import org.eclipse.jst.validation.test.internal.registry.OperationTestcase;
-import org.eclipse.jst.validation.test.internal.registry.ValidatorTestcase;
-import org.eclipse.jst.validation.test.internal.util.BVTValidationUtility;
-import org.eclipse.wst.validation.internal.ValidatorMetaData;
-
-/**
- * Wraps the existing validation bvt code in a JUnit artifact
- * so that the tests can be run within JUnit. Instances of this
- * class wrap all of the ValidatorSuite instances that must be run.
- */
-public class BVTSuite extends TestSuite {
-	private Map _validatorSuites = null;
-	
-	public BVTSuite() {
-		_validatorSuites = new HashMap();
-		loadValidatorSuites();
-		loadOperationSuites();
-	}
-	
-	private void loadValidatorSuites() {
-		IProgressMonitor monitor = new NullProgressMonitor();
-		
-		ValidatorTestcase[] tmds = BVTValidationUtility.getValidatorTests(monitor);
-		for(int i=0; i<tmds.length; i++) {
-			ValidatorTestcase tmd = tmds[i];
-
-			if(tmd.isVisible()) {
-				ValidatorMetaData vmd = tmd.getValidatorMetaData();
-				ValidatorSuite vs = (ValidatorSuite)_validatorSuites.get(vmd);
-				if(vs == null) {
-					vs = new ValidatorSuite(vmd);
-				}
-				ValidatorTest vt = new ValidatorTest(tmd, vs);
-				vs.addTest(vt);
-				_validatorSuites.put(vmd, vs);
-			}
-		}
-		
-		Iterator iterator = _validatorSuites.values().iterator();
-		while(iterator.hasNext()) {
-			ValidatorSuite vs = (ValidatorSuite)iterator.next();
-			addTest(vs);
-		}
-	}
-	
-	private void loadOperationSuites() {
-		IProgressMonitor monitor = new NullProgressMonitor();
-		
-		OperationTestcase[] tmds = BVTValidationUtility.getOperationTests(monitor);
-		OperationSuite os = new OperationSuite();
-		for(int i=0; i<tmds.length; i++) {
-			OperationTestcase tmd = tmds[i];
-
-			if(tmd.isVisible()) {
-				OperationTest ot = new OperationTest(tmd, os);
-				os.addTest(ot);
-			}
-		}
-		
-		addTest(os);
-	}
-
-	public static Test suite() {
-		// Turn logging to SEVERE
-		BVTValidationPlugin.getPlugin().getMsgLogger().setLevel(Level.SEVERE);
-		return new BVTSuite();
-	}
-
-	public String toString() {
-		return "Validation BVT Suite"; //$NON-NLS-1$
-	}
-}
diff --git a/tests/org.eclipse.jst.validation.test/jUnitWrapper/org/eclipse/jst/validation/test/junit/BuildInfo.java b/tests/org.eclipse.jst.validation.test/jUnitWrapper/org/eclipse/jst/validation/test/junit/BuildInfo.java
deleted file mode 100644
index aef06d1..0000000
--- a/tests/org.eclipse.jst.validation.test/jUnitWrapper/org/eclipse/jst/validation/test/junit/BuildInfo.java
+++ /dev/null
@@ -1,7 +0,0 @@
-package org.eclipse.jst.validation.test.junit;
-public class BuildInfo {
-  public static final String copyright = "Licensed Materials -- Property of IBM\n(c) Copyright International Business Machines Corporation, 2001,2003\nUS Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp.";
-  public static final String fgBuildLevel = "20031112_1915-WB212-AD-V511D-W5";
-  public static String level() { return fgBuildLevel; }
-  public static String getWSABuildLevel() { return fgBuildLevel; }
-}
diff --git a/tests/org.eclipse.jst.validation.test/jUnitWrapper/org/eclipse/jst/validation/test/junit/JUnitBuffer.java b/tests/org.eclipse.jst.validation.test/jUnitWrapper/org/eclipse/jst/validation/test/junit/JUnitBuffer.java
deleted file mode 100644
index ae9fe60..0000000
--- a/tests/org.eclipse.jst.validation.test/jUnitWrapper/org/eclipse/jst/validation/test/junit/JUnitBuffer.java
+++ /dev/null
@@ -1,123 +0,0 @@
-/*
- * Created on Apr 16, 2003
- *
- * To change this generated comment go to 
- * Window>Preferences>Java>Code Generation>Code and Comments
- */
-package org.eclipse.jst.validation.test.junit;
-
-import java.io.File;
-
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.jst.validation.test.BVTValidationPlugin;
-import org.eclipse.jst.validation.test.BufferedTaskStatus;
-import org.eclipse.jst.validation.test.setup.IBuffer;
-
-
-/**
- * When the tests are run as part of JUnit, redirect the output
- * to the JUnit test case.
- */
-public class JUnitBuffer implements IBuffer {
-	private String _logFileName = null;
-	private BufferedTaskStatus _status = null;
-	
-	JUnitBuffer(String logFileName) {
-		_status = new BufferedTaskStatus(getLogFileName(logFileName), new NullProgressMonitor());
-	}
-	
-	public void setProgressMonitor(IProgressMonitor monitor) {
-		_status.setProgressMonitor(monitor);
-	}
-	
-	private String getLogFileName(String logFileName) {
-		if(_logFileName == null) {
-			logFileName = logFileName.replace(' ', '_');
-			IPath stateLocation = BVTValidationPlugin.getPlugin().getStateLocation();
-			File log = new File(stateLocation.toOSString(), logFileName); //$NON-NLS-1$
-			_logFileName = log.getAbsolutePath();
-		}
-		return _logFileName;
-	}
-	
-	public String getLogFileName() {
-		return _status.getLogFileName();
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jst.validation.test.setup.ITestStatus#clear()
-	 */
-	public void clear() {
-		_status.clear();
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jst.validation.test.setup.IBuffer#delineate(java.lang.String)
-	 */
-	public void delineate(String taskName) {
-		_status.delineate(taskName);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jst.validation.test.setup.IBuffer#getProgressMonitor()
-	 */
-	public IProgressMonitor getProgressMonitor() {
-		return _status.getProgressMonitor();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jst.validation.test.setup.IBuffer#report()
-	 */
-	public void report() {
-		_status.report();
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jst.validation.test.setup.IBuffer#write(java.lang.String)
-	 */
-	public void write(String message) {
-		_status.write(message);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jst.validation.test.setup.ITestStatus#addElapsedTime(java.lang.String, long)
-	 */
-	public void addElapsedTime(String taskName, long elapsedTime) {
-		_status.addElapsedTime(taskName, elapsedTime);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jst.validation.test.setup.ITestStatus#addExecutionStatus(java.lang.String, int, org.eclipse.jst.validation.test.setup.IBuffer, java.lang.String)
-	 */
-	public void addExecutionStatus(String testcaseName, String subTaskName, int passOrFail, IBuffer buffer, String message) {
-		_status.addExecutionStatus(testcaseName, subTaskName, passOrFail, buffer, message);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jst.validation.test.setup.ITestStatus#addGlobalExecutionStatus(java.lang.String, int)
-	 */
-	public void addExecutionStatus(String testPassName, boolean pass) {
-		_status.addExecutionStatus(testPassName, pass);
-	}
-
-	public void addExecutionStatus(String testPassName, String subTaskName, boolean pass) {
-		_status.addExecutionStatus(testPassName, subTaskName, pass);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jst.validation.test.setup.ITestStatus#isSuccessful()
-	 */
-	public boolean isSuccessful() {
-		return _status.isSuccessful();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jst.validation.test.setup.ITestStatus#isSuccessful()
-	 */
-	public boolean isSuccessful(String testName) {
-		return _status.isSuccessful(testName);
-	}
-
-}
diff --git a/tests/org.eclipse.jst.validation.test/jUnitWrapper/org/eclipse/jst/validation/test/junit/OperationSuite.java b/tests/org.eclipse.jst.validation.test/jUnitWrapper/org/eclipse/jst/validation/test/junit/OperationSuite.java
deleted file mode 100644
index cff7d0b..0000000
--- a/tests/org.eclipse.jst.validation.test/jUnitWrapper/org/eclipse/jst/validation/test/junit/OperationSuite.java
+++ /dev/null
@@ -1,35 +0,0 @@
-package org.eclipse.jst.validation.test.junit;
-
-import junit.framework.TestResult;
-import junit.framework.TestSuite;
-
-/**
- * Instances of this class wrap all of the operations, in plugin.xml,
- * for the validation framework.
- */
-public class OperationSuite extends TestSuite {
-	private JUnitBuffer _buffer = null;
-
-	public OperationSuite() {
-	}
-	
-	public String toString() {
-		return "Validation Framework Tests"; //$NON-NLS-1$
-	}
-
-	public JUnitBuffer getBuffer() {
-		if(_buffer == null) {
-			_buffer = new JUnitBuffer(toString() + System.currentTimeMillis() + ".log"); //$NON-NLS-1$ //$NON-NLS-2$
-		}
-		return _buffer;
-	}
-
-	/* (non-Javadoc)
-	 * @see junit.framework.Test#run(junit.framework.TestResult)
-	 */
-	public void run(TestResult result) {
-		super.run(result);
-		getBuffer().report(); // report only after all of the tests in this suite have finished
-		getBuffer().clear();
-	}
-}
diff --git a/tests/org.eclipse.jst.validation.test/jUnitWrapper/org/eclipse/jst/validation/test/junit/OperationTest.java b/tests/org.eclipse.jst.validation.test/jUnitWrapper/org/eclipse/jst/validation/test/junit/OperationTest.java
deleted file mode 100644
index 6c0b76b..0000000
--- a/tests/org.eclipse.jst.validation.test/jUnitWrapper/org/eclipse/jst/validation/test/junit/OperationTest.java
+++ /dev/null
@@ -1,60 +0,0 @@
-package org.eclipse.jst.validation.test.junit;
-
-import junit.framework.TestCase;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.jst.validation.test.internal.registry.OperationTestcase;
-import org.eclipse.jst.validation.test.internal.registry.TestcaseUtility;
-import org.eclipse.jst.validation.test.internal.util.BVTRunner;
-
-
-/**
- * Instances of this class run an IWorkspaceRunnable that tests the
- * validation framework.
- */
-public class OperationTest extends TestCase {
-	private OperationSuite _suite = null;
-	private OperationTestcase _tmd = null;
-
-	public OperationTest(OperationTestcase tmd, OperationSuite suite) {
-		super(tmd.getName()); // the method named "test" runs the test.
-		_tmd = tmd;
-		_suite = suite;
-	}
-	
-	public JUnitBuffer getBuffer() {
-		return _suite.getBuffer();
-	}
-	
-	public String toString() {
-		return _tmd.getName();
-	}
-	
-	/* (non-Javadoc)
-	 * @see junit.framework.TestCase#runTest()
-	 */
-	protected void runTest() throws Throwable {
-		try {
-			IProject project = TestcaseUtility.findProject(_tmd);
-			if((project == null) || !project.exists()) {
-				// File needs to be imported (i.e., set up the test).
-				if(!BVTRunner.singleton().setupTests(getBuffer(), _tmd, false)) {
-					fail("Could not import input from directory " + TestcaseUtility.getInputDir(_tmd)); //$NON-NLS-1$
-				}
-			}
-			
-			if(!project.isAccessible()) {
-				fail("Project " + project.getName() + " is not accessible."); //$NON-NLS-1$ //$NON-NLS-2$
-			}
-			
-			_tmd.run(getBuffer(), project);
-			if(!getBuffer().isSuccessful(_tmd.getName())) {
-				fail(_tmd.getName() + " failed. Read the log for details. " + getBuffer().getLogFileName()); //$NON-NLS-1$
-			}
-		}
-		finally {
-			// Whether this test case fails or not, send its results to the log.
-			getBuffer().delineate(_tmd.getName());
-		}
-	}
-}
diff --git a/tests/org.eclipse.jst.validation.test/jUnitWrapper/org/eclipse/jst/validation/test/junit/ValidatorSuite.java b/tests/org.eclipse.jst.validation.test/jUnitWrapper/org/eclipse/jst/validation/test/junit/ValidatorSuite.java
deleted file mode 100644
index b6fea36..0000000
--- a/tests/org.eclipse.jst.validation.test/jUnitWrapper/org/eclipse/jst/validation/test/junit/ValidatorSuite.java
+++ /dev/null
@@ -1,40 +0,0 @@
-package org.eclipse.jst.validation.test.junit;
-
-import junit.framework.TestResult;
-import junit.framework.TestSuite;
-
-import org.eclipse.wst.validation.internal.ValidatorMetaData;
-
-/**
- * Instances of this class wrap all of the <test> instances,
- * contributed in plugin.xml, for one validator.
- */
-public class ValidatorSuite extends TestSuite {
-	private ValidatorMetaData _vmd = null;
-	private JUnitBuffer _buffer = null;
-
-	public ValidatorSuite(ValidatorMetaData vmd) {
-		_vmd = vmd;
-	}
-	
-	public String toString() {
-		return _vmd.getValidatorDisplayName();
-	}
-	
-	public JUnitBuffer getBuffer() {
-		if(_buffer == null) {
-			_buffer = new JUnitBuffer(toString() + System.currentTimeMillis() + ".log"); //$NON-NLS-1$ //$NON-NLS-2$
-		}
-		return _buffer;
-	}
-
-	/* (non-Javadoc)
-	 * @see junit.framework.Test#run(junit.framework.TestResult)
-	 */
-	public void run(TestResult result) {
-		super.run(result);
-		getBuffer().report(); // report only after all of the tests in this suite have finished
-		getBuffer().clear();
-	}
-}
-
diff --git a/tests/org.eclipse.jst.validation.test/jUnitWrapper/org/eclipse/jst/validation/test/junit/ValidatorTest.java b/tests/org.eclipse.jst.validation.test/jUnitWrapper/org/eclipse/jst/validation/test/junit/ValidatorTest.java
deleted file mode 100644
index 839b222..0000000
--- a/tests/org.eclipse.jst.validation.test/jUnitWrapper/org/eclipse/jst/validation/test/junit/ValidatorTest.java
+++ /dev/null
@@ -1,60 +0,0 @@
-package org.eclipse.jst.validation.test.junit;
-
-import junit.framework.TestCase;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.jst.validation.test.internal.registry.TestcaseUtility;
-import org.eclipse.jst.validation.test.internal.registry.ValidatorTestcase;
-import org.eclipse.jst.validation.test.internal.util.BVTRunner;
-
-
-/**
- * Instances of this class represent one <test>, contributed in
- * plugin.xml, for one validator.
- */
-public class ValidatorTest extends TestCase {
-	private ValidatorTestcase _tmd = null;
-	private ValidatorSuite _suite = null;
-
-	public ValidatorTest(ValidatorTestcase tmd, ValidatorSuite suite) {
-		super(tmd.getName()); // the method named "test" runs the test.
-		_tmd = tmd;
-		_suite = suite;
-	}
-	
-	public JUnitBuffer getBuffer() {
-		return _suite.getBuffer();
-	}
-	
-	public String toString() {
-		return _tmd.getProjectName();
-	}
-
-	/* (non-Javadoc)
-	 * @see junit.framework.TestCase#runTest()
-	 */
-	protected void runTest() throws Throwable {
-		try {
-			IProject project = TestcaseUtility.findProject(_tmd);
-			if((project == null) || !project.exists()) {
-				// File needs to be imported (i.e., set up the test).
-				if(!BVTRunner.singleton().setupTests(getBuffer(), _tmd, false)) {
-					fail("Could not import input from directory " + TestcaseUtility.getInputDir(_tmd)); //$NON-NLS-1$
-				}
-			}
-
-			if(!project.isAccessible()) {
-				fail("Project " + project.getName() + " is not accessible."); //$NON-NLS-1$ //$NON-NLS-2$
-			}
-			
-			_tmd.run(getBuffer(), project);
-			if(!getBuffer().isSuccessful(_tmd.getName())) {
-				fail(_tmd.getName() + " failed. Read the log for details. " + getBuffer().getLogFileName()); //$NON-NLS-1$
-			}
-		}
-		finally {
-			// Whether this test case fails or not, send its results to the log.
-			getBuffer().delineate(_tmd.getName());
-		}
-	}
-}
diff --git a/tests/org.eclipse.jst.validation.test/plugin.xml b/tests/org.eclipse.jst.validation.test/plugin.xml
deleted file mode 100644
index 47f39e0..0000000
--- a/tests/org.eclipse.jst.validation.test/plugin.xml
+++ /dev/null
@@ -1,56 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-   id="org.eclipse.jst.validation.test"
-   name="Validation Testing Component"
-   version="1.0.0"
-   class="org.eclipse.jst.validation.test.BVTValidationPlugin">
-
-   <runtime>
-      <library name="test.jar">
-         <export name="*"/>
-      </library>
-   </runtime>
-   <requires>
-      <import plugin="org.eclipse.core.boot" export="true"/>
-      <import plugin="org.eclipse.core.resources" export="true"/>
-      <import plugin="org.eclipse.core.runtime" export="true"/>
-      <import plugin="org.eclipse.wst.validation" export="true"/>
-      <import plugin="org.eclipse.jst.validation.sample"/>
-      <import plugin="org.junit" export="true" optional="true"/>
-      <import plugin="org.eclipse.jem.workbench"/>
-      <import plugin="org.eclipse.core.runtime.compatibility"/>
-      <import plugin="org.eclipse.jdt.core"/>
-      <import plugin="org.eclipse.wst.common.frameworks"/>
-   </requires>
-
-
-<!--============================-->
-<!-- Validation Contributions   -->
-<!--============================-->
-<!-- Validation extension points -->
-   <extension-point id="test" name="validator test"/>
-   <extension-point id="testSetup" name="testSetup"/>
-   <extension-point id="opTest" name="operation test"/>
-
-<!-- ====================================================== -->
-<!--           JUnit BVT Test Suite                         -->
-<!-- ====================================================== -->
-<!--   <extension
-         point="org.eclipse.wst.common.tests.collector.suites">
-      <suite
-            suiteName="Validation BVT Suite"
-            suiteClass="org.eclipse.jst.validation.test.junit.BVTSuite">
-      </suite>
-   </extension> -->
-<!-- batch BVT -->
-   <extension
-         id="bvt_batch"
-         point="org.eclipse.core.runtime.applications">
-      <application>
-         <run
-               class="org.eclipse.jst.validation.test.BVTValidationBatch">
-         </run>
-      </application>
-   </extension>
-
-</plugin>
diff --git a/tests/org.eclipse.jst.validation.test/src/jUnitWrapper-src.jar b/tests/org.eclipse.jst.validation.test/src/jUnitWrapper-src.jar
deleted file mode 100644
index 280b69c..0000000
--- a/tests/org.eclipse.jst.validation.test/src/jUnitWrapper-src.jar
+++ /dev/null
Binary files differ
diff --git a/tests/org.eclipse.jst.validation.test/src/test-src.jar b/tests/org.eclipse.jst.validation.test/src/test-src.jar
deleted file mode 100644
index cccfdcc..0000000
--- a/tests/org.eclipse.jst.validation.test/src/test-src.jar
+++ /dev/null
Binary files differ
diff --git a/tests/org.eclipse.jst.validation.test/test.xml b/tests/org.eclipse.jst.validation.test/test.xml
deleted file mode 100644
index cdcaa7b..0000000
--- a/tests/org.eclipse.jst.validation.test/test.xml
+++ /dev/null
@@ -1,65 +0,0 @@
-<?xml version="1.0"?>
-
-<project name="testsuite" default="run" basedir=".">
-  <!--==============================================================-->
-  <!-- The property ${eclipse-home} should be passed into this script. -->
-  <!-- Set a meaningful default value for when it is not.           -->
-  <!--==============================================================-->
-  <!-- <property name="eclipse-home" value="${basedir}\.."/> -->
-
-  <!--==============================================================-->
-  <!-- Set the environment properties.                              -->
-  <!--==============================================================-->
-  <property name="plugin-name" value="org.eclipse.jst.validation.test"/>
-  <property name="library-file"
-            value="${eclipse-home}/plugins/org.eclipse.test_3.1.0/library.xml"/>
-  <property name="extraVMargs" value="-DXmx700M"/>
-
-  <!--===============================================================-->
-  <!-- This target initializes all of the tests that will run.       -->
-  <!-- Initialization for individual tests should be done within the --> 
-  <!-- body of the suite target.                                     -->
-  <!--===============================================================-->
-  <target name="init">
-      <tstamp/>
-      <delete>
-         <fileset dir="${eclipse-home}" includes="org.*.xml"/>
-      </delete>
-  </target>
-
-  <!--==============================================================-->
-  <!-- This target defines the tests that need to run.              -->
-  <!--==============================================================-->
-  <target name="suite">
-      <property name="workspace" value="${eclipse-home}/jst_folder"/>
-      <delete dir="${workspace}" quiet="true"/>
-      <ant target="core-test" antfile="${library-file}" dir="${eclipse-home}">
-      <property name="data-dir" value="${workspace}"/>
-      <property name="plugin-name" value="${plugin-name}"/>
-      <property name="classname" value="org.eclipse.jst.validation.test.junit.AutomatedValidationBVT"/>
-   	  <property name="plugin-path" value="${eclipse-home}/plugins/${plugin-name}"/>
-   	  <property name="extraVMargs" value="${extraVMargs}"/>
-    </ant>
-  </target>
-
-  <!--==================================================================-->
-  <!-- This target holds code to cleanup the testing environment after  -->
-  <!-- all of the tests have been run. You can use this target to       -->
-  <!-- delete temporary files that have been created.                   -->
-  <!--==================================================================-->
-  <target name="cleanup">
-  </target>
-
-  <!--==================================================================-->
-  <!-- This target runs the test suite. Any actions that need to happen -->
-  <!-- after all the tests have been run should go here.                -->
-  <!--==================================================================-->
-  <target name="run" depends="init,suite,cleanup">
-    <ant target="collect" antfile="${library-file}" dir="${eclipse-home}">
-      <property name="includes" value="org.*.xml"/>
-      <property name="output-file" value="${plugin-name}.xml"/>
-    </ant>
-  </target>
-
-</project>
-
diff --git a/tests/org.eclipse.jst.validation.test/test/org/eclipse/jst/validation/test/BVTValidationBatch.java b/tests/org.eclipse.jst.validation.test/test/org/eclipse/jst/validation/test/BVTValidationBatch.java
deleted file mode 100644
index 3dfa3ee..0000000
--- a/tests/org.eclipse.jst.validation.test/test/org/eclipse/jst/validation/test/BVTValidationBatch.java
+++ /dev/null
@@ -1,107 +0,0 @@
-package org.eclipse.jst.validation.test;
-
-import java.util.logging.Level;
-
-import org.eclipse.core.boot.IPlatformRunnable;
-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.jem.util.logger.proxy.Logger;
-import org.eclipse.jst.validation.test.internal.util.BVTRunner;
-import org.eclipse.jst.validation.test.internal.util.BVTValidationUtility;
-/**
- */
-public class BVTValidationBatch implements IPlatformRunnable {
-	private String _dir = null; // The test cases (.ear, .jar) are identified through a relative directory, and this is the parent of that relative directory.
-	private boolean _verbose = false;
-	static Boolean _passed = null;
-	
-	boolean isVerbose() {
-		return _verbose;
-	}
-	
-	void setVerbose(boolean v) {
-		_verbose = v;
-	}
-	
-	String getDir() {
-		return _dir;
-	}
-	
-	void setDir(String dir) {
-		_dir = dir;
-	}
-	
-	private void parseUserSettings(Object args) {
-		if(args == null) {
-			// nothing to set
-			return;
-		}
-		
-		if(args instanceof String[]) {
-			String[] userSettings = (String[])args;
-			if(userSettings.length == 0) {
-				return;
-			}
-			
-			for(int i=0; i<userSettings.length; i++) {
-				if(userSettings[i].equals("-dir")) { //$NON-NLS-1$
-					setDir(userSettings[i+1]);
-				}
-				
-				if(userSettings[i].equals("-trace")) { //$NON-NLS-1$
-					setVerbose(true);
-				}
-			}
-
-			// turn on framework validation logging
-			if(isVerbose()) {
-				BVTValidationPlugin.getPlugin().getMsgLogger().setLevel(Level.FINEST);
-			}
-		}
-	}
-
-
-	/**
-	 * Parse the user's settings, import the test cases, and run the test cases.
-	 */
-	public Object run(Object args) throws BVTValidationException {
-		parseUserSettings(args);
-
-		IWorkspaceRunnable runnable = new IWorkspaceRunnable() {
-			public void run(IProgressMonitor monitor) {		
-				try {
-					monitor.subTask("Workspace is located at: " + BVTValidationPlugin.getPlugin().getStateLocation().toOSString()); //$NON-NLS-1$
-			
-					ConsoleBuffer buffer = new ConsoleBuffer();
-					BVTRunner.singleton().setupTests(buffer, isVerbose());
-					
-					int numTests = BVTValidationUtility.numValidatorTests(monitor, ResourcesPlugin.getWorkspace().getRoot().getProjects());
-					int numPassed = BVTRunner.singleton().test(buffer, ResourcesPlugin.getWorkspace().getRoot().getProjects());
-					_passed = ((numPassed == numTests) ? Boolean.TRUE : Boolean.FALSE);
-				}
-				catch(BVTValidationException exc) {
-					Logger logger = BVTValidationPlugin.getPlugin().getMsgLogger();
-					if(logger.isLoggingLevel(Level.SEVERE)) {
-						logger.write(Level.SEVERE, exc.getMessage());
-						logger.write(Level.SEVERE, exc);
-						if(exc.getTargetException() != null) {
-							logger.write(Level.SEVERE, exc.getTargetException());
-						}
-					}
-				}
-			}
-		};
-		
-		try {
-			ConsoleProgressMonitor monitor = new ConsoleProgressMonitor();
-			ResourcesPlugin.getWorkspace().run(runnable, monitor);
-		}
-		catch(CoreException exc) {
-			throw new BVTValidationException(exc);
-		}
-		return _passed;
-	}
-	
-}
diff --git a/tests/org.eclipse.jst.validation.test/test/org/eclipse/jst/validation/test/BVTValidationException.java b/tests/org.eclipse.jst.validation.test/test/org/eclipse/jst/validation/test/BVTValidationException.java
deleted file mode 100644
index ed809d9..0000000
--- a/tests/org.eclipse.jst.validation.test/test/org/eclipse/jst/validation/test/BVTValidationException.java
+++ /dev/null
@@ -1,26 +0,0 @@
-package org.eclipse.jst.validation.test;
-
-public class BVTValidationException extends Exception {
-	private Throwable _target = null;
-	
-	public BVTValidationException(Throwable t) {
-		setTargetException(t);
-	}
-	
-	public BVTValidationException(String s) {
-		super(s);
-	}
-	
-	public BVTValidationException(String s, Throwable target) {
-		super(s);
-		setTargetException(target);
-	}
-	
-	public Throwable getTargetException() {
-		return _target;
-	}
-	
-	public void setTargetException(Throwable target) {
-		_target = target;
-	}
-}
diff --git a/tests/org.eclipse.jst.validation.test/test/org/eclipse/jst/validation/test/BVTValidationPlugin.java b/tests/org.eclipse.jst.validation.test/test/org/eclipse/jst/validation/test/BVTValidationPlugin.java
deleted file mode 100644
index 6352f90..0000000
--- a/tests/org.eclipse.jst.validation.test/test/org/eclipse/jst/validation/test/BVTValidationPlugin.java
+++ /dev/null
@@ -1,83 +0,0 @@
-package org.eclipse.jst.validation.test;
-
-
-/**
- * Plugin for TVT testing.
- */
-public class BVTValidationPlugin extends org.eclipse.wst.common.frameworks.internal.WTPPlugin {
-	private static BVTValidationPlugin _inst = null;
-	public static final String PLUGIN_ID = "org.eclipse.jst.validation.test"; //$NON-NLS-1$
-//	private boolean _debug = false;
-//	private static final String LOG_FILE_NAME = "fvtlog.xml";
-
-	/**
-	 * ValidationTVTPlugin constructor comment.
-	 * @param descriptor org.eclipse.core.runtime.IPluginDescriptor
-	 */
-	public BVTValidationPlugin() {
-		super();
-		if(_inst == null) {
-			_inst = this;
-		}
-	}
-	
-	public static BVTValidationPlugin getPlugin() {
-		return _inst;
-	}
-/*	
-	private void initializeLog(int logLevel) {
-		IPath pluginStateLocation = getPlugin().getStateLocation();
-		IPath logFilePath = pluginStateLocation.append(LOG_FILE_NAME);
-		String logName = logFilePath.toOSString();
-		BVTValidationPlugin.getPlugin().getMsgLogger().setFileName(logName);
-		ValidationPlugin.getPlugin().getMsgLogger().setFileName(logName);
-	}
-*/	
-/*	public MsgLogger getMsgLogger() {
-		if (_logger == null) {
-			_logger = (MsgLogger) MsgLogger.getFactory().getLogger(PluginHelperImpl.getMsgLoggerName(this), this);
-			
-			if(!_logger.isLoggingLevel(Level.SEVERE)) {
-				// Turn logging on
-				_logger.setLevel(Level.SEVERE);
-				_logger.setFileName(org.eclipse.core.runtime.Platform.getLocation().addTrailingSeparator().append(".metadata").addTrailingSeparator().toOSString().concat("LoggingUtil.log"));
-			}
-			
-		}
-		return _logger;
-	}
-	*/
-	/**
-	 * Retrieves a hashtable of a logger's preferences initially from the com.ibm.etools.logging.util.loggingDefaults  
-	 * extension point if specified in the com.ibm.etools.logging.util plugin.xml file.  If specified, the 
-	 * com.ibm.etools.logging.util.loggingOptions extension point preferences in the parameter plugin's
-	 * plugin.xml file are returned.  
-	 * 
-	 * The logger's preferences are stored in the return hashtable using the static instance variables 
-	 * in LoggerStateHashKeys as keys.
-	 * 
-	 * @param plugin the Plugin polled for their logger's preferences in the plugin.xml file
-	 * @return hashtable of a logger's preferences
-	 */
-	/*public Hashtable getMsgLoggerConfig(Plugin plugin) {
-		return (new PluginHelperImpl().getMsgLoggerConfig(plugin));
-	}*/
-	
-	/**
-	 * Sets the logger's preferences based on values in the parameter hashtable.
-	 *
-	 * The logger's preferences are stored in the parameter hashtable using the static 
-	 * instance variables in LoggerStateHashKeys as keys.
-	 * 
-	 * @param msgLoggerConfig hashtable of the logger's preferences
-	 */
-/*	public void setMsgLoggerConfig(Hashtable msgLoggerConfig) {
-		getMsgLogger().setMsgLoggerConfig(msgLoggerConfig);
-	}*/
-	/* (non-Javadoc)
-	 * @see org.eclipse.wtp.common.WTPPlugin#getPluginID()
-	 */
-	public String getPluginID() {
-	    return PLUGIN_ID;
-	}
-}
diff --git a/tests/org.eclipse.jst.validation.test/test/org/eclipse/jst/validation/test/BufferedTaskStatus.java b/tests/org.eclipse.jst.validation.test/test/org/eclipse/jst/validation/test/BufferedTaskStatus.java
deleted file mode 100644
index 3254686..0000000
--- a/tests/org.eclipse.jst.validation.test/test/org/eclipse/jst/validation/test/BufferedTaskStatus.java
+++ /dev/null
@@ -1,155 +0,0 @@
-package org.eclipse.jst.validation.test;
-
-import java.util.Iterator;
-import java.util.Map;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.jst.validation.test.internal.registry.TestcaseUtility;
-import org.eclipse.jst.validation.test.setup.IBuffer;
-
-
-public class BufferedTaskStatus extends TaskStatus implements IBuffer {
-	public static final String NEWLINE = System.getProperty("line.separator"); //$NON-NLS-1$
-	private IProgressMonitor _monitor = null;
-	private StringBuffer _buffer = null;
-	private String _logFileName = null;
-	
-	public BufferedTaskStatus() {
-	}
-	
-	public BufferedTaskStatus(String logFileName) {
-		this(logFileName, null);
-	}
-	
-	public BufferedTaskStatus(String logFileName, IProgressMonitor monitor) {
-		_buffer = new StringBuffer();
-		setProgressMonitor(monitor);
-		setLogFileName(logFileName);
-	}
-	
-	public void clear() {
-		super.clear();
-		_buffer = null;
-		_buffer = new StringBuffer();
-		_monitor.done();
-		_monitor = null;
-	}
-
-	public String getLogFileName() {
-		return _logFileName;
-	}
-	
-	public void setLogFileName(String name) {
-		_logFileName = name;
-	}
-	
-	public StringBuffer getBuffer() {
-		return _buffer;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jst.validation.test.setup.IBuffer#getProgressMonitor()
-	 */
-	public IProgressMonitor getProgressMonitor() {
-		if(_monitor == null) {
-			_monitor = new NullProgressMonitor();
-		}
-		return _monitor;
-	}
-	
-	public void setProgressMonitor(IProgressMonitor m) {
-		_monitor = m;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jst.validation.test.setup.IBuffer#report()
-	 */
-	public void report() {
-		_buffer.append(NEWLINE);
-		_buffer.append(">>>>>>>>>>>>>>>>TEST SUITE RESULTS>>>>>>>>>>>>>>>>"); //$NON-NLS-1$
-		_buffer.append(NEWLINE);
-		_buffer.append(NEWLINE);
-
-		if(getElapsedTime().size() > 0) {
-			Iterator iterator = getElapsedTime().keySet().iterator();
-			long total = 0;
-			_buffer.append(">>>>>>>>>>>>>>>>ELAPSED TIME>>>>>>>>>>>>>>>>"); //$NON-NLS-1$
-			_buffer.append(NEWLINE);
-			while(iterator.hasNext()) {
-				String taskName = (String)iterator.next();
-				Long elapsedTime = (Long)getElapsedTime().get(taskName);
-				total += elapsedTime.longValue();
-				_buffer.append("Total elapsed time of task "); //$NON-NLS-1$
-				_buffer.append(taskName);
-				_buffer.append(" is "); //$NON-NLS-1$
-				_buffer.append(elapsedTime);
-				_buffer.append(NEWLINE);
-			}
-			_buffer.append("Total time of all tasks is " + total + ", which is " + (total/1000/60) + " minutes."); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-			_buffer.append(NEWLINE);
-		}
-
-		int totNumPass = 0;
-		Map taskStatus = getTaskStatus();
-		Iterator iterator = taskStatus.keySet().iterator();
-		_buffer.append(NEWLINE);
-		_buffer.append(">>>>>>>>>>>>>>>>PASS/FAIL SUMMARY>>>>>>>>>>>>>>>>"); //$NON-NLS-1$
-		_buffer.append(NEWLINE);
-		while(iterator.hasNext()) {
-			String taskName = (String)iterator.next();
-			TestStatus ts = (TestStatus)taskStatus.get(taskName);
-			_buffer.append(ts);
-			_buffer.append(NEWLINE);
-			if(ts.isSuccessful()) {
-				totNumPass++;
-			}
-		}
-		
-		_buffer.append(NEWLINE);
-		_buffer.append(NEWLINE);
-		_buffer.append("Total Number Of Tests: "); //$NON-NLS-1$
-		_buffer.append(numTests());
-		_buffer.append(NEWLINE);
-		_buffer.append("Number Passed: "); //$NON-NLS-1$
-		_buffer.append(totNumPass);
-		_buffer.append(NEWLINE);
-		
-		if(getLogFileName() != null) {
-			_buffer.append("This report is stored in the following log file: "); //$NON-NLS-1$
-			_buffer.append(getLogFileName());
-	
-			TestcaseUtility.flush(getLogFileName(), _buffer.toString(), true);
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jst.validation.test.setup.IBuffer#delineate()
-	 */
-	public void delineate(String testcaseName) {
-		TaskStatus. TestStatus ts = getTestStatus(testcaseName);
-		if(ts == null) {
-			// nothing to report
-			return;
-		}
-		StringBuffer errorsBuffer = new StringBuffer();
-		errorsBuffer.append(ts.numFailure());
-		errorsBuffer.append(" errors were reported and "); //$NON-NLS-1$
-		errorsBuffer.append(ts.numWarnings());
-		errorsBuffer.append(" warnings were reported. Read "); //$NON-NLS-1$
-		errorsBuffer.append(getLogFileName());
-		errorsBuffer.append(" for details."); //$NON-NLS-1$
-		write(errorsBuffer.toString());
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jst.validation.test.setup.IBuffer#write(java.lang.String)
-	 */
-	public void write(String message) {
-		// Can't write to the JUnit log. Can only write to the log by failing the
-		// test case with a message; instead, write to the buffer, and send this
-		// information to a log in the validation.test plugin's state location.
-		_buffer.append(message);
-		_buffer.append(NEWLINE);
-	}
-}
diff --git a/tests/org.eclipse.jst.validation.test/test/org/eclipse/jst/validation/test/BuildInfo.java b/tests/org.eclipse.jst.validation.test/test/org/eclipse/jst/validation/test/BuildInfo.java
deleted file mode 100644
index 532c6ef..0000000
--- a/tests/org.eclipse.jst.validation.test/test/org/eclipse/jst/validation/test/BuildInfo.java
+++ /dev/null
@@ -1,7 +0,0 @@
-package org.eclipse.jst.validation.test;
-public class BuildInfo {
-  public static final String copyright = "Licensed Materials -- Property of IBM\n(c) Copyright International Business Machines Corporation, 2001,2003\nUS Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp.";
-  public static final String fgBuildLevel = "20031112_1915-WB212-AD-V511D-W5";
-  public static String level() { return fgBuildLevel; }
-  public static String getWSABuildLevel() { return fgBuildLevel; }
-}
diff --git a/tests/org.eclipse.jst.validation.test/test/org/eclipse/jst/validation/test/ConsoleBuffer.java b/tests/org.eclipse.jst.validation.test/test/org/eclipse/jst/validation/test/ConsoleBuffer.java
deleted file mode 100644
index 8b8bdcb..0000000
--- a/tests/org.eclipse.jst.validation.test/test/org/eclipse/jst/validation/test/ConsoleBuffer.java
+++ /dev/null
@@ -1,103 +0,0 @@
-package org.eclipse.jst.validation.test;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jst.validation.test.setup.IBuffer;
-
-
-/**
- * Sends the TestCaseGeneratorOperation output to System.out.
- */
-public class ConsoleBuffer implements IBuffer {
-	private BufferedTaskStatus _status = null;
-	
-	public ConsoleBuffer() {
-		_status = new BufferedTaskStatus(); // no log file
-	}
-
-	/**
-	 * @see org.eclipse.jst.validation.test.setup.IBuffer#report()
-	 */
-	public void report() {
-		_status.report();
-		System.out.println(_status.getBuffer().toString());
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jst.validation.test.setup.ITestStatus#clear()
-	 */
-	public void clear() {
-		_status.clear();
-	}
-	
-	public String getLogFileName() {
-		return _status.getLogFileName();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jst.validation.test.setup.IBuffer#delineate(java.lang.String)
-	 */
-	public void delineate(String taskName) {
-		_status.delineate(taskName);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jst.validation.test.setup.IBuffer#getProgressMonitor()
-	 */
-	public IProgressMonitor getProgressMonitor() {
-		return _status.getProgressMonitor();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jst.validation.test.setup.IBuffer#write(java.lang.String)
-	 */
-	public void write(String message) {
-		_status.write(message);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jst.validation.test.setup.ITestStatus#addElapsedTime(java.lang.String, long)
-	 */
-	public void addElapsedTime(String taskName, long elapsedTime) {
-		_status.addElapsedTime(taskName, elapsedTime);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jst.validation.test.setup.ITestStatus#addExecutionStatus(java.lang.String, int, org.eclipse.jst.validation.test.setup.IBuffer, java.lang.String)
-	 */
-	public void addExecutionStatus(String testcaseName, String subTaskName, int passOrFail, IBuffer buffer, String message) {
-		_status.addExecutionStatus(testcaseName, subTaskName, passOrFail, buffer, message);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jst.validation.test.setup.ITestStatus#addGlobalExecutionStatus(java.lang.String, int)
-	 */
-	public void addExecutionStatus(String testPassName, boolean pass) {
-		_status.addExecutionStatus(testPassName, pass);
-	}
-
-	public void addExecutionStatus(String testPassName, String subTaskName, boolean pass) {
-		_status.addExecutionStatus(testPassName, subTaskName, pass);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jst.validation.test.setup.ITestStatus#isSuccessful()
-	 */
-	public boolean isSuccessful() {
-		return _status.isSuccessful();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jst.validation.test.setup.ITestStatus#isSuccessful()
-	 */
-	public boolean isSuccessful(String testName) {
-		return _status.isSuccessful(testName);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jst.validation.test.setup.IBuffer#setProgressMonitor(org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	public void setProgressMonitor(IProgressMonitor monitor) {
-		_status.setProgressMonitor(monitor);
-	}
-
-}
\ No newline at end of file
diff --git a/tests/org.eclipse.jst.validation.test/test/org/eclipse/jst/validation/test/ConsoleProgressMonitor.java b/tests/org.eclipse.jst.validation.test/test/org/eclipse/jst/validation/test/ConsoleProgressMonitor.java
deleted file mode 100644
index a6d9f6f..0000000
--- a/tests/org.eclipse.jst.validation.test/test/org/eclipse/jst/validation/test/ConsoleProgressMonitor.java
+++ /dev/null
@@ -1,74 +0,0 @@
-package org.eclipse.jst.validation.test;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-
-/**
- * This progress monitor directs all task information to std.out.
- */
-public class ConsoleProgressMonitor implements IProgressMonitor {
-	private int _totalWork = 0;
-	private int _workDoneSoFar = 0;
-	private boolean _cancelRequested = false;
-	
-
-	/**
-	 * @see org.eclipse.core.runtime.IProgressMonitor#beginTask(String, int)
-	 */
-	public void beginTask(String name, int totalWork) {
-		_totalWork = totalWork;
-		report(name);
-	}
-
-	/**
-	 * @see org.eclipse.core.runtime.IProgressMonitor#done()
-	 */
-	public void done() {
-		int workRemaining = _totalWork - _workDoneSoFar;
-		worked(workRemaining);
-	}
-
-	/**
-	 * @see org.eclipse.core.runtime.IProgressMonitor#internalWorked(double)
-	 */
-	public void internalWorked(double work) {
-	}
-
-	/**
-	 * @see org.eclipse.core.runtime.IProgressMonitor#isCanceled()
-	 */
-	public boolean isCanceled() {
-		return _cancelRequested;
-	}
-
-	/**
-	 * @see org.eclipse.core.runtime.IProgressMonitor#setCanceled(boolean)
-	 */
-	public void setCanceled(boolean value) {
-		_cancelRequested = value;
-	}
-
-	/**
-	 * @see org.eclipse.core.runtime.IProgressMonitor#setTaskName(String)
-	 */
-	public void setTaskName(String name) {
-		report(name);
-	}
-
-	/**
-	 * @see org.eclipse.core.runtime.IProgressMonitor#subTask(String)
-	 */
-	public void subTask(String name) {
-		report(name);
-	}
-
-	/**
-	 * @see org.eclipse.core.runtime.IProgressMonitor#worked(int)
-	 */
-	public void worked(int work) {
-		_workDoneSoFar += work;
-	}
-
-	private void report(String message) {
-		System.out.println(message);
-	}
-}
diff --git a/tests/org.eclipse.jst.validation.test/test/org/eclipse/jst/validation/test/IOperationRunnable.java b/tests/org.eclipse.jst.validation.test/test/org/eclipse/jst/validation/test/IOperationRunnable.java
deleted file mode 100644
index cd7b66d..0000000
--- a/tests/org.eclipse.jst.validation.test/test/org/eclipse/jst/validation/test/IOperationRunnable.java
+++ /dev/null
@@ -1,15 +0,0 @@
-package org.eclipse.jst.validation.test;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IWorkspaceRunnable;
-import org.eclipse.jst.validation.test.setup.IBuffer;
-
-
-/**
- * Instances of this interface are run as part of the Test Collector BVT.
- */
-public interface IOperationRunnable extends IWorkspaceRunnable {
-	public void setBuffer(IBuffer b);
-	public void setProject(IProject p);
-	public void setName(String testName);
-}
diff --git a/tests/org.eclipse.jst.validation.test/test/org/eclipse/jst/validation/test/TaskStatus.java b/tests/org.eclipse.jst.validation.test/test/org/eclipse/jst/validation/test/TaskStatus.java
deleted file mode 100644
index e2989d6..0000000
--- a/tests/org.eclipse.jst.validation.test/test/org/eclipse/jst/validation/test/TaskStatus.java
+++ /dev/null
@@ -1,269 +0,0 @@
-package org.eclipse.jst.validation.test;
-
-import java.util.Comparator;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.Map;
-
-import org.eclipse.jst.validation.test.setup.IBuffer;
-import org.eclipse.jst.validation.test.setup.ITestStatus;
-
-
-/**
- * All of the IBuffer instances need to be able to track elapsed time
- * and execution status. Each buffer can create an internal instance of
- * this class to perform those tasks.
- */
-public class TaskStatus implements ITestStatus {
-	private Map _elapsedTime = null;
-	private Map _taskStatus = null;
-
-	public TaskStatus() {
-		_elapsedTime = new HashMap();
-		_taskStatus = new HashMap();
-	}
-	
-	/**
-	 * @see org.eclipse.jst.validation.test.setup.IBuffer#addElapsedTime(String, long)
-	 */
-	public void addElapsedTime(String taskName, long elapsedTime) {
-		Long time = (Long)_elapsedTime.get(taskName);
-		if(time == null) {
-			time = new Long(elapsedTime);
-		}
-		else {
-			time = new Long(time.longValue() + elapsedTime);
-		}
-		_elapsedTime.put(taskName, time);
-	}
-	
-	public void addExecutionStatus(String taskName, boolean pass) {
-		addExecutionStatus(taskName, null, pass);
-	}
-	
-	public void addExecutionStatus(String taskName, String subTaskName, boolean pass) {
-		int success = (pass) ? ITestStatus.PASS : ITestStatus.FAIL;
-		addExecutionStatus(taskName, subTaskName, success, null, null);
-	}
-	
-	public int numTests() {
-		return _taskStatus.size();
-	}
-	
-	protected Map getElapsedTime() {
-		return _elapsedTime;
-	}
-	
-	protected Map getTaskStatus() {
-		return _taskStatus;
-	}
-	
-	public void addExecutionStatus(String testcaseName, String subTaskName, int severity, IBuffer buffer, String message) {
-		TestStatus ts = getTestStatus(testcaseName);
-		if(ts == null) {
-			ts = new TestStatus(testcaseName);
-			_taskStatus.put(testcaseName, ts);
-		}
-		if(subTaskName == null) {
-			ts.addExecutionStatus(severity);
-		}
-		else {
-			ts.addExecutionStatus(subTaskName, severity);
-		}
-
-		if(message != null) {
-			buffer.write(message);
-		}
-	}
-	
-	protected TestStatus getTestStatus(String testcaseName) {
-		return (TestStatus)_taskStatus.get(testcaseName);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jst.validation.test.setup.ITestStatus#isSuccessful()
-	 */
-	public boolean isSuccessful() {
-		if(_taskStatus.size() == 0) {
-			return true;
-		}
-		
-		Iterator iterator = _taskStatus.keySet().iterator();
-		while(iterator.hasNext()) {
-			String tsName = (String)iterator.next();
-			TestStatus ts = (TestStatus)_taskStatus.get(tsName);
-			if(ts == null || !ts.isSuccessful()) {
-				return false;
-			}
-		}
-		
-		return true;
-	}
-	
-	public boolean isSuccessful(String testName) {
-		if(_taskStatus.size() == 0) {
-			return true;
-		}
-		
-		TestStatus ts = (TestStatus)_taskStatus.get(testName);
-		if(ts == null || !ts.isSuccessful()) {
-			return false;
-		}
-		
-		return true;
-	}
-
-	public void clear() {
-		_taskStatus.clear();
-		_elapsedTime.clear();
-	}
-	
-	protected class TestCount {
-		public int numRan = 0;
-		public int numWarn = 0; // Number of warning messages reported for a test case.
-		public int numFail = 0; // Number of failure messages reported for a test case.
-		public int numPass = 0; // Number of test cases that passed.
-	}
-
-	/**
-	 * Instances of this class track the number of test runs and the 
-	 * number of test cases that pass.
-	 */
-	protected class TestStatus implements Comparator {
-		private String _testcaseName = null;
-		private Map _testStatus = null;
-		
-		/**
-		 * Name must not be null.
-		 */
-		public TestStatus(String name) {
-			_testcaseName = name;
-			_testStatus = new HashMap();
-		}
-		
-		public void addExecutionStatus(String subTaskName, int severity) {
-			TestCount soFar = (TestCount)_testStatus.get(subTaskName);
-			if(soFar == null) {
-				soFar = new TestCount();
-			}
-			soFar.numRan++;
-			switch(severity) {
-				case(ITestStatus.WARN): {
-					soFar.numWarn++;
-					soFar.numPass++;
-					break;
-				}
-				
-				case(ITestStatus.FAIL): {
-					soFar.numFail++;
-					break;
-				}
-				
-				case(ITestStatus.PASS): {
-					soFar.numPass++;
-				}
-				
-				default: {
-					// change nothing
-					break;
-				}
-			}
-			
-			_testStatus.put(subTaskName, soFar);
-		}
-		
-		public void addExecutionStatus(int severity) {
-			addExecutionStatus(null, severity);
-		}
-		
-		public String getTestcaseName() {
-			return _testcaseName;
-		}
-		
-		public int numWarnings() {
-			int numWarnings = 0;
-			Iterator iterator = _testStatus.values().iterator();
-			while(iterator.hasNext()) {
-				TestCount tc = (TestCount)iterator.next();
-				numWarnings += tc.numWarn;
-			}
-			return numWarnings;
-		}
-		
-		public int numFailure() {
-			int numFail = 0;
-			Iterator iterator = _testStatus.values().iterator();
-			while(iterator.hasNext()) {
-				TestCount tc = (TestCount)iterator.next();
-				numFail += tc.numFail;
-			}
-			return numFail;
-		}
-		
-		public boolean isSuccessful() {
-			Iterator iterator = _testStatus.values().iterator();
-			while(iterator.hasNext()) {
-				TestCount tc = (TestCount)iterator.next();
-				if(tc.numFail != 0) {
-					return false;
-				}
-			}
-			return true;
-		}
-		
-		public String toString() {
-			int total = 0;
-			int pass = 0;
-			int fail = 0;
-			int warn = 0;
-			
-			Iterator iterator = _testStatus.values().iterator();
-			while(iterator.hasNext()) {
-				TestCount tc = (TestCount)iterator.next();
-				total++;
-				fail += tc.numFail;
-				warn += tc.numWarn;
-				pass += tc.numPass;
-			}
-			
-			StringBuffer buffer = new StringBuffer(getTestcaseName());
-			buffer.append(" Total:"); //$NON-NLS-1$
-			buffer.append(total);
-			buffer.append(" [Pass: "); //$NON-NLS-1$
-			buffer.append(pass);
-			buffer.append(" Fail: "); //$NON-NLS-1$
-			buffer.append(fail);
-			buffer.append(" Warn: "); //$NON-NLS-1$
-			buffer.append(warn);
-			buffer.append("]"); //$NON-NLS-1$
-			return buffer.toString();
-		}
-		
-		public boolean equals(Object o) {
-			if(o instanceof TestStatus) {
-				TestStatus s = (TestStatus)o;
-				return(_testcaseName.equals(s.getTestcaseName()));
-			}
-			
-			return false;
-		}
-		
-		public int hashCode() {
-			return getTestcaseName().hashCode();
-		}
-		
-		/* (non-Javadoc)
-		 * @see java.util.Comparator#compare(java.lang.Object, java.lang.Object)
-		 */
-		public int compare(Object o1, Object o2) {
-			if(!(o1 instanceof TestStatus) && (o2 instanceof TestStatus)) {
-				// Should never happen, but if it does, say that these non-TestStatus objects are equal.
-				return 0;
-			}
-
-			TestStatus a = (TestStatus)o1;
-			TestStatus b = (TestStatus)o2;
-			return a.getTestcaseName().compareTo(b.getTestcaseName());			
-		}
-	}
-}
diff --git a/tests/org.eclipse.jst.validation.test/test/org/eclipse/jst/validation/test/ValidationTypeEnum.java b/tests/org.eclipse.jst.validation.test/test/org/eclipse/jst/validation/test/ValidationTypeEnum.java
deleted file mode 100644
index cfe10c3..0000000
--- a/tests/org.eclipse.jst.validation.test/test/org/eclipse/jst/validation/test/ValidationTypeEnum.java
+++ /dev/null
@@ -1,23 +0,0 @@
-package org.eclipse.jst.validation.test;
-
-import org.eclipse.core.resources.IncrementalProjectBuilder;
-
-/**
- * Enumeration of the types of validations that can be run.
- */
-public final class ValidationTypeEnum {
-	private ValidationTypeEnum() {
-		// Do not permit instances of this class to be created.
-	}
-	
-	public static final int RUN_VALIDATION = 0; // Manual full invocation of a validation by a user. All validators must support this type of validation.
-	public static final int FULL_VALIDATION = IncrementalProjectBuilder.FULL_BUILD; // Manual invocation of a full build by a user that triggers a full validation. Validators can, but are not required to, support this type of validation.
-	public static final int INCREMENTAL_VALIDATION = IncrementalProjectBuilder.INCREMENTAL_BUILD; // Manual invocation of an incremental build by a user that triggers an incremental validation. Validators can, but are not required to, support this type of validation.
-	public static final int AUTO_VALIDATION = IncrementalProjectBuilder.AUTO_BUILD; // Automatic invocation of an incremental build that triggers an incremental validation. Validators can, but are not required to, support this type of validation.
-	
-	public static final String RUN_VALIDATION_NAME = "RUN_VALIDATION"; //$NON-NLS-1$
-	public static final String ASYNC_NAME = "ASYNC"; //$NON-NLS-1$
-	public static final String INCREMENTAL_VALIDATION_NAME = "INCREMENTAL_BUILD"; //$NON-NLS-1$
-	public static final String FULL_VALIDATION_NAME = "FULL_BUILD"; //$NON-NLS-1$
-	public static final String AUTO_VALIDATION_NAME = "AUTO_BUILD"; //$NON-NLS-1$
-}
\ No newline at end of file
diff --git a/tests/org.eclipse.jst.validation.test/test/org/eclipse/jst/validation/test/internal/registry/BVTValidationRegistryReader.java b/tests/org.eclipse.jst.validation.test/test/org/eclipse/jst/validation/test/internal/registry/BVTValidationRegistryReader.java
deleted file mode 100644
index b1f3564..0000000
--- a/tests/org.eclipse.jst.validation.test/test/org/eclipse/jst/validation/test/internal/registry/BVTValidationRegistryReader.java
+++ /dev/null
@@ -1,894 +0,0 @@
-package org.eclipse.jst.validation.test.internal.registry;
-
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.Map;
-import java.util.Set;
-import java.util.logging.Level;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IExtension;
-import org.eclipse.core.runtime.IExtensionPoint;
-import org.eclipse.core.runtime.IPluginRegistry;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jem.util.logger.proxy.Logger;
-import org.eclipse.jst.validation.test.BVTValidationPlugin;
-import org.eclipse.jst.validation.test.IOperationRunnable;
-import org.eclipse.jst.validation.test.setup.IBuffer;
-import org.eclipse.jst.validation.test.setup.IImportOperation;
-import org.eclipse.wst.validation.internal.ValidationRegistryReader;
-import org.eclipse.wst.validation.internal.ValidatorMetaData;
-
-/**
- * BVTValidationRegistryReader is a singleton who reads the plugin registry
- * for Validator extensions. The read is done once (in the constructor). 
- * 
- * 
- * <extension
- *		point = "com.ibm.etools.validation.fvt.test"
- *		id = "ValidatorFVT"
- *		name = "Validator FVT Test">
- *			<test project="projectName" 
- * 				  validator="com.ibm.etools.validation.ejb.EJBValidator"
- * 				  version="1.1">
- *				<message id="CHKJ2816" resource="ejb-jar.xml" location="216"/>
- *				<message id="CHKJ2816" resource="ejb-jar.xml" location="237"/>
- *				<message id="CHKJ2816" resource="ejb-jar.xml" location="258"/>
- *				<message id="CHKJ2816" resource="ejb-jar.xml" location="279"/>
- *				<message id="CHKJ2816" resource="ejb-jar.xml" location="300"/>
- *			</test>
- * 			... as many <test> as needed
- * </extension>
- */
-public final class BVTValidationRegistryReader implements RegistryConstants {
-	private static BVTValidationRegistryReader inst = null;
-	private static OperationTestReader _opReader = null;
-	private static TestSetupReader _setupReader = null;
-	private static ValidationTestReader _valReader = null;
-
-	/**
-	 * The registry is read once - when this class is instantiated.
-	 */
-	private BVTValidationRegistryReader() {
-		super();
-	}
-
-	/**
-	 * Return all visible test cases for all projects.
-	 */
-	public ITestcaseMetaData[] getTests(IProgressMonitor monitor) {
-		Set tests = new HashSet();
-		ValidatorTestcase[] vts = getValidatorTests(monitor, (String)null);
-		for(int j=0; j<vts.length; j++) {
-			tests.add(vts[j]);
-		}
-		
-		OperationTestcase[] ots = getOperationTests(monitor, (String)null);
-		for(int k=0; k<ots.length; k++) {
-			tests.add(ots[k]);
-		}
-
-		ITestcaseMetaData[] result = new ITestcaseMetaData[tests.size()];
-		tests.toArray(result);
-		return result;
-	}
-	
-	/**
-	 * Return all visible test cases for a project.
-	 */
-	public ITestcaseMetaData[] getTests(IProgressMonitor monitor, IProject[] projects) {
-		Set tests = new HashSet();
-		for(int i=0; i<projects.length; i++) {
-			IProject project = projects[i];
-			ValidatorTestcase[] vts = getValidatorTests(monitor, project);
-			for(int j=0; j<vts.length; j++) {
-				tests.add(vts[j]);
-			}
-			
-			OperationTestcase[] ots = getOperationTests(monitor, project);
-			for(int k=0; k<ots.length; k++) {
-				tests.add(ots[k]);
-			}
-		}
-		
-		ITestcaseMetaData[] result = new ITestcaseMetaData[tests.size()];
-		tests.toArray(result);
-		return result;
-	}
-	
-
-	/**
-	 * Return all validator tests for a project.
-	 */
-	public ValidatorTestcase[] getAllValidatorTests(IProgressMonitor monitor, IProject project) throws IllegalArgumentException {
-		ValidationTestReader reader = getValidationTestReader();
-		return reader.getValidatorTests(monitor, project.getName());
-	}
-
-	/**
-	 * Return all test cases of the named validators on the given project.
-	 */	
-	public ValidatorTestcase[] getAllValidatorTests(IProgressMonitor monitor, IProject project, String[] validatorNames) {
-		Set testSet = new HashSet();		
-		ValidatorTestcase[] tests = getAllValidatorTests(monitor, project);
-		for(int i=0; i<validatorNames.length; i++) {
-			String validator = validatorNames[i];
-			for(int j=0; j<tests.length; j++) {
-				ValidatorTestcase tmd = tests[j];
-				if(tmd.getValidatorClass().equals(validator)) {
-					testSet.add(tmd);
-					break;
-				}
-			}
-		}
-		
-		ValidatorTestcase[] result = new ValidatorTestcase[testSet.size()];
-		testSet.toArray(result);
-		return result;
-	}
-	
-	/**
-	 * Return all of the visible test cases that register messages against this project.
-	 */
-	public ValidatorTestcase[] getValidatorTests(IProgressMonitor monitor, IProject project) throws IllegalArgumentException {
-		return getValidatorTests(monitor, project.getName());
-	}
-
-	private ValidationTestReader getValidationTestReader() {
-		if(_valReader == null) {
-			_valReader = new ValidationTestReader();
-		}
-		return _valReader;
-	}
-	
-	private OperationTestReader getOperationTestReader() {
-		if(_opReader == null) {
-			_opReader = new OperationTestReader();
-		}
-		return _opReader;
-	}
-	
-	private TestSetupReader getTestSetupReader() {
-		if (_setupReader == null) {
-			_setupReader = new TestSetupReader();
-		}
-		return _setupReader;
-	}
-	
-	/**
-	 * Return the test cases named testName, or if testName is null, return all test cases.
-	 */
-	public ValidatorTestcase[] getValidatorTests(IProgressMonitor monitor, String testName) throws IllegalArgumentException {
-		return getValidationTestReader().getVisibleValidatorTests(monitor, testName);
-	}
-	
-	/**
-	 * Return the test cases that register messages against this project.
-	 */
-	public OperationTestcase[] getOperationTests(IProgressMonitor monitor, IProject project) throws IllegalArgumentException {
-		return getOperationTests(monitor, project.getName());
-	}
-
-	/**
-	 * Return the test cases named testName, or if testName is null, return all test cases.
-	 */
-	public OperationTestcase[] getOperationTests(IProgressMonitor monitor, String testName) throws IllegalArgumentException {
-		return getOperationTestReader().getOperationTests(monitor, testName);
-	}
-
-	/**
-	 * If files need to be imported, import them now (into projects that are named
-	 * the same as the files.)
-	 * 
-	 * If ITestcaseMetaData is not null, return the TestSetupImport for that particular test.
-	 * If ITestcaseMetaData is null, return all TestSetupImport.
-	 */
-	public TestSetupImport[] getTestSetup(IBuffer buffer, String dir, ITestcaseMetaData tmd, boolean verbose) {
-		return getTestSetupReader().getTestSetup(buffer, dir, tmd, verbose);
-	}
-
-	/**
-	 * Returns the singleton ValidationTVTRegistryReader.
-	 */
-	public static BVTValidationRegistryReader getReader() {
-		if (inst == null) {
-			inst = new BVTValidationRegistryReader();
-		}
-		return inst;
-	}
-
-	private class ValidationTestReader {
-		private Map _validatorTests = null;
-		
-		ValidationTestReader() {
-		}
-		
-		public ValidatorTestcase[] getVisibleValidatorTests(IProgressMonitor monitor, String testName) throws IllegalArgumentException {
-			ValidatorTestcase[] vts = getValidatorTests(monitor, testName);
-			ValidatorTestcase[] temp = new ValidatorTestcase[vts.length];
-			int count = 0;
-			for(int i=0; i<vts.length; i++) {
-				ValidatorTestcase vt = vts[i];
-				if(vt.isVisible()) {
-					temp[count++] = vt;
-				}
-			}
-			ValidatorTestcase[] result = new ValidatorTestcase[count];
-			System.arraycopy(temp, 0, result, 0, count);
-			return result;
-		}
-		
-		public ValidatorTestcase[] getValidatorTests(IProgressMonitor monitor, String testName) throws IllegalArgumentException {
-			if (_validatorTests == null) {
-				_validatorTests = new HashMap();
-				readTestcaseRegistry(monitor);
-			}
-	
-			Collection tmds = null;
-			if (testName == null) {
-				tmds = new HashSet();
-				Iterator iterator = _validatorTests.values().iterator();
-				while (iterator.hasNext()) {
-					tmds.addAll((Collection) iterator.next());
-				}
-			}
-			else {
-				tmds = (Collection) _validatorTests.get(testName);
-			}
-			if ((tmds == null) || (tmds.size() == 0)) {
-				return new ValidatorTestcase[0];
-			}
-			ValidatorTestcase[] result = new ValidatorTestcase[tmds.size()];
-			tmds.toArray(result);
-			return result;
-		}
-
-		/**
-		 * Return the name of the test case if it exists. Otherwise, return null.
-		 */
-		private String getProject(IConfigurationElement element) {
-			if (element == null) {
-				return null;
-			}
-
-			return element.getAttribute(ATT_PROJECT);
-		}
-
-		private MessageMetaData[] getMessages(ValidatorTestcase tmd, IConfigurationElement testElement) {
-			IConfigurationElement[] messages = testElement.getChildren(TAG_MESSAGE);
-			if ((messages == null) || (messages.length == 0)) {
-				// No messages are expected.
-				return null;
-			}
-
-			MessageMetaData[] mmdList = new MessageMetaData[messages.length];
-			int count = 0;
-			for (int i = 0; i < messages.length; i++) {
-				IConfigurationElement message = messages[i];
-				String prefix = message.getAttribute(ATT_PREFIX);
-				if (prefix == null) {
-					Logger logger = BVTValidationPlugin.getPlugin().getMsgLogger();
-					if (logger.isLoggingLevel(Level.SEVERE)) {
-						logger.write(Level.SEVERE, "Every <message> must have a prefix."); //$NON-NLS-1$
-					}
-					continue;
-				}
-
-				// The following attributes are optional.			
-				String resourceName = message.getAttribute(ATT_RESOURCE);
-				String location = message.getAttribute(ATT_LOCATION);
-				String text = message.getAttribute(ATT_TEXT);
-				int lineNumber = -1;
-				MessageMetaData mmd = null;
-				if ((location != null)) {
-					try {
-						lineNumber = Integer.parseInt(location);
-						mmd = new MessageMetaData(tmd, prefix, resourceName, lineNumber, text);
-					}
-					catch (NumberFormatException exc) {
-						// Don't need to log - the location just isn't a number.
-					}
-				}
-
-				if (mmd == null) {
-					mmd = new MessageMetaData(tmd, prefix, resourceName, location, text);
-				}
-
-				mmdList[count++] = mmd;
-			}
-
-			if (count == mmdList.length) {
-				return mmdList;
-			}
-			else {
-				MessageMetaData[] result = new MessageMetaData[count];
-				System.arraycopy(mmdList, 0, result, 0, count);
-				return result;
-			}
-		}
-
-		private void addTest(IProgressMonitor monitor, IExtension extension, IConfigurationElement[] testElements) {
-			monitor.subTask("Reading test cases; please wait..."); //$NON-NLS-1$
-			String pluginId = extension.getDeclaringPluginDescriptor().getUniqueIdentifier();
-			for (int i = 0; i < testElements.length; i++) {
-				monitor.subTask("Reading test case " + (i + 1) + " of " + testElements.length); //$NON-NLS-1$ //$NON-NLS-2$
-				IConfigurationElement test = testElements[i];
-
-				String projectName = getProject(test);
-				if (projectName == null) {
-					Logger logger = BVTValidationPlugin.getPlugin().getMsgLogger();
-					if (logger.isLoggingLevel(Level.SEVERE)) {
-						logger.write(Level.SEVERE, "Every test must name the project that it verifies. " + test.toString()); //$NON-NLS-1$
-					}
-					continue;
-				}
-
-				ValidatorMetaData vmd = getValidatorMetaData(test);
-				if (vmd == null) {
-					// already logged, so just read the next test case.
-					continue;
-				}
-
-				String inputFileName = getInputFileName(test);
-				if (inputFileName == null) {
-					Logger logger = BVTValidationPlugin.getPlugin().getMsgLogger();
-					if (logger.isLoggingLevel(Level.SEVERE)) {
-						logger.write(Level.SEVERE, "Every test must name the file to be imported and then tested." + test.toString()); //$NON-NLS-1$
-					}
-					continue;
-				}
-
-				boolean visible = getVisible(test);
-
-				ValidatorTestcase tmd = new ValidatorTestcase(pluginId, projectName, vmd, inputFileName, visible);
-				tmd.setMessages(getMessages(tmd, test));
-
-				// Now add the test case to the Map, with the project name as the key into 
-				// the map.
-				Set prjTmd = (Set) _validatorTests.get(projectName);
-				if (prjTmd == null) {
-					prjTmd = new HashSet();
-				}
-				prjTmd.add(tmd);
-				_validatorTests.put(projectName, prjTmd);
-			}
-		}
-
-		/**
-		 * Retrieve an instance of the class with the given fully-qualified name.
-		 * If no such class can be found, return null.
-		 */
-		private ValidatorMetaData getValidatorMetaData(IConfigurationElement element) {
-			if (element == null) {
-				Logger logger = BVTValidationPlugin.getPlugin().getMsgLogger();
-				if (logger.isLoggingLevel(Level.SEVERE)) {
-					logger.write(Level.SEVERE, "IConfigurationElement is null"); //$NON-NLS-1$
-				}
-				return null;
-			}
-
-			String validatorClass = element.getAttribute(ATT_VALIDATOR);
-			try {
-				if (validatorClass == null) {
-					Logger logger = BVTValidationPlugin.getPlugin().getMsgLogger();
-					if (logger.isLoggingLevel(Level.SEVERE)) {
-						logger.write(Level.SEVERE, "Cannot locate validator attribute"); //$NON-NLS-1$
-					}
-				}
-				ValidatorMetaData vmd = ValidationRegistryReader.getReader().getValidatorMetaData(validatorClass);
-				if (vmd == null) {
-					Logger logger = BVTValidationPlugin.getPlugin().getMsgLogger();
-					if (logger.isLoggingLevel(Level.SEVERE)) {
-						logger.write(Level.SEVERE, "Could not find validator " + validatorClass); //$NON-NLS-1$
-					}
-				}
-				return vmd;
-			}
-			catch (Throwable exc) {
-				Logger logger = BVTValidationPlugin.getPlugin().getMsgLogger();
-				if (logger.isLoggingLevel(Level.SEVERE)) {
-					logger.write(Level.SEVERE, "Throwable caught while retrieving IValidator " + validatorClass); //$NON-NLS-1$
-					logger.write(Level.SEVERE, exc);
-				}
-				return null;
-			}
-		}
-
-		/**
-		 * Reads the registry to find the test cases that have been implemented.
-		 */
-		private void readTestcaseRegistry(IProgressMonitor monitor) {
-			// Get the extensions that have been registered.
-			IExtensionPoint validatorEP = getTestcaseExtensionPoint();
-			if (validatorEP == null) {
-				// error logged in getValidatorTVTExtensionPoint
-				return;
-			}
-			IExtension[] extensions = validatorEP.getExtensions();
-
-			// find all runtime implementations
-			for (int i = 0; i < extensions.length; i++) {
-				readTestcaseExtension(monitor, extensions[i]);
-			}
-		}
-
-		/**
-		 * Reads one extension by looping through its configuration elements.
-		 */
-		private void readTestcaseExtension(IProgressMonitor monitor, IExtension extension) {
-			IConfigurationElement[] elements = extension.getConfigurationElements();
-			if ((elements == null) || (elements.length == 0)) {
-				Logger logger = BVTValidationPlugin.getPlugin().getMsgLogger();
-				if (logger.isLoggingLevel(Level.SEVERE)) {
-					logger.write(Level.SEVERE, "No tests found for " + extension.getLabel()); //$NON-NLS-1$
-				}
-				return;
-			}
-			addTest(monitor, extension, elements);
-		}
-
-		/**
-		 * Returns the operation extension point
-		 */
-		private IExtensionPoint getTestcaseExtensionPoint() {
-			IPluginRegistry registry = Platform.getPluginRegistry();
-			IExtensionPoint extensionPoint = registry.getExtensionPoint(PLUGIN_ID, VALIDATOR_TESTCASE_EXT_PT_ID);
-			if (extensionPoint == null) {
-				// If this happens it means that someone removed the "validator" extension point declaration 
-				// from our plugin.xml file.
-				Logger logger = BVTValidationPlugin.getPlugin().getMsgLogger();
-				if (logger.isLoggingLevel(Level.SEVERE)) {
-					logger.write(Level.SEVERE, PLUGIN_ID + "." + VALIDATOR_TESTCASE_EXT_PT_ID + " has been removed from the validation TVT plugin.xml file"); //$NON-NLS-1$ //$NON-NLS-2$
-				}
-			}
-			return extensionPoint;
-		}
-
-		/**
-		 * Retrieve the name of the input which must be imported before the test case can be run.
-		 * Return null if no input name is set.
-		 */
-		private boolean getVisible(IConfigurationElement element) {
-			if (element == null) {
-				Logger logger = BVTValidationPlugin.getPlugin().getMsgLogger();
-				if (logger.isLoggingLevel(Level.SEVERE)) {
-					logger.write(Level.SEVERE, "getVisible::IConfigurationElement is null"); //$NON-NLS-1$
-				}
-				return false;
-			}
-
-			String attrib = element.getAttribute(ATT_VISIBLE);
-			if (attrib == null) {
-				// default is visible
-				return true;
-			}
-
-			return Boolean.valueOf(attrib).booleanValue();
-		}
-
-		/**
-		 * Retrieve the name of the input which must be imported before the test case can be run.
-		 * Return null if no input name is set.
-		 */
-		private String getInputFileName(IConfigurationElement element) {
-			if (element == null) {
-				Logger logger = BVTValidationPlugin.getPlugin().getMsgLogger();
-				if (logger.isLoggingLevel(Level.SEVERE)) {
-					logger.write(Level.SEVERE, "getInputFileName::IConfigurationElement is null"); //$NON-NLS-1$
-				}
-				return null;
-			}
-
-			return element.getAttribute(ATT_INPUT);
-		}
-
-	}
-
-	private class OperationTestReader {
-		private Map _operationTests = null;
-
-		OperationTestReader() {
-		}
-		
-		/**
-		 * Return the test cases named testName, or if testName is null, return all test cases.
-		 */
-		public OperationTestcase[] getOperationTests(IProgressMonitor monitor, String testName) throws IllegalArgumentException {
-			if (_operationTests == null) {
-				_operationTests = new HashMap();
-				readOperationTestcaseRegistry(monitor);
-			}
-
-			Collection tmds = null;
-			if (testName == null) {
-				tmds = new HashSet();
-				Iterator iterator = _operationTests.values().iterator();
-				while (iterator.hasNext()) {
-					tmds.addAll((Collection) iterator.next());
-				}
-			}
-			else {
-				tmds = (Collection) _operationTests.get(testName);
-			}
-			if ((tmds == null) || (tmds.size() == 0)) {
-				return new OperationTestcase[0];
-			}
-			OperationTestcase[] result = new OperationTestcase[tmds.size()];
-			tmds.toArray(result);
-			return result;
-		}
-
-		/**
-		 * Retrieve the name of the input which must be imported before the test case can be run.
-		 * Return null if no input name is set.
-		 */
-		private String getInputFileName(IConfigurationElement element) {
-			if (element == null) {
-				Logger logger = BVTValidationPlugin.getPlugin().getMsgLogger();
-				if (logger.isLoggingLevel(Level.SEVERE)) {
-					logger.write(Level.SEVERE, "getInputFileName::IConfigurationElement is null"); //$NON-NLS-1$
-				}
-				return null;
-			}
-
-			return element.getAttribute(ATT_INPUT);
-		}
-
-		private void addOperationTest(IProgressMonitor monitor, IExtension extension, IConfigurationElement[] testElements) {
-			monitor.subTask("Reading test cases; please wait..."); //$NON-NLS-1$
-			String pluginId = extension.getDeclaringPluginDescriptor().getUniqueIdentifier();
-			for (int i = 0; i < testElements.length; i++) {
-				monitor.subTask("Reading test case " + (i + 1) + " of " + testElements.length); //$NON-NLS-1$ //$NON-NLS-2$
-				IConfigurationElement test = testElements[i];
-
-				String projectName = getProject(test);
-				if (projectName == null) {
-					Logger logger = BVTValidationPlugin.getPlugin().getMsgLogger();
-					if (logger.isLoggingLevel(Level.SEVERE)) {
-						logger.write(Level.SEVERE, "Every test must name the project that it verifies. " + test.toString()); //$NON-NLS-1$
-					}
-					continue;
-				}
-
-				IOperationRunnable op = getOperation(test);
-				if (op == null) {
-					// already logged, so just read the next test case.
-					continue;
-				}
-
-				String inputFileName = getInputFileName(test);
-				if (inputFileName == null) {
-					Logger logger = BVTValidationPlugin.getPlugin().getMsgLogger();
-					if (logger.isLoggingLevel(Level.SEVERE)) {
-						logger.write(Level.SEVERE, "Every test must name the file to be imported and then tested." + test.toString()); //$NON-NLS-1$
-					}
-					continue;
-				}
-
-				String id = extension.getLabel();
-
-				OperationTestcase tmd = new OperationTestcase(pluginId, projectName, id, inputFileName, op);
-
-				// Now add the test case to the Map, with the project name as the key into 
-				// the map.
-				Set prjTmd = (Set) _operationTests.get(projectName);
-				if (prjTmd == null) {
-					prjTmd = new HashSet();
-				}
-				prjTmd.add(tmd);
-				_operationTests.put(projectName, prjTmd);
-			}
-		}
-
-		/**
-		 * Reads one extension by looping through its configuration elements.
-		 */
-		private void readOperationTestcaseExtension(IProgressMonitor monitor, IExtension extension) {
-			IConfigurationElement[] elements = extension.getConfigurationElements();
-			if ((elements == null) || (elements.length == 0)) {
-				Logger logger = BVTValidationPlugin.getPlugin().getMsgLogger();
-				if (logger.isLoggingLevel(Level.SEVERE)) {
-					logger.write(Level.SEVERE, "No tests found for " + extension.getLabel()); //$NON-NLS-1$
-				}
-				return;
-			}
-			addOperationTest(monitor, extension, elements);
-		}
-
-		/**
-		 * Reads the registry to find the test cases that have been implemented.
-		 */
-		private void readOperationTestcaseRegistry(IProgressMonitor monitor) {
-			// Get the extensions that have been registered.
-			IExtensionPoint opEP = getOperationTestcaseExtensionPoint();
-			if (opEP == null) {
-				// error logged in getValidatorTVTExtensionPoint
-				return;
-			}
-			IExtension[] extensions = opEP.getExtensions();
-
-			// find all runtime implementations
-			for (int i = 0; i < extensions.length; i++) {
-				readOperationTestcaseExtension(monitor, extensions[i]);
-			}
-		}
-
-		/**
-		 * Return the name of the test case if it exists. Otherwise, return null.
-		 */
-		private String getProject(IConfigurationElement element) {
-			if (element == null) {
-				return null;
-			}
-
-			return element.getAttribute(ATT_PROJECT);
-		}
-
-		/**
-		 * Returns the TestCase extension point
-		 */
-		private IExtensionPoint getOperationTestcaseExtensionPoint() {
-			IPluginRegistry registry = Platform.getPluginRegistry();
-			IExtensionPoint extensionPoint = registry.getExtensionPoint(PLUGIN_ID, VALIDATOR_OPERATION_TESTCASE_EXT_PT_ID);
-			if (extensionPoint == null) {
-				// If this happens it means that someone removed the "optest" extension point declaration 
-				// from our plugin.xml file.
-				Logger logger = BVTValidationPlugin.getPlugin().getMsgLogger();
-				if (logger.isLoggingLevel(Level.SEVERE)) {
-					logger.write(Level.SEVERE, PLUGIN_ID + "." + VALIDATOR_OPERATION_TESTCASE_EXT_PT_ID + " has been removed from the validation TVT plugin.xml file"); //$NON-NLS-1$ //$NON-NLS-2$
-				}
-			}
-			return extensionPoint;
-		}
-
-		/**
-		 * Retrieve an instance of the class with the given fully-qualified name.
-		 * If no such class can be found, return null.
-		 */
-		private IOperationRunnable getOperation(IConfigurationElement element) {
-			if (element == null) {
-				Logger logger = BVTValidationPlugin.getPlugin().getMsgLogger();
-				if (logger.isLoggingLevel(Level.SEVERE)) {
-					logger.write(Level.SEVERE, "IConfigurationElement is null"); //$NON-NLS-1$
-				}
-				return null;
-			}
-
-			String opClass = element.getAttribute(ATT_OPERATION);
-			try {
-				if (opClass == null) {
-					Logger logger = BVTValidationPlugin.getPlugin().getMsgLogger();
-					if (logger.isLoggingLevel(Level.SEVERE)) {
-						logger.write(Level.SEVERE, "Cannot locate operation attribute"); //$NON-NLS-1$
-					}
-				}
-
-				IOperationRunnable op = (IOperationRunnable) element.createExecutableExtension(ATT_OPERATION);
-				if (op == null) {
-					Logger logger = BVTValidationPlugin.getPlugin().getMsgLogger();
-					if (logger.isLoggingLevel(Level.SEVERE)) {
-						logger.write(Level.SEVERE, "Could not find operation " + opClass); //$NON-NLS-1$
-					}
-				}
-				return op;
-			}
-			catch (Throwable exc) {
-				Logger logger = BVTValidationPlugin.getPlugin().getMsgLogger();
-				if (logger.isLoggingLevel(Level.SEVERE)) {
-					logger.write(Level.SEVERE, "Throwable caught while retrieving IValidator " + opClass); //$NON-NLS-1$
-					logger.write(Level.SEVERE, exc);
-				}
-				return null;
-			}
-		}
-
-	}
-
-	private class TestSetupReader {
-		private TestSetupImport[] _testSetup = null;
-
-		TestSetupReader() {
-		}
-		
-		/**
-		 * Retrieve the name of the input which must be imported before the test case can be run.
-		 * Return null if no input name is set.
-		 */
-		private String getInputFileName(IConfigurationElement element) {
-			if (element == null) {
-				Logger logger = BVTValidationPlugin.getPlugin().getMsgLogger();
-				if (logger.isLoggingLevel(Level.SEVERE)) {
-					logger.write(Level.SEVERE, "getInputFileName::IConfigurationElement is null"); //$NON-NLS-1$
-				}
-				return null;
-			}
-
-			return element.getAttribute(ATT_INPUT);
-		}
-
-		/**
-		 * If files need to be imported, import them now (into projects that are named
-		 * the same as the files.)
-		 * 
-		 * If ITestcaseMetaData is not null, return the TestSetupImport for that particular test.
-		 * If ITestcaseMetaData is null, return all TestSetupImport.
-		 */
-		public TestSetupImport[] getTestSetup(IBuffer buffer, String dir, ITestcaseMetaData tmd, boolean verbose) {
-			if (_testSetup == null) {
-				readSetupRegistry(buffer, verbose);
-			}
-			if (tmd != null) {
-				for (int j = 0; j < _testSetup.length; j++) {
-					TestSetupImport tsi = _testSetup[j];
-					if (tsi.getFileName().endsWith(tmd.getInputFileName())) {
-						return new TestSetupImport[] { tsi };
-					}
-				}
-				return new TestSetupImport[0];
-			}
-			return _testSetup;
-		}
-	
-		private void addSetup(IBuffer buffer, IConfigurationElement[] importElements, boolean verbose) {
-			if ((importElements == null) || (importElements.length == 0)) {
-				Logger logger = BVTValidationPlugin.getPlugin().getMsgLogger();
-				if (logger.isLoggingLevel(Level.SEVERE)) {
-					String message = "No test setup found"; //$NON-NLS-1$
-					logger.write(Level.SEVERE, message);
-					buffer.write(message);
-				}
-				return;
-			}
-
-			TestSetupImport[] temp = new TestSetupImport[importElements.length];
-			int count = 0;
-			for (int i = 0; i < importElements.length; i++) {
-				IConfigurationElement importElement = importElements[i];
-				String inputFileName = getInputFileName(importElement);
-				if (inputFileName == null) {
-					// Already logged in getInputFileName
-					continue;
-				}
-
-				IImportOperation op = getImportOperation(buffer, importElement);
-				if (op == null) {
-					buffer.write("Import operation cannot be found. Ignoring import."); //$NON-NLS-1$
-					continue;
-				}
-				TestSetupImport ts = new TestSetupImport(op, inputFileName);
-				temp[count++] = ts;
-			}
-
-			if (_testSetup == null) {
-				if (count == temp.length) {
-					_testSetup = temp;
-				}
-				else {
-					_testSetup = new TestSetupImport[count];
-					System.arraycopy(temp, 0, _testSetup, 0, count);
-				}
-			}
-			else {
-				TestSetupImport[] newTestSetup = new TestSetupImport[_testSetup.length + count];
-				System.arraycopy(_testSetup, 0, newTestSetup, 0, _testSetup.length);
-				System.arraycopy(temp, 0, newTestSetup, _testSetup.length, count);
-				_testSetup = newTestSetup;
-			}
-		}
-
-		/**
-		 * Reads one extension by looping through its configuration elements.
-		 */
-		private void readSetupExtension(IBuffer buffer, IExtension extension, boolean verbose) {
-			IConfigurationElement[] elements = extension.getConfigurationElements();
-			addSetup(buffer, elements, verbose);
-		}
-
-		/**
-		 * Returns the TestCaseSetup extension point
-		 */
-		private IExtensionPoint getSetupExtensionPoint() {
-			IPluginRegistry registry = Platform.getPluginRegistry();
-			IExtensionPoint extensionPoint = registry.getExtensionPoint(PLUGIN_ID, VALIDATOR_SETUP_EXT_PT_ID);
-			if (extensionPoint == null) {
-				// If this happens it means that someone removed the "validator" extension point declaration 
-				// from our plugin.xml file.
-				Logger logger = BVTValidationPlugin.getPlugin().getMsgLogger();
-				if (logger.isLoggingLevel(Level.SEVERE)) {
-					logger.write(Level.SEVERE, PLUGIN_ID + "." + VALIDATOR_SETUP_EXT_PT_ID + " has been removed from the validation TVT plugin.xml file"); //$NON-NLS-1$ //$NON-NLS-2$
-				}
-			}
-			return extensionPoint;
-		}
-
-		/**
-		 * Reads the registry to find the test setup that must be performed.
-		 */
-		private void readSetupRegistry(IBuffer buffer, boolean verbose) {
-			// Get the extensions that have been registered.
-			IExtensionPoint validatorEP = getSetupExtensionPoint();
-			if (validatorEP == null) {
-				// error logged in getValidatorTVTExtensionPoint
-				buffer.write("Extension point is missing. Cannot import test cases."); //$NON-NLS-1$
-				return;
-			}
-			IExtension[] extensions = validatorEP.getExtensions();
-			if (extensions.length == 0) {
-				buffer.write("No extensions found. Cannot import test cases."); //$NON-NLS-1$
-				return;
-			}
-
-			// find all runtime implementations
-			buffer.getProgressMonitor().subTask("Reading setup <import> extensions; please wait..."); //$NON-NLS-1$
-			for (int i = 0; i < extensions.length; i++) {
-				buffer.getProgressMonitor().subTask("Reading setup <import> " + (i + 1) + " of " + extensions.length); //$NON-NLS-1$ //$NON-NLS-2$
-				readSetupExtension(buffer, extensions[i], verbose);
-			}
-		}
-
-		/**
-		 * Return an instance of the operation which is used to import the input.
-		 */
-		private IImportOperation getImportOperation(IBuffer buffer, IConfigurationElement element) {
-			if (element == null) {
-				Logger logger = BVTValidationPlugin.getPlugin().getMsgLogger();
-				if (logger.isLoggingLevel(Level.SEVERE)) {
-					String message = "IConfigurationElement is null"; //$NON-NLS-1$
-					logger.write(Level.SEVERE, message);
-					buffer.write(message);
-				}
-			}
-
-			String opClass = element.getAttribute(ATT_OPERATION);
-			try {
-				if (opClass == null) {
-					Logger logger = BVTValidationPlugin.getPlugin().getMsgLogger();
-					if (logger.isLoggingLevel(Level.SEVERE)) {
-						String message = "Because there is no operation attribute, assuming that the input is a workspace."; //$NON-NLS-1$
-						logger.write(Level.SEVERE, message);
-						buffer.write(message);
-					}
-					return null;
-				}
-
-				Object temp = element.createExecutableExtension(ATT_OPERATION);
-				if (temp == null) {
-					Logger logger = BVTValidationPlugin.getPlugin().getMsgLogger();
-					if (logger.isLoggingLevel(Level.SEVERE)) {
-						String message = "operation " + opClass + " cannot be created. Ignoring the test case."; //$NON-NLS-1$ //$NON-NLS-2$
-						logger.write(Level.SEVERE, message);
-						buffer.write(message);
-					}
-					return null;
-				}
-				else if (temp instanceof IImportOperation) {
-					return (IImportOperation) temp;
-				}
-				else {
-					Logger logger = BVTValidationPlugin.getPlugin().getMsgLogger();
-					if (logger.isLoggingLevel(Level.SEVERE)) {
-						String message = "operation must be an instance of IImportOperation. Ignoring the test case."; //$NON-NLS-1$
-						logger.write(Level.SEVERE, message);
-						buffer.write(message);
-					}
-					return null;
-				}
-			}
-			catch (Throwable exc) {
-				Logger logger = BVTValidationPlugin.getPlugin().getMsgLogger();
-				if (logger.isLoggingLevel(Level.SEVERE)) {
-					String message = "Throwable caught while retrieving IImportOperation " + opClass + " Ignoring the test case."; //$NON-NLS-1$ //$NON-NLS-2$
-					logger.write(Level.SEVERE, message);
-					logger.write(Level.SEVERE, exc);
-					buffer.write(message);
-				}
-				return null;
-			}
-		}
-
-	}
-}
\ No newline at end of file
diff --git a/tests/org.eclipse.jst.validation.test/test/org/eclipse/jst/validation/test/internal/registry/BuildInfo.java b/tests/org.eclipse.jst.validation.test/test/org/eclipse/jst/validation/test/internal/registry/BuildInfo.java
deleted file mode 100644
index d14a7a6..0000000
--- a/tests/org.eclipse.jst.validation.test/test/org/eclipse/jst/validation/test/internal/registry/BuildInfo.java
+++ /dev/null
@@ -1,7 +0,0 @@
-package org.eclipse.jst.validation.test.internal.registry;
-public class BuildInfo {
-  public static final String copyright = "Licensed Materials -- Property of IBM\n(c) Copyright International Business Machines Corporation, 2001,2003\nUS Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp.";
-  public static final String fgBuildLevel = "20031112_1915-WB212-AD-V511D-W5";
-  public static String level() { return fgBuildLevel; }
-  public static String getWSABuildLevel() { return fgBuildLevel; }
-}
diff --git a/tests/org.eclipse.jst.validation.test/test/org/eclipse/jst/validation/test/internal/registry/ITestcaseMetaData.java b/tests/org.eclipse.jst.validation.test/test/org/eclipse/jst/validation/test/internal/registry/ITestcaseMetaData.java
deleted file mode 100644
index 9458462..0000000
--- a/tests/org.eclipse.jst.validation.test/test/org/eclipse/jst/validation/test/internal/registry/ITestcaseMetaData.java
+++ /dev/null
@@ -1,51 +0,0 @@
-package org.eclipse.jst.validation.test.internal.registry;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.jst.validation.test.setup.IBuffer;
-
-
-/**
- * This interface represents a test case that either should be run
- * as part of the Validation BVT Suite, or that is part of a test
- * case that is run by the Validation BVT Suite.
- */
-public interface ITestcaseMetaData {
-	/**
-	 * Return true if this test case should be shown as a test on 
-	 * the test collector menu.
-	 */
-	public boolean isVisible();
-	
-	/**
-	 * Return the project that this test case is designed to run on.
-	 */
-	public IProject getProject();
-	
-	/**
-	 * Return the name of the project that this test case is designed 
-	 * to run on.
-	 */
-	public String getProjectName();
-	
-	/**
-	 * Return the id of the plugin that declared this test case.
-	 */
-	public String getDeclaringPluginId();
-	
-	/**
-	 * Return the name of this test case.
-	 */
-	public String getName();
-	
-	/**
-	 * Return the name of the file that must be imported for this test case
-	 * to run on.
-	 */
-	public String getInputFileName();
-	
-	/**
-	 * Import the file, if necessary, and run this test. The test case
-	 * reports whether or not the test passes to the ITestBuffer.
-	 */
-	public void run(IBuffer buffer, IProject project);
-}
diff --git a/tests/org.eclipse.jst.validation.test/test/org/eclipse/jst/validation/test/internal/registry/MessageMetaData.java b/tests/org.eclipse.jst.validation.test/test/org/eclipse/jst/validation/test/internal/registry/MessageMetaData.java
deleted file mode 100644
index 663bbae..0000000
--- a/tests/org.eclipse.jst.validation.test/test/org/eclipse/jst/validation/test/internal/registry/MessageMetaData.java
+++ /dev/null
@@ -1,88 +0,0 @@
-package org.eclipse.jst.validation.test.internal.registry;
-
-import org.eclipse.wst.validation.internal.ValidatorMetaData;
-
-
-
-public class MessageMetaData {
-	public static final int LINENO_UNSET = -1;
-	private String _messagePrefix = null;
-	private String _resource = null;
-	private int _lineNumber = LINENO_UNSET;
-	private String _location = null;
-	private String _text = null; // When this test case was generated, what was the text of the marker? This information is needed when message prefixes change; the test case will fail because the prefix doesn't match, but it's easy to see that the old prefix tested the same thing as the new prefix.
-	private ValidatorTestcase _tmd = null; // pointer back to the testcase parent
-	
-	public MessageMetaData(ValidatorTestcase tmd, String prefix, String resource, int lineNumber, String text) {
-		this(tmd, prefix, resource, text);
-		_lineNumber = lineNumber;
-	}
-	
-	public MessageMetaData(ValidatorTestcase tmd, String prefix, String resource, String location, String text) {
-		this(tmd, prefix, resource, text);
-		_location = location;
-	}
-	
-	public MessageMetaData(ValidatorTestcase tmd, String prefix, String resource, String text) {
-		_tmd = tmd;
-		_messagePrefix = prefix;
-		_resource = resource;
-		_text = (text == null) ? "" : text; //$NON-NLS-1$
-	}
-	
-	public ValidatorTestcase getValidatorTestcase() {
-		return _tmd;
-	}
-	
-	public String getMessagePrefix() {
-		return _messagePrefix;
-	}
-	
-	public String getResource() {
-		return _resource;
-	}
-	
-	public int getLineNumber() {
-		return _lineNumber;
-	}
-	
-	public String getLocation() {
-		return _location;
-	}
-	
-	public ValidatorMetaData getValidator() {
-		return getValidatorTestcase().getValidatorMetaData();
-	}
-	
-	public String getText() {
-		return _text;
-	}
-	
-	public boolean isSetLineNumber() {
-		return (_lineNumber != LINENO_UNSET);
-	}
-	
-	public boolean isSetLocation() {
-		return isSet(_location);
-	}
-	
-	public boolean isSetResource() {
-		return isSet(_resource);
-	}
-	
-	private boolean isSet(String value) {
-		if(value == null) {
-			return false;
-		}
-		
-		if(value.trim().equals("")) { //$NON-NLS-1$
-			return false;
-		}
-		
-		return true;
-	}
-
-	public String toString() {
-		return MessageUtility.toString(this);
-	}
-}
diff --git a/tests/org.eclipse.jst.validation.test/test/org/eclipse/jst/validation/test/internal/registry/MessageUtility.java b/tests/org.eclipse.jst.validation.test/test/org/eclipse/jst/validation/test/internal/registry/MessageUtility.java
deleted file mode 100644
index 82eaeea..0000000
--- a/tests/org.eclipse.jst.validation.test/test/org/eclipse/jst/validation/test/internal/registry/MessageUtility.java
+++ /dev/null
@@ -1,713 +0,0 @@
-package org.eclipse.jst.validation.test.internal.registry;
-
-import java.text.MessageFormat;
-import java.util.Comparator;
-import java.util.StringTokenizer;
-import java.util.logging.Level;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jem.util.logger.proxy.Logger;
-import org.eclipse.jst.validation.sample.parser.PropertyLine;
-import org.eclipse.jst.validation.test.BVTValidationPlugin;
-import org.eclipse.jst.validation.test.setup.IBuffer;
-import org.eclipse.wst.validation.internal.ConfigurationConstants;
-import org.eclipse.wst.validation.internal.ConfigurationManager;
-import org.eclipse.wst.validation.internal.ValidationRegistryReader;
-import org.eclipse.wst.validation.internal.ValidatorMetaData;
-
-public class MessageUtility {
-	private final static String _TESTCASE_MESSAGE_TEMPLATE_ = "<message prefix=\"{0}\" resource=\"{1}\" location=\"{2}\" text=\"{3}\"/>"; //$NON-NLS-1$
-	private final static String _TESTCASE_MARKER_TEMPLATE_ =  "<marker prefix=\"{0}\" resource=\"{1}\" location=\"{2}\" text=\"{3}\"/>"; //$NON-NLS-1$
-	private static MessageComparator _messageComparator = null;
-	private static MessageIdComparator _messageIdComparator = null;
-	private static MessagePrefixComparator _messagePrefixComparator = null;
-	
-	private MessageUtility() {
-	}
-	
-	public static String toString(MessageMetaData mmd) {
-		String location = (mmd.isSetLineNumber()) ? String.valueOf(mmd.getLineNumber()) : mmd.getLocation();
-		return toString(mmd.getMessagePrefix(), mmd.getResource(), location, mmd.getText(), _TESTCASE_MESSAGE_TEMPLATE_);
-	}
-	
-	public static String toString(IMarker marker) {
-		Integer lineNumber = MessageUtility.getLineNumber(marker);
-		String location = (lineNumber == null) ? (location = MessageUtility.getLocation(marker)) : (location = lineNumber.toString());
-		return toString(getMessagePrefix(marker), getResource(marker), location, getMessage(marker), _TESTCASE_MARKER_TEMPLATE_);
-	}
-	
-	private static String toString(String fmssgPrefix, String fresource, String flocation, String ftext, String template) {
-		String mssgPrefix = (fmssgPrefix == null) ? "" : fmssgPrefix; //$NON-NLS-1$
-		String resource = (fresource == null) ? "" : fresource; //$NON-NLS-1$
-		String location = (flocation == null) ? "" : flocation; //$NON-NLS-1$
-		String text = (ftext == null) ? "" : ftext; //$NON-NLS-1$
-		return MessageFormat.format(template, new String[]{mssgPrefix, resource, location, text});
-	}
-	
-	public static String getProject(IMarker marker) {
-		return marker.getResource().getProject().getName();
-	}
-	
-
-	public static String getResource(IMarker marker) {
-		return marker.getResource().getProjectRelativePath().toString();
-	}
-	
-
-	// Based on the last letter of the message prefix, what severity
-	// should this marker be?
-	public static Integer getSeverity(IMarker marker) throws CoreException {
-		String message = (String)marker.getAttribute(IMarker.MESSAGE);
-		if(message == null) {
-			return null;
-		}
-		
-		String[] tokens = parse(message);
-		String severity = tokens[1];
-		Integer result;
-		if(severity.equals("E")) { //$NON-NLS-1$
-			result = new Integer(IMarker.SEVERITY_ERROR);
-		}
-		else if(severity.equals("W")) { //$NON-NLS-1$
-			result = new Integer(IMarker.SEVERITY_WARNING);
-		}
-		else if(severity.equals("I")) { //$NON-NLS-1$
-			result = new Integer(IMarker.SEVERITY_INFO);
-		}
-		else {
-			result = null;
-		}
-		return result;
-	}
-	
-	public static String getMessage(IMarker marker) {
-		try {
-			return (String)marker.getAttribute(IMarker.MESSAGE);
-		}
-		catch(CoreException e) {
-			Logger logger = BVTValidationPlugin.getPlugin().getMsgLogger();
-			if(logger.isLoggingLevel(Level.SEVERE)) {
-				logger.write(Level.SEVERE, e);
-			}
-			return null;
-		}
-	}
-	
-	public static String getMessagePrefix(IMarker marker) {
-		String message = getMessage(marker);
-		if(message == null) {
-			return null;
-		}
-		
-		String[] tokens = parse(message);
-		return tokens[0];
-	}
-	
-	// This method is needed for the fuzzy compare. Need to 
-	// strip the ".java" or ".class" extension off of the resource
-	// name so that the class name can be searched for in the marker's
-	// location text.
-	public static String getResource(MessageMetaData mmd) {
-		String resource = mmd.getResource();
-		int index = resource.indexOf(".java"); //$NON-NLS-1$
-		if(index > -1) {
-			return resource.substring(0, index);
-		}
-		
-		index = resource.indexOf(".class"); //$NON-NLS-1$
-		if(index > -1) {
-			return resource.substring(0, index);
-		}
-		
-		return resource;
-	}
-	
-	public static ValidatorMetaData getValidator(IMarker marker) {
-		String validatorClass = ConfigurationManager.getManager().getValidator(marker);
-		ValidatorMetaData vmd = ValidationRegistryReader.getReader().getValidatorMetaData(validatorClass);
-		return vmd;
-	}
-	
-	/**
-	 * Parse the message value, to extract the unique error id, if any.
-	 * String[0] is the message prefix, String [1] is the error char, String[2] is the rest of the string after the ':'
-	 */
-	public static String[] parse(String message) {
-		if (message == null) {
-			return new String[]{"", "", ""}; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-		}
-
-		StringTokenizer tokenizer = new StringTokenizer(message);
-		int numTokens = tokenizer.countTokens();
-		if (numTokens == 0) {
-			return new String[]{"", "", message}; //$NON-NLS-1$ //$NON-NLS-2$
-		}
-		else {
-			String errorId = tokenizer.nextToken();
-			boolean isErrorIndex = false;
-
-			int errorIdIndex = errorId.indexOf(':');
-			if (errorIdIndex > 0) {
-				String tempString = errorId.substring(0, errorIdIndex);
-				char[] temp = tempString.toCharArray();
-				if (temp.length == 9) { // Must be of the form ABCD1234E, which is 9 char long
-
-					isErrorIndex = Character.isLetter(temp[0]);
-					isErrorIndex = isErrorIndex && Character.isLetter(temp[1]);
-					isErrorIndex = isErrorIndex && Character.isLetter(temp[2]);
-					isErrorIndex = isErrorIndex && Character.isLetter(temp[3]);
-					isErrorIndex = isErrorIndex && Character.isDigit(temp[4]);
-					isErrorIndex = isErrorIndex && Character.isDigit(temp[5]);
-					isErrorIndex = isErrorIndex && Character.isDigit(temp[6]);
-					isErrorIndex = isErrorIndex && Character.isDigit(temp[7]);
-					isErrorIndex = isErrorIndex && Character.isLetter(temp[8]);
-
-					if (isErrorIndex) {
-						String shortMessage;
-						if (numTokens > 1) {
-							shortMessage = message.substring(errorIdIndex + 1, message.length()).intern();
-						}
-						else {
-							shortMessage = ""; //$NON-NLS-1$
-						}
-						return new String[]{tempString.substring(0, 8), new String(new char[]{temp[8]}), shortMessage};
-					}
-				}
-			}
-
-			if (!isErrorIndex) {
-				return new String[]{"", "", message}; //$NON-NLS-1$ //$NON-NLS-2$
-			}
-		}
-		
-		return new String[]{"", "", message}; //$NON-NLS-1$ //$NON-NLS-2$
-	}
-
-	public static Integer getLineNumber(IMarker marker) {
-		try {
-			return (Integer)marker.getAttribute(IMarker.LINE_NUMBER);
-		}
-		catch(CoreException e) {
-			return null;
-		}
-	}
-	
-	public static String getTargetObject(IMarker marker) {
-		try {
-			String targetObject = (String)marker.getAttribute(ConfigurationConstants.VALIDATION_MARKER_TARGETOBJECT);
-			if((targetObject != null) && (targetObject.equals(""))) { //$NON-NLS-1$
-				// Empty string means that there was no target object.
-				return null;
-			}
-			return targetObject;
-		}
-		catch(CoreException e) {
-			return null;
-		}
-	}
-	
-	/**
-	 * Sort first on validator, 
-	 * then project, 
-	 * then message prefix,
-	 * then location,
-	 * then resource. (The resource may be different in batch and UI, so compare location & resource at the same time.)
-	 * 
-	 * @param verbose If true, verbose output while comparing lists.
-	 */	
-	public static Comparator getMessageComparator(final IBuffer buffer, final boolean verbose) {
-		if(_messageComparator == null) {
-			_messageComparator = new MessageUtility(). new MessageComparator();
-		}
-		_messageComparator.setVerbose(verbose);
-		_messageComparator.setBuffer(buffer);
-		return _messageComparator;
-	}
-	
-	/**
-	 * Sort first on the version, then on the message prefix.
-	 */	
-	public static Comparator getMessageIdComparator(final IBuffer buffer, final boolean verbose) {
-		if(_messageIdComparator == null) {
-			_messageIdComparator = new MessageUtility(). new MessageIdComparator();
-		}
-		_messageIdComparator.setVerbose(verbose);
-		_messageIdComparator.setBuffer(buffer);
-		return _messageIdComparator;
-	}
-
-	public static String getLocation(IMarker marker) {
-		try {
-			return (String)marker.getAttribute(IMarker.LOCATION);
-		}
-		catch(CoreException e) {
-			Logger logger = BVTValidationPlugin.getPlugin().getMsgLogger();
-			if(logger.isLoggingLevel(Level.SEVERE)) {
-				logger.write(Level.SEVERE, e);
-			}
-			return null;
-		}
-	}
-
-	private class MessageComparator implements Comparator {
-		private boolean _verbose = false;
-		private IBuffer _buffer = null;
-		
-		public boolean isVerbose() {
-			return _verbose;
-		}
-		
-		public void setVerbose(boolean v) {
-			_verbose = v;
-		}
-		
-		public IBuffer getBuffer() {
-			return _buffer;
-		}
-		
-		public void setBuffer(IBuffer b) {
-			_buffer = b;
-		}
-		
-		public int compare(Object a, Object b) {
-			if((a == null) && (b == null)) {
-				return 0;
-			}
-			else if(a == null) {
-				return 1;
-			}
-			else if(b == null) {
-				return -1;
-			}
-			
-			
-			// Sort first on the message prefix, then on the location, then project, then resource
-			if((a instanceof String) && (b instanceof String)) {
-				return compare((String)a, (String)b);
-			}
-			else if ((a instanceof IMarker) && (b instanceof IMarker)) {
-				IMarker aM = (IMarker)a;
-				IMarker bM = (IMarker)b;
-				int result = compare(aM, bM);
-				if(isVerbose()) {
-					getBuffer().write("compare(" + MessageUtility.toString(aM) + ", " + MessageUtility.toString(bM) + " = " + result); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-				}
-				return result;
-			}
-			else if ((a instanceof IMarker) && (b instanceof MessageMetaData)) {
-				IMarker aM = (IMarker)a;
-				MessageMetaData mmd = (MessageMetaData)b;
-				int result = compare(aM, mmd);
-				if(isVerbose()) {
-					getBuffer().write("compare(" + MessageUtility.toString(aM) + ", " + MessageUtility.toString(mmd) + " = " + result); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-				}
-				return result;
-			}
-			else if((a instanceof MessageMetaData) && (b instanceof IMarker)) {
-				MessageMetaData mmd = (MessageMetaData)a;
-				IMarker bM = (IMarker)b;
-				int result = compare(mmd, bM);
-				if(isVerbose()) {
-					getBuffer().write("compare(" + MessageUtility.toString(mmd) + ", " + MessageUtility.toString(bM) + " = " + result); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-				}						
-				return result;
-			}
-			else if((a instanceof MessageMetaData) && (b instanceof MessageMetaData)) {
-				MessageMetaData aMMD = (MessageMetaData)a;
-				MessageMetaData bMMD = (MessageMetaData)b;
-				int result = compare(aMMD, bMMD);
-				if(isVerbose()) {
-					getBuffer().write("compare(" + MessageUtility.toString(aMMD) + ", " + MessageUtility.toString(bMMD) + " = " + result); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-				}
-				return result;
-			}
-			
-			// else put it at the end of the list
-			return 1;
-		}
-		
-		public int compare(String aStr, String bStr) {
-			if((aStr == null) && (bStr == null)) {
-				return 0;
-			}
-			else if(aStr == null) {
-				return 1;
-			}
-			else if(bStr == null) {
-				return -1;
-			}
-			return aStr.compareTo(bStr);
-		}
-		
-		public int compare(int aInt, int bInt) {
-			return aInt - bInt;
-		}
-		
-		public int compare(ValidatorMetaData aVMD, ValidatorMetaData bVMD) {
-			if((aVMD == null) && (bVMD == null)) {
-				return 0;
-			}
-			else if(aVMD == null) {
-				return 1;
-			}
-			else if(bVMD == null) {
-				return -1;
-			}
-			return compare(aVMD.getValidatorUniqueName(), bVMD.getValidatorUniqueName());
-		}
-
-		public int compare(IMarker aMarker, IMarker bMarker) {
-			if((aMarker == null) && (bMarker == null)) {
-				return 0;
-			}
-			else if(aMarker == null) {
-				return 1;
-			}
-			else if(bMarker == null) {
-				return -1;
-			}
-			
-			int valCmp = compare(getValidator(aMarker), getValidator(bMarker));
-			if(valCmp != 0) {
-				return valCmp;
-			}
-
-			int prjCmp = compare(getProject(aMarker), getProject(bMarker));
-			if(prjCmp != 0) {
-				return prjCmp;
-			}
-			
-			int idCmp = compare(getMessagePrefix(aMarker), getMessagePrefix(bMarker));
-			if(idCmp != 0) {
-				return idCmp;
-			}
-
-			int cmp = compareResourceAndLocation(aMarker, bMarker);
-			return cmp;
-		}
-		
-		public int compare(IMarker marker, MessageMetaData mmd) {
-			if((marker == null) && (mmd == null)) {
-				return 0;
-			}
-			else if(marker == null) {
-				return 1;
-			}
-			else if(mmd == null) {
-				return -1;
-			}
-
-			int valCmp = compare(getValidator(marker), mmd.getValidator());
-			if(valCmp != 0) {
-				return valCmp;
-			}
-
-			int prjCmp = compare(getProject(marker), mmd.getValidatorTestcase().getProjectName());
-			if(prjCmp != 0) {
-				return prjCmp;
-			}
-			
-			int idCmp = compare(getMessagePrefix(marker), mmd.getMessagePrefix());
-			if(idCmp != 0) {
-				return idCmp;
-			}
-
-			int cmp = compareResourceAndLocation(marker, mmd);
-			return cmp;
-		}
-		
-		public int compare(MessageMetaData mmd, IMarker marker) {
-			if((mmd == null) && (marker == null)) {
-				return 0;
-			}
-			else if(mmd == null) {
-				return 1;
-			}
-			else if(marker == null) {
-				return -1;
-			}
-
-			int valCmp = compare(mmd.getValidator(), getValidator(marker));
-			if(valCmp != 0) {
-				return valCmp;
-			}
-
-			int prjCmp = compare(mmd.getValidatorTestcase().getProjectName(), getProject(marker));
-			if(prjCmp != 0) {
-				return prjCmp;
-			}
-
-			int idCmp = compare(mmd.getMessagePrefix(), getMessagePrefix(marker));
-			if(idCmp != 0) {
-				return idCmp;
-			}
-
-			int cmp = compareResourceAndLocation(mmd, marker);
-			return cmp;
-		}
-		
-		public int compare(MessageMetaData aMMD, MessageMetaData bMMD) {
-			if((aMMD == null) && (bMMD == null)) {
-				return 0;
-			}
-			else if(aMMD == null) {
-				return 1;
-			}
-			else if(bMMD == null) {
-				return -1;
-			}
-			
-			int valCmp = compare(aMMD.getValidator(), bMMD.getValidator());
-			if(valCmp != 0) {
-				return valCmp;
-			}
-
-			int prjCmp = compare(aMMD.getValidatorTestcase().getProjectName(), bMMD.getValidatorTestcase().getProjectName());
-			if(prjCmp != 0) {
-				return prjCmp;
-			}
-			
-			int idCmp = compare(aMMD.getMessagePrefix(), bMMD.getMessagePrefix());
-			if(idCmp != 0) {
-				return idCmp;
-			}
-
-			int cmp = compareResourceAndLocation(aMMD, bMMD);
-			return cmp;
-		}
-		
-		public int compareResourceAndLocation(IMarker aMarker, IMarker bMarker) {
-			int resCmp = compare(getResource(aMarker), getResource(bMarker));
-			if(resCmp != 0) {
-				return resCmp;
-			}
-			
-			Integer aLineNo = getLineNumber(aMarker);
-			Integer bLineNo = getLineNumber(bMarker);
-			if((aLineNo != null) && (bLineNo!= null)) {
-				return compare(aLineNo, bLineNo);
-			}
-			
-			String aLocation = getLocation(aMarker);
-			String bLocation = getLocation(bMarker);
-			if((aLocation != null) && (bLocation != null)) {
-				return compare(aLocation, bLocation);
-			}
-			
-			// If one has a line number and the other has a text location, can't compare
-			// the location, so just assume that they're equal.
-			return resCmp;
-		}
-		
-		public int compareResourceAndLocation(IMarker marker, MessageMetaData mmd) {
-			int resCmp = compare(getResource(marker), mmd.getResource());
-			if(resCmp != 0) {
-				return resCmp;
-			}
-			
-			if(mmd.isSetLineNumber()) {
-				Integer aLineNo = getLineNumber(marker);
-				int bLineNo = mmd.getLineNumber();
-				if(aLineNo != null) {
-					return compare(aLineNo.intValue(), bLineNo);
-				}
-			}
-
-			if(mmd.isSetLocation()) {
-				String aLocation = getLocation(marker);
-				String bLocation = mmd.getLocation();
-				if((aLocation != null) && (bLocation != null)) {
-					return compare(aLocation, bLocation);
-				}
-			}
-			
-			// If one has a line number and the other has a text location, can't compare
-			// the location, so just assume that they're equal.
-			return resCmp;
-		}
-		
-		public int compareResourceAndLocation(MessageMetaData mmd, IMarker marker) {
-			int resCmp = compare(mmd.getResource(), getResource(marker));
-			if(resCmp != 0) {
-				return resCmp;
-			}
-
-			if(mmd.isSetLineNumber()) {
-				int aLineNo = mmd.getLineNumber();
-				Integer bLineNo = getLineNumber(marker);
-				if(bLineNo!= null) {
-					return compare(aLineNo, bLineNo.intValue());
-				}
-			}
-
-			if(mmd.isSetLocation()) {
-				String aLocation = mmd.getLocation();
-				String bLocation = getLocation(marker);
-				if((aLocation != null) && (bLocation != null)) {
-					return compare(aLocation, bLocation);
-				}
-			}
-			
-			// If one has a line number and the other has a text location, can't compare
-			// the location, so just assume that they're equal.
-			return resCmp;
-		}
-		
-		public int compareResourceAndLocation(MessageMetaData aMMD, MessageMetaData bMMD) {
-			int resCmp = compare(aMMD.getResource(), bMMD.getResource());
-			if(resCmp != 0) {
-				return resCmp;
-			}
-
-			if(aMMD.isSetLineNumber() && bMMD.isSetLineNumber()) {
-				int aLineNo = aMMD.getLineNumber();
-				int bLineNo = bMMD.getLineNumber();
-				return compare(aLineNo, bLineNo);
-			}
-
-			if(aMMD.isSetLocation() && bMMD.isSetLocation()) {
-				String aLocation = aMMD.getLocation();
-				String bLocation = bMMD.getLocation();
-				if((aLocation != null) && (bLocation != null)) {
-					return compare(aLocation, bLocation);
-				}
-			}
-			
-			// If one has a line number and the other has a text location, can't compare
-			// the location, so just assume that they're equal.
-			return resCmp;
-		}
-	}
-	
-	public static MessagePrefixComparator getMessagePrefixComparator() {
-		if(_messagePrefixComparator == null) {
-			_messagePrefixComparator = new MessagePrefixComparator();
-		}
-		return _messagePrefixComparator;
-	}
-	
-	static class MessagePrefixComparator implements Comparator {
-		public int compare(Object a, Object b) {
-			String aPrefix = null;
-			String bPrefix = null;
-			if(a instanceof PropertyLine) {
-				aPrefix = ((PropertyLine)a).getMessagePrefix();
-			}
-			else if(a instanceof MessageMetaData) {
-				aPrefix = ((MessageMetaData)a).getMessagePrefix();
-			}
-			
-			if(b instanceof PropertyLine) {
-				bPrefix = ((PropertyLine)b).getMessagePrefix();
-			}
-			else if(b instanceof MessageMetaData) {
-				bPrefix = ((MessageMetaData)b).getMessagePrefix();
-			}
-
-			if(aPrefix.length() == 9) {
-				aPrefix = aPrefix.substring(0, 9);
-			}
-			
-			if(bPrefix.length() == 9) {
-				bPrefix = bPrefix.substring(0, 9);
-			}
-			
-			return aPrefix.compareTo(bPrefix);
-		}
-	}
-		
-	class MessageIdComparator implements Comparator {
-		private boolean _verbose = false;
-		private IBuffer _buffer = null;
-		
-		public boolean isVerbose() {
-			return _verbose;
-		}
-		
-		public void setVerbose(boolean v) {
-			_verbose = v;
-		}
-		
-		public IBuffer getBuffer() {
-			return _buffer;
-		}
-		
-		public void setBuffer(IBuffer b) {
-			_buffer = b;
-		}
-		
-		public String getMessageId(IMarker marker) {
-			try {
-				return (String)marker.getAttribute(ConfigurationConstants.VALIDATION_MARKER_MESSAGEID);
-			}
-			catch(CoreException exc) {
-				Logger logger = BVTValidationPlugin.getPlugin().getMsgLogger();
-				if(logger.isLoggingLevel(Level.SEVERE)) {
-					logger.write(Level.SEVERE, exc);
-				}
-				return ""; //$NON-NLS-1$
-			}
-		}
-		
-		public int compare(String aStr, String bStr) {
-			if((aStr == null) && (bStr == null)) {
-				return 0;
-			}
-			else if(aStr == null) {
-				return 1;
-			}
-			else if(bStr == null) {
-				return -1;
-			}
-			return aStr.compareTo(bStr);
-		}
-		
-		public int compare(Object a, Object b) {
-			if((a == null) && (b == null)) {
-				return 0;
-			}
-			else if(a == null) {
-				return 1;
-			}
-			else if(b == null) {
-				return -1;
-			}
-			
-			
-			// Sort first on the version, then on the message prefix
-			if((a instanceof String) && (b instanceof String)) {
-				String aStr = (String)a;
-				String bStr = (String)b;
-				return compare(aStr, bStr);
-			}
-			else if ((a instanceof PropertyLine) && (b instanceof PropertyLine)) {
-				PropertyLine aM = (PropertyLine)a;
-				PropertyLine bM = (PropertyLine)b;
-				
-				return compare(aM.getMessageId(), bM.getMessageId());
-			}
-			else if ((a instanceof PropertyLine) && (b instanceof IMarker)) {
-				PropertyLine aM = (PropertyLine)a;
-				IMarker bM = (IMarker)b;
-				
-				return compare(aM.getMessageId(), getMessageId(bM));
-			}
-			else if((a instanceof IMarker) && (b instanceof PropertyLine)) {
-				IMarker aM = (IMarker)a;
-				PropertyLine bM = (PropertyLine)b;
-				
-				return compare(getMessageId(aM), bM.getMessageId());
-			}
-			else if((a instanceof IMarker) && (b instanceof IMarker)) {
-				IMarker aM = (IMarker)a;
-				IMarker bM = (IMarker)b;
-
-				return compare(getMessageId(aM), getMessageId(bM));
-			}
-			
-			// else put it at the end of the list
-			return 1;
-		}
-	};
-}
diff --git a/tests/org.eclipse.jst.validation.test/test/org/eclipse/jst/validation/test/internal/registry/OperationTestcase.java b/tests/org.eclipse.jst.validation.test/test/org/eclipse/jst/validation/test/internal/registry/OperationTestcase.java
deleted file mode 100644
index 1ecc44a..0000000
--- a/tests/org.eclipse.jst.validation.test/test/org/eclipse/jst/validation/test/internal/registry/OperationTestcase.java
+++ /dev/null
@@ -1,81 +0,0 @@
-package org.eclipse.jst.validation.test.internal.registry;
-
-import java.util.logging.Level;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jem.util.logger.proxy.Logger;
-import org.eclipse.jst.validation.test.BVTValidationPlugin;
-import org.eclipse.jst.validation.test.IOperationRunnable;
-import org.eclipse.jst.validation.test.setup.IBuffer;
-
-/**
- * Instead of testing a validator, an operation test case tests the 
- * validation framework.
- */
-public class OperationTestcase implements ITestcaseMetaData {
-	private String _pluginId = null; // The plugin id that has contributed this test case.
-	private String _projectName = null; // the name of the project that this test case tests
-	private String _inputFileName = null;
-	private String _opName = null; // the name of the test case
-	private IOperationRunnable _runnable = null;
-
-	public OperationTestcase(String pluginId, String projectName, String opName, String inputFileName, IOperationRunnable runnable) {
-		_pluginId = pluginId;
-		_projectName = projectName;
-		_inputFileName = inputFileName;
-		_opName = opName;
-		_runnable = runnable;
-	}
-	
-	public String getName() {
-		return _opName;
-	}
-	
-	public boolean isVisible() {
-		return true; // framework test cases are always visible on the test collector menu
-	}
-	
-	public String getDeclaringPluginId() {
-		return _pluginId;
-	}
-	
-	public String getProjectName() {
-		return _projectName;
-	}
-	
-	public IProject getProject() {
-		return TestcaseUtility.findProject(this);
-	}
-	
-	public String getInputFileName() {
-		return _inputFileName;
-	}
-	
-	public IOperationRunnable getRunnable() {
-		return _runnable;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jst.validation.test.internal.registry.ITestcaseMetaData#run(org.eclipse.core.runtime.IProgressMonitor, org.eclipse.jst.validation.test.setup.IBuffer, org.eclipse.core.resources.IProject)
-	 */
-	public void run(IBuffer buffer, IProject project) {
-		try {
-			getRunnable().setBuffer(buffer);
-			getRunnable().setProject(project);
-			getRunnable().setName(getName());
-			ResourcesPlugin.getWorkspace().run(getRunnable(), buffer.getProgressMonitor());
-		}
-		catch(CoreException exc) {
-			Logger logger = BVTValidationPlugin.getPlugin().getMsgLogger();
-			if(logger.isLoggingLevel(Level.SEVERE)) {
-				logger.write(Level.SEVERE, exc); //$NON-NLS-1$
-			}
-		}
-	}
-
-	public String toString() {
-		return getName();
-	}
-}
diff --git a/tests/org.eclipse.jst.validation.test/test/org/eclipse/jst/validation/test/internal/registry/RegistryConstants.java b/tests/org.eclipse.jst.validation.test/test/org/eclipse/jst/validation/test/internal/registry/RegistryConstants.java
deleted file mode 100644
index 134032e..0000000
--- a/tests/org.eclipse.jst.validation.test/test/org/eclipse/jst/validation/test/internal/registry/RegistryConstants.java
+++ /dev/null
@@ -1,37 +0,0 @@
-package org.eclipse.jst.validation.test.internal.registry;
-
-/**
- * Validation constants needed to declare an extension point, and
- * to implement an extension.
- */
-public interface RegistryConstants {
-	public static final String PLUGIN_ID = org.eclipse.jst.validation.test.BVTValidationPlugin.PLUGIN_ID;
-	
-	public static final String VALIDATOR_TESTCASE_EXT_PT_ID = "test"; // extension point declaration of the validator test case //$NON-NLS-1$
-	public static final String VALIDATOR_SETUP_EXT_PT_ID = "testSetup"; // extension point declaration of the test case setup mechanism (i.e., import the EAR or JAR) //$NON-NLS-1$
-	public static final String VALIDATOR_OPERATION_TESTCASE_EXT_PT_ID = "opTest"; // extension point declaration of the operation test case //$NON-NLS-1$
-	
-	public static final Double EJB20 = new Double(2.0); // EJB 2.0 input or 1.3 EAR
-	public static final Double EJB11 = new Double(1.1); // EJB 1.1 input or 1.2 EAR
-	public static final Double EJB = null; // common EJB level, such as reflection errors
-	public static final String EJB20_MSSG = "ejb20"; // in a .properties line, if the message id contains this string, it's an EJB 2.0 rule //$NON-NLS-1$
-	public static final String EJB11_MSSG = "ejb11"; // in a .properties line, if the message id contains this string, it's an EJB 1.1 rule //$NON-NLS-1$
-	public static final String EJB_MSSG = null; // in a .properties file, if the message is neither EJB20 nor EJB11, the rule is cross-specs. (e.g. reflection errors) //$NON-NLS-1$
-	
-
-	/*package*/ static final String ATT_VALIDATOR = "validator"; // the validator  //$NON-NLS-1$
-	/*package*/ static final String ATT_PLUGIN = "plugin"; // identifies the plugin which has the class //$NON-NLS-1$
-	/*package*/ static final String TAG_TEST = "test"; //$NON-NLS-1$
-	/*package*/ static final String TAG_IMPORT = "import"; //$NON-NLS-1$
-	/*package*/ static final String ATT_OPERATION = "operation"; // the fully-qualified name of the IImportOperation which is used to import the input //$NON-NLS-1$
-	/*package*/ static final String ATT_INPUT = "input"; //$NON-NLS-1$
-	/*package*/ static final String ATT_VERSION = "version"; // the version of the input, e.g. EJB 1.1 vs. EJB 2.0 //$NON-NLS-1$
-	/*package*/ static final String TAG_MESSAGE = "message"; //$NON-NLS-1$
-	/*package*/ static final String ATT_PREFIX = "prefix"; //$NON-NLS-1$
-	/*package*/ static final String ATT_SEVERITY = "severity"; //$NON-NLS-1$
-	/*package*/ static final String ATT_PROJECT = "project"; //$NON-NLS-1$
-	/*package*/ static final String ATT_RESOURCE = "resource"; //$NON-NLS-1$
-	/*package*/ static final String ATT_LOCATION = "location"; //$NON-NLS-1$
-	/*package*/ static final String ATT_TEXT = "text"; //$NON-NLS-1$
-	/*package*/ static final String ATT_VISIBLE = "visible"; // Is this test visible on the Test Collector menu? //$NON-NLS-1$
-}
diff --git a/tests/org.eclipse.jst.validation.test/test/org/eclipse/jst/validation/test/internal/registry/TestSetupImport.java b/tests/org.eclipse.jst.validation.test/test/org/eclipse/jst/validation/test/internal/registry/TestSetupImport.java
deleted file mode 100644
index 55d8c53..0000000
--- a/tests/org.eclipse.jst.validation.test/test/org/eclipse/jst/validation/test/internal/registry/TestSetupImport.java
+++ /dev/null
@@ -1,107 +0,0 @@
-package org.eclipse.jst.validation.test.internal.registry;
-
-import java.io.File;
-import java.lang.reflect.InvocationTargetException;
-import java.util.logging.Level;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jem.util.logger.LogEntry;
-import org.eclipse.jem.util.logger.proxy.Logger;
-import org.eclipse.jst.validation.test.BVTValidationPlugin;
-import org.eclipse.jst.validation.test.setup.IImportOperation;
-import org.eclipse.wst.validation.plugin.ValidationPlugin;
-
-/**
- * This class holds the metadata needed to import an .ear or
- * a .jar file to set up a test case in batch mode.
- */
-public class TestSetupImport {
-	private String _fileName = null;
-	private IImportOperation _importOperation = null;
-
-	public TestSetupImport(IImportOperation op, String fileName) {
-		_importOperation = op;
-		_fileName = fileName;
-	}
-
-	public File getInputFile(String dir) {
-		File file = new File(dir, getFileName());
-		if(!file.exists()) {
-			Logger logger = BVTValidationPlugin.getPlugin().getMsgLogger();
-			if(logger.isLoggingLevel(Level.SEVERE)) {
-				logger.write(Level.SEVERE, "File " + file.getAbsolutePath() + " must exist and have read access."); //$NON-NLS-1$ //$NON-NLS-2$
-			}
-			return null;
-		}
-		
-		return file;
-	}
-	
-	public String getFileName() {
-		return _fileName;
-	}
-	
-	public IImportOperation getOperation() {
-		return _importOperation;
-	}
-	
-	/**
-	 * Return true if the file was found and imported successfully.
-	 */
-	public boolean importFile(IProgressMonitor monitor, String dir) {
-		Logger logger = BVTValidationPlugin.getPlugin().getMsgLogger();
-		int executionMap = 0x0;
-		boolean imported = true;
-		try {
-			File file = getInputFile(dir);
-			executionMap |= 0x1;
-			try {
-				IImportOperation op = getOperation();
-				executionMap |= 0x2;
-				imported = op.run(monitor, file);
-				executionMap |= 0x4;
-			}
-			catch (InterruptedException exc) {
-				executionMap |= 0x8;
-				imported = false;
-				if(logger.isLoggingLevel(Level.SEVERE)) {
-					LogEntry entry = ValidationPlugin.getLogEntry();
-					entry.setTargetException(exc);
-					logger.write(Level.SEVERE, entry);
-				}
-			}
-			catch (InvocationTargetException exc) {
-				executionMap |= 0x10;
-				imported = false;
-				if(logger.isLoggingLevel(Level.SEVERE)) {
-					LogEntry entry = ValidationPlugin.getLogEntry();
-					entry.setTargetException(exc);
-					logger.write(Level.SEVERE, entry);
-					if(exc.getTargetException() != null) {
-						entry.setTargetException(exc.getTargetException());
-						logger.write(Level.SEVERE, entry);
-					}
-				}
-			}
-			catch (Throwable exc) {
-				executionMap |= 0x20;
-				imported = false;
-				if(logger.isLoggingLevel(Level.SEVERE)) {
-					LogEntry entry = ValidationPlugin.getLogEntry();
-					entry.setTargetException(exc);
-					logger.write(Level.SEVERE, entry);
-				}
-			}
-		}
-		finally {
-			if(!imported) {
-				LogEntry entry = ValidationPlugin.getLogEntry();
-				entry.setExecutionMap(executionMap);
-				entry.setText("TestSetup for " + dir + " was unsuccessful."); //$NON-NLS-1$ //$NON-NLS-2$
-				logger.write(Level.SEVERE, entry);
-			}
-			
-		}
-		return imported;
-	}
-}
diff --git a/tests/org.eclipse.jst.validation.test/test/org/eclipse/jst/validation/test/internal/registry/TestcaseMetaData.java b/tests/org.eclipse.jst.validation.test/test/org/eclipse/jst/validation/test/internal/registry/TestcaseMetaData.java
deleted file mode 100644
index b4f2c56..0000000
--- a/tests/org.eclipse.jst.validation.test/test/org/eclipse/jst/validation/test/internal/registry/TestcaseMetaData.java
+++ /dev/null
@@ -1,160 +0,0 @@
-package org.eclipse.jst.validation.test.internal.registry;
-
-import java.io.File;
-import java.net.URL;
-import java.util.ArrayList;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Set;
-import java.util.logging.Level;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.IPluginDescriptor;
-import org.eclipse.core.runtime.IPluginRegistry;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jem.util.logger.proxy.Logger;
-import org.eclipse.jst.validation.test.BVTValidationPlugin;
-import org.eclipse.wst.validation.internal.ValidatorMetaData;
-
-public class TestcaseMetaData {
-	private String _pluginId = null; // The plugin id that has contributed this test case.
-	private ValidatorMetaData _vmd = null;
-	private MessageMetaData[] _messages = null;
-	private String _project = null; // the name of the project that this test case tests
-	private String[] _resourceNames = null; // the resources listed in the MessageMetaData of this test case.
-	private String _inputFileName = null;
-	private String _name = null; // the name of the test case
-	
-	public TestcaseMetaData(String pluginName, String project, ValidatorMetaData vmd, String inputFileName) {
-		_pluginId = pluginName;
-		_project = project;
-		_vmd = vmd;
-		_inputFileName = inputFileName;
-	}
-	
-	public String getDeclaringPluginId() {
-		return _pluginId;
-	}
-	
-	public String getProject() {
-		return _project;
-	}
-	
-	public IProject findProject() {
-		return ResourcesPlugin.getWorkspace().getRoot().getProject(_project);
-	}
-	
-	public String getInputFileName() {
-		return _inputFileName;
-	}
-	
-	public int getNumMessages() {
-		return getMessages().size();
-	}
-	
-	// The messages need to be stored in a list instead of an array because
-	// the list is sorted before searching & displaying.
-	public List getMessages() {
-		List copy = new ArrayList();
-		for(int i=0; i<_messages.length; i++) {
-			copy.add(_messages[i]);
-		}
-		
-		return copy;
-	}
-	
-	// Return the resources in this project for which there is a message in this test case.
-	// No resource instance will be in the resource more than once.
-	public IResource[] getResources(IProject project) {
-		Set temp = new HashSet(); // use a set in case there is more than one message registered against a resource (don't want duplicates in the list).
-		String[] resourceNames = getResourceNames();
-		for(int i=0; i<resourceNames.length; i++) {
-			String resourceName = resourceNames[i];
-			IResource resource = project.findMember(resourceName);
-			if(resource != null) {
-				// resource exists
-				temp.add(resource);
-			}
-		}
-		
-		IResource[] result = new IResource[temp.size()];
-		temp.toArray(result);
-		return result;
-	}
-	
-	public String[] getResourceNames() {
-		if(_resourceNames == null) {
-			_resourceNames = new String[_messages.length];
-			for(int i=0; i<_messages.length; i++) {
-				_resourceNames[i] = _messages[i].getResource();
-			}
-		}
-		return _resourceNames;
-	}
-	
-	/**
-	 * When an empty TMD is used to test an operation, and the operation needs the IResource[]
-	 * affected by the TMD to know whether or not the operation passes (i.e., one of the ValidatorSubsetOperation
-	 * constructors takes an IResource[], and the IResource[] must not be empty or null), then
-	 * this method is used to set the "resources" affected by the test case.
-	 */
-	public void setResourceNames(String[] resourceNames) {
-		_resourceNames = resourceNames;
-	}
-	
-	public void setMessages(MessageMetaData[] messages) {
-		// If messages are null, that means that the test case expects no validation errors.
-		_messages = ((messages == null) ? new MessageMetaData[0] : messages);
-	}
-	
-	public ValidatorMetaData getValidatorMetaData() {
-		return _vmd;
-	}
-	
-	public String getValidatorClass() {
-		return getValidatorMetaData().getValidatorUniqueName();
-	}
-
-	public String getName() {
-		if(_name == null) {
-			_name = _vmd.getValidatorDisplayName() + "::" + getProject(); //$NON-NLS-1$
-		}
-		return _name;
-	}	
-	
-	public String getInputDir() {
-		// If the directory where the testcase input isn't specified, 
-		// assume that the input is in a subdirectory, named "testInput",
-		// of the testcase's plugin.
-		IPluginRegistry registry = Platform.getPluginRegistry();
-		IPluginDescriptor descriptor = registry.getPluginDescriptor(getDeclaringPluginId());
-		if(descriptor != null) {
-			// Because Platform.asLocalURL throws an IOException if the URL resolves
-			// to a directory, find the plugin.xml file and then strip off the file name 
-			// to find the testInput directory.
-			try {
-				String pluginXmlPath = Platform.asLocalURL(new URL(descriptor.getInstallURL(), "plugin.xml")).getPath(); //$NON-NLS-1$
-				File pluginXml = new File(pluginXmlPath);
-				if(pluginXml.exists()) {
-					File inputDir = new File(pluginXml.getParent(), "testInput"); //$NON-NLS-1$
-					if (inputDir.exists() && inputDir.isDirectory()) {
-						return inputDir.getPath();
-					}
-				}
-			}
-			catch(java.io.IOException exc) {
-			    Logger logger = BVTValidationPlugin.getPlugin().getMsgLogger();
-				if(logger.getLevel() == Level.SEVERE) {
-					logger.write(Level.SEVERE, exc);
-				}
-			}
-		}
-		
-		// Should never get here, but if we do, assume that the input 
-		// directory is the current directory.
-		return System.getProperty("user.dir"); //$NON-NLS-1$
-	}
-}
-
diff --git a/tests/org.eclipse.jst.validation.test/test/org/eclipse/jst/validation/test/internal/registry/TestcaseUtility.java b/tests/org.eclipse.jst.validation.test/test/org/eclipse/jst/validation/test/internal/registry/TestcaseUtility.java
deleted file mode 100644
index 32d58e3..0000000
--- a/tests/org.eclipse.jst.validation.test/test/org/eclipse/jst/validation/test/internal/registry/TestcaseUtility.java
+++ /dev/null
@@ -1,84 +0,0 @@
-package org.eclipse.jst.validation.test.internal.registry;
-
-import java.io.File;
-import java.io.FileWriter;
-import java.io.IOException;
-import java.net.URL;
-import java.util.logging.Level;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.IPluginDescriptor;
-import org.eclipse.core.runtime.IPluginRegistry;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jem.util.logger.proxy.Logger;
-import org.eclipse.jst.validation.test.BVTValidationPlugin;
-
-/**
- * Utility class that contains convenience methods for test cases.
- */
-public final class TestcaseUtility {
-	/**
-	 * Load the project that this test case is supposed to run on.
-	 */
-	public static IProject findProject(ITestcaseMetaData tmd) {
-		if(tmd == null) {
-			return null;
-		}
-		
-		return ResourcesPlugin.getWorkspace().getRoot().getProject(tmd.getProjectName());
-	}
-
-	/**
-	 * Return the directory where the input for this test case can be located.
-	 */
-	public static String getInputDir(ITestcaseMetaData tmd) {
-		// If the directory where the testcase input isn't specified, 
-		// assume that the input is in a subdirectory, named "testInput",
-		// of the testcase's plugin.
-		IPluginRegistry registry = Platform.getPluginRegistry();
-		IPluginDescriptor descriptor = registry.getPluginDescriptor(tmd.getDeclaringPluginId());
-		if(descriptor != null) {
-			// Because Platform.asLocalURL throws an IOException if the URL resolves
-			// to a directory, find the plugin.xml file and then strip off the file name 
-			// to find the testInput directory.
-			try {
-				String pluginXmlPath = Platform.asLocalURL(new URL(descriptor.getInstallURL(), "plugin.xml")).getPath(); //$NON-NLS-1$
-				File pluginXml = new File(pluginXmlPath);
-				if(pluginXml.exists()) {
-					File inputDir = new File(pluginXml.getParent(), "testInput"); //$NON-NLS-1$
-					if (inputDir.exists() && inputDir.isDirectory()) {
-						return inputDir.getPath();
-					}
-				}
-			}
-			catch(java.io.IOException exc) {
-				Logger logger = BVTValidationPlugin.getPlugin().getMsgLogger();
-				if(logger.isLoggingLevel(Level.SEVERE)) {
-					logger.write(Level.SEVERE, exc);
-				}
-			}
-		}
-		
-		// Should never get here, but if we do, assume that the input 
-		// directory is the current directory.
-		return System.getProperty("user.dir"); //$NON-NLS-1$
-	}
-
-	/**
-	 * logFileName must point to a fully-qualified file.
-	 */
-	public static void flush(String logFileName, String buffer, boolean append) {
-		try {
-			FileWriter writer = new FileWriter(logFileName, append);
-			writer.write(buffer); // Write the entire report to the state log.
-			writer.close();
-		}
-		catch(IOException exc) {
-			Logger logger = BVTValidationPlugin.getPlugin().getMsgLogger();
-			if(logger.isLoggingLevel(Level.SEVERE)) {
-				logger.write(Level.SEVERE, exc);
-			}
-		}
-	}
-}
diff --git a/tests/org.eclipse.jst.validation.test/test/org/eclipse/jst/validation/test/internal/registry/ValidatorTestcase.java b/tests/org.eclipse.jst.validation.test/test/org/eclipse/jst/validation/test/internal/registry/ValidatorTestcase.java
deleted file mode 100644
index b9109ee..0000000
--- a/tests/org.eclipse.jst.validation.test/test/org/eclipse/jst/validation/test/internal/registry/ValidatorTestcase.java
+++ /dev/null
@@ -1,480 +0,0 @@
-package org.eclipse.jst.validation.test.internal.registry;
-
-import java.lang.reflect.InvocationTargetException;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Set;
-import java.util.logging.Level;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jem.util.logger.proxy.Logger;
-import org.eclipse.jst.validation.test.BVTValidationException;
-import org.eclipse.jst.validation.test.BVTValidationPlugin;
-import org.eclipse.jst.validation.test.ValidationTypeEnum;
-import org.eclipse.jst.validation.test.internal.util.BVTRunner;
-import org.eclipse.jst.validation.test.setup.IBuffer;
-import org.eclipse.wst.validation.core.IFileDelta;
-import org.eclipse.wst.validation.internal.ConfigurationManager;
-import org.eclipse.wst.validation.internal.GlobalConfiguration;
-import org.eclipse.wst.validation.internal.TaskListUtility;
-import org.eclipse.wst.validation.internal.VThreadManager;
-import org.eclipse.wst.validation.internal.ValidatorMetaData;
-import org.eclipse.wst.validation.internal.operations.ValidatorSubsetOperation;
-
-public class ValidatorTestcase implements ITestcaseMetaData {
-	private String _pluginId = null; // The plugin id that has contributed this test case.
-	private ValidatorMetaData _vmd = null;
-	private MessageMetaData[] _messages = null;
-	private String _projectName = null; // the name of the project that this test case tests
-	private String[] _resourceNames = null; // the resources listed in the MessageMetaData of this test case.
-	private String _inputFileName = null;
-	private String _name = null; // the name of the test case
-	private boolean _visible = true; // Is this test case visible on the Test Collector menu
-	
-	public ValidatorTestcase(String pluginName, String project, ValidatorMetaData vmd, String inputFileName, boolean visible) {
-		_pluginId = pluginName;
-		_projectName = project;
-		_vmd = vmd;
-		_inputFileName = inputFileName;
-		_visible = visible;
-	}
-	
-	public boolean isVisible() {
-		return _visible;
-	}
-	
-	public String getDeclaringPluginId() {
-		return _pluginId;
-	}
-	
-	public String getProjectName() {
-		return _projectName;
-	}
-	
-	public IProject getProject() {
-		return TestcaseUtility.findProject(this);
-	}
-	
-	public String getInputFileName() {
-		return _inputFileName;
-	}
-	
-	/**
-	 * Return the number of messages
-	 */
-	public int getNumMessages() {
-		return getMessages(ValidationTypeEnum.RUN_VALIDATION).size();
-	}
-	
-	/**
-	 * Return the list of messages that should be reported for the given build
-	 * type. (e.g. if the validator does not support incremental validation,
-	 * then instead of returning the list of expected messages, return an empty 
-	 * list.)
-	 */
-	public List getMessages(int buildType) {
-		// The messages need to be stored in a list instead of an array because
-		// the list is sorted before searching & displaying.
-		switch(buildType) {
-			case(ValidationTypeEnum.AUTO_VALIDATION):
-			case(ValidationTypeEnum.INCREMENTAL_VALIDATION): {
-				if(!getValidatorMetaData().isIncremental()) {
-					return Collections.EMPTY_LIST;
-				}
-				// Otherwise, return the default copy below.
-				break;
-			}
-
-			case(ValidationTypeEnum.FULL_VALIDATION): {
-				if(!getValidatorMetaData().isFullBuild()) {
-					return Collections.EMPTY_LIST;
-				}
-				// Otherwise, return the default copy below.
-				break;
-			}
-
-			case(ValidationTypeEnum.RUN_VALIDATION):
-			default: {
-				// Return the default copy below.
-			}
-			
-		}
-		
-		List copy = new ArrayList();
-		for(int i=0; i<_messages.length; i++) {
-			copy.add(_messages[i]);
-		}
-		
-		return copy;
-	}
-	
-	// Return the resources in this project for which there is a message in this test case.
-	// No resource instance will be in the resource more than once.
-	public IResource[] getResources(IProject project) {
-		Set temp = new HashSet(); // use a set in case there is more than one message registered against a resource (don't want duplicates in the list).
-		String[] resourceNames = getResourceNames();
-		for(int i=0; i<resourceNames.length; i++) {
-			String resourceName = resourceNames[i];
-			IResource resource = project.findMember(resourceName);
-			if(resource != null) {
-				// resource exists
-				temp.add(resource);
-			}
-		}
-		
-		IResource[] result = new IResource[temp.size()];
-		temp.toArray(result);
-		return result;
-	}
-	
-	public String[] getResourceNames() {
-		if(_resourceNames == null) {
-			_resourceNames = new String[_messages.length];
-			for(int i=0; i<_messages.length; i++) {
-				_resourceNames[i] = _messages[i].getResource();
-			}
-		}
-		return _resourceNames;
-	}
-	
-	/**
-	 * When an empty TMD is used to test an operation, and the operation needs the IResource[]
-	 * affected by the TMD to know whether or not the operation passes (i.e., one of the ValidatorSubsetOperation
-	 * constructors takes an IResource[], and the IResource[] must not be empty or null), then
-	 * this method is used to set the "resources" affected by the test case.
-	 */
-	public void setResourceNames(String[] resourceNames) {
-		_resourceNames = resourceNames;
-	}
-	
-	public void setMessages(MessageMetaData[] messages) {
-		// If messages are null, that means that the test case expects no validation errors.
-		_messages = ((messages == null) ? new MessageMetaData[0] : messages);
-	}
-	
-	public ValidatorMetaData getValidatorMetaData() {
-		return _vmd;
-	}
-	
-	public String getValidatorClass() {
-		return getValidatorMetaData().getValidatorUniqueName();
-	}
-
-	public String getName() {
-		if(_name == null) {
-			_name = _vmd.getValidatorDisplayName() + "::" + getProjectName(); //$NON-NLS-1$
-		}
-		return _name;
-	}	
-	
-	public void run(IBuffer buffer, IProject project) {
-		String status = ">>>>>RUN VALIDATION TEST PASS [" + project.getName() + "]>>>>>";	//$NON-NLS-1$ //$NON-NLS-2$			
-		buffer.getProgressMonitor().subTask(status);
-		buffer.write(status);
-		buffer.addExecutionStatus(getName(), ValidationTypeEnum.RUN_VALIDATION_NAME, validate(buffer, project, ValidationTypeEnum.RUN_VALIDATION, ValidationTypeEnum.RUN_VALIDATION_NAME));
-		status = ">>>>>END RUN VALIDATION TEST PASS [" + project.getName() + "]>>>>>";	//$NON-NLS-1$ //$NON-NLS-2$
-		buffer.getProgressMonitor().subTask(status);
-		buffer.write(status);
-		
-		status = ">>>>>FULL BUILD TEST PASS [" + project.getName() + "]>>>>>";			//$NON-NLS-1$ //$NON-NLS-2$		
-		buffer.getProgressMonitor().subTask(status);
-		buffer.write(status);
-		buffer.addExecutionStatus(getName(), ValidationTypeEnum.FULL_VALIDATION_NAME, validate(buffer, project, ValidationTypeEnum.FULL_VALIDATION, ValidationTypeEnum.FULL_VALIDATION_NAME));
-		status = ">>>>>END FULL BUILD TEST PASS [" + project.getName() + "]>>>>>";	//$NON-NLS-1$ //$NON-NLS-2$
-		buffer.getProgressMonitor().subTask(status);
-		buffer.write(status);
-		
-		status = ">>>>>INCREMENTAL BUILD TEST PASS [" + project.getName() + "]>>>>>";	//$NON-NLS-1$ //$NON-NLS-2$
-		buffer.getProgressMonitor().subTask(status);
-		buffer.write(status);
-		buffer.addExecutionStatus(getName(), ValidationTypeEnum.INCREMENTAL_VALIDATION_NAME, validate(buffer, project, ValidationTypeEnum.INCREMENTAL_VALIDATION, ValidationTypeEnum.INCREMENTAL_VALIDATION_NAME));
-		status = ">>>>>END INCREMENTAL BUILD TEST PASS [" + project.getName() + "]>>>>>";	//$NON-NLS-1$ //$NON-NLS-2$
-		buffer.getProgressMonitor().subTask(status);
-		buffer.write(status);
-		
-		status = ">>>>>AUTO BUILD TEST PASS [" + project.getName() + "]>>>>>";	//$NON-NLS-1$ //$NON-NLS-2$
-		buffer.getProgressMonitor().subTask(status);
-		buffer.write(status);
-		buffer.addExecutionStatus(getName(), ValidationTypeEnum.AUTO_VALIDATION_NAME, validate(buffer, project, ValidationTypeEnum.AUTO_VALIDATION, ValidationTypeEnum.AUTO_VALIDATION_NAME));
-		status = ">>>>>END AUTO BUILD TEST PASS [" + project.getName() + "]>>>>>";	//$NON-NLS-1$ //$NON-NLS-2$
-		buffer.getProgressMonitor().subTask(status);
-		buffer.write(status);
-		
-		if(getValidatorMetaData().isAsync()) {
-			status = ">>>>>ASYNCHRONOUS VALIDATION TEST PASS [" + project.getName() + "]>>>>>";	//$NON-NLS-1$ //$NON-NLS-2$
-			buffer.getProgressMonitor().subTask(status);
-			buffer.write(status);
-			buffer.addExecutionStatus(getName(), ValidationTypeEnum.ASYNC_NAME, asyncValidate(buffer, project, ValidationTypeEnum.ASYNC_NAME));
-			status = ">>>>>END ASYNCHRONOUS VALIDATION TEST PASS [" + project.getName() + "]>>>>>";	//$NON-NLS-1$ //$NON-NLS-2$
-			buffer.getProgressMonitor().subTask(status);
-			buffer.write(status);
-		}
-		else {
-			// By default, "pass" the asynchrous tests of any validator that cannot run asynchronous tests.
-			buffer.addExecutionStatus(getName(), ValidationTypeEnum.ASYNC_NAME, true);
-		}
-	}
-	
-	private boolean validate(IBuffer buffer, IProject project, int validationTypeEnum, String taskName) {
-		long start = System.currentTimeMillis();
-		boolean passed = true;
-		try {
-			passed = BVTRunner.singleton().test(buffer, project, this, validationTypeEnum);
-		}
-		catch(BVTValidationException exc) {
-			Logger logger = BVTValidationPlugin.getPlugin().getMsgLogger();
-			if(logger.isLoggingLevel(Level.SEVERE)) {
-				logger.write(Level.SEVERE, exc);
-				if(exc.getTargetException() != null) {
-					logger.write(Level.SEVERE, exc.getTargetException());
-				}
-			}
-		}
-		finally {
-			long end = System.currentTimeMillis();
-			buffer.addElapsedTime(taskName, (end - start));
-			buffer.write("Total time for validator " + getValidatorMetaData().getValidatorDisplayName() + " of project " + project.getName() + " in " + taskName + " mode was " + (end - start) + " milliseconds."); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$
-		}
-		return passed;
-	}
-	
-	private boolean asyncValidate(IBuffer buffer, IProject project, String subTaskName) {
-		boolean passed = true;
-		long start = System.currentTimeMillis();
-		long end = 0;
-		try {
-			GlobalConfiguration gconf = ConfigurationManager.getManager().getGlobalConfiguration();
-			boolean autoValidate = gconf.isAutoValidate();
-			boolean buildValidate = gconf.isBuildValidate();
-			try {
-				// Turn off auto-validate so that the project isn't validated automatically.
-				gconf.setAutoValidate(false);
-				gconf.setBuildValidate(false);
-				gconf.passivate();
-				
-				// Two tests: 
-				//   1. Run validation on copies of the original project: "projectName.fork" and "projectName.noFork"
-				//      Compare the markers of the copies to the FVT TestcaseMetaData, and the validator passes if the 
-				//		results of each copy matches the TestcaseMetaData.
-				//   2. Run validation on copies, but this time introduce changes during the validation.
-				//		Extract the names of resources from the testcase metadata, find those resources, and
-				//		add/delete/rename/move/close/change them.
-				
-				boolean pass1 = validateAndCompare(buffer, project, subTaskName);
-				boolean pass2 = validateChangeAndCompare(buffer, project, IFileDelta.CHANGED, subTaskName);
-				boolean pass3 = validateChangeAndCompare(buffer, project, IFileDelta.DELETED, subTaskName);
-				passed = (pass1 && pass2 && pass3);
-			}
-			catch(CoreException exc) {
-				// Couldn't create copy.Just continue with the next test.
-				Logger logger = BVTValidationPlugin.getPlugin().getMsgLogger();
-				if(logger.isLoggingLevel(Level.SEVERE)) {
-					logger.write(Level.SEVERE, exc);
-				}
-			}
-			catch(BVTValidationException exc) {
-				Logger logger = BVTValidationPlugin.getPlugin().getMsgLogger();
-				if(logger.isLoggingLevel(Level.SEVERE)) {
-					logger.write(Level.SEVERE, exc);
-					if(exc.getTargetException() != null) {
-						logger.write(Level.SEVERE, exc.getTargetException());
-					}
-				}
-			}
-			catch(Throwable exc) {
-				Logger logger = BVTValidationPlugin.getPlugin().getMsgLogger();
-				if(logger.isLoggingLevel(Level.SEVERE)) {
-					logger.write(Level.SEVERE, exc);
-				}
-			}
-			finally {
-				gconf.setAutoValidate(autoValidate);
-				gconf.setBuildValidate(buildValidate);
-				gconf.passivate();
-			}
-		}
-		catch(InvocationTargetException exc) {
-			Logger logger = BVTValidationPlugin.getPlugin().getMsgLogger();
-			if(logger.isLoggingLevel(Level.SEVERE)) {
-				logger.write(Level.SEVERE, exc);
-				if(exc.getTargetException() != null) {
-					logger.write(Level.SEVERE, exc.getTargetException());
-				}
-			}
-		}
-		finally {
-			end = System.currentTimeMillis();
-			buffer.addElapsedTime(ValidationTypeEnum.ASYNC_NAME, (end - start));
-			buffer.write("Total time for validator " + getValidatorMetaData().getValidatorDisplayName() + " of project " + project.getName() + " in asynchronous mode was " + (end - start) + " milliseconds."); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
-			
-		}
-		return passed;
-	}
-
-	/**
-	 * Run validation, using several operations (both forked and not forked), on the IProject.
-	 * Return true if the result, after the last operation is complete, is the expected result.
-	 */
-	private boolean validateAndCompare(IBuffer buffer, IProject project, String subTaskName) throws CoreException, BVTValidationException {
-		// Now compare the IProject's result to the expected TestcaseMetaData result.
-		// Validate
-		ValidatorSubsetOperation noForkOp = new ValidatorSubsetOperation(project, true, false);
-		noForkOp.setValidators(getValidatorMetaData().getValidatorNames());
-		noForkOp.run(buffer.getProgressMonitor());
-		
-		if(buffer.getProgressMonitor().isCanceled()) {
-			return false;
-		}
-
-		ValidatorSubsetOperation forkOp = new ValidatorSubsetOperation(project, true, true);
-		forkOp.setValidators(getValidatorMetaData().getValidatorNames());
-		forkOp.run(buffer.getProgressMonitor());
-		
-		if(buffer.getProgressMonitor().isCanceled()) {
-			return false;
-		}
-
-		ValidatorSubsetOperation noForkOp2 = new ValidatorSubsetOperation(project, true, false);
-		noForkOp2.setValidators(getValidatorMetaData().getValidatorNames());
-		noForkOp2.run(buffer.getProgressMonitor());
-
-		if(buffer.getProgressMonitor().isCanceled()) {
-			return false;
-		}
-
-		ValidatorSubsetOperation forkOp2 = new ValidatorSubsetOperation(project, true, true);
-		forkOp2.setValidators(getValidatorMetaData().getValidatorNames());
-		forkOp2.run(buffer.getProgressMonitor());
-		
-		if(buffer.getProgressMonitor().isCanceled()) {
-			return false;
-		}
-
-		ValidatorSubsetOperation forkOp3 = new ValidatorSubsetOperation(project, true, true);
-		forkOp3.setValidators(getValidatorMetaData().getValidatorNames());
-		forkOp3.run(buffer.getProgressMonitor());
-		
-		// Wait until all of the threads have complete.
-		buffer.getProgressMonitor().subTask("Waiting for all forked threads to finish..."); //$NON-NLS-1$
-		while(!VThreadManager.getManager().isDone() && !buffer.getProgressMonitor().isCanceled()) {}
-		buffer.getProgressMonitor().subTask("All threads are complete. Beginning the comparison."); //$NON-NLS-1$
-		
-		if(buffer.getProgressMonitor().isCanceled()) {
-			return false;
-		}
-
-		// Compare
-		IMarker[] markers = TaskListUtility.getValidationTasks(project, getValidatorMetaData().getValidatorNames());
-
-		if(buffer.getProgressMonitor().isCanceled()) {
-			return false;
-		}
-
-		return BVTRunner.singleton().verify(buffer, getName(), subTaskName, project, getMessages(ValidationTypeEnum.RUN_VALIDATION), markers); 
-	}
-
-	private boolean validateChangeAndCompare(IBuffer buffer, IProject project, int ifileDeltaType, String subTaskName) throws BVTValidationException, CoreException {
-		boolean passed = true;
-		
-		ValidatorMetaData[] vmds = new ValidatorMetaData[]{getValidatorMetaData()};
-		
-		ValidatorSubsetOperation noForkOpOrig = new ValidatorSubsetOperation(project, true, false);
-		noForkOpOrig.setValidators(getValidatorMetaData().getValidatorNames());
-		noForkOpOrig.run(buffer.getProgressMonitor());
-
-		if(buffer.getProgressMonitor().isCanceled()) {
-			return false;
-		}
-
-		ValidatorSubsetOperation noForkOpChanged = new ValidatorSubsetOperation(project, vmds, getResources(project), ifileDeltaType, false, false); // false = do not force if there's no deltas to validate
-		noForkOpChanged.run(buffer.getProgressMonitor());
-
-		if(buffer.getProgressMonitor().isCanceled()) {
-			return false;
-		}
-
-		ValidatorSubsetOperation forkOpOrig = new ValidatorSubsetOperation(project, true, true);
-		forkOpOrig.setValidators(getValidatorMetaData().getValidatorNames());
-		forkOpOrig.run(buffer.getProgressMonitor());
-
-		if(buffer.getProgressMonitor().isCanceled()) {
-			return false;
-		}
-
-		ValidatorSubsetOperation forkOpChanged = new ValidatorSubsetOperation(project, vmds,  getResources(project), ifileDeltaType, false, true); // false = do not force if there's no deltas to validate
-		forkOpChanged.run(buffer.getProgressMonitor());
-		
-		if(buffer.getProgressMonitor().isCanceled()) {
-			return false;
-		}
-
-		ValidatorSubsetOperation noForkOp2Orig = new ValidatorSubsetOperation(project, true, false);
-		noForkOp2Orig.setValidators(getValidatorMetaData().getValidatorNames());
-		noForkOp2Orig.run(buffer.getProgressMonitor());
-
-		if(buffer.getProgressMonitor().isCanceled()) {
-			return false;
-		}
-
-		ValidatorSubsetOperation noForkOp2Changed = new ValidatorSubsetOperation(project, vmds,  getResources(project), ifileDeltaType, false, false); // false = do not force if there's no deltas to validate
-		noForkOp2Changed.run(buffer.getProgressMonitor());
-
-		if(buffer.getProgressMonitor().isCanceled()) {
-			return false;
-		}
-
-		ValidatorSubsetOperation forkOp2Orig = new ValidatorSubsetOperation(project, true, true);
-		forkOp2Orig.setValidators(getValidatorMetaData().getValidatorNames());
-		forkOp2Orig.run(buffer.getProgressMonitor());
-		
-		if(buffer.getProgressMonitor().isCanceled()) {
-			return false;
-		}
-
-		ValidatorSubsetOperation forkOp2Changed = new ValidatorSubsetOperation(project, vmds,  getResources(project), ifileDeltaType, false, true); // false = do not force if there's no deltas to validate
-		forkOp2Changed.run(buffer.getProgressMonitor());
-
-		if(buffer.getProgressMonitor().isCanceled()) {
-			return false;
-		}
-
-		ValidatorSubsetOperation forkOp3Orig = new ValidatorSubsetOperation(project, true, true);
-		forkOp3Orig.setValidators(getValidatorMetaData().getValidatorNames());
-		forkOp3Orig.run(buffer.getProgressMonitor());
-		
-		if(buffer.getProgressMonitor().isCanceled()) {
-			return false;
-		}
-
-		ValidatorSubsetOperation forkOp3Changed = new ValidatorSubsetOperation(project, vmds, getResources(project), ifileDeltaType, false, true); // false = do not force if there's no deltas to validate
-		forkOp3Changed.run(buffer.getProgressMonitor());
-		
-		// Wait until all of the threads have complete.
-		buffer.getProgressMonitor().subTask("Waiting for all forked threads to finish..."); //$NON-NLS-1$
-		while(!VThreadManager.getManager().isDone() && !buffer.getProgressMonitor().isCanceled()) {}
-		if(buffer.getProgressMonitor().isCanceled()) {
-			buffer.getProgressMonitor().subTask("Comparison cancelled. Performing cleanup."); //$NON-NLS-1$
-			return false;
-		}
-		buffer.getProgressMonitor().subTask("All threads are complete. Beginning the comparison."); //$NON-NLS-1$
-		
-		// Compare
-		IMarker[] markers = TaskListUtility.getValidationTasks(project, getValidatorMetaData().getValidatorNames());
-
-		// Now compare the IProject's result to the expected TestcaseMetaData result.
-		// Don't write _passed = _passed && get...
-		// When the _passed == false, then java didn't bother running the test.
-		passed = BVTRunner.singleton().verify(buffer, getName(), subTaskName, project, getMessages(ValidationTypeEnum.RUN_VALIDATION), markers);
-		
-		ResourcesPlugin.getWorkspace().deleteMarkers(markers);
-	
-		return passed;
-		
-	}
-}
diff --git a/tests/org.eclipse.jst.validation.test/test/org/eclipse/jst/validation/test/internal/util/BVTRunner.java b/tests/org.eclipse.jst.validation.test/test/org/eclipse/jst/validation/test/internal/util/BVTRunner.java
deleted file mode 100644
index 5c5b1e6..0000000
--- a/tests/org.eclipse.jst.validation.test/test/org/eclipse/jst/validation/test/internal/util/BVTRunner.java
+++ /dev/null
@@ -1,688 +0,0 @@
-package org.eclipse.jst.validation.test.internal.util;
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.Iterator;
-import java.util.List;
-import java.util.logging.Level;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IWorkspaceRunnable;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.jem.util.logger.LogEntry;
-import org.eclipse.jem.util.logger.proxy.Logger;
-import org.eclipse.jst.validation.test.BVTValidationException;
-import org.eclipse.jst.validation.test.BVTValidationPlugin;
-import org.eclipse.jst.validation.test.ValidationTypeEnum;
-import org.eclipse.jst.validation.test.internal.registry.BVTValidationRegistryReader;
-import org.eclipse.jst.validation.test.internal.registry.ITestcaseMetaData;
-import org.eclipse.jst.validation.test.internal.registry.MessageMetaData;
-import org.eclipse.jst.validation.test.internal.registry.MessageUtility;
-import org.eclipse.jst.validation.test.internal.registry.OperationTestcase;
-import org.eclipse.jst.validation.test.internal.registry.TestSetupImport;
-import org.eclipse.jst.validation.test.internal.registry.TestcaseUtility;
-import org.eclipse.jst.validation.test.internal.registry.ValidatorTestcase;
-import org.eclipse.jst.validation.test.setup.IBuffer;
-import org.eclipse.jst.validation.test.setup.ITestStatus;
-import org.eclipse.wst.validation.internal.InternalValidatorManager;
-import org.eclipse.wst.validation.internal.TaskListUtility;
-import org.eclipse.wst.validation.internal.VThreadManager;
-import org.eclipse.wst.validation.internal.ValidatorMetaData;
-import org.eclipse.wst.validation.internal.operations.OneValidatorOperation;
-import org.eclipse.wst.validation.internal.operations.ValidationOperation;
-import org.eclipse.wst.validation.internal.operations.ValidatorManager;
-import org.eclipse.wst.validation.plugin.ValidationPlugin;
-
-/**
- */
-public final class BVTRunner {
-	private static BVTRunner _inst = null;
-	private List _extra = null; // The extra markers reported (stored in a list to make reading easier).
-	private List _missing = null; // The missing MMD that were supposed to be reported (stored in a list to make reading easier).
-
-	public static BVTRunner singleton() {
-		if(_inst == null) {
-			_inst = new BVTRunner();
-		}
-		return _inst;
-	}
-	
-	private BVTRunner() {
-		super();
-		_extra = new ArrayList();
-		_missing = new ArrayList();
-	}
-	
-	private boolean isVerbose() {
-		Logger logger = BVTValidationPlugin.getPlugin().getMsgLogger();
-		if(logger.isLoggingLevel(Level.FINEST)) {
-			return true;
-		}
-		return false;
-	}
-
-	private char getSeverityChar(Integer severity) {
-		if(severity == null) {
-			return '?';
-		}
-		
-		switch(severity.intValue()) {
-			case(IMarker.SEVERITY_ERROR): {
-				return 'E';
-			}
-			
-			case(IMarker.SEVERITY_WARNING): {
-				return 'W';
-			}
-			
-			case(IMarker.SEVERITY_INFO): {
-				return 'I';
-			}
-			
-			default: {
-				return '?';
-			}
-		}
-	}
-	
-	private String[] getNames(IProject[] projects) {
-		if(projects == null) {
-			return new String[0];
-		}
-		String[] names = new String[projects.length];
-		for(int i=0; i<projects.length; i++) {
-			IProject project = projects[i];
-			names[i] = project.getName();
-		}
-		return names;
-	}
-
-	private void debug(IBuffer buffer, IMarker[] messages) {
-		if(messages == null) {
-			buffer.write("Nothing to debug because nothing was reported"); //$NON-NLS-1$
-		}
-		
-		for(int i=0; i<messages.length; i++) {
-			IMarker marker = messages[i];
-			buffer.write(MessageUtility.toString(marker));
-		}
-	}
-
-	protected IProgressMonitor getDebugMonitor(IProgressMonitor monitor) {
-		if(isVerbose()) {
-			return monitor;
-		}
-		else {
-			return new NullProgressMonitor(); // if verbose is true, show progress messages for the creation & validation of the project. Otherwise show only the BVT status.
-		}
-	}
-	
-	/**
-	 * When invoking the test from the UI, the input has already been imported, so just test it.
-	 * The name of the test is derived from the name of the project.
-	 * Return the number of tests that passed.
-	 */	
-	public int test(IBuffer buffer, IProject[] projects) throws BVTValidationException {	
-		String[] testNames = getNames(projects);
-		BVTValidationRegistryReader reader = BVTValidationRegistryReader.getReader();
-		
-		buffer.getProgressMonitor().beginTask("Running BVT tests", projects.length); //$NON-NLS-1$
-		int totalTests = 0;
-		int totalPassed = 0;
-		for(int i=0; i<projects.length; i++) {
-			buffer.getProgressMonitor().subTask("Testing project " + (i+1) + " of " + projects.length); //$NON-NLS-1$ //$NON-NLS-2$
-			IProject project = projects[i];
-			ValidatorTestcase[] tests = reader.getValidatorTests(buffer.getProgressMonitor(), testNames[i]);
-			if((tests == null) || (tests.length == 0)) {
-				buffer.getProgressMonitor().subTask("There are no tests to run."); //$NON-NLS-1$
-				continue;
-			}
-			
-			int numTestsPassed = 0;
-			for(int j=0; j<tests.length; j++) {
-				ValidatorTestcase tmd = tests[j];
-				if(test(buffer, project, tmd, ValidationTypeEnum.RUN_VALIDATION)) {
-					numTestsPassed++;
-					buffer.getProgressMonitor().subTask("Test " + (j+1) + " of " + tests.length + " passed."); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-				}
-				else {
-					buffer.getProgressMonitor().subTask("Test " + (j+1) + " of " + tests.length + " failed."); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-				}
-				buffer.getProgressMonitor().worked(1);
-			}
-			
-			totalTests += tests.length;
-			totalPassed += numTestsPassed;
-			
-			buffer.write(numTestsPassed + " of " + tests.length + " tests passed."); //$NON-NLS-1$ //$NON-NLS-2$
-		}
-		buffer.write("\n>>>>>>>>>>TEST RESULTS>>>>>>>>>>"); //$NON-NLS-1$
-		buffer.write(totalPassed + " of " + totalTests + " tests passed."); //$NON-NLS-1$ //$NON-NLS-2$
-		buffer.getProgressMonitor().done();
-		
-		return totalPassed;
-	}
-	
-	/**
-	 * Construct a ValidationOperation on the IProject, invoke the operation, and verify that the
-	 * resulting IMarkers match the expected messages in the tmd.
-	 */	
-	public boolean test(IBuffer buffer, IProject project, ValidatorTestcase tmd, int validationEnumType) throws BVTValidationException {
-		switch(validationEnumType) {
-			case(ValidationTypeEnum.RUN_VALIDATION): {
-				return test(buffer, tmd.getName(), ValidationTypeEnum.RUN_VALIDATION_NAME, tmd.getMessages(validationEnumType), new OneValidatorOperation(project, tmd.getValidatorClass(), true, false), InternalValidatorManager.getManager().getValidatorNames(new ValidatorMetaData[]{tmd.getValidatorMetaData()})); // true=force, false=no for
-			}
-			
-			case(ValidationTypeEnum.FULL_VALIDATION): {
-				return build(buffer, project, tmd, validationEnumType, ValidationTypeEnum.FULL_VALIDATION_NAME);
-			}
-			
-			case(ValidationTypeEnum.INCREMENTAL_VALIDATION): {
-				return build(buffer, project, tmd, validationEnumType, ValidationTypeEnum.INCREMENTAL_VALIDATION_NAME);
-			}
-			
-			case(ValidationTypeEnum.AUTO_VALIDATION): {
-				return build(buffer, project, tmd, validationEnumType, ValidationTypeEnum.AUTO_VALIDATION_NAME);
-			}
-			
-			default: {
-				buffer.addExecutionStatus(tmd.getName(), null, ITestStatus.FAIL, buffer, "Unrecognized validation option:" + validationEnumType); //$NON-NLS-1$
-				return false;
-			}
-		}
-	}
-	
-	private boolean build(IBuffer buffer, final IProject project, final ValidatorTestcase tmd, final int validationEnumType, String subTaskName) throws BVTValidationException {
-		try {
-			IProgressMonitor nullMonitor = new NullProgressMonitor();
-			ResourcesPlugin.getWorkspace().run(
-			new IWorkspaceRunnable(){
-				public void run(IProgressMonitor monitor) {
-					try {
-						IResource[] resources = tmd.getResources(project);
-						for(int i=0; i<resources.length; i++) {
-							IResource res = resources[i];
-							res.touch(monitor);
-						}
-					}
-					catch(CoreException exc) {
-						Logger logger = BVTValidationPlugin.getPlugin().getMsgLogger();
-						if(logger.isLoggingLevel(Level.SEVERE)) {
-							logger.write(exc);
-						}
-					}
-				}
-			}, nullMonitor);
-		}
-		catch(CoreException exc) {
-			Logger logger = BVTValidationPlugin.getPlugin().getMsgLogger();
-			if(logger.isLoggingLevel(Level.SEVERE)) {
-				logger.write(exc);
-			}
-			buffer.addExecutionStatus(tmd.getName(), subTaskName, ITestStatus.FAIL, buffer, "CoreException caught; stack trace in LoggingUtil.log"); //$NON-NLS-1$
-			return false;
-		}
-
-		try {
-			// Do not build using only the validation builder because some validators
-			// (i.e., the EJB Validator) depend on the output of other builders 
-			// (i.e., the Java Builder).
-			project.build(validationEnumType, new NullProgressMonitor());
-		}
-		catch(CoreException exc) {
-			Logger logger = BVTValidationPlugin.getPlugin().getMsgLogger();
-			if(logger.isLoggingLevel(Level.SEVERE)) {
-				logger.write(exc);
-			}
-			buffer.write("CoreException caught; stack trace in LoggingUtil.log"); //$NON-NLS-1$
-			return false;
-		}
-
-		IMarker[] messages = TaskListUtility.getValidationTasks(project, InternalValidatorManager.getManager().getValidatorNames(new ValidatorMetaData[]{tmd.getValidatorMetaData()}));
-		return verify(buffer, tmd.getName(), subTaskName, project, tmd.getMessages(validationEnumType), messages);
-	}
-	
-	/**
-	 * Run the given ValidationOperation and ensure that the results match the results of the given test case.
-	 * Return true if the results match and false if they don't.
-	 * 
-	 * This method is public because it's needed for the TestOpConstr operation.
-	 */
-	public boolean test(IBuffer buffer, String testName, String subTaskName, List expectedMessages, ValidationOperation op, String[] validatorNames) throws BVTValidationException {
-		IProgressMonitor debugMonitor = getDebugMonitor(buffer.getProgressMonitor());
-		boolean passed = true;
-		try {
-			
-			if(op == null) {
-				Logger logger = BVTValidationPlugin.getPlugin().getMsgLogger();
-				if(logger.isLoggingLevel(Level.WARNING)) {
-					logger.write(Level.WARNING, "Cannot run tests because the Operation is null."); //$NON-NLS-1$
-				}
-				passed = false;
-			}
-			else {
-				try {
-						ValidatorManager.getManager().setNoMessageLimit(op.getProject());
-					
-						ResourcesPlugin.getWorkspace().run(op, debugMonitor); 
-						
-						if(op.isFork()) {
-							// Wait until all forked threads are complete
-							while(!VThreadManager.getManager().isDone()){};
-						}
-			
-						// Load the enabled validators from the test, not the operation,
-						// because the test has the messages for a single validator, and
-						// if the messages from all enabled validators are retrieved,
-						// then "extra" messages, reported by validators whose messages
-						// aren't expected by the test, fail the test case. 
-						IMarker[] messages = TaskListUtility.getValidationTasks(op.getProject(), validatorNames);
-						passed = verify(buffer, testName, subTaskName, op.getProject(), expectedMessages, messages);
-				}
-				catch(Throwable exc) {
-					Logger logger = BVTValidationPlugin.getPlugin().getMsgLogger();
-					if(logger.isLoggingLevel(Level.SEVERE)) {
-						logger.write(Level.SEVERE, exc);
-					}
-					passed = false;
-				}
-			}
-		}
-		catch(Throwable exc) {
-			Logger logger = BVTValidationPlugin.getPlugin().getMsgLogger();
-			if(logger.isLoggingLevel(Level.SEVERE)) {
-				logger.write(Level.SEVERE, exc);
-			}
-			passed = false;
-		}
-		return passed;
-	}
-
-	public boolean setupTests(IBuffer buffer, boolean verbose) {
-		ValidatorTestcase[] vts = BVTValidationRegistryReader.getReader().getValidatorTests(buffer.getProgressMonitor(), (String)null);
-		OperationTestcase[] ots = BVTValidationRegistryReader.getReader().getOperationTests(buffer.getProgressMonitor(), (String)null);
-		boolean successful = true;
-		for(int i=0; i<vts.length; i++) {
-			ValidatorTestcase vtest = vts[i];
-			successful = setupTests(buffer, vtest, false) && successful;
-		}
-		
-		for(int j=0; j<ots.length; j++) {
-			OperationTestcase otest = ots[j];
-			successful = setupTests(buffer, otest, false) && successful;
-		}
-		
-		return successful;
-	}
-	
-	/**
-	 * Return true if all of the test cases' input were found and imported.
-	 */
-	public boolean setupTests(IBuffer buffer, ITestcaseMetaData tmd, boolean verbose) {
-		int executionMap = 0x0;
-		boolean imported = true;
-		Logger logger = BVTValidationPlugin.getPlugin().getMsgLogger();
-		try {
-			BVTValidationRegistryReader reader = BVTValidationRegistryReader.getReader();
-	
-			// Each import operation deletes any project before it re-imports it.
-			String dir = TestcaseUtility.getInputDir(tmd);
-			TestSetupImport[] setup = reader.getTestSetup(buffer, dir, tmd, verbose);
-			if((setup == null) || (setup.length == 0)) {
-				String message = "Cannot import input that does not exist. Check that directory " + dir + " exists."; //$NON-NLS-1$ //$NON-NLS-2$ 
-				buffer.write(message);
-				executionMap |= 0x1;
-				imported = false;
-				if(logger.isLoggingLevel(Level.SEVERE)) {
-					LogEntry entry = ValidationPlugin.getLogEntry();
-					entry.setExecutionMap(executionMap);
-					entry.setText(message);
-					logger.write(Level.SEVERE, entry);
-				}
-			}
-			else {
-				buffer.getProgressMonitor().beginTask("Importing files; please wait...", setup.length); //$NON-NLS-1$
-				for(int i=0; i<setup.length; i++) {
-					buffer.getProgressMonitor().subTask("Importing file " + (i+1) + " of " + setup.length); //$NON-NLS-1$ //$NON-NLS-2$
-					if(!setup[i].importFile(buffer.getProgressMonitor(), dir)) {
-						// One of the input files couldn't be imported.
-						executionMap |= 0x2;
-						imported = false;
-						if(logger.isLoggingLevel(Level.SEVERE)) {
-							LogEntry entry = ValidationPlugin.getLogEntry();
-							entry.setExecutionMap(executionMap);
-							entry.setText("Import failed for dir " + dir); //$NON-NLS-1$
-							logger.write(Level.SEVERE, entry);
-						}
-						continue;
-					}
-					buffer.getProgressMonitor().worked(1);
-				}
-				buffer.getProgressMonitor().done();
-			}
-		}
-		finally {
-			if(!imported) {
-				String tmdName = (tmd == null) ? "?" : tmd.getName(); //$NON-NLS-1$
-				LogEntry entry = ValidationPlugin.getLogEntry();
-				entry.setExecutionMap(executionMap);
-				entry.setText("Test setup for " + tmdName + " was unsuccessful."); //$NON-NLS-1$ //$NON-NLS-2$
-				logger.write(Level.SEVERE, entry);
-			}
-		}
-		return imported;
-	}
-
-	/**
-	 * Return true if the expected messages (tmdMmdList) matches the reported messages (ml2).
-	 */
-	public boolean compare(IBuffer buffer, String testName, String subTaskName, List tmdMmdList, IMarker[] ml2) {
-		// Convert one of the arrays into a list so that it can be sorted.
-		int numMatched = 0;
-		List mmdList = new ArrayList(tmdMmdList); // create a copy of the tmd's expected output so that the tmd's output remains intact
-		int numExpected = mmdList.size();
-		int numReported = ml2.length;
-		boolean passed = true;
-	
-
-		try {		
-			Collections.sort(mmdList, MessageUtility.getMessageComparator(buffer, isVerbose()));
-	
-			try {
-				for(int i=0; i<ml2.length; i++) {
-					IMarker marker = ml2[i];
-					MessageMetaData matching = getMatchingMetaData(buffer, mmdList, marker);
-					if(matching == null) {
-						_extra.add(marker);
-						continue;
-					}
-					else {
-						// Every time a mmd is matched to a marker, remove the mmd
-						// from the list so that mmds without a marker can be flagged.
-						mmdList.remove(matching);
-						numMatched++;
-					}
-				}
-	
-				if(mmdList.size() != 0) {
-					_missing.addAll(mmdList);
-				}
-			}
-			catch(Throwable exc) {
-				Logger logger = BVTValidationPlugin.getPlugin().getMsgLogger();
-				if(logger.isLoggingLevel(Level.SEVERE)) {
-					logger.write(Level.SEVERE, exc);
-				}
-				passed = false;
-			}
-			finally {
-				passed = passed && ((_missing.size() == 0) && (_extra.size() == 0));
-				
-				// Report the missing markers after the MMD list is sorted
-				Collections.sort(_missing, MessageUtility.getMessageComparator(buffer, isVerbose()));
-				Iterator iterator = _missing.iterator();
-				while(iterator.hasNext()) {
-					MessageMetaData mmd = (MessageMetaData)iterator.next();
-					buffer.addExecutionStatus(testName, subTaskName, ITestStatus.FAIL, buffer, "ERROR[missing message]: " + MessageUtility.toString(mmd)); //$NON-NLS-1$
-				}
-				
-				// Report the extra markers after they're sorted.
-				Collections.sort(_extra, MessageUtility.getMessageComparator(buffer, isVerbose()));
-				iterator = _extra.iterator();
-				while(iterator.hasNext()) {
-					IMarker marker = (IMarker)iterator.next();
-					buffer.addExecutionStatus(testName, subTaskName, ITestStatus.FAIL, buffer, "ERROR[extra message]: " + MessageUtility.toString(marker) + ", Text is: \"" + MessageUtility.getMessage(marker) + "\""); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-				}
-		
-				if(numExpected != numReported) {
-					buffer.write("Wrong number of messages reported. Expected " + numExpected + " and got " + numReported); //$NON-NLS-1$ //$NON-NLS-2$
-				}
-	
-				buffer.write("Number of extra messages: " + _extra.size()); //$NON-NLS-1$
-				buffer.write("Number of missing messages: " + _missing.size()); //$NON-NLS-1$
-				buffer.write("Number of matched messages: " + numMatched); //$NON-NLS-1$
-			}
-		}
-		finally {
-			mmdList.clear();
-			_extra.clear(); // Clear the list of extra markers (stored in a list to make reading easier).
-			_missing.clear(); // Clear the list of missing markers (stored in a list to make reading easier).
-		}
-		return passed;
-	}
-	
-	public boolean verify(IBuffer buffer, String testName, String subTaskName, IProject project, List mmdListOrig, IMarker[] messages) {
-		buffer.write("Test case: " + testName); //$NON-NLS-1$
-
-		int numMatched = 0;
-		int numExpected = 0;
-		int numReported = 0;
-		boolean passed = true;
-		List mmdList = new ArrayList(mmdListOrig); // Need to modify the list, but do not want to modify the original, so create a copy.
-		try {
-			// First, check that the number of messages match.
-			if(messages == null) {
-				passed = false;
-				Logger logger = BVTValidationPlugin.getPlugin().getMsgLogger();
-				if(logger.isLoggingLevel(Level.INFO)) {
-					logger.write(Level.INFO, "No messages were reported."); //$NON-NLS-1$
-				}
-				return passed;
-			}
-			
-			numExpected = mmdList.size();
-			numReported = messages.length;
-			
-			Collections.sort(mmdList, MessageUtility.getMessageComparator(buffer, isVerbose()));
-
-			for(int i=0; i<messages.length; i++) {
-				IMarker marker = messages[i];
-				MessageMetaData mmd = getMatchingMetaData(buffer, mmdList, marker);
-	
-				if(mmd == null) {
-					_extra.add(marker);
-					continue;
-				}
-				else {
-					// Every time a mmd is matched to a marker, remove the mmd
-					// from the list so that mmds without a marker can be flagged.
-					mmdList.remove(mmd);
-					if(isVerbose()) {
-						buffer.write("matched " + MessageUtility.toString(marker) + " to " + MessageUtility.toString(mmd)); //$NON-NLS-1$ //$NON-NLS-2$
-					}
-					numMatched++;
-				}
-				
-				// Check severity
-				try {
-					// Fail a test case based on severity mismatch because EJB deploy
-					// relies on the severity to determine whether or not deployment
-					// can continue?
-					verifySeverity(buffer, testName, subTaskName, mmd, marker);
-				}
-				catch(CoreException e) {
-					passed = false;
-					Logger logger = BVTValidationPlugin.getPlugin().getMsgLogger();
-					if(logger.isLoggingLevel(Level.SEVERE)) {
-						logger.write(Level.SEVERE, e);
-					}
-					buffer.write("ERROR[Testcase::" + testName + "]. CoreException caught while verifying severity"); //$NON-NLS-1$ //$NON-NLS-2$
-					continue;
-				}
-				
-				// Check resource
-				try {
-					// Don't fail a test case based on resource, because the "location" column will
-					// uniquely identify the location of the message, anyway. Should still let the 
-					// user know, though.
-					verifyResource(buffer, testName, subTaskName, mmd, marker);
-				}
-				catch(CoreException e) {
-					passed = false;
-					buffer.write("ERROR[Testcase::" + testName + "]. CoreException caught while verifying resource"); //$NON-NLS-1$ //$NON-NLS-2$
-					Logger logger = BVTValidationPlugin.getPlugin().getMsgLogger();
-					if(logger.isLoggingLevel(Level.SEVERE)) {
-						logger.write(Level.SEVERE, e);
-					}
-					continue;
-				}
-				
-				// Check location
-				try {
-					// Don't fail a test case based on location, because the line number calculation
-					// is different in UI & batch, and the test cases are based on UI test results.
-					// Should still alert the user, though.
-					verifyLocation(buffer, testName, subTaskName,  mmd, marker);
-				}
-				catch(CoreException e) {
-					passed = false;
-					Logger logger = BVTValidationPlugin.getPlugin().getMsgLogger();
-					if(logger.isLoggingLevel(Level.SEVERE)) {
-						logger.write(Level.SEVERE, e);
-					}
-					buffer.write("ERROR[Testcase::" + testName + "]. CoreException caught while verifying line number"); //$NON-NLS-1$ //$NON-NLS-2$
-					continue;
-				}
-			}
-			
-			if(mmdList.size() != 0) {
-				_missing.addAll(mmdList);
-			}
-		}
-		catch(Throwable exc) {
-			Logger logger = BVTValidationPlugin.getPlugin().getMsgLogger();
-			if(logger.isLoggingLevel(Level.SEVERE)) {
-				logger.write(Level.SEVERE, exc);
-			}
-			passed = false;
-		}
-		finally {
-			if(!((_missing.size() == 0) && (_extra.size() == 0))) {
-				passed = false;
-			}
-			
-			if(passed) {
-				buffer.write("PASS[Testcase::" + testName + "]"); //$NON-NLS-1$ //$NON-NLS-2$
-				buffer.addExecutionStatus(testName, subTaskName, true); // If fail, will be reported in the extra & missing below.
-			}
-			else {
-				buffer.write("FAIL[Testcase::" + testName + "]"); //$NON-NLS-1$ //$NON-NLS-2$
-
-				// No point in listing the mmdList because it's empty by the time the finally block is reached
-				if(isVerbose()) {
-					buffer.write("List of markers reported:"); //$NON-NLS-1$
-					debug(buffer, messages);
-				}
-			}
-			
-			// Report the missing markers after the MMD list is sorted
-			Collections.sort(_missing, MessageUtility.getMessageComparator(buffer, isVerbose()));
-			Iterator iterator = _missing.iterator();
-			while(iterator.hasNext()) {
-				MessageMetaData mmd = (MessageMetaData)iterator.next();
-				buffer.addExecutionStatus(testName, subTaskName, ITestStatus.FAIL, buffer, "ERROR[missing message]: " + MessageUtility.toString(mmd)); //$NON-NLS-1$
-			}
-			
-			// Report the extra markers after they're sorted.
-			Collections.sort(_extra, MessageUtility.getMessageComparator(buffer, isVerbose()));
-			iterator = _extra.iterator();
-			while(iterator.hasNext()) {
-				IMarker marker = (IMarker)iterator.next();
-				buffer.addExecutionStatus(testName, subTaskName, ITestStatus.FAIL, buffer, "ERROR[extra message]: " + MessageUtility.toString(marker) + ", Text is: \"" + MessageUtility.getMessage(marker) + "\""); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-			}
-	
-			if(numExpected != numReported) {
-				buffer.write("Wrong number of messages reported. Expected " + numExpected + " and got " + numReported); //$NON-NLS-1$ //$NON-NLS-2$
-			}
-
-			buffer.write("Number of extra messages: " + _extra.size()); //$NON-NLS-1$
-			buffer.write("Number of missing messages: " + _missing.size()); //$NON-NLS-1$
-			buffer.write("Number of matched messages: " + numMatched); //$NON-NLS-1$
-			buffer.write("End of test case: " + testName); //$NON-NLS-1$
-			_extra.clear(); // Clear the list of extra markers (stored in a list to make reading easier).
-			_missing.clear(); // Clear the list of missing markers (stored in a list to make reading easier).
-		}
-		return passed;
-	}
-	
-	private int verifySeverity(IBuffer buffer, String testName, String subTaskName, MessageMetaData mmd, IMarker marker) throws CoreException {
-		// If prefixSeverity is null, marker has no prefix, therefore it has no severity
-		Integer prefixSeverity = MessageUtility.getSeverity(marker);
-		if(prefixSeverity != null) {
-			Integer severity = (Integer)marker.getAttribute(IMarker.SEVERITY); // IMarker.SEVERITY_ERROR, IMarker.SEVERITY_WARNING, IMarker.SEVERITY_INFO
-			boolean severityEqual = true;
-			if((severity == null) && (prefixSeverity == null)) {
-				severityEqual = true;
-			}
-			else if(severity == null) {
-				severityEqual = false;
-			}
-			else if(prefixSeverity == null) {
-				severityEqual = false;
-			}
-			else {
-				severityEqual = severity.equals(prefixSeverity);
-			}
-			
-			if(!severityEqual) {
-				buffer.addExecutionStatus(testName, subTaskName, ITestStatus.WARN, buffer, "WARNING[mismatching severity]: expected " + getSeverityChar(prefixSeverity) + ", got " + getSeverityChar(severity) + " on marker " + MessageUtility.toString(marker)); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-				return ITestStatus.WARN;
-			}
-		}
-			
-		return ITestStatus.PASS;
-	}
-	
-	private int verifyResource(IBuffer buffer, String testName, String subTaskName, MessageMetaData mmd, IMarker marker) throws CoreException {
-		String resource = MessageUtility.getResource(marker);
-		if(!resource.equals(mmd.getResource())) {
-			buffer.addExecutionStatus(testName, subTaskName, ITestStatus.WARN, buffer, "INFO[wrong resource]: expected " + mmd.getResource() + ", got " + resource + " on marker " + MessageUtility.toString(marker)); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-			return ITestStatus.WARN;
-		}
-		return ITestStatus.PASS;
-	}
-	
-	private int verifyLocation(IBuffer buffer, String testName, String subTaskName, MessageMetaData mmd, IMarker marker) throws CoreException {
-		// Either compare two line numbers or two text locations, but not a line number to a text location.
-		if(mmd.isSetLineNumber()) {
-			Integer lineNumber = MessageUtility.getLineNumber(marker);
-			if(lineNumber == null) {
-				// Marker has a text location, not a line number.
-				return ITestStatus.PASS;
-			}
-			
-			if(lineNumber.intValue() != mmd.getLineNumber()) {
-				buffer.addExecutionStatus(testName, subTaskName, ITestStatus.WARN, buffer, "INFO[wrong location]: expected " + mmd.getLineNumber() + ", got " + lineNumber + " on marker " + MessageUtility.toString(marker)); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-				return ITestStatus.WARN;
-			}
-		}
-		else if(mmd.isSetLocation()) {
-			String location = MessageUtility.getLocation(marker);
-			if(location == null) {
-				// marker has a line number, not a text location
-				return ITestStatus.PASS;
-			}
-			
-			if(!(mmd.getLocation().equals(location))) {
-				buffer.addExecutionStatus(testName, subTaskName, ITestStatus.WARN, buffer, "INFO[wrong location]: expected " + mmd.getLocation() + ", got " + location + " on marker " + MessageUtility.toString(marker)); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-				return ITestStatus.WARN;
-			}
-		}
-		
-		return ITestStatus.PASS;
-	}
-	
-	
-	private MessageMetaData getMatchingMetaData(IBuffer buffer, List mmdList, IMarker marker) {
-		int result = Collections.binarySearch(mmdList, marker, MessageUtility.getMessageComparator(buffer, isVerbose()));
-		if(result < 0) {
-			return null;
-		}
-		return (MessageMetaData)mmdList.get(result);
-	}
-}
\ No newline at end of file
diff --git a/tests/org.eclipse.jst.validation.test/test/org/eclipse/jst/validation/test/internal/util/BVTValidationUtility.java b/tests/org.eclipse.jst.validation.test/test/org/eclipse/jst/validation/test/internal/util/BVTValidationUtility.java
deleted file mode 100644
index beff0ed..0000000
--- a/tests/org.eclipse.jst.validation.test/test/org/eclipse/jst/validation/test/internal/util/BVTValidationUtility.java
+++ /dev/null
@@ -1,253 +0,0 @@
-/*
- * (c) Copyright 2001 MyCorporation.
- * All Rights Reserved.
- */
-package org.eclipse.jst.validation.test.internal.util;
-
-import java.io.File;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.Comparator;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Set;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.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.IProgressMonitor;
-import org.eclipse.jst.validation.test.BVTValidationException;
-import org.eclipse.jst.validation.test.BVTValidationPlugin;
-import org.eclipse.jst.validation.test.internal.registry.BVTValidationRegistryReader;
-import org.eclipse.jst.validation.test.internal.registry.ITestcaseMetaData;
-import org.eclipse.jst.validation.test.internal.registry.OperationTestcase;
-import org.eclipse.jst.validation.test.internal.registry.TestcaseUtility;
-import org.eclipse.jst.validation.test.internal.registry.ValidatorTestcase;
-import org.eclipse.wst.validation.internal.ConfigurationConstants;
-import org.eclipse.wst.validation.internal.ValidationRegistryReader;
-import org.eclipse.wst.validation.internal.ValidatorMetaData;
-
-/**
- * @version 	1.0
- * @author
- */
-public final class BVTValidationUtility {
-	private BVTValidationUtility() {
-	}
-	
-	public static ValidatorMetaData getValidatorMetaData(IMarker marker) {
-		String validatorClassName = null;
-		try {
-			validatorClassName = marker.getAttribute(ConfigurationConstants.VALIDATION_MARKER_OWNER).toString();
-			ValidatorMetaData vmd = ValidationRegistryReader.getReader().getValidatorMetaData(validatorClassName);
-			return vmd;
-		}
-		catch (CoreException exc) {
-		}
-		return null;		
-	}
-	
-	private static IMarker[] getValidationTasks(IResource resource) {
-		try {
-			IMarker[] allMarkers = resource.findMarkers(ConfigurationConstants.VALIDATION_MARKER, false, IResource.DEPTH_INFINITE); // false means only consider PROBLEM_MARKER, not variants of PROBLEM_MARKER. Since addTask only adds PROBLEM_MARKER, we don't need to consider its subtypes.
-			return allMarkers;
-		}
-		catch (CoreException exc) {
-			return null;
-		}
-	}
-	
-	public static void removeAllValidationMarkers() {
-		IWorkspace workspace = ResourcesPlugin.getWorkspace();
-		IWorkspaceRoot root = workspace.getRoot();
-		IMarker[] markers = getValidationTasks(root);
-		if(markers != null) {
-			try {
-				workspace.deleteMarkers(markers);
-			}
-			catch(CoreException e) {
-			}
-		}
-	}
-
-	public static String getProjectName(File file) {
-		String fileName = file.getName();
-		int extIndex = fileName.indexOf('.');
-		if(extIndex > 0) {
-			return fileName.substring(0, extIndex);
-		}
-		else {
-			return fileName;
-		}
-	}
-
-	public static String getQualifiedLogName(String logFileName) {
-		String dir = BVTValidationPlugin.getPlugin().getStateLocation().toOSString();
-		File dirWithFile = new File(dir, logFileName);
-		return dirWithFile.toString();
-	}
-	
-	public static IProject[] getProjects(ITestcaseMetaData[] tmds) {
-		List sortedList = new ArrayList();
-		for(int i=0; i<tmds.length; i++) {
-			IProject p = TestcaseUtility.findProject(tmds[i]);
-			if((p != null) && (p.exists()) && (p.isOpen()) && !sortedList.contains(p)) {
-				sortedList.add(p);
-			}
-		}
-		Collections.sort(sortedList, new Comparator() {
-			public int compare(Object a, Object b){
-				if((a == null) && (b == null)) {
-					return 0;
-				}
-				else if(a == null) {
-					return 1;
-				}
-				else if(b == null) {
-					return -1;
-				}
-			
-				if((a instanceof IProject) && (b instanceof IProject)) {
-					return ((IProject)a).getName().compareTo(((IProject)b).getName());
-				}
-				
-				return -1; // should never reach here...both Objects should always be IProjects
-			}
-		});
-		IProject[] result = new IProject[sortedList.size()];
-		sortedList.toArray(result);
-		return result;
-	}
-
-	public static ITestcaseMetaData[] getTests(ITestcaseMetaData[] tmds, IProject p) {
-		ITestcaseMetaData[] temp = new ITestcaseMetaData[tmds.length];
-		int count = 0;
-		for(int i=0; i<tmds.length; i++) {
-			ITestcaseMetaData tmd = tmds[i];
-			if(tmd.getProjectName().equals(p.getName())) {
-				temp[count++] = tmd;
-			}
-		}
-		
-		ITestcaseMetaData[] result = new ITestcaseMetaData[count];
-		System.arraycopy(temp, 0, result, 0, count);
-		return result;
-	}
-
-	/**
-	 * Return the total number of validator tests.
-	 */	
-	public static int numValidatorTests(IProgressMonitor monitor, IProject[] projects) throws BVTValidationException {	
-		BVTValidationRegistryReader reader = BVTValidationRegistryReader.getReader();
-		
-		int totalTests = 0;
-		for(int i=0; i<projects.length; i++) {
-			IProject project = projects[i];
-			ValidatorTestcase[] tests = reader.getValidatorTests(monitor, project);
-			if((tests == null) || (tests.length == 0)) {
-				continue;
-			}
-			
-			totalTests += tests.length;
-		}
-		
-		return totalTests;
-	}
-	
-	/**
-	 * Return all public (visible) test cases for a particular project.
-	 */
-	public static ValidatorTestcase[] getValidatorTests(IProgressMonitor monitor, IProject[] projects) {
-		Set testSet = new HashSet();		
-		for(int i=0; i<projects.length; i++) {
-			IProject project = projects[i];
-			ValidatorTestcase[] tests = getValidatorTests(monitor, project);
-			if(tests.length == 0) {
-				continue;
-			}
-			
-			for(int j=0; j<tests.length; j++) {
-				ValidatorTestcase vt = tests[j];
-				testSet.add(vt);
-			}
-		}
-		
-		ValidatorTestcase[] result = new ValidatorTestcase[testSet.size()];
-		testSet.toArray(result);
-		return result;
-	}
-
-	/**
-	 * Return all visible validator test cases for a project.
-	 */
-	public static ValidatorTestcase[] getValidatorTests(IProgressMonitor monitor, IProject project) {
-		BVTValidationRegistryReader reader = BVTValidationRegistryReader.getReader();
-
-		ValidatorTestcase[] tests = reader.getValidatorTests(monitor, project);
-		if(tests == null) {
-			return new ValidatorTestcase[0];
-		}
-		
-		return tests;
-	}
-
-	/**
-	 * Return all of the tests.
-	 */
-	public static OperationTestcase[] getOperationTests(IProgressMonitor monitor) {
-		return BVTValidationRegistryReader.getReader().getOperationTests(monitor, (String)null);
-	}
-	
-	public static OperationTestcase[] getOperationTests(IProgressMonitor monitor, IProject project) {
-		BVTValidationRegistryReader reader = BVTValidationRegistryReader.getReader();
-
-		OperationTestcase[] tests = reader.getOperationTests(monitor, project);
-		if(tests == null) {
-			return new OperationTestcase[0];
-		}
-		
-		return tests;
-	}
-
-	/**
-	 * Return all of the tests.
-	 */
-	public static ValidatorTestcase[] getValidatorTests(IProgressMonitor monitor) {
-		return BVTValidationRegistryReader.getReader().getValidatorTests(monitor, (String)null);
-	}
-	
-	/**
-	 * Return all of the tests, visible and invisible, owned by the validator metadata.
-	 */
-	public static ValidatorTestcase[] getValidatorTests(IProgressMonitor monitor, ValidatorMetaData vmd) {
-		ValidatorTestcase[] allTests = BVTValidationRegistryReader.getReader().getValidatorTests(monitor, (String)null);
-		ValidatorTestcase[] temp = new ValidatorTestcase[allTests.length];
-		int count = 0;
-		for(int i=0; i<allTests.length; i++) {
-			ValidatorTestcase testvmd = allTests[i];
-			if(vmd.equals(testvmd.getValidatorMetaData())) {
-				temp[count++] = testvmd;
-			}
-		}
-		ValidatorTestcase[] result = new ValidatorTestcase[count];
-		System.arraycopy(temp, 0, result, 0, count);
-		return result;
-	}
-	
-	public static ValidatorMetaData[] getValidatorsThatHaveTests(IProgressMonitor monitor) {
-		ValidatorTestcase[] tests = getValidatorTests(monitor);
-		Set temp = new HashSet();
-		for(int i=0; i<tests.length; i++) {
-			ValidatorTestcase vt = tests[i];
-			temp.add(vt.getValidatorMetaData());
-		}
-		
-		ValidatorMetaData[] vmds = new ValidatorMetaData[temp.size()];
-		temp.toArray(vmds);
-		return vmds;
-	}
-}
diff --git a/tests/org.eclipse.jst.validation.test/test/org/eclipse/jst/validation/test/internal/util/BuildInfo.java b/tests/org.eclipse.jst.validation.test/test/org/eclipse/jst/validation/test/internal/util/BuildInfo.java
deleted file mode 100644
index 1b612aa..0000000
--- a/tests/org.eclipse.jst.validation.test/test/org/eclipse/jst/validation/test/internal/util/BuildInfo.java
+++ /dev/null
@@ -1,7 +0,0 @@
-package org.eclipse.jst.validation.test.internal.util;
-public class BuildInfo {
-  public static final String copyright = "Licensed Materials -- Property of IBM\n(c) Copyright International Business Machines Corporation, 2001,2003\nUS Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp.";
-  public static final String fgBuildLevel = "20031112_1915-WB212-AD-V511D-W5";
-  public static String level() { return fgBuildLevel; }
-  public static String getWSABuildLevel() { return fgBuildLevel; }
-}
diff --git a/tests/org.eclipse.jst.validation.test/test/org/eclipse/jst/validation/test/internal/util/RunTestsOperation.java b/tests/org.eclipse.jst.validation.test/test/org/eclipse/jst/validation/test/internal/util/RunTestsOperation.java
deleted file mode 100644
index 8b2b032..0000000
--- a/tests/org.eclipse.jst.validation.test/test/org/eclipse/jst/validation/test/internal/util/RunTestsOperation.java
+++ /dev/null
@@ -1,46 +0,0 @@
-package org.eclipse.jst.validation.test.internal.util;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.jst.validation.test.internal.registry.ITestcaseMetaData;
-import org.eclipse.jst.validation.test.setup.IBuffer;
-
-
-/**
- * Run the BVT of the validator: a full test, an incremental test,
- * and an asynchronous test, if applicable.
- * 
- * This class must NOT be wrapped in an IWorkspaceRunnable or 
- * there will be deadlock during the asynchronous validation test!
- * (Read the comment above VThreadManager::isDone() for details.)
- */
-public class RunTestsOperation {
-	private static RunTestsOperation _inst = null;
-	
-	private RunTestsOperation() {
-	}
-	
-	public static RunTestsOperation singleton() {
-		if(_inst == null) {
-			_inst = new RunTestsOperation();
-		}
-		return _inst;
-	}
-	
-	/**
-	 * @see org.eclipse.core.resources.IWorkspaceRunnable#run(IProgressMonitor)
-	 */
-	public void run(IBuffer buffer, ITestcaseMetaData[] allTmds) {
-		IProject[] projects = BVTValidationUtility.getProjects(allTmds);
-		for(int i=0; i<projects.length; i++) {
-			IProject project = projects[i];
-			ITestcaseMetaData[] tmds = BVTValidationUtility.getTests(allTmds, project);
-			
-			for(int j=0; j<tmds.length; j++) {
-				ITestcaseMetaData tmd = tmds[j];
-				tmd.run(buffer, project);
-			}
-		}
-	}
-	
-
-}
diff --git a/tests/org.eclipse.jst.validation.test/test/org/eclipse/jst/validation/test/setup/AImportOperation.java b/tests/org.eclipse.jst.validation.test/test/org/eclipse/jst/validation/test/setup/AImportOperation.java
deleted file mode 100644
index 8469e04..0000000
--- a/tests/org.eclipse.jst.validation.test/test/org/eclipse/jst/validation/test/setup/AImportOperation.java
+++ /dev/null
@@ -1,113 +0,0 @@
-package org.eclipse.jst.validation.test.setup;
-
-import java.io.File;
-import java.util.logging.Level;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.jem.util.logger.LogEntry;
-import org.eclipse.jem.util.logger.proxy.Logger;
-import org.eclipse.jst.validation.test.BVTValidationPlugin;
-import org.eclipse.jst.validation.test.internal.util.BVTValidationUtility;
-import org.eclipse.wst.validation.internal.operations.ValidatorManager;
-import org.eclipse.wst.validation.plugin.ValidationPlugin;
-
-/**
- * Abstract class that provides some of the functionality required to create
- * a project and populate it with the contents of a file.
- */
-public abstract class AImportOperation implements IImportOperation {
-	private void preRun(IProgressMonitor monitor) {
-		ValidatorManager.getManager().suspendAllValidation(true);
-	}
-	
-	private void postRun(IProgressMonitor monitor) {
-		ValidatorManager.getManager().suspendAllValidation(false);
-	}
-	
-	protected void deleteOldProject(IProgressMonitor monitor, String projectName) {
-		// delete any existing project of this name
-		IProject existingProject = ResourcesPlugin.getWorkspace().getRoot().getProject(projectName);
-		if (existingProject.exists()) {
-			try {
-				existingProject.delete(true, null); // null=no progress mon (don't scare users)
-			}
-			catch (CoreException exc) {
-				Logger logger = BVTValidationPlugin.getPlugin().getMsgLogger();
-				if(logger.isLoggingLevel(Level.SEVERE)) {
-					logger.write(Level.SEVERE, exc);
-				}
-			}
-		}
-	}
-	
-	public boolean run(IProgressMonitor monitor, File file) {
-		boolean imported = true;
-		int executionMap = 0x0;
-		IProject project = null;
-		Logger logger = BVTValidationPlugin.getPlugin().getMsgLogger();
-		try {
-			if(monitor == null) {
-				monitor = new NullProgressMonitor();
-			}
-			
-			preRun(monitor);
-			
-			try {
-				String projectName = BVTValidationUtility.getProjectName(file);
-				deleteOldProject(monitor, projectName);
-				project = createNewProject(monitor, projectName, file);
-				
-				if((project == null) || (!project.isAccessible())) {
-					executionMap |= 0x1;
-					imported = false;
-					String message = "Cannot import file because IProject is null or not accessible."; //$NON-NLS-1$
-					monitor.subTask(message);
-					if(logger.isLoggingLevel(Level.SEVERE)) {
-						LogEntry entry = ValidationPlugin.getLogEntry();
-						entry.setExecutionMap(executionMap);
-						entry.setText(message);
-						logger.write(Level.SEVERE, entry);
-					}
-
-				}
-				else {				
-					imported = importFile(monitor, project, file);
-					executionMap |= 0x2;
-				}
-			}
-			catch (Throwable exc) {
-				executionMap |= 0x4;
-				imported = false;
-				if(logger.isLoggingLevel(Level.SEVERE)) {
-					LogEntry entry = ValidationPlugin.getLogEntry();
-					entry.setTargetException(exc);
-					logger.write(Level.SEVERE, entry);
-				}
-			}
-			finally {
-				postRun(monitor);
-			}
-		}
-		finally {
-			if(!imported) {
-				String projectName = (project == null) ? file.getName() : project.getName();
-				LogEntry entry = ValidationPlugin.getLogEntry();
-				entry.setExecutionMap(executionMap);
-				entry.setText("AImportOperation for " + projectName + " was unsuccessful."); //$NON-NLS-1$ //$NON-NLS-2$
-				logger.write(Level.SEVERE, entry);
-			}
-		}
-		return imported;
-	}
-	
-	protected abstract IProject createNewProject(IProgressMonitor monitor, String projectName, File inputFile);
-	
-	/**
-	 * Return true if the file was imported successfully.
-	 */
-	protected abstract boolean importFile(IProgressMonitor monitor, IProject project, File file);
-}
diff --git a/tests/org.eclipse.jst.validation.test/test/org/eclipse/jst/validation/test/setup/BuildInfo.java b/tests/org.eclipse.jst.validation.test/test/org/eclipse/jst/validation/test/setup/BuildInfo.java
deleted file mode 100644
index 745dcbe..0000000
--- a/tests/org.eclipse.jst.validation.test/test/org/eclipse/jst/validation/test/setup/BuildInfo.java
+++ /dev/null
@@ -1,7 +0,0 @@
-package org.eclipse.jst.validation.test.setup;
-public class BuildInfo {
-  public static final String copyright = "Licensed Materials -- Property of IBM\n(c) Copyright International Business Machines Corporation, 2001,2003\nUS Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp.";
-  public static final String fgBuildLevel = "20031112_1915-WB212-AD-V511D-W5";
-  public static String level() { return fgBuildLevel; }
-  public static String getWSABuildLevel() { return fgBuildLevel; }
-}
diff --git a/tests/org.eclipse.jst.validation.test/test/org/eclipse/jst/validation/test/setup/CheckForUntestedPropertiesOperation.java b/tests/org.eclipse.jst.validation.test/test/org/eclipse/jst/validation/test/setup/CheckForUntestedPropertiesOperation.java
deleted file mode 100644
index 802eb77..0000000
--- a/tests/org.eclipse.jst.validation.test/test/org/eclipse/jst/validation/test/setup/CheckForUntestedPropertiesOperation.java
+++ /dev/null
@@ -1,148 +0,0 @@
-package org.eclipse.jst.validation.test.setup;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.Comparator;
-import java.util.Iterator;
-import java.util.List;
-import java.util.logging.Level;
-
-import org.eclipse.core.resources.IWorkspaceRunnable;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPluginDescriptor;
-import org.eclipse.core.runtime.IPluginRegistry;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jem.util.logger.proxy.Logger;
-import org.eclipse.jst.validation.sample.parser.PropertyLine;
-import org.eclipse.jst.validation.sample.workbenchimpl.PluginPropertyFile;
-import org.eclipse.jst.validation.test.BVTValidationPlugin;
-import org.eclipse.jst.validation.test.ValidationTypeEnum;
-import org.eclipse.jst.validation.test.internal.registry.MessageUtility;
-import org.eclipse.jst.validation.test.internal.registry.ValidatorTestcase;
-import org.eclipse.jst.validation.test.internal.util.BVTValidationUtility;
-import org.eclipse.wst.validation.internal.ValidatorMetaData;
-/**
- * Generate a FVT test case for every EJB Validator validation marker on each
- * selected project.
- */
-public final class CheckForUntestedPropertiesOperation implements IWorkspaceRunnable {
-	private ValidatorMetaData _vmd = null;
-	private IBuffer _buffer = null;
-	private String _resourceBundleName = null;
-	public CheckForUntestedPropertiesOperation(IBuffer buffer, ValidatorMetaData vmd, String resourceBundleName) {
-		setValidatorMetaData(vmd);
-		setBuffer(buffer);
-		setResourceBundleName(resourceBundleName);
-	}
-	public IBuffer getBuffer() {
-		return _buffer;
-	}
-	void setBuffer(IBuffer b) {
-		_buffer = b;
-	}
-	public ValidatorMetaData getValidatorMetaData() {
-		return _vmd;
-	}
-	private String getPluginId(ValidatorMetaData vmd) {
-		try {
-			// TODO Remove this hack once a getter has been added to ValidatorMetaData for its pluginId.
-			if (vmd != null) {
-				ClassLoader cl = vmd.getValidator().getClass().getClassLoader();
-				IPluginRegistry registry = Platform.getPluginRegistry();
-				IPluginDescriptor[] descriptors = registry.getPluginDescriptors();
-				for (int i = 0; i < descriptors.length; i++) {
-					IPluginDescriptor desc = descriptors[i];
-					if (desc.getPluginClassLoader().equals(cl)) {
-						return desc.getUniqueIdentifier();
-					}
-				}
-			}
-		} catch (InstantiationException exc) {
-			Logger logger = BVTValidationPlugin.getPlugin().getMsgLogger();
-			if (logger.isLoggingLevel(Level.SEVERE)) {
-				logger.write(Level.SEVERE, exc);
-			}
-		}
-		return null;
-	}
-	void setValidatorMetaData(ValidatorMetaData vmd) {
-		_vmd = vmd;
-	}
-	public String getResourceBundleName() {
-		return _resourceBundleName;
-	}
-	void setResourceBundleName(String name) {
-		_resourceBundleName = name;
-	}
-	/**
-	 * @see org.eclipse.core.resources.IWorkspaceRunnable#run(IProgressMonitor)
-	 */
-	public void run(IProgressMonitor monitor) throws CoreException {
-		List pLines = null;
-		List untestedLines = new ArrayList();
-		List testedLines = new ArrayList();
-		Comparator comparator = MessageUtility.getMessagePrefixComparator();
-		// Assume that the BVT tests were run on the projects before this menu
-		// action was clicked.
-		// Load and parse the .properties file to know what message ids to look
-		// for.
-		String propFileName = getResourceBundleName();
-		ValidatorMetaData vmd = getValidatorMetaData();
-		monitor.subTask("Attempting to load file: " + propFileName); //$NON-NLS-1$
-		String pluginId = getPluginId(vmd);
-		if (pluginId == null) {
-			monitor.subTask("Cannot load plugin id for validator " + vmd.getValidatorDisplayName()); //$NON-NLS-1$
-			Logger logger = BVTValidationPlugin.getPlugin().getMsgLogger();
-			if (logger.isLoggingLevel(Level.SEVERE)) {
-				logger.write(Level.SEVERE, "Cannot load plugin id for validator " + vmd.getValidatorDisplayName()); //$NON-NLS-1$
-			}
-			return;
-		}
-		PluginPropertyFile pFile = new PluginPropertyFile(pluginId, propFileName);
-		monitor.worked(1);
-		monitor.subTask("Parsing."); //$NON-NLS-1$
-		pLines = pFile.getPropertyLines();
-		Collections.sort(pLines, comparator); // false = no verbose output
-		monitor.worked(1);
-		monitor.subTask("Loading test messages."); //$NON-NLS-1$
-		ValidatorTestcase[] tmds = BVTValidationUtility.getValidatorTests(monitor, vmd);
-		for (int k = 0; k < tmds.length; k++) {
-			ValidatorTestcase tmd = tmds[k];
-			List mssg = tmd.getMessages(ValidationTypeEnum.RUN_VALIDATION);
-			testedLines.addAll(mssg);
-		}
-		Collections.sort(testedLines, comparator);
-		monitor.subTask("Comparing."); //$NON-NLS-1$
-		Iterator iterator = pLines.iterator();
-		while (iterator.hasNext()) {
-			if (monitor.isCanceled()) {
-				return;
-			}
-			PropertyLine line = (PropertyLine)iterator.next();
-			int index = Collections.binarySearch(testedLines, line, comparator);
-			if (index < 0) {
-				// not found.
-				untestedLines.add(line);
-			}
-		}
-		monitor.worked(1);
-		// now see if the list of untested lines has entries.
-		Collections.sort(untestedLines, comparator);
-		Iterator untestediterator = untestedLines.iterator();
-		if (untestediterator.hasNext()) {
-			getBuffer().write("List of messages which are not tested (" + untestedLines.size() + " of " + pLines.size() + ")"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-		} else {
-			getBuffer().write("All messages are tested."); //$NON-NLS-1$
-		}
-		while (untestediterator.hasNext()) {
-			if (monitor.isCanceled()) {
-				return;
-			}
-			PropertyLine line = (PropertyLine)untestediterator.next();
-			getBuffer().write(line.toString());
-		}
-		untestedLines.clear(); // clear the list for the next project
-		testedLines.clear();
-		monitor.worked(1);
-	}
-}
diff --git a/tests/org.eclipse.jst.validation.test/test/org/eclipse/jst/validation/test/setup/IBuffer.java b/tests/org.eclipse.jst.validation.test/test/org/eclipse/jst/validation/test/setup/IBuffer.java
deleted file mode 100644
index 2d0bc81..0000000
--- a/tests/org.eclipse.jst.validation.test/test/org/eclipse/jst/validation/test/setup/IBuffer.java
+++ /dev/null
@@ -1,53 +0,0 @@
-package org.eclipse.jst.validation.test.setup;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-
-/**
- * If information needs to be reported to the user, but that information is long,
- * and the user needs to see it all at the same time (e.g., test case results),
- * then the information is reported to implementations of this class. 
- * Implementations can choose to report the information immediately 
- * (e.g., to System.out), or can append each message, and report the message
- * only once everything is complete. 
- */
-public interface IBuffer extends ITestStatus {
-	/**
-	 * Return the progress monitor that is used for reporting progress
-	 * status as the long-running process executes.
-	 */
-	public IProgressMonitor getProgressMonitor();
-	
-	/**
-	 * Display the message to the user; the buffer implementation may 
-	 * display the message immediately, or may display the message only
-	 * when report() is called.
-	 */
-	public void write(String message);
-	
-	/**
-	 * Between one task and the next, usually between test cases, add a delineating
-	 * mark to show the beginning and end of each task clearly. The parameter 
-	 * passed in, taskName, is the name of the task that is ending.
-	 */
-	public void delineate(String taskName);
-		
-	/**
-	 * If information was not reported immediately, calling this method
-	 * forces the buffer to be reported to the user. The contents of the
-	 * buffer are not cleared; a subseqent call to this method will 
-	 * repeat what has been reported before. Any calls to elapsedTime
-	 * will be reported.
-	 */
-	public void report();
-	
-	/**
-	 * Clear any stored messages from the buffer, but not any elapsedTime 
-	 * numbers from the store.
-	 */
-	public void clear();
-	
-	/**
-	 * Return the fully-qualified name of the log file, or null if none.
-	 */
-	public String getLogFileName();
-}
diff --git a/tests/org.eclipse.jst.validation.test/test/org/eclipse/jst/validation/test/setup/IImportOperation.java b/tests/org.eclipse.jst.validation.test/test/org/eclipse/jst/validation/test/setup/IImportOperation.java
deleted file mode 100644
index 31d0d05..0000000
--- a/tests/org.eclipse.jst.validation.test/test/org/eclipse/jst/validation/test/setup/IImportOperation.java
+++ /dev/null
@@ -1,30 +0,0 @@
-package org.eclipse.jst.validation.test.setup;
-
-import java.io.File;
-import java.lang.reflect.InvocationTargetException;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-
-/**
- * All validation FVT tests must provide an IImportOperation implementation
- * to import the input file.
- */
-public interface IImportOperation {
-	/**
-	 * Runs this operation without forcing a UI dependency. Return true if the file
-	 * was found and imported successfully.
-	 *
-	 * @param monitor the progress monitor to use to display progress and receive
-	 *   requests for cancelation
-	 * @param inputFile the file which needs to be imported into the workbench
-	 * @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 boolean run(IProgressMonitor monitor, File inputFile) throws InvocationTargetException, InterruptedException;
-}
diff --git a/tests/org.eclipse.jst.validation.test/test/org/eclipse/jst/validation/test/setup/ITestStatus.java b/tests/org.eclipse.jst.validation.test/test/org/eclipse/jst/validation/test/setup/ITestStatus.java
deleted file mode 100644
index ba2b936..0000000
--- a/tests/org.eclipse.jst.validation.test/test/org/eclipse/jst/validation/test/setup/ITestStatus.java
+++ /dev/null
@@ -1,56 +0,0 @@
-package org.eclipse.jst.validation.test.setup;
-
-/**
- * Instances of this interface track the execution of a test case,
- * and are used to report a summary of the execution of all of the
- * test cases at the end of a set of test runs.
- */
-public interface ITestStatus {
-	public final int PASS = 0;
-	public final int WARN = 1;
-	public final int FAIL = 2;
-	
-	/**
-	 * To track how long a task takes, call this method with a unique name
-	 * of the task. If the task already exists, the elapsedTime is added
-	 * to the existing time.
-	 */
-	public void addElapsedTime(String taskName, long elapsedTime);
-	
-	/**
-	 * If pass is true, PASS is used; if pass is false, FAIL is used.
-	 */
-	public void addExecutionStatus(String testPassName, boolean pass);
-	
-	/**
-	 * If pass is true, PASS is used; if pass is false, FAIL is used.
-	 * While still considered part of test case "testPassName", this 
-	 * splits this part of the test case into a section named "subTaskName".
-	 */
-	public void addExecutionStatus(String testPassName, String subTaskName, boolean pass);
-	
-	/**
-	 * As each test is executed, this method is used to track how many of that
-	 * type of test pass or fail. passOrFail can be one of three values: PASS, WARN, or FAIL.
-	 * If value is PASS, then the test case passes, and no message needs to be displayed to the user.
-	 * If value is WARN, then the test case passes, and a warning message must be displayed to the user.
-	 * If value is FAIL, then the test case fails, and a failure message must be displayed to the user.
-	 */
-	public void addExecutionStatus(String testcaseName, String subTaskName, int passOrFail, IBuffer buffer, String message);
-	
-	/**
-	 * Return true if all of the test cases run so far have passed; otherwise
-	 * return false. If no test cases have run, return true.
-	 */
-	public boolean isSuccessful();
-	
-	/**
-	 * Return true if a particular test case passed.
-	 */
-	public boolean isSuccessful(String testName);
-	
-	/**
-	 * Reset all variables to the default value to prepare this test status for reuse.
-	 */
-	public void clear();
-}
diff --git a/tests/org.eclipse.jst.validation.test/test/org/eclipse/jst/validation/test/setup/JARImportOperation.java b/tests/org.eclipse.jst.validation.test/test/org/eclipse/jst/validation/test/setup/JARImportOperation.java
deleted file mode 100644
index 8c08400..0000000
--- a/tests/org.eclipse.jst.validation.test/test/org/eclipse/jst/validation/test/setup/JARImportOperation.java
+++ /dev/null
@@ -1,183 +0,0 @@
-package org.eclipse.jst.validation.test.setup;
-
-import java.io.File;
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.Enumeration;
-import java.util.logging.Level;
-import java.util.zip.ZipEntry;
-import java.util.zip.ZipFile;
-
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IFolder;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IProjectDescription;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.SubProgressMonitor;
-import org.eclipse.jdt.core.IClasspathEntry;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jdt.core.JavaModelException;
-import org.eclipse.jem.util.logger.proxy.Logger;
-import org.eclipse.jst.validation.test.BVTValidationPlugin;
-import org.eclipse.wst.validation.internal.operations.ValidatorManager;
-
-/**
- * Create a Java project by importing a JAR file.
- */
-public class JARImportOperation extends AImportOperation {
-	// Most of the code in this class was stolen from the JDT. See org.eclipse.jdt.internal.ui.wizards.buildpaths.BuildPathsBlock.
-	public static void createProject(IProject project, IPath locationPath, IProgressMonitor monitor) throws CoreException {
-		if (monitor == null) {
-			monitor= new NullProgressMonitor();
-		}				
-
-		// create the project
-		try {
-			if (!project.exists()) {
-				IProjectDescription desc= project.getWorkspace().newProjectDescription(project.getName());
-				if (Platform.getLocation().equals(locationPath)) {
-					locationPath= null;
-				}
-				desc.setLocation(locationPath);
-				project.create(desc, monitor);
-				monitor= null;
-			}
-			if (!project.isOpen()) {
-				project.open(monitor);
-				monitor= null;
-			}
-		} finally {
-			if (monitor != null) {
-				monitor.done();
-			}
-		}
-	}
-
-	public static void addJavaNature(IProject project, IProgressMonitor monitor) throws CoreException {
-		if (!project.hasNature(JavaCore.NATURE_ID)) {
-			IProjectDescription description = project.getDescription();
-			String[] prevNatures= description.getNatureIds();
-			String[] newNatures= new String[prevNatures.length + 1];
-			System.arraycopy(prevNatures, 0, newNatures, 0, prevNatures.length);
-			newNatures[prevNatures.length]= JavaCore.NATURE_ID;
-			description.setNatureIds(newNatures);
-			project.setDescription(description, monitor);
-		} else {
-			monitor.worked(1);
-		}
-	}
-	
-	private void configureProject(IProgressMonitor monitor, IProject project) {
-		try {
-			// Set the classpath to the default.
-			IJavaProject jp = JavaCore.create(project);
-			jp.setRawClasspath(null, new SubProgressMonitor(monitor, 7));		
-
-			// Now add rt.jar to it
-			IClasspathEntry[] existingClasspath = jp.getRawClasspath();
-			IClasspathEntry[] classpath= new IClasspathEntry[existingClasspath.length + 1];
-			System.arraycopy(existingClasspath, 0, classpath, 0, existingClasspath.length);
-			IClasspathEntry rtJar = JavaCore.newVariableEntry(new Path("JRE_LIB"), new Path("JRE_SRC"), null); //$NON-NLS-1$ //$NON-NLS-2$
-			classpath[existingClasspath.length] = rtJar;
-			jp.setRawClasspath(classpath, new SubProgressMonitor(monitor, 7));
-			
-			// Enable this java project with the Validation Builder so that automatic validation 
-			// can run on it.
-			ValidatorManager.addProjectBuildValidationSupport(project);
-		}
-		catch(JavaModelException exc) {
-			Logger logger = BVTValidationPlugin.getPlugin().getMsgLogger();
-			if(logger.isLoggingLevel(Level.SEVERE)) {
-				logger.write(Level.SEVERE, exc);
-			}
-		}
-	}
-	
-	/**
-	 * @see org.eclipse.jst.validation.test.setup.AImportOperation#createNewProject(IProgressMonitor, String, File)
-	 */
-	protected IProject createNewProject(IProgressMonitor monitor, String projectName, File inputFile) {
-		IProject project = ResourcesPlugin.getWorkspace().getRoot().getProject(projectName);
-		try {
-			createProject(project, null, monitor);
-			addJavaNature(project, monitor);
-			configureProject(monitor, project);
-		}
-		catch(CoreException exc) {
-			Logger logger = BVTValidationPlugin.getPlugin().getMsgLogger();
-			if(logger.isLoggingLevel(Level.SEVERE)) {
-				logger.write(Level.SEVERE, exc);
-			}
-		}
-		return project;
-	}
-	
-	protected void createFolder(IProgressMonitor monitor, IProject project, IPath pathname) throws CoreException {
-		IFolder folder = project.getFolder(pathname);
-		IContainer container = folder.getParent();
-		if(!container.exists()) {
-			createFolder(monitor, project, container.getProjectRelativePath());
-		}
-		if(!folder.exists()) {
-			// Don't overwrite existing files.
-			folder.create(true, true, monitor); // true=force, true=local
-		}
-	}
-	
-	protected void createFile(IProgressMonitor monitor, IProject project, IPath pathname, InputStream stream) throws CoreException {
-		IFile nfile = project.getFile(pathname);
-		IContainer container = nfile.getParent();
-		if(!container.exists()) {
-			createFolder(monitor, project, container.getProjectRelativePath());
-		}
-		if(!nfile.exists()) {
-			// Don't overwrite existing files.
-			nfile.create(stream, true, monitor);
-		}
-	}
-	
-	/**
-	 * @see org.eclipse.jst.validation.test.setup.AImportOperation#importFile(IProgressMonitor, IProject, File)
-	 */
-	protected boolean importFile(IProgressMonitor monitor, IProject project, File file) {
-		// Import the file 
-		try {
-			ZipFile zipFile = new ZipFile(file);
-			Enumeration zipEntries = zipFile.entries();
-			while(zipEntries.hasMoreElements()) {
-				ZipEntry zipEntry = (ZipEntry)zipEntries.nextElement();
-				IPath pathname = new Path(zipEntry.getName());
-				if(zipEntry.isDirectory()) {
-					createFolder(monitor, project, pathname);
-				}
-				else {
-					createFile(monitor, project, pathname, zipFile.getInputStream(zipEntry));
-				}
-			}
-			return true;
-		}
-		catch(IOException exc) {
-			Logger logger = BVTValidationPlugin.getPlugin().getMsgLogger();
-			if(logger.isLoggingLevel(Level.SEVERE)) {
-				logger.write(Level.SEVERE, exc);
-			}
-			return false;
-		}
-		catch(CoreException exc) {
-			Logger logger = BVTValidationPlugin.getPlugin().getMsgLogger();
-			if(logger.isLoggingLevel(Level.SEVERE)) {
-				logger.write(Level.SEVERE, exc);
-			}
-			return false;
-		}
-	}
-
-}
diff --git a/tests/org.eclipse.jst.validation.test/test/org/eclipse/jst/validation/test/setup/TestCaseGeneratorOperation.java b/tests/org.eclipse.jst.validation.test/test/org/eclipse/jst/validation/test/setup/TestCaseGeneratorOperation.java
deleted file mode 100644
index f2de3ea..0000000
--- a/tests/org.eclipse.jst.validation.test/test/org/eclipse/jst/validation/test/setup/TestCaseGeneratorOperation.java
+++ /dev/null
@@ -1,139 +0,0 @@
-package org.eclipse.jst.validation.test.setup;
-
-import java.text.MessageFormat;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.logging.Level;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IWorkspaceRunnable;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jem.util.logger.proxy.Logger;
-import org.eclipse.jst.validation.test.BVTValidationPlugin;
-import org.eclipse.jst.validation.test.internal.registry.MessageUtility;
-import org.eclipse.wst.validation.core.IMessage;
-import org.eclipse.wst.validation.internal.TaskListUtility;
-import org.eclipse.wst.validation.internal.ValidatorMetaData;
-
-/**
- * Generate an FVT test case, for a selected IProject or IProjects, to
- * be pasted into plugin.xml.
- */
-public final class TestCaseGeneratorOperation implements IWorkspaceRunnable {
-	private final static String _TESTCASE_TEMPLATE_ = "\t\t\t<test \n\t\t\t\tproject=\"{0}\"\n\t\t\t\tinput=\"\"\n\t\t\t\tvalidator=\"{1}\">\n{2}\t\t\t</test>\n"; //$NON-NLS-1$
-	private final static String _TESTCASE_MESSAGE_TEMPLATE_ = "\t\t\t\t<message prefix=\"{0}\" resource=\"{1}\" location=\"{2}\" text=\"{3}\"/>\n"; //$NON-NLS-1$
-	private Map _vmdBuffer = null; // map where the ValidatorMetaData is the key and the value is a StringBuffer
-	private IProject[] _projects = null;
-	private IBuffer _buffer = null;
-	
-	public TestCaseGeneratorOperation(IProject[] projects, IBuffer buffer) {
-		setProjects(projects);
-		setBuffer(buffer);
-		_vmdBuffer = new HashMap();
-	}
-	
-	/**
-	 * Get the buffer where the test case generated output will be sent.
-	 */
-	public IBuffer getBuffer() {
-		return _buffer;
-	}
-	
-	public void setBuffer(IBuffer b) {
-		_buffer = b;
-	}
-	
-	public IProject[] getProjects() {
-		return _projects;
-	}
-	
-	public void setProjects(IProject[] projects) {
-		_projects = projects;
-	}
-
-	/**
-	 * @see org.eclipse.core.resources.IWorkspaceRunnable#run(IProgressMonitor)
-	 */
-	public void run(IProgressMonitor arg0) throws CoreException {
-		try {
-			generate(getProjects());
-		}
-		catch(Throwable exc) {
-			Logger logger = BVTValidationPlugin.getPlugin().getMsgLogger();
-			if(logger.isLoggingLevel(Level.SEVERE)) {
-				logger.write(Level.SEVERE, exc);
-			}
-			getBuffer().write("A Throwable was caught; could not generate the test case. Check the LoggingUtil.log file for details."); //$NON-NLS-1$
-		}
-		finally {
-			_vmdBuffer.clear();
-		}
-	}
-	
-	protected void generate(IProject[] projects) {
-		// First, load all of the validation markers from the selected projects, 
-		// and group them by the validator.
-		for(int i=0; i<projects.length; i++) {
-			IProject project = projects[i];
-			IMarker[] markers = TaskListUtility.getValidationTasks(project, IMessage.ALL_MESSAGES);
-			if((markers == null) || (markers.length == 0)){
-				getBuffer().write("Cannot generate a test case for project " + project.getName() + " until \"Run Validation\" has been run. Enable only the validator whose test case is to be generated, right-click, and \"Run Validation\". Once the validation messages have been reported, a test case can be generated from those messages."); //$NON-NLS-1$ //$NON-NLS-2$
-				continue;
-			}
-			
-			// A test case = one validator on one project => what markers
-			List markerList = new ArrayList();
-			for(int j=0; j<markers.length; j++) {
-				markerList.add(markers[j]);
-			}
-			
-			// Sort the markers by validator, project, prefix, location & resource
-			Collections.sort(markerList, MessageUtility.getMessageComparator(getBuffer(), false));
-
-			Iterator iterator = markerList.iterator();
-			while(iterator.hasNext()) {
-				IMarker marker = (IMarker)iterator.next();			
-				ValidatorMetaData vmd = MessageUtility.getValidator(marker);
-				if(vmd != null) {
-					StringBuffer messageBuffer = getBuffer(vmd);
-					String messageId = MessageUtility.getMessagePrefix(marker);
-					String resource = MessageUtility.getResource(marker);
-					Integer lineNumber = MessageUtility.getLineNumber(marker);
-					String location = (lineNumber == null) ? (location = MessageUtility.getLocation(marker)) : (location = lineNumber.toString());
-					String text = MessageUtility.getMessage(marker); // Emit the text of the message so that, if the message prefixes are changed in the future, it's easy to see that the same test is run with a different prefix, and that the test didn't really fail.
-					text = text.replace('<', '['); // remove the XML reserved characters.
-					text = text.replace('>', ']');
-					text = text.replace('"', '\'');
-					messageBuffer.append(MessageFormat.format(_TESTCASE_MESSAGE_TEMPLATE_, new String[]{messageId, resource, location, text}));
-				}
-			}
-			
-			iterator = _vmdBuffer.keySet().iterator(); // iterate over the vmds
-			while(iterator.hasNext()) {
-				ValidatorMetaData vmd = (ValidatorMetaData)iterator.next();
-				StringBuffer buffer = (StringBuffer)_vmdBuffer.get(vmd);
-				String testcaseTemplate = MessageFormat.format(_TESTCASE_TEMPLATE_, new String[]{project.getName(), vmd.getValidatorUniqueName(), buffer.toString()});
-				
-				getBuffer().write(testcaseTemplate);
-				
-				buffer.delete(0, buffer.length()); // clear the buffer for the next project
-			}
-		}
-	}
-	
-	private StringBuffer getBuffer(ValidatorMetaData vmd) {
-		StringBuffer buffer = (StringBuffer)_vmdBuffer.get(vmd);
-		if(buffer == null) {
-			buffer = new StringBuffer();
-			_vmdBuffer.put(vmd, buffer);
-		}
-		return buffer;
-	}
-
-}
diff --git a/tests/org.eclipse.jst.validation.test/testInput/Properties/aProperties.jar b/tests/org.eclipse.jst.validation.test/testInput/Properties/aProperties.jar
deleted file mode 100644
index 096f4ce..0000000
--- a/tests/org.eclipse.jst.validation.test/testInput/Properties/aProperties.jar
+++ /dev/null
Binary files differ