This commit was manufactured by cvs2svn to create tag 'Root_TEMP_M4'.
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 9c220ab..0000000
--- a/features/org.eclipse.jem.tests-feature/build.properties
+++ /dev/null
@@ -1,6 +0,0 @@
-bin.includes = feature.xml,\
-               feature.properties,\
-               cpl-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/cpl-v10.html b/features/org.eclipse.jem.tests-feature/cpl-v10.html
deleted file mode 100644
index 36aa208..0000000
--- a/features/org.eclipse.jem.tests-feature/cpl-v10.html
+++ /dev/null
@@ -1,125 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<HTML>
-<HEAD>
-<TITLE>Common Public License - v 1.0</TITLE>
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-</HEAD>
-
-<BODY BGCOLOR="#FFFFFF" VLINK="#800000">
-
-
-<P ALIGN="CENTER"><B>Common Public License - v 1.0</B>
-<P><B></B><FONT SIZE="3"></FONT>
-<P><FONT SIZE="3"></FONT><FONT SIZE="2">THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS COMMON PUBLIC LICENSE ("AGREEMENT").  ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT.</FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"><B>1.  DEFINITIONS</B></FONT>
-<P><FONT SIZE="2">"Contribution" means:</FONT>
-
-<UL><FONT SIZE="2">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:</FONT></UL>
-
-
-<UL><FONT SIZE="2">i)	 	changes to the Program, and</FONT></UL>
-
-
-<UL><FONT SIZE="2">ii)		additions to the Program;</FONT></UL>
-
-
-<UL><FONT SIZE="2">where such changes and/or additions to the Program originate from and are distributed by that particular Contributor.  </FONT><FONT SIZE="2">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.  </FONT><FONT SIZE="2">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.  </FONT></UL>
-
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">"Contributor" means any person or entity that distributes the Program.</FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">"Licensed Patents " 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.  </FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2">"Program" means the Contributions distributed in accordance with this Agreement.</FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">"Recipient" means anyone who receives the Program under this Agreement, including all Contributors.</FONT>
-<P><FONT SIZE="2"><B></B></FONT>
-<P><FONT SIZE="2"><B>2.  GRANT OF RIGHTS</B></FONT>
-
-<UL><FONT SIZE="2"></FONT><FONT SIZE="2">a)	</FONT><FONT SIZE="2">Subject to the terms of this Agreement, each Contributor hereby grants</FONT><FONT SIZE="2"> Recipient a non-exclusive, worldwide, royalty-free copyright license to</FONT><FONT SIZE="2" COLOR="#FF0000"> </FONT><FONT SIZE="2">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.</FONT></UL>
-
-
-<UL><FONT SIZE="2"></FONT></UL>
-
-
-<UL><FONT SIZE="2"></FONT><FONT SIZE="2">b) 	Subject to the terms of this Agreement, each Contributor hereby grants </FONT><FONT SIZE="2">Recipient a non-exclusive, worldwide,</FONT><FONT SIZE="2" COLOR="#008000"> </FONT><FONT SIZE="2">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.   </FONT></UL>
-
-
-<UL><FONT SIZE="2"></FONT></UL>
-
-
-<UL><FONT SIZE="2">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.</FONT></UL>
-
-
-<UL><FONT SIZE="2"></FONT></UL>
-
-
-<UL><FONT SIZE="2">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. </FONT></UL>
-
-
-<UL><FONT SIZE="2"></FONT></UL>
-
-<P><FONT SIZE="2"><B>3.  REQUIREMENTS</B></FONT>
-<P><FONT SIZE="2"><B></B>A Contributor may choose to distribute the Program in object code form under its own license agreement, provided that:</FONT>
-
-<UL><FONT SIZE="2">a)	it complies with the terms and conditions of this Agreement; and</FONT></UL>
-
-
-<UL><FONT SIZE="2">b)	its license agreement:</FONT></UL>
-
-
-<UL><FONT SIZE="2">i)	effectively disclaims</FONT><FONT SIZE="2"> 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; </FONT></UL>
-
-
-<UL><FONT SIZE="2">ii) 	effectively excludes on behalf of all Contributors all liability for damages, including direct, indirect, special, incidental and consequential damages, such as lost profits; </FONT></UL>
-
-
-<UL><FONT SIZE="2">iii)</FONT><FONT SIZE="2">	states that any provisions which differ from this Agreement are offered by that Contributor alone and not by any other party; and</FONT></UL>
-
-
-<UL><FONT SIZE="2">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.</FONT><FONT SIZE="2" COLOR="#0000FF"> </FONT><FONT SIZE="2" COLOR="#FF0000"></FONT></UL>
-
-
-<UL><FONT SIZE="2" COLOR="#FF0000"></FONT><FONT SIZE="2"></FONT></UL>
-
-<P><FONT SIZE="2">When the Program is made available in source code form:</FONT>
-
-<UL><FONT SIZE="2">a)	it must be made available under this Agreement; and </FONT></UL>
-
-
-<UL><FONT SIZE="2">b)	a copy of this Agreement must be included with each copy of the Program.  </FONT></UL>
-
-<P><FONT SIZE="2"></FONT><FONT SIZE="2" COLOR="#0000FF"><STRIKE></STRIKE></FONT>
-<P><FONT SIZE="2" COLOR="#0000FF"><STRIKE></STRIKE></FONT><FONT SIZE="2">Contributors may not remove or alter any copyright notices contained within the Program.  </FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">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.  </FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"><B>4.  COMMERCIAL DISTRIBUTION</B></FONT>
-<P><FONT SIZE="2">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 ("Commercial Contributor") hereby agrees to defend and indemnify every other Contributor ("Indemnified Contributor") against any losses, damages and costs (collectively "Losses") 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.</FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">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.</FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2" COLOR="#0000FF"></FONT>
-<P><FONT SIZE="2" COLOR="#0000FF"></FONT><FONT SIZE="2"><B>5.  NO WARRANTY</B></FONT>
-<P><FONT SIZE="2">EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS PROVIDED ON AN "AS IS" 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</FONT><FONT SIZE="2"> solely responsible for determining the appropriateness of using and distributing </FONT><FONT SIZE="2">the Program</FONT><FONT SIZE="2"> and assumes all risks associated with its exercise of rights under this Agreement</FONT><FONT SIZE="2">, including but not limited to the risks and costs of program errors, compliance with applicable laws, damage to or loss of data, </FONT><FONT SIZE="2">programs or equipment, and unavailability or interruption of operations</FONT><FONT SIZE="2">.  </FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2"><B>6.  DISCLAIMER OF LIABILITY</B></FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2">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 </FONT><FONT SIZE="2">(INCLUDING WITHOUT LIMITATION LOST PROFITS),</FONT><FONT SIZE="2"> 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.</FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"><B>7.  GENERAL</B></FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2">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.</FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">If Recipient institutes patent litigation against a Contributor with respect to a patent applicable to software (including a cross-claim or counterclaim in a lawsuit), then any patent licenses granted by that Contributor to such Recipient under this Agreement shall terminate as of the date such litigation is filed.  In addition, 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. </FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">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.  </FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2">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 </FONT><FONT SIZE="2">publish new versions (including revisions) of this Agreement from time to </FONT><FONT SIZE="2">time. No one other than the Agreement Steward has the right to modify this Agreement. IBM is the initial Agreement Steward.   IBM may assign the responsibility to serve as the Agreement Steward to a suitable separate entity.  </FONT><FONT SIZE="2">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 </FONT><FONT SIZE="2">version.  </FONT><FONT SIZE="2">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, </FONT><FONT SIZE="2">by implication, estoppel or otherwise</FONT><FONT SIZE="2">.</FONT><FONT SIZE="2">  All rights in the Program not expressly granted under this Agreement are reserved.</FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">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.</FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT>
-
-</BODY>
-
-</HTML>
\ 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/feature.properties b/features/org.eclipse.jem.tests-feature/feature.properties
deleted file mode 100644
index 81946f8..0000000
--- a/features/org.eclipse.jem.tests-feature/feature.properties
+++ /dev/null
@@ -1,129 +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 Common Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/cpl-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.3 $  $Date: 2004/08/27 15:34:24 $
-#
-
-
-# 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.ORG SOFTWARE USER AGREEMENT\n\
-14th August, 2003\n\
-\n\
-Usage Of Content\n\
-\n\
-ECLIPSE.ORG 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 Eclipse.org\n\
-is provided to you under the terms and conditions of the Common Public\n\
-License Version 1.0 ("CPL"). A copy of the CPL is provided with this\n\
-Content and is also available at http://www.eclipse.org/legal/cpl-v10.html.\n\
-For purposes of the CPL, "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 Eclipse.org 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\
-    - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\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 Eclipse.org 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 af8c380..0000000
--- a/features/org.eclipse.jem.tests-feature/license.html
+++ /dev/null
@@ -1,71 +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.org Software User Agreement</h2>
-<p>14th August, 2003</p>
-
-<h3>Usage Of Content</h3>
-
-<p>ECLIPSE.ORG 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 Eclipse.org is provided to you under the terms and conditions of the Common Public License Version 1.0
-   (&quot;CPL&quot;).  A copy of the CPL is provided with this Content and is also available at <a href="http://www.eclipse.org/legal/cpl-v10.html">http://www.eclipse.org/legal/cpl-v10.html</a>.
-   For purposes of the CPL, &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 Eclipse.org 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 CPL 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>Apache Software License 1.1 (available at <a href="http://www.apache.org/licenses/LICENSE">http://www.apache.org/licenses/LICENSE</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 Eclipse.org 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>
\ No newline at end of file
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 ba54e70..0000000
--- a/features/org.eclipse.jem.tests-feature/sourceTemplatePlugin/about.html
+++ /dev/null
@@ -1,36 +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>20th June, 2002</p>	
-<h3>License</h3>
-<p>Eclipse.org makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise indicated below, the Content is provided to you under the terms and conditions of the
-Common Public License Version 1.0 (&quot;CPL&quot;).  A copy of the CPL is available at <a href="http://www.eclipse.org/legal/cpl-v10.html">http://www.eclipse.org/legal/cpl-v10.html</a>.
-For purposes of the CPL, &quot;Program&quot; will mean 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 CPL.</p>
-
-<h3>Contributions</h3>
-
-<p>If this Content is licensed to you under the terms and conditions of the CPL, any Contributions, as defined in the CPL, uploaded, submitted, or otherwise
-made available to Eclipse.org, members of Eclipse.org and/or the host of Eclipse.org web site, by you that relate to such
-Content are provided under the terms and conditions of the CPL and can be made available to others under the terms of the CPL.</p>
-
-<p>If this Content is licensed to you under license terms and conditions other than the CPL (&quot;Other License&quot;), any modifications, enhancements and/or
-other code and/or documentation (&quot;Modifications&quot;) uploaded, submitted, or otherwise made available to Eclipse.org, members of Eclipse.org and/or the
-host of Eclipse.org, by you that relate to such Content are provided under terms and conditions of the Other License and can be made available
-to others under the terms of the Other License.  In addition, with regard to Modifications for which you are the copyright holder, you are also
-providing the Modifications under the terms and conditions of the CPL and such Modifications can be made available to others under the terms of
-the CPL.</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 bb195a5..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 Common Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/cpl-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.4 $  $Date: 2004/08/27 15:34:24 $
-#
-
-# 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 ac808e9..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 Common Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/cpl-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.2 $  $Date: 2003/11/03 19:16:15 $
-#
-
-
-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 9db411a..0000000
--- a/tests/org.eclipse.jem.tests/about.html
+++ /dev/null
@@ -1,30 +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>20th June, 2002</p>	
-<h3>License</h3>
-<p>Eclipse.org makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise indicated below, the Content is provided to you under the terms and conditions of the
-Common Public License Version 1.0 (&quot;CPL&quot;).  A copy of the CPL is available at <a href="http://www.eclipse.org/legal/cpl-v10.html">http://www.eclipse.org/legal/cpl-v10.html</a>.
-For purposes of the CPL, &quot;Program&quot; will mean the Content.</p>
-
-<h3>Contributions</h3>
-
-<p>If this Content is licensed to you under the terms and conditions of the CPL, any Contributions, as defined in the CPL, uploaded, submitted, or otherwise
-made available to Eclipse.org, members of Eclipse.org and/or the host of Eclipse.org web site, by you that relate to such
-Content are provided under the terms and conditions of the CPL and can be made available to others under the terms of the CPL.</p>
-
-<p>If this Content is licensed to you under license terms and conditions other than the CPL (&quot;Other License&quot;), any modifications, enhancements and/or
-other code and/or documentation (&quot;Modifications&quot;) uploaded, submitted, or otherwise made available to Eclipse.org, members of Eclipse.org and/or the
-host of Eclipse.org, by you that relate to such Content are provided under terms and conditions of the Other License and can be made available
-to others under the terms of the Other License.  In addition, with regard to Modifications for which you are the copyright holder, you are also
-providing the Modifications under the terms and conditions of the CPL and such Modifications can be made available to others under the terms of
-the CPL.</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 51a97fa..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 Common Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/cpl-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.5 $  $Date: 2004/08/27 15:33:39 $
-#
-
-# 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 eda7577..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 Common Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/cpl-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 f208c3d..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 Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-/*
- *  $RCSfile: InitParserTest46376.java,v $
- *  $Revision: 1.1 $  $Date: 2003/11/11 16:27:40 $ 
- */
- 
-/**
- * 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 7ecdcfa..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 Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-/*
- *  $RCSfile: SameNameTestClass.java,v $
- *  $Revision: 1.1 $  $Date: 2003/11/11 16:27:40 $ 
- */
-/**
- * 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 a6a7183..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 Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jem.tests;
-/*
- *  $RCSfile: AllSuites.java,v $
- *  $Revision: 1.5 $  $Date: 2004/08/27 15:33:39 $ 
- */
-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 1d844cd..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 Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jem.tests;
-/*
- *  $RCSfile: JavaProjectUtil.java,v $
- *  $Revision: 1.10 $  $Date: 2005/02/03 18:37:19 $ 
- */
-
-
-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 24fa3c3..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 Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jem.tests;
-/*
- *  $RCSfile: JavaTestsPlugin.java,v $
- *  $Revision: 1.4 $  $Date: 2004/08/27 15:33:39 $ 
- */
-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 9da70e4..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 Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jem.tests.beaninfo;
-/*
- *  $RCSfile: AbstractBeanInfoTestCase.java,v $
- *  $Revision: 1.8 $  $Date: 2005/02/04 23:12:00 $ 
- */
-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 be5eb1b..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 Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jem.tests.beaninfo;
-/*
- *  $RCSfile: BeanInfoSuite.java,v $
- *  $Revision: 1.8 $  $Date: 2004/08/27 15:33:39 $ 
- */
-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 dc4e0a6..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 Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jem.tests.beaninfo;
-/*
- *  $RCSfile: TestAWTSwingUI.java,v $
- *  $Revision: 1.6 $  $Date: 2004/11/12 23:11:09 $ 
- */
-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 36aabc6..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 Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jem.tests.beaninfo;
-/*
- *  $RCSfile: TestReflection.java,v $
- *  $Revision: 1.6 $  $Date: 2004/11/12 23:11:09 $ 
- */
-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 8f7b934..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 Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jem.tests.beaninfo;
-/*
- *  $RCSfile: TestStandard.java,v $
- *  $Revision: 1.8 $  $Date: 2004/11/19 21:17:04 $ 
- */
-
-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 4cd7fb7..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 Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jem.tests.instantiation;
-/*
- *  $RCSfile: InstantiationSuite.java,v $
- *  $Revision: 1.8 $  $Date: 2004/08/27 15:33:39 $ 
- */
-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 0d74a8d..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 Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-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 2cb94ac..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 Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-/*
- *  $RCSfile: IListenerTester.java,v $
- *  $Revision: 1.1 $  $Date: 2004/06/09 22:47:00 $ 
- */
-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 bbd0621..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 Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jem.tests.modelListeners;
-/*
- *  $RCSfile: ListenersSuite.java,v $
- *  $Revision: 1.3 $  $Date: 2004/08/27 15:33:39 $ 
- */
-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 199a520..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 Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-/*
- *  $RCSfile: TestBeanInfo.java,v $
- *  $Revision: 1.2 $  $Date: 2004/06/11 15:35:04 $ 
- */
-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 d3641bf..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 Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-/*
- *  $RCSfile: TestBeaninfoAdapterFactory.java,v $
- *  $Revision: 1.1 $  $Date: 2004/06/09 22:47:00 $ 
- */
-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 6eb6052..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 Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-/*
- *  $RCSfile: TestJEM.java,v $
- *  $Revision: 1.2 $  $Date: 2004/06/11 15:35:04 $ 
- */
-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 e6b4fbb..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 Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-/*
- *  $RCSfile: TestJavaJDOMAdapterFactory.java,v $
- *  $Revision: 1.1 $  $Date: 2004/06/09 22:47:00 $ 
- */
-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 d6cfe0c..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 Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-/*
- *  $RCSfile: TestListeners.java,v $
- *  $Revision: 1.1 $  $Date: 2004/06/09 22:47:00 $ 
- */
-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 b7247b8..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 Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-/*
- *  $RCSfile: AbstractTestProxy.java,v $
- *  $Revision: 1.2 $  $Date: 2003/10/27 17:32:36 $ 
- */
-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 ddf65c8..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 Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-/*
- *  $RCSfile: ExpressionTest.java,v $
- *  $Revision: 1.3 $  $Date: 2004/11/10 20:26:10 $ 
- */
-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 095839d..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 Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jem.tests.proxy;
-/*
- *  $RCSfile: ProxySuite.java,v $
- *  $Revision: 1.7 $  $Date: 2004/08/27 15:33:39 $ 
- */
-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 9eabe18..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 Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-/*
- *  $RCSfile: TestAWTProxy.java,v $
- *  $Revision: 1.2 $  $Date: 2003/10/27 17:32:36 $ 
- */
-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 4080b29..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 Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jem.tests.proxy;
-/*
- *  $RCSfile: TestCallback.java,v $
- *  $Revision: 1.3 $  $Date: 2004/08/27 15:33:39 $ 
- */
-
-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 8dfdf42..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 Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jem.tests.proxy;
-/*
- *  $RCSfile: TestCallbackStream.java,v $
- *  $Revision: 1.3 $  $Date: 2004/08/27 15:33:39 $ 
- */
-
-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 c1e5f10..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 Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jem.tests.proxy;
-/*
- *  $RCSfile: TestStandard.java,v $
- *  $Revision: 1.7 $  $Date: 2005/02/11 17:46:25 $ 
- */
-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 b325dc1..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 Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-/*
- *  $RCSfile: IDEProxySuite.java,v $
- *  $Revision: 1.2 $  $Date: 2003/10/27 17:32:36 $ 
- */
-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 a67ec9b..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 Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jem.tests.proxy.initParser;
-/*
- *  $RCSfile: AbstractInitParserTestCase.java,v $
- *  $Revision: 1.4 $  $Date: 2004/08/27 15:33:39 $ 
- */
-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 30725ee..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 Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-/*
- *  $RCSfile: AbstractInitStringParserTestHelper.java,v $
- *  $Revision: 1.1 $  $Date: 2004/01/19 22:50:22 $ 
- */
-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 6236a76..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 Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jem.tests.proxy.initParser;
-/*
- *  $RCSfile: ArrayConstructorTest.java,v $
- *  $Revision: 1.2 $  $Date: 2004/08/27 15:33:39 $ 
- */
-
-/**
- * @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 bc43b40..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 Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-/*
- *  $RCSfile: BlockTest.java,v $
- *  $Revision: 1.3 $  $Date: 2003/11/04 18:34:25 $ 
- */
-
-/**
- * @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 b112078..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 Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-/*
- *  $RCSfile: BorderTest.java,v $
- *  $Revision: 1.3 $  $Date: 2004/11/09 17:16:23 $ 
- */
-
-/**
- * @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 990d3c3..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 Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-/*
- *  $RCSfile: CastTest.java,v $
- *  $Revision: 1.2 $  $Date: 2003/10/27 17:32:36 $ 
- */
-
-/**
- * @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 fe263f0..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 Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-/*
- *  $RCSfile: CharTest.java,v $
- *  $Revision: 1.2 $  $Date: 2003/10/27 17:32:36 $ 
- */
-
-/**
- * @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 369bc20..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 Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-/*
- *  $RCSfile: ExceptionTest.java,v $
- *  $Revision: 1.2 $  $Date: 2003/10/27 17:32:36 $ 
- */
-
-/**
- * @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 d421e21..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 Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jem.tests.proxy.initParser;
-/*
- *  $RCSfile: InitParserSuite.java,v $
- *  $Revision: 1.5 $  $Date: 2004/08/27 15:33:39 $ 
- */
-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 bd9bd9e..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 Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jem.tests.proxy.initParser;
-/*
- *  $RCSfile: InitStringParserTestHelper.java,v $
- *  $Revision: 1.4 $  $Date: 2004/08/27 15:33:39 $ 
- */
-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 f701083..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 Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-/*
- *  $RCSfile: JFCTest.java,v $
- *  $Revision: 1.2 $  $Date: 2003/10/27 17:32:36 $ 
- */
-
-/**
- * @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 2268d26..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 Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-/*
- *  $RCSfile: LiteralTest.java,v $
- *  $Revision: 1.2 $  $Date: 2003/10/27 17:32:36 $ 
- */
-
-/**
- * @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 814e343..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 Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jem.tests.proxy.initParser;
-/*
- *  $RCSfile: MultiArgConstructorTest.java,v $
- *  $Revision: 1.4 $  $Date: 2004/08/27 15:33:39 $ 
- */
-
-/**
- * @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 2f824b9..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 Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-/*
- *  $RCSfile: MultiArgInstanceTest.java,v $
- *  $Revision: 1.2 $  $Date: 2003/10/27 17:32:36 $ 
- */
-
-/**
- * @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 44518e7..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 Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-/*
- *  $RCSfile: MultiArgStaticMethodTest.java,v $
- *  $Revision: 1.2 $  $Date: 2003/10/27 17:32:36 $ 
- */
-
-/**
- * @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 a56cbf1..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 Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-/*
- *  $RCSfile: NavigationParameters.java,v $
- *  $Revision: 1.1 $  $Date: 2003/10/27 17:25:46 $ 
- */
-
-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 989867f..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 Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-/*
- *  $RCSfile: NeedsCodingTest.java,v $
- *  $Revision: 1.2 $  $Date: 2003/10/27 17:32:36 $ 
- */
-
-/**
- * @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 d26e4e4..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 Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-/*
- *  $RCSfile: NumberTest.java,v $
- *  $Revision: 1.2 $  $Date: 2003/10/27 17:32:36 $ 
- */
-
-/**
- * @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 7423f15..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 Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jem.tests.proxy.initParser;
-/*
- *  $RCSfile: OverloadingTest.java,v $
- *  $Revision: 1.5 $  $Date: 2004/08/27 15:33:39 $ 
- */
-
-/**
- * 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 0e3c1c6..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 Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-/*
- *  $RCSfile: SameName46376Test.java,v $
- *  $Revision: 1.1 $  $Date: 2003/11/11 16:27:40 $ 
- */
- 
-/**
- * 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 dd6862e..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 Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jem.tests.proxy.initParser;
-/*
- *  $RCSfile: StringTest.java,v $
- *  $Revision: 1.4 $  $Date: 2004/08/27 15:33:39 $ 
- */
-
-/**
- * @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 4d8fe1b..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 Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-/*
- *  $RCSfile: ASTArraysTest.java,v $
- *  $Revision: 1.2 $  $Date: 2004/02/03 23:18:13 $ 
- */
-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 b54eb32..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 Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-/*
- *  $RCSfile: ASTFieldAccessTest.java,v $
- *  $Revision: 1.2 $  $Date: 2004/02/03 23:18:13 $ 
- */
-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 b4442b3..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 Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-/*
- *  $RCSfile: ASTInnerClassAccessTest.java,v $
- *  $Revision: 1.2 $  $Date: 2004/02/03 23:18:13 $ 
- */
-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 69f7cbb..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 Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-/*
- *  $RCSfile: ASTMiscTest.java,v $
- *  $Revision: 1.1 $  $Date: 2004/01/23 22:53:36 $ 
- */
-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 bb0462d..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 Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-/*
- *  $RCSfile: ASTNestFieldAccessTestData.java,v $
- *  $Revision: 1.1 $  $Date: 2004/01/23 22:53:36 $ 
- */
-
-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 58af25f..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 Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-/*
- *  $RCSfile: ASTOperationsTest.java,v $
- *  $Revision: 1.2 $  $Date: 2004/02/03 23:18:13 $ 
- */
-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 5e20c09..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 Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jem.tests.proxy.initParser.tree;
-/*
- *  $RCSfile: ASTParserSuite.java,v $
- *  $Revision: 1.7 $  $Date: 2004/08/27 15:33:39 $ 
- */
-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 8a0af40..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 Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-/*
- *  $RCSfile: ASTTreeInitStringParserTestHelper.java,v $
- *  $Revision: 1.9 $  $Date: 2004/08/10 17:52:18 $ 
- */
-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 46f60db..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 Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-/*
- *  $RCSfile: InnerClassTestData.java,v $
- *  $Revision: 1.2 $  $Date: 2004/02/03 23:18:13 $ 
- */
-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 9b84e47..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 Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jem.tests.proxy.remote;
-/*
- *  $RCSfile: RemoteProxySuite.java,v $
- *  $Revision: 1.6 $  $Date: 2004/08/27 15:33:39 $ 
- */
-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 952fb38..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 Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-/*
- *  $RCSfile: TestProjectAccess.java,v $
- *  $Revision: 1.2 $  $Date: 2003/10/27 17:32:36 $ 
- */
-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 9dfb229..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 Common Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/cpl-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.1 $  $Date: 2003/10/27 17:25:46 $
-#
-
-
-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/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 a9498e3..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 Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jem.tests.proxy.vm;
-/*
- *  $RCSfile: TestCallback.java,v $
- *  $Revision: 1.3 $  $Date: 2004/08/27 15:33:39 $ 
- */
-
-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 a41d388..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 Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-/*
- *  $RCSfile: TestCallbackStream.java,v $
- *  $Revision: 1.1 $  $Date: 2003/10/27 17:25:46 $ 
- */
-
-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 5cafbb1..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 Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-/*
- *  $RCSfile: TestAccess.java,v $
- *  $Revision: 1.1 $  $Date: 2005/02/10 22:38: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 e05c4df..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 Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-/*
- *  $RCSfile: TestCtorWithNull.java,v $
- *  $Revision: 1.1 $  $Date: 2004/02/09 18:29:36 $ 
- */
-
-/**
- * 
- * @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.j2ee.core.tests/commonArchiveResources/loose_module_workspace/LooseEAREjb/.compatibility b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/loose_module_workspace/LooseEAREjb/.compatibility
deleted file mode 100644
index 55faf28..0000000
--- a/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/loose_module_workspace/LooseEAREjb/.compatibility
+++ /dev/null
@@ -1,2 +0,0 @@
-#Fri Oct 29 14:58:24 EDT 2004

-.j2ee=100

diff --git a/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveTests/org/eclipse/jst/j2ee/archive/emftests/EjbEMFEditTest.java b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveTests/org/eclipse/jst/j2ee/archive/emftests/EjbEMFEditTest.java
index 80b48ca..7207626 100644
--- a/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveTests/org/eclipse/jst/j2ee/archive/emftests/EjbEMFEditTest.java
+++ b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveTests/org/eclipse/jst/j2ee/archive/emftests/EjbEMFEditTest.java
@@ -30,8 +30,8 @@
 import org.eclipse.jst.j2ee.ejb.EjbFactory;
 import org.eclipse.jst.j2ee.ejb.EjbPackage;
 import org.eclipse.jst.j2ee.ejb.RoleSource;
-import org.eclipse.jst.j2ee.ejb.impl.MethodPermissionImpl;
-import org.eclipse.jst.j2ee.ejb.impl.QueryMethodImpl;
+import org.eclipse.jst.j2ee.internal.ejb.impl.MethodPermissionImpl;
+import org.eclipse.jst.j2ee.internal.ejb.impl.QueryMethodImpl;
 import org.eclipse.jst.j2ee.webapplication.WebapplicationFactory;
 import org.eclipse.jst.j2ee.webapplication.WebapplicationPackage;
 import org.eclipse.wst.common.internal.emf.resource.EMF2SAXRendererFactory;
diff --git a/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveTests/org/eclipse/jst/j2ee/archive/emftests/EjbEMFTest.java b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveTests/org/eclipse/jst/j2ee/archive/emftests/EjbEMFTest.java
index 8a44314..010f603 100644
--- a/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveTests/org/eclipse/jst/j2ee/archive/emftests/EjbEMFTest.java
+++ b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveTests/org/eclipse/jst/j2ee/archive/emftests/EjbEMFTest.java
@@ -35,11 +35,11 @@
 import org.eclipse.jst.j2ee.ejb.EjbPackage;
 import org.eclipse.jst.j2ee.ejb.MethodPermission;
 import org.eclipse.jst.j2ee.ejb.RoleSource;
-import org.eclipse.jst.j2ee.ejb.impl.EJBRelationshipRoleImpl;
-import org.eclipse.jst.j2ee.ejb.impl.MethodPermissionImpl;
-import org.eclipse.jst.j2ee.ejb.impl.QueryMethodImpl;
 import org.eclipse.jst.j2ee.internal.J2EEInit;
 import org.eclipse.jst.j2ee.internal.J2EEVersionConstants;
+import org.eclipse.jst.j2ee.internal.ejb.impl.EJBRelationshipRoleImpl;
+import org.eclipse.jst.j2ee.internal.ejb.impl.MethodPermissionImpl;
+import org.eclipse.jst.j2ee.internal.ejb.impl.QueryMethodImpl;
 import org.eclipse.jst.j2ee.webapplication.WebapplicationFactory;
 import org.eclipse.jst.j2ee.webapplication.WebapplicationPackage;
 
diff --git a/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveTests/org/eclipse/jst/j2ee/archive/emftests/ResolverTest.java b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveTests/org/eclipse/jst/j2ee/archive/emftests/ResolverTest.java
index b8d1d55..68c280d 100644
--- a/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveTests/org/eclipse/jst/j2ee/archive/emftests/ResolverTest.java
+++ b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveTests/org/eclipse/jst/j2ee/archive/emftests/ResolverTest.java
@@ -29,8 +29,8 @@
 import org.eclipse.jst.j2ee.ejb.EjbFactory;
 import org.eclipse.jst.j2ee.ejb.EjbPackage;
 import org.eclipse.jst.j2ee.ejb.RoleSource;
-import org.eclipse.jst.j2ee.ejb.impl.MethodPermissionImpl;
-import org.eclipse.jst.j2ee.ejb.impl.QueryMethodImpl;
+import org.eclipse.jst.j2ee.internal.ejb.impl.MethodPermissionImpl;
+import org.eclipse.jst.j2ee.internal.ejb.impl.QueryMethodImpl;
 import org.eclipse.jst.j2ee.webapplication.WebapplicationFactory;
 import org.eclipse.jst.j2ee.webapplication.WebapplicationPackage;
 import org.eclipse.wst.common.internal.emf.resource.RendererFactory;
diff --git a/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveTests/org/eclipse/jst/j2ee/archive/emftests/WarEMFEditTest.java b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveTests/org/eclipse/jst/j2ee/archive/emftests/WarEMFEditTest.java
index da88d8f..26b1964 100644
--- a/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveTests/org/eclipse/jst/j2ee/archive/emftests/WarEMFEditTest.java
+++ b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveTests/org/eclipse/jst/j2ee/archive/emftests/WarEMFEditTest.java
@@ -22,12 +22,12 @@
 import org.eclipse.jst.j2ee.core.tests.bvt.AutomatedBVT;
 import org.eclipse.jst.j2ee.ejb.EjbFactory;
 import org.eclipse.jst.j2ee.ejb.EjbPackage;
+import org.eclipse.jst.j2ee.internal.webapplication.impl.FilterMappingImpl;
 import org.eclipse.jst.j2ee.webapplication.ErrorPage;
 import org.eclipse.jst.j2ee.webapplication.WebAppResource;
 import org.eclipse.jst.j2ee.webapplication.WebType;
 import org.eclipse.jst.j2ee.webapplication.WebapplicationFactory;
 import org.eclipse.jst.j2ee.webapplication.WebapplicationPackage;
-import org.eclipse.jst.j2ee.webapplication.impl.FilterMappingImpl;
 
 
 public class WarEMFEditTest extends GeneralEMFEditingTest {
diff --git a/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveTests/org/eclipse/jst/j2ee/archive/emftests/WarEMFTest.java b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveTests/org/eclipse/jst/j2ee/archive/emftests/WarEMFTest.java
index c7c1154..97902da 100644
--- a/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveTests/org/eclipse/jst/j2ee/archive/emftests/WarEMFTest.java
+++ b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveTests/org/eclipse/jst/j2ee/archive/emftests/WarEMFTest.java
@@ -26,12 +26,12 @@
 import org.eclipse.jst.j2ee.ejb.EjbFactory;
 import org.eclipse.jst.j2ee.ejb.EjbPackage;
 import org.eclipse.jst.j2ee.internal.J2EEVersionConstants;
+import org.eclipse.jst.j2ee.internal.webapplication.impl.FilterMappingImpl;
 import org.eclipse.jst.j2ee.webapplication.ErrorPage;
 import org.eclipse.jst.j2ee.webapplication.WebAppResource;
 import org.eclipse.jst.j2ee.webapplication.WebType;
 import org.eclipse.jst.j2ee.webapplication.WebapplicationFactory;
 import org.eclipse.jst.j2ee.webapplication.WebapplicationPackage;
-import org.eclipse.jst.j2ee.webapplication.impl.FilterMappingImpl;
 
 
 public class WarEMFTest extends GeneralEMFPopulationTest {
diff --git a/tests/org.eclipse.jst.j2ee.tests/.classpath b/tests/org.eclipse.jst.j2ee.tests/.classpath
index 8ec4c78..c63d058 100644
--- a/tests/org.eclipse.jst.j2ee.tests/.classpath
+++ b/tests/org.eclipse.jst.j2ee.tests/.classpath
@@ -3,5 +3,8 @@
 	<classpathentry kind="src" path="j2ee-tests"/>
 	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
 	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
+	<classpathentry kind="src" path="ejbmodule-tests"/>
+	<classpathentry kind="src" path="webmodule-tests"/>
+	<classpathentry kind="src" path="jcamodule-tests"/>
 	<classpathentry kind="output" path="bin"/>
 </classpath>
diff --git a/tests/org.eclipse.jst.j2ee.tests/TestData/.cvsignore b/tests/org.eclipse.jst.j2ee.tests/TestData/.cvsignore
new file mode 100644
index 0000000..d30e719
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.tests/TestData/.cvsignore
@@ -0,0 +1 @@
+tempOutput
diff --git a/tests/org.eclipse.jst.j2ee.tests/TestData/AppClientTests/12AppClientTest.jar b/tests/org.eclipse.jst.j2ee.tests/TestData/AppClientTests/12AppClientTest.jar
new file mode 100644
index 0000000..8cce112
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.tests/TestData/AppClientTests/12AppClientTest.jar
Binary files differ
diff --git a/tests/org.eclipse.jst.j2ee.tests/TestData/AppClientTests/13AppClient.jar b/tests/org.eclipse.jst.j2ee.tests/TestData/AppClientTests/13AppClient.jar
new file mode 100644
index 0000000..79957c4
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.tests/TestData/AppClientTests/13AppClient.jar
Binary files differ
diff --git a/tests/org.eclipse.jst.j2ee.tests/TestData/AppClientTests/13AppClientTest.jar b/tests/org.eclipse.jst.j2ee.tests/TestData/AppClientTests/13AppClientTest.jar
new file mode 100644
index 0000000..f00cf8b
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.tests/TestData/AppClientTests/13AppClientTest.jar
Binary files differ
diff --git a/tests/org.eclipse.jst.j2ee.tests/TestData/AppClientTests/AppClientExpTest.jar b/tests/org.eclipse.jst.j2ee.tests/TestData/AppClientTests/AppClientExpTest.jar
new file mode 100644
index 0000000..b3c7ede
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.tests/TestData/AppClientTests/AppClientExpTest.jar
Binary files differ
diff --git a/tests/org.eclipse.jst.j2ee.tests/TestData/EARImportTests/SimpleEAR.ear b/tests/org.eclipse.jst.j2ee.tests/TestData/EARImportTests/SimpleEAR.ear
new file mode 100644
index 0000000..3bf23c1
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.tests/TestData/EARImportTests/SimpleEAR.ear
Binary files differ
diff --git a/tests/org.eclipse.jst.j2ee.tests/TestData/EARImportTests/Test12EJBEAR.ear b/tests/org.eclipse.jst.j2ee.tests/TestData/EARImportTests/Test12EJBEAR.ear
new file mode 100644
index 0000000..e7c8dc9
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.tests/TestData/EARImportTests/Test12EJBEAR.ear
Binary files differ
diff --git a/tests/org.eclipse.jst.j2ee.tests/TestData/EARImportTests/Test12WEBEJBEAR.ear b/tests/org.eclipse.jst.j2ee.tests/TestData/EARImportTests/Test12WEBEJBEAR.ear
new file mode 100644
index 0000000..c16da2a
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.tests/TestData/EARImportTests/Test12WEBEJBEAR.ear
Binary files differ
diff --git a/tests/org.eclipse.jst.j2ee.tests/TestData/EARImportTests/Test13EJBEAR.ear b/tests/org.eclipse.jst.j2ee.tests/TestData/EARImportTests/Test13EJBEAR.ear
new file mode 100644
index 0000000..edc7beb
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.tests/TestData/EARImportTests/Test13EJBEAR.ear
Binary files differ
diff --git a/tests/org.eclipse.jst.j2ee.tests/TestData/EARImportTests/Test13WEBEJBEAR.ear b/tests/org.eclipse.jst.j2ee.tests/TestData/EARImportTests/Test13WEBEJBEAR.ear
new file mode 100644
index 0000000..e932509
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.tests/TestData/EARImportTests/Test13WEBEJBEAR.ear
Binary files differ
diff --git a/tests/org.eclipse.jst.j2ee.tests/TestData/EARImportTests/Test14EJBEAR.ear b/tests/org.eclipse.jst.j2ee.tests/TestData/EARImportTests/Test14EJBEAR.ear
new file mode 100644
index 0000000..fd22028
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.tests/TestData/EARImportTests/Test14EJBEAR.ear
Binary files differ
diff --git a/tests/org.eclipse.jst.j2ee.tests/TestData/EARImportTests/Test14WEBEJBEAR.ear b/tests/org.eclipse.jst.j2ee.tests/TestData/EARImportTests/Test14WEBEJBEAR.ear
new file mode 100644
index 0000000..86cb493
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.tests/TestData/EARImportTests/Test14WEBEJBEAR.ear
Binary files differ
diff --git a/tests/org.eclipse.jst.j2ee.tests/TestData/EARImportTests/Test14WEBEJBEARWithMetaData.ear b/tests/org.eclipse.jst.j2ee.tests/TestData/EARImportTests/Test14WEBEJBEARWithMetaData.ear
new file mode 100644
index 0000000..17b981a
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.tests/TestData/EARImportTests/Test14WEBEJBEARWithMetaData.ear
Binary files differ
diff --git a/tests/org.eclipse.jst.j2ee.tests/TestData/EARImportTests/UtilityJarTestEAR.ear b/tests/org.eclipse.jst.j2ee.tests/TestData/EARImportTests/UtilityJarTestEAR.ear
new file mode 100644
index 0000000..cb83101
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.tests/TestData/EARImportTests/UtilityJarTestEAR.ear
Binary files differ
diff --git a/tests/org.eclipse.jst.j2ee.tests/TestData/EARImportTests/UtilityJarWebLibWithMetaDataFilesEAR.ear b/tests/org.eclipse.jst.j2ee.tests/TestData/EARImportTests/UtilityJarWebLibWithMetaDataFilesEAR.ear
new file mode 100644
index 0000000..5debb3b
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.tests/TestData/EARImportTests/UtilityJarWebLibWithMetaDataFilesEAR.ear
Binary files differ
diff --git a/tests/org.eclipse.jst.j2ee.tests/TestData/EJBImportTests/Test13EJB.jar b/tests/org.eclipse.jst.j2ee.tests/TestData/EJBImportTests/Test13EJB.jar
new file mode 100644
index 0000000..be00332
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.tests/TestData/EJBImportTests/Test13EJB.jar
Binary files differ
diff --git a/tests/org.eclipse.jst.j2ee.tests/TestData/EJBImportTests/Test14EJB.jar b/tests/org.eclipse.jst.j2ee.tests/TestData/EJBImportTests/Test14EJB.jar
new file mode 100644
index 0000000..f06f754
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.tests/TestData/EJBImportTests/Test14EJB.jar
Binary files differ
diff --git a/tests/org.eclipse.jst.j2ee.tests/TestData/RARImportTests/JDEConnector.rar b/tests/org.eclipse.jst.j2ee.tests/TestData/RARImportTests/JDEConnector.rar
new file mode 100644
index 0000000..f1fb89d
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.tests/TestData/RARImportTests/JDEConnector.rar
Binary files differ
diff --git a/tests/org.eclipse.jst.j2ee.tests/TestData/WARImportTests/Example1.war b/tests/org.eclipse.jst.j2ee.tests/TestData/WARImportTests/Example1.war
new file mode 100644
index 0000000..9c30a38
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.tests/TestData/WARImportTests/Example1.war
Binary files differ
diff --git a/tests/org.eclipse.jst.j2ee.tests/TestData/WARImportTests/Test12Web.war b/tests/org.eclipse.jst.j2ee.tests/TestData/WARImportTests/Test12Web.war
new file mode 100644
index 0000000..ba220b1
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.tests/TestData/WARImportTests/Test12Web.war
Binary files differ
diff --git a/tests/org.eclipse.jst.j2ee.tests/TestData/WARImportTests/Test13Web.war b/tests/org.eclipse.jst.j2ee.tests/TestData/WARImportTests/Test13Web.war
new file mode 100644
index 0000000..22aa926
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.tests/TestData/WARImportTests/Test13Web.war
Binary files differ
diff --git a/tests/org.eclipse.jst.j2ee.tests/TestData/WARImportTests/Test14Web.war b/tests/org.eclipse.jst.j2ee.tests/TestData/WARImportTests/Test14Web.war
new file mode 100644
index 0000000..1eb2a3f
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.tests/TestData/WARImportTests/Test14Web.war
Binary files differ
diff --git a/tests/org.eclipse.jst.j2ee.tests/TestData/testOutput/testOutput.txt b/tests/org.eclipse.jst.j2ee.tests/TestData/testOutput/testOutput.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.tests/TestData/testOutput/testOutput.txt
diff --git a/tests/org.eclipse.jst.j2ee.tests/build.properties b/tests/org.eclipse.jst.j2ee.tests/build.properties
index 61d772f..9b3c21e 100644
--- a/tests/org.eclipse.jst.j2ee.tests/build.properties
+++ b/tests/org.eclipse.jst.j2ee.tests/build.properties
@@ -1,4 +1,9 @@
-source.j2ee-tests.jar = j2ee-tests/
+source.j2ee-tests.jar = j2ee-tests/,\
+                        webmodule-tests/,\
+                        ejbmodule-tests/,\
+                        jcamodule-tests/
 output.j2ee-tests.jar = bin/
 bin.includes = plugin.xml,\
-               j2ee-tests.jar
+               j2ee-tests.jar,\
+               TestData/,\
+               test.xml
diff --git a/tests/org.eclipse.jst.j2ee.tests/ejbmodule-tests/org/eclipse/wtp/j2ee/headless/tests/ejb/operations/AllTests.java b/tests/org.eclipse.jst.j2ee.tests/ejbmodule-tests/org/eclipse/wtp/j2ee/headless/tests/ejb/operations/AllTests.java
new file mode 100644
index 0000000..7ef749a
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.tests/ejbmodule-tests/org/eclipse/wtp/j2ee/headless/tests/ejb/operations/AllTests.java
@@ -0,0 +1,32 @@
+/*
+ * Created on Feb 2, 2004
+ *
+ * To change the template for this generated file go to
+ * Window - Preferences - Java - Code Generation - Code and Comments
+ */
+package org.eclipse.wtp.j2ee.headless.tests.ejb.operations;
+
+import junit.framework.Test;
+import junit.framework.TestSuite;
+
+/**
+ * @author jsholl
+ *
+ * To change the template for this generated type comment go to
+ * Window - Preferences - Java - Code Generation - Code and Comments
+ */
+public class AllTests extends TestSuite {
+
+    public static Test suite(){
+        return new AllTests();
+    }
+    
+    public AllTests(){
+        super("EJB Tests");
+        addTest(EJBExportOperationTest.suite());
+        addTest(EJBImportOperationTest.suite());
+        addTest(EJBProjectCreationOperationTest.suite());
+        addTest(EJBProjectCreationTest.suite());
+    }
+    
+}
diff --git a/tests/org.eclipse.jst.j2ee.tests/ejbmodule-tests/org/eclipse/wtp/j2ee/headless/tests/ejb/operations/EJBExportOperationTest.java b/tests/org.eclipse.jst.j2ee.tests/ejbmodule-tests/org/eclipse/wtp/j2ee/headless/tests/ejb/operations/EJBExportOperationTest.java
new file mode 100644
index 0000000..6312c71
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.tests/ejbmodule-tests/org/eclipse/wtp/j2ee/headless/tests/ejb/operations/EJBExportOperationTest.java
@@ -0,0 +1,48 @@
+/*
+ * Created on Jan 6, 2004
+ *
+ * To change the template for this generated file go to
+ * Window - Preferences - Java - Code Generation - Code and Comments
+ */
+package org.eclipse.wtp.j2ee.headless.tests.ejb.operations;
+
+import junit.framework.Test;
+import junit.framework.TestSuite;
+
+import org.eclipse.jst.j2ee.application.operations.J2EEModuleExportDataModel;
+import org.eclipse.jst.j2ee.internal.ejb.project.operations.EJBModuleExportDataModel;
+import org.eclipse.wtp.j2ee.headless.tests.j2ee.operations.ModuleExportOperationTestCase;
+import org.eclipse.wtp.j2ee.headless.tests.j2ee.operations.ModuleImportOperationTestCase;
+
+/**
+ * @author Administrator
+ *
+ * To change the template for this generated type comment go to
+ * Window - Preferences - Java - Code Generation - Code and Comments
+ */
+public class EJBExportOperationTest extends ModuleExportOperationTestCase {  
+	
+	public EJBExportOperationTest(String name) {
+		super(name);
+	}
+	 
+	public static Test suite() {
+		return new TestSuite(EJBExportOperationTest.class);
+	}
+	
+	/* (non-Javadoc)
+	 * @see org.eclipse.wtp.j2ee.headless.tests.j2ee.operations.ModuleExportOperationTestCase#getExportModel()
+	 */
+	protected J2EEModuleExportDataModel getModelInstance() {
+		return new EJBModuleExportDataModel();
+	}
+	/* (non-Javadoc)
+	 * @see org.eclipse.wtp.j2ee.headless.tests.j2ee.operations.ModuleExportOperationTestCase#getImportTestCase()
+	 */
+	protected ModuleImportOperationTestCase getImportTestCase() {
+		return new EJBImportOperationTest("");
+	}
+	
+	
+
+}
diff --git a/tests/org.eclipse.jst.j2ee.tests/ejbmodule-tests/org/eclipse/wtp/j2ee/headless/tests/ejb/operations/EJBImportOperationTest.java b/tests/org.eclipse.jst.j2ee.tests/ejbmodule-tests/org/eclipse/wtp/j2ee/headless/tests/ejb/operations/EJBImportOperationTest.java
new file mode 100644
index 0000000..b6545b3
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.tests/ejbmodule-tests/org/eclipse/wtp/j2ee/headless/tests/ejb/operations/EJBImportOperationTest.java
@@ -0,0 +1,68 @@
+/*
+ * Created on Jan 5, 2004
+ * 
+ * To change the template for this generated file go to Window - Preferences - Java - Code
+ * Generation - Code and Comments
+ */
+package org.eclipse.wtp.j2ee.headless.tests.ejb.operations;
+
+import junit.framework.Test;
+import junit.framework.TestSuite;
+
+import org.eclipse.jst.j2ee.application.operations.J2EEModuleImportDataModel;
+import org.eclipse.jst.j2ee.internal.ejb.project.operations.EJBModuleImportDataModel;
+import org.eclipse.wst.common.tests.ProjectUtility;
+import org.eclipse.wtp.j2ee.headless.tests.j2ee.operations.ModuleImportOperationTestCase;
+import org.eclipse.wtp.j2ee.headless.tests.plugin.HeadlessTestsPlugin;
+
+/**
+ * @author Administrator
+ * 
+ * To change the template for this generated type comment go to Window - Preferences - Java - Code
+ * Generation - Code and Comments
+ */
+public class EJBImportOperationTest extends ModuleImportOperationTestCase { 
+	
+	public static Test suite() {
+		return new TestSuite(EJBImportOperationTest.class);
+	} 
+
+	public EJBImportOperationTest(String name) {
+		super(name);
+	}  	 
+
+	public void testEJB20Import() throws Exception { 
+		testImport("Test13EJB", getFullPathForEJBJar("Test13EJB.jar")); 
+		
+	} 
+	
+	public String getFullPathForEJBJar(String jarName) {
+	try{
+		return ProjectUtility.getFullFileName(HeadlessTestsPlugin.getDefault(),TESTS_PATH + "\\" + jarName);
+	} catch (Exception e) {
+		e.printStackTrace();
+	  }
+	return jarName;
+	}
+	
+	public void testEJB21Import() throws Exception { 
+		testImport("Test14EJB", getFullPathForEJBJar("Test14EJB.jar")); 
+	} 
+	
+	/* (non-Javadoc)
+	 * @see org.eclipse.wtp.j2ee.headless.tests.j2ee.operations.ModuleImportOperationTestCase#getDirectory()
+	 */
+	protected String getDirectory() {
+		return "EJBImportTests";
+	}
+	
+	/* (non-Javadoc)
+	 * @see org.eclipse.wtp.j2ee.headless.tests.j2ee.operations.ModuleImportOperationTestCase#getModelInstance()
+	 */
+	protected J2EEModuleImportDataModel getModelInstance() {
+		return new EJBModuleImportDataModel();
+	}
+	
+ 
+	
+}
diff --git a/tests/org.eclipse.jst.j2ee.tests/ejbmodule-tests/org/eclipse/wtp/j2ee/headless/tests/ejb/operations/EJBProjectCreationOperationTest.java b/tests/org.eclipse.jst.j2ee.tests/ejbmodule-tests/org/eclipse/wtp/j2ee/headless/tests/ejb/operations/EJBProjectCreationOperationTest.java
new file mode 100644
index 0000000..b39e38b
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.tests/ejbmodule-tests/org/eclipse/wtp/j2ee/headless/tests/ejb/operations/EJBProjectCreationOperationTest.java
@@ -0,0 +1,24 @@
+
+package org.eclipse.wtp.j2ee.headless.tests.ejb.operations;
+
+import junit.framework.Test;
+import junit.framework.TestSuite;
+
+import org.eclipse.jst.j2ee.application.operations.J2EEModuleCreationDataModel;
+import org.eclipse.jst.j2ee.internal.ejb.project.operations.EJBModuleCreationDataModel;
+import org.eclipse.wtp.j2ee.headless.tests.j2ee.operations.ModuleProjectCreationOperationTest;
+
+public class EJBProjectCreationOperationTest extends ModuleProjectCreationOperationTest {
+
+    public static Test suite() {
+        return new TestSuite(EJBProjectCreationOperationTest.class);
+    }
+
+    /* (non-Javadoc)
+     * @see org.eclipse.wtp.j2ee.headless.tests.j2ee.operations.ModuleProjectCreationOperationTest#getProjectCreationDataModel()
+     */
+    public J2EEModuleCreationDataModel getProjectCreationDataModel() {
+        return new EJBModuleCreationDataModel();
+    }
+  
+}
diff --git a/tests/org.eclipse.jst.j2ee.tests/ejbmodule-tests/org/eclipse/wtp/j2ee/headless/tests/ejb/operations/EJBProjectCreationTest.java b/tests/org.eclipse.jst.j2ee.tests/ejbmodule-tests/org/eclipse/wtp/j2ee/headless/tests/ejb/operations/EJBProjectCreationTest.java
new file mode 100644
index 0000000..7db49b6
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.tests/ejbmodule-tests/org/eclipse/wtp/j2ee/headless/tests/ejb/operations/EJBProjectCreationTest.java
@@ -0,0 +1,95 @@
+/*
+ * Created on Jan 6, 2004
+ *
+ * To change the template for this generated file go to
+ * Window - Preferences - Java - Code Generation - Code and Comments
+ */
+package org.eclipse.wtp.j2ee.headless.tests.ejb.operations;
+
+import junit.framework.Test;
+
+import org.eclipse.jst.j2ee.application.operations.J2EEModuleCreationDataModel;
+import org.eclipse.jst.j2ee.internal.J2EEVersionConstants;
+import org.eclipse.wst.common.tests.LogUtility;
+import org.eclipse.wst.common.tests.ProjectUtility;
+import org.eclipse.wst.common.tests.SimpleTestSuite;
+import org.eclipse.wtp.j2ee.headless.tests.j2ee.operations.AbstractProjectCreationTest;
+import org.eclipse.wtp.j2ee.headless.tests.j2ee.operations.RandomObjectGenerator;
+
+/**
+ * @author blancett
+ *
+ * To change the template for this generated type comment go to
+ * Window - Preferences - Java - Code Generation - Code and Comments
+ */
+public class EJBProjectCreationTest extends AbstractProjectCreationTest {
+	
+	
+	public void testVaild11EJBProjectNameCreationWithAlphabeticChars() throws Exception {
+		ProjectUtility.deleteAllProjects();
+		for (int i = 0; i < RandomObjectGenerator.createRandomProjectNumber(); i++)
+			createVaildProjectNameCreationWithAlphabetChars(EJB_PROJECT, J2EEVersionConstants.EJB_1_1_ID, false);
+	}
+	
+	public void testVaildEJB11ProjectNameCreationWithMixedChars() throws Exception {
+		ProjectUtility.deleteAllProjects();
+		for (int i = 0; i < RandomObjectGenerator.createRandomProjectNumber(); i++)
+			createVaildProjectNameCreationWithAlphabetChars(EJB_PROJECT, J2EEVersionConstants.EJB_1_1_ID, true);
+	}
+	
+	public void testVaild20EJBProjectNameCreationAllChars() throws Exception {
+		ProjectUtility.deleteAllProjects();
+		for (int i = 0; i < RandomObjectGenerator.createRandomProjectNumber(); i++)
+			createVaildProjectNameCreationWithAlphabetChars(EJB_PROJECT, J2EEVersionConstants.EJB_2_0_ID, true);
+	}
+	
+	public void testVaild20EJBProjectNameCreationWithAlphabetic() throws Exception {
+		ProjectUtility.deleteAllProjects();
+		for (int i = 0; i < RandomObjectGenerator.createRandomProjectNumber(); i++)
+			createVaildProjectNameCreationWithAlphabetChars(EJB_PROJECT, J2EEVersionConstants.EJB_2_0_ID, false);
+	}
+	
+	public void testVaildRandomVersionsEJBProjectNameCreationAllChars() throws Exception {
+		ProjectUtility.deleteAllProjects();
+		for (int i = 0; i < RandomObjectGenerator.createRandomProjectNumber(); i++) {
+			if (RandomObjectGenerator.createRandomProjectNumber() % 2 == 0)
+				createVaildProjectNameCreationWithAlphabetChars(EJB_PROJECT, J2EEVersionConstants.EJB_1_1_ID, true);
+			else
+				createVaildProjectNameCreationWithAlphabetChars(EJB_PROJECT, J2EEVersionConstants.EJB_2_0_ID, true);
+		}
+	}
+	
+	public void testVaildRandomVersionsEJBProjectNameCreationAlphabetChars() throws Exception {
+		ProjectUtility.deleteAllProjects();
+		for (int i = 0; i < RandomObjectGenerator.createRandomProjectNumber(); i++) {
+			if (RandomObjectGenerator.createRandomProjectNumber() % 2 == 0)
+				createVaildProjectNameCreationWithAlphabetChars(EJB_PROJECT, J2EEVersionConstants.EJB_1_1_ID, false);
+			else
+				createVaildProjectNameCreationWithAlphabetChars(EJB_PROJECT, J2EEVersionConstants.EJB_2_0_ID, false);
+		}
+	}
+	
+	public void testInvaild11EJBProjectNameCreation() throws Exception {
+		ProjectUtility.deleteAllProjects();
+		LogUtility.getInstance().resetLogging();
+		for (int i = 0; i < RandomObjectGenerator.createRandomProjectNumber(); i++) {
+			try {
+				J2EEModuleCreationDataModel model = setupEJBProject(RandomObjectGenerator.createInvalidRandomProjectName(), J2EEVersionConstants.EJB_1_1_ID);
+				checkValidDataModel(model);
+			} catch (Exception e) {
+				if (e instanceof IllegalArgumentException) {
+					System.out.println(ILLEGAL_PROJECT_NAME_MESSAGE + projectName);
+				} else
+					new Exception(UNEXPECTED_ERROR_MESSAGE);
+			} finally {
+				new Exception(TEST_FAILED_MESSAGE);
+			}
+		}
+		LogUtility.getInstance().verifyNoWarnings();
+	}
+
+    public static Test suite() {
+        return new SimpleTestSuite(EJBProjectCreationTest.class);
+    }
+
+}
diff --git a/tests/org.eclipse.jst.j2ee.tests/ejbmodule-tests/org/eclipse/wtp/j2ee/headless/tests/ejb/verifiers/EJBExportDataModelVerifier.java b/tests/org.eclipse.jst.j2ee.tests/ejbmodule-tests/org/eclipse/wtp/j2ee/headless/tests/ejb/verifiers/EJBExportDataModelVerifier.java
new file mode 100644
index 0000000..0552fba
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.tests/ejbmodule-tests/org/eclipse/wtp/j2ee/headless/tests/ejb/verifiers/EJBExportDataModelVerifier.java
@@ -0,0 +1,19 @@
+/*
+ * Created on Jan 5, 2004
+ *
+ * To change the template for this generated file go to
+ * Window - Preferences - Java - Code Generation - Code and Comments
+ */
+package org.eclipse.wtp.j2ee.headless.tests.ejb.verifiers;
+
+import org.eclipse.wtp.j2ee.headless.tests.j2ee.verifiers.ModuleExportDataModelVerifier;
+
+/**
+ * @author Administrator
+ *
+ * To change the template for this generated type comment go to
+ * Window - Preferences - Java - Code Generation - Code and Comments
+ */
+public class EJBExportDataModelVerifier extends ModuleExportDataModelVerifier {
+ 
+}
diff --git a/tests/org.eclipse.jst.j2ee.tests/ejbmodule-tests/org/eclipse/wtp/j2ee/headless/tests/ejb/verifiers/EJBImportDataModelVerifier.java b/tests/org.eclipse.jst.j2ee.tests/ejbmodule-tests/org/eclipse/wtp/j2ee/headless/tests/ejb/verifiers/EJBImportDataModelVerifier.java
new file mode 100644
index 0000000..6315719
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.tests/ejbmodule-tests/org/eclipse/wtp/j2ee/headless/tests/ejb/verifiers/EJBImportDataModelVerifier.java
@@ -0,0 +1,20 @@
+/*
+ * Created on Jan 5, 2004
+ *
+ * To change the template for this generated file go to
+ * Window - Preferences - Java - Code Generation - Code and Comments
+ */
+package org.eclipse.wtp.j2ee.headless.tests.ejb.verifiers;
+
+import org.eclipse.wtp.j2ee.headless.tests.j2ee.verifiers.ModuleImportDataModelVerifier;
+
+/**
+ * @author Administrator
+ *
+ * To change the template for this generated type comment go to
+ * Window - Preferences - Java - Code Generation - Code and Comments
+ */
+public class EJBImportDataModelVerifier extends ModuleImportDataModelVerifier {
+	
+
+}
diff --git a/tests/org.eclipse.jst.j2ee.tests/ejbmodule-tests/org/eclipse/wtp/j2ee/headless/tests/ejb/verifiers/EJBProjectCreationDataModelVerifier.java b/tests/org.eclipse.jst.j2ee.tests/ejbmodule-tests/org/eclipse/wtp/j2ee/headless/tests/ejb/verifiers/EJBProjectCreationDataModelVerifier.java
new file mode 100644
index 0000000..c82fa11
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.tests/ejbmodule-tests/org/eclipse/wtp/j2ee/headless/tests/ejb/verifiers/EJBProjectCreationDataModelVerifier.java
@@ -0,0 +1,63 @@
+/*
+ * Created on Jan 5, 2004
+ *
+ * To change the template for this generated file go to
+ * Window - Preferences - Java - Code Generation - Code and Comments
+ */
+package org.eclipse.wtp.j2ee.headless.tests.ejb.verifiers;
+
+import junit.framework.Assert;
+
+import org.eclipse.core.resources.IProject;
+import org.eclipse.jst.j2ee.application.operations.J2EEModuleCreationDataModel;
+import org.eclipse.jst.j2ee.common.XMLResource;
+import org.eclipse.jst.j2ee.internal.earcreation.EAREditModel;
+import org.eclipse.jst.j2ee.internal.earcreation.EARNatureRuntime;
+import org.eclipse.jst.j2ee.internal.ejb.project.EJBEditModel;
+import org.eclipse.jst.j2ee.internal.ejb.project.EJBNatureRuntime;
+import org.eclipse.jst.j2ee.internal.ejb.project.operations.EJBModuleCreationDataModel;
+import org.eclipse.wst.common.internal.emfworkbench.operation.EditModelOperationDataModel;
+import org.eclipse.wst.common.tests.ProjectUtility;
+import org.eclipse.wtp.j2ee.headless.tests.j2ee.verifiers.ModuleProjectCreationDataModelVerifier;
+
+/**
+ * @author Administrator
+ *
+ * To change the template for this generated type comment go to
+ * Window - Preferences - Java - Code Generation - Code and Comments
+ */
+public class EJBProjectCreationDataModelVerifier extends ModuleProjectCreationDataModelVerifier {
+    /* (non-Javadoc)
+     * @see org.eclipse.wtp.j2ee.headless.tests.j2ee.verifiers.ModuleProjectCreationDataModelVerifier#verifyProjectCreationDataModel(com.ibm.etools.application.operations.J2EEProjectCreationDataModel)
+     */
+    public void verifyProjectCreationDataModel(J2EEModuleCreationDataModel model) {
+        EJBModuleCreationDataModel dataModel = (EJBModuleCreationDataModel)model;
+        ProjectUtility.verifyProject(dataModel.getTargetProject().getName(), true);
+        EJBEditModel editModel = null;
+        Object key = new Object();
+        EJBNatureRuntime ejbRuntime = EJBNatureRuntime.getRuntime(dataModel.getTargetProject());
+        try {
+            editModel = (EJBEditModel)ejbRuntime.getEditModelForRead(dataModel.getStringProperty(EditModelOperationDataModel.EDIT_MODEL_ID), key);
+            XMLResource dd = editModel.getDeploymentDescriptorResource();
+            Assert.assertNotNull("Deployment Descriptor Null", dd);
+        } finally {
+            editModel.releaseAccess(key);
+        }
+        if (dataModel.getBooleanProperty(EJBModuleCreationDataModel.ADD_TO_EAR)) {
+            EARNatureRuntime[] earRuntimes = ejbRuntime.getReferencingEARProjects();
+            IProject earProject = earRuntimes[0].getProject();
+            EAREditModel earEditModel = null;
+            try {
+                Assert.assertTrue("EAR doesn't exist:", earProject.exists());
+                EARNatureRuntime runtime = EARNatureRuntime.getRuntime(earProject);
+                earEditModel = (EAREditModel) earRuntimes[0].getEarEditModelForRead(key);
+                earEditModel.getModuleMapping(dataModel.getTargetProject());
+                //TODO
+            } finally {
+            if(earEditModel != null)
+            	earEditModel.releaseAccess(key);
+            }
+        }
+    }
+
+}
diff --git a/tests/org.eclipse.jst.j2ee.tests/j2ee-tests/org/eclipse/jst/j2ee/core/tests/bvt/AutomatedBVT.java b/tests/org.eclipse.jst.j2ee.tests/j2ee-tests/org/eclipse/jst/j2ee/core/tests/bvt/AutomatedBVT.java
new file mode 100644
index 0000000..7430531
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.tests/j2ee-tests/org/eclipse/jst/j2ee/core/tests/bvt/AutomatedBVT.java
@@ -0,0 +1,63 @@
+/*
+ * Created on Apr 1, 2003
+ *
+ * To change this generated comment go to 
+ * Window>Preferences>Java>Code Generation>Code and Comments
+ */
+package org.eclipse.jst.j2ee.core.tests.bvt;
+
+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;
+import org.eclipse.wtp.j2ee.headless.tests.plugin.AllPluginTests;
+
+
+/**
+ * @author jsholl
+ *
+ * To change this generated comment go to 
+ * Window>Preferences>Java>Code Generation>Code and Comments
+ */
+public class AutomatedBVT extends TestSuite {
+
+    public static String baseDirectory = System.getProperty("user.dir") + java.io.File.separatorChar + "TestData" + java.io.File.separatorChar;
+    
+    static {
+        try {
+            IPluginDescriptor pluginDescriptor = Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.jst.j2ee.tests");
+            URL url = pluginDescriptor.getInstallURL(); 
+        	AutomatedBVT.baseDirectory = Platform.asLocalURL(url).getFile() + "TestData"+ java.io.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 AutomatedBVT() {
+        super();
+        TestSuite suite = (TestSuite) AutomatedBVT.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.j2ee.test.bvt");
+        suite.addTest(AllPluginTests.suite());
+        return suite;
+    }
+}
diff --git a/tests/org.eclipse.jst.j2ee.tests/j2ee-tests/org/eclipse/jst/j2ee/core/tests/bvt/AutomatedBVTEclipse.java b/tests/org.eclipse.jst.j2ee.tests/j2ee-tests/org/eclipse/jst/j2ee/core/tests/bvt/AutomatedBVTEclipse.java
new file mode 100644
index 0000000..ca1ca8d
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.tests/j2ee-tests/org/eclipse/jst/j2ee/core/tests/bvt/AutomatedBVTEclipse.java
@@ -0,0 +1,34 @@
+/*
+ * Created on Mar 25, 2004
+ *
+ * To change the template for this generated file go to
+ * Window - Preferences - Java - Code Generation - Code and Comments
+ */
+package org.eclipse.jst.j2ee.core.tests.bvt;
+
+import java.io.IOException;
+import java.net.URL;
+
+import org.eclipse.core.runtime.IPluginDescriptor;
+import org.eclipse.core.runtime.Platform;
+
+/**
+ * @author jsholl
+ *
+ * To change the template for this generated type comment go to
+ * Window - Preferences - Java - Code Generation - Code and Comments
+ */
+public class AutomatedBVTEclipse extends AutomatedBVT {
+	
+	public AutomatedBVTEclipse(){
+		super();
+		IPluginDescriptor pluginDescriptor = Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.jst.j2ee.tests");
+        URL url = pluginDescriptor.getInstallURL();
+        try {
+        	AutomatedBVT.baseDirectory = Platform.asLocalURL(url).getFile() + "TestData"+ java.io.File.separatorChar;
+		} catch (IOException e) {
+			// TODO Auto-generated catch block
+			e.printStackTrace();
+		}
+	}
+}
diff --git a/tests/org.eclipse.jst.j2ee.tests/j2ee-tests/org/eclipse/jst/j2ee/flexible/project/tests/FlexibleProjectEditTest.java b/tests/org.eclipse.jst.j2ee.tests/j2ee-tests/org/eclipse/jst/j2ee/flexible/project/tests/FlexibleProjectEditTest.java
new file mode 100644
index 0000000..985d28d
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.tests/j2ee-tests/org/eclipse/jst/j2ee/flexible/project/tests/FlexibleProjectEditTest.java
@@ -0,0 +1,19 @@
+/*
+ * Created on Feb 14, 2005
+ *
+ * TODO To change the template for this generated file go to
+ * Window - Preferences - Java - Code Style - Code Templates
+ */
+package org.eclipse.jst.j2ee.flexible.project.tests;
+
+import junit.framework.TestCase;
+
+/**
+ * @author vijayb
+ *
+ * TODO To change the template for this generated type comment go to
+ * Window - Preferences - Java - Code Style - Code Templates
+ */
+public class FlexibleProjectEditTest extends TestCase {
+
+}
diff --git a/tests/org.eclipse.jst.j2ee.tests/j2ee-tests/org/eclipse/jst/j2ee/tests/modulecore/AllTests.java b/tests/org.eclipse.jst.j2ee.tests/j2ee-tests/org/eclipse/jst/j2ee/tests/modulecore/AllTests.java
new file mode 100644
index 0000000..3b6ee50
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.tests/j2ee-tests/org/eclipse/jst/j2ee/tests/modulecore/AllTests.java
@@ -0,0 +1,27 @@
+/*
+ * Created on Feb 18, 2005
+ *
+ * TODO To change the template for this generated file go to
+ * Window - Preferences - Java - Code Style - Code Templates
+ */
+package org.eclipse.jst.j2ee.tests.modulecore;
+
+
+import junit.framework.Test;
+import junit.framework.TestSuite;
+
+/**
+ * To change the template for this generated type comment go to
+ * Window - Preferences - Java - Code Generation - Code and Comments
+ */
+public class AllTests extends TestSuite {
+
+    public static Test suite(){
+        return new AllTests();
+    }
+    
+    public AllTests(){
+        super("ModuleCore Tests");
+        addTest(ModuleStructuralModelTest.suite());
+    }
+}
diff --git a/tests/org.eclipse.jst.j2ee.tests/j2ee-tests/org/eclipse/jst/j2ee/tests/modulecore/FlexibleProjectBuilderTest.java b/tests/org.eclipse.jst.j2ee.tests/j2ee-tests/org/eclipse/jst/j2ee/tests/modulecore/FlexibleProjectBuilderTest.java
new file mode 100644
index 0000000..74de726
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.tests/j2ee-tests/org/eclipse/jst/j2ee/tests/modulecore/FlexibleProjectBuilderTest.java
@@ -0,0 +1,336 @@
+/*******************************************************************************
+ * Copyright (c) 2003, 2004, 2005 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ * 
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.jst.j2ee.tests.modulecore;
+
+import junit.framework.Test;
+import junit.framework.TestCase;
+import junit.framework.TestSuite;
+
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.resources.IFolder;
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.resources.IResource;
+import org.eclipse.core.resources.IWorkspaceDescription;
+import org.eclipse.core.resources.IncrementalProjectBuilder;
+import org.eclipse.core.resources.ResourcesPlugin;
+import org.eclipse.core.runtime.IPath;
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.jst.common.jdt.internal.integration.JavaProjectCreationDataModel;
+import org.eclipse.jst.j2ee.internal.web.archive.operations.WebModuleCreationDataModel;
+import org.eclipse.wst.common.internal.emfworkbench.EMFWorkbenchContext;
+import org.eclipse.wst.common.modulecore.DependentModule;
+import org.eclipse.wst.common.modulecore.ModuleCore;
+import org.eclipse.wst.common.modulecore.ModuleCoreFactory;
+import org.eclipse.wst.common.modulecore.ModuleCoreNature;
+import org.eclipse.wst.common.modulecore.ModuleStructuralModel;
+import org.eclipse.wst.common.modulecore.ModuleType;
+import org.eclipse.wst.common.modulecore.ProjectModules;
+import org.eclipse.wst.common.modulecore.WorkbenchModule;
+import org.eclipse.wst.common.modulecore.WorkbenchModuleResource;
+import org.eclipse.wst.common.modulecore.internal.util.IModuleConstants;
+
+public class FlexibleProjectBuilderTest extends TestCase {
+	public static final String MODULE__RESOURCE_URI_PROTOCOL = "module:/resource/";
+	private IProject project;
+	private EMFWorkbenchContext emfContext;
+
+	public interface IModuleTypesConstants {
+		String MODULE_TYPE_WEB = IModuleConstants.WST_WEB_MODULE;
+	}
+
+    public FlexibleProjectBuilderTest(String name) {
+        super(name);
+        // TODO Auto-generated constructor stub
+    }
+    
+	public static Test suite() {
+		// return new TestSuite(ModuleEditModelTest.class);
+		TestSuite suite = new TestSuite();
+		suite.addTest(new FlexibleProjectBuilderTest("testFlexibleProjectBuilderOutput"));
+		return suite;
+	}
+	
+    /*
+	 * (non-Javadoc)
+	 * 
+	 * @see junit.framework.TestCase#setUp()
+	 */
+	public void setUp() throws Exception {
+	    IWorkspaceDescription desc = ResourcesPlugin.getWorkspace().getDescription();
+	    desc.setAutoBuilding(false);
+	    ResourcesPlugin.getWorkspace().setDescription(desc);
+		getProjectForWebModuleAndLocalWebLib().delete(true, null);
+		getProjectForRemoteWebLib().delete(true, null);
+		super.setUp();
+	}
+	/**
+	 * 
+	 */
+	public void testFlexibleProjectBuilderOutput() throws Exception {
+	    setupContent();
+	    checkForEmptyDeployables();
+	    buildProjects();
+	    checkForDeployablesOutput();
+	}
+
+	/**
+     * 
+     */
+    private void checkForDeployablesOutput() {
+        try {
+            //check web project
+            IProject remoteWeb = getProjectForRemoteWebLib();
+            IFolder[] remoteOutputFolders = ModuleCore.getOutputContainersForProject(remoteWeb);
+            IFolder tempFolder = remoteWeb.getFolder(remoteOutputFolders[0].getName());
+            if(!tempFolder.exists())
+                assertFalse(".deployables should exist, a build has been run", true);
+            
+            if(!tempFolder.getFolder(getRemoteWebLibraryDeployedName()).exists())
+                assertFalse(".deployables/RemoteWebLibProject.jar should exist, a build has been run", true);
+            //check the remote java util project
+            IProject localWeb = getProjectForWebModuleAndLocalWebLib();
+            IFolder[] localOutputFolders = ModuleCore.getOutputContainersForProject(localWeb);
+            tempFolder = localWeb.getFolder(localOutputFolders[0].getName());
+            if(!tempFolder.exists())
+                assertFalse(".deployables should exist, a build has been run", true);
+            tempFolder = tempFolder.getFolder(getWebModuleDeployedName());
+            if(!tempFolder.exists())
+                assertFalse(getWebModuleDeployedName() + " should exist, a build has been run", true);
+            IFolder metaFolder = tempFolder.getFolder("META-INF");
+            if(!metaFolder.exists())
+                assertFalse(getWebModuleDeployedName() + "/META-INF should exist, a build has been run", true);
+            IFile manifest = metaFolder.getFile("MANIFEST.MF");
+            if(!manifest.exists())
+                assertFalse(getWebModuleDeployedName() + "/META-INF/MANIFEST.MF should exist, a build has been run", true);
+            IFolder webInf = tempFolder.getFolder("WEB-INF");
+            if(!webInf.exists())
+                assertFalse(getWebModuleDeployedName() + "/WEB-INF should exist, a build has been run", true);
+            if(!webInf.getFolder("classes").exists())
+                assertFalse(getWebModuleDeployedName() + "/WEB-INF/classes should exist, a build has been run", true);
+            if(!webInf.getFile("web.xml").exists())
+                assertFalse(getWebModuleDeployedName() + "/WEB-INF/web.xml should exist, a build has been run", true);
+            IFolder lib = webInf.getFolder("lib");
+            if(!lib.getFile(getLocalWebLibraryDeployedName()).exists())
+                assertFalse(getWebModuleDeployedName() + "/WEB-INF/lib/LocalWebLibrary.jar should exist, a build has been run", true);  
+            if(!lib.getFile(getRemoteWebLibraryDeployedName()).exists())
+                assertFalse(getWebModuleDeployedName() + "/WEB-INF/lib/RemoteWebLibProject.jar should exist, a build has been run", true);
+          
+        } catch (Exception e) {
+            // TODO Auto-generated catch block
+            e.printStackTrace();
+        }   
+    }
+
+    /**
+     * 
+     */
+    private void buildProjects() {
+        try {
+    	    ResourcesPlugin.getWorkspace().build(IncrementalProjectBuilder.FULL_BUILD, null);           
+        } catch (Exception e) {
+            // TODO: handle exception
+        }
+    }
+
+    /**
+     * 
+     */
+    private void checkForEmptyDeployables() {
+        try {
+            IProject remoteWeb = getProjectForRemoteWebLib();
+            IFolder[] remoteOutputFolders = ModuleCore.getOutputContainersForProject(remoteWeb);
+            IFolder folder = remoteWeb.getFolder(remoteOutputFolders[0].getName());
+            if(folder.exists())
+                assertFalse(".deployables should only exist if a build has been run", true);
+            IProject localWeb = getProjectForWebModuleAndLocalWebLib();
+            IFolder[] localOutputFolders = ModuleCore.getOutputContainersForProject(localWeb);
+            folder = remoteWeb.getFolder(localOutputFolders[0].getName());
+            if(folder.exists())
+                assertFalse(".deployables should only exist if a build has been run", true);
+        } catch (Exception e) {
+            // TODO Auto-generated catch block
+            e.printStackTrace();
+        }    
+    }
+
+	public void setupContent() throws Exception {
+		ModuleCore localModuleCore = null;
+		try {
+			getProjectForWebModuleAndLocalWebLib();
+			
+			IProject containingProject = ModuleCore.getContainingProject(getWebModuleURI());
+			localModuleCore = ModuleCore.getModuleCoreForWrite(containingProject); 
+
+			createLocalModules(localModuleCore);
+
+			// will setup and handle creating the modules model
+			getProjectForRemoteWebLib();
+
+			WorkbenchModule webModule = localModuleCore.findWorkbenchModuleByDeployName(getWebModuleDeployedName());
+
+			addDependentModule(webModule, URI.createURI("WEB-INF/lib"), getLocalWebLibraryModuleURI());
+			addDependentModule(webModule, URI.createURI("WEB-INF/lib"), getRemoteWebLibraryModuleURI());
+
+			localModuleCore.saveIfNecessary(null);
+
+		} finally {
+			if (localModuleCore != null)
+				localModuleCore.dispose();
+		}
+
+	}
+	
+	public IProject getProjectForWebModuleAndLocalWebLib() throws Exception {
+		return getWebProject(getWebModuleAndLocalWebLibModuleProjectName());
+	}
+
+	public IProject getProjectForRemoteWebLib() throws Exception {
+		return getJavaProject(getRemoteWebLibModuleProjectName());
+	}
+	public String getWebModuleAndLocalWebLibModuleProjectName() {
+		return "MyModulesProject"; //$NON-NLS-1$
+	}
+
+	public String getRemoteWebLibModuleProjectName() {
+		return "RemoteWebLibProject"; //$NON-NLS-1$
+	}
+	public IProject getWebProject(String aProjectName) throws Exception {
+		IProject project = ResourcesPlugin.getWorkspace().getRoot().getProject(aProjectName);
+		if (!project.exists())
+			project = createWebProject(aProjectName);
+		return project;
+	}
+
+	public IProject getJavaProject(String aProjectName) throws Exception {
+		IProject project = ResourcesPlugin.getWorkspace().getRoot().getProject(aProjectName);
+		if (!project.exists()) 
+			createJavaProject(aProjectName); 
+		return project;
+	}
+	public IProject createWebProject(String aProjectName) throws Exception {
+
+		project = ResourcesPlugin.getWorkspace().getRoot().getProject(aProjectName);
+		if (!project.exists()) {
+			WebModuleCreationDataModel dataModel = new WebModuleCreationDataModel();
+			dataModel.setProperty(WebModuleCreationDataModel.PROJECT_NAME, aProjectName);
+			dataModel.setProperty(WebModuleCreationDataModel.IS_FLEXIBLE_PROJECT, Boolean.TRUE);
+			dataModel.getDefaultOperation().run(null);
+		}
+		return ResourcesPlugin.getWorkspace().getRoot().getProject(aProjectName);
+	}
+
+	public IProject createJavaProject(String aProjectName) throws Exception {
+
+		project = ResourcesPlugin.getWorkspace().getRoot().getProject(aProjectName);
+		if (!project.exists()) {
+			JavaProjectCreationDataModel dataModel = new JavaProjectCreationDataModel();
+			dataModel.setProperty(JavaProjectCreationDataModel.PROJECT_NAME, aProjectName);
+			dataModel.getDefaultOperation().run(null);
+			project = ResourcesPlugin.getWorkspace().getRoot().getProject(aProjectName);
+			ModuleCoreNature.addModuleCoreNatureIfNecessary(project, null);
+
+			ModuleStructuralModel structuralModel = null;
+			try {
+				structuralModel = ModuleCoreNature.getModuleCoreNature(project).getModuleStructuralModelForWrite(this);
+				structuralModel.prepareProjectModulesIfNecessary();
+				ModuleCore moduleCore = (ModuleCore) structuralModel.getAdapter(ModuleCore.ADAPTER_TYPE);
+				String deployedName = aProjectName + ".jar";
+				URI moduleURI = URI.createURI(MODULE__RESOURCE_URI_PROTOCOL + aProjectName + IPath.SEPARATOR + deployedName);
+				WorkbenchModule utilityModule = addWorkbenchModule(moduleCore.getModuleModelRoot(), deployedName, moduleURI);
+				IResource sourceFolder = project.getFolder("src");
+				addResource(utilityModule, sourceFolder, "/"); //$NON-NLS-1$
+
+				ModuleType utilityModuleType = ModuleCoreFactory.eINSTANCE.createModuleType();
+				utilityModuleType.setModuleTypeId(IModuleConstants.JST_UTILITY_MODULE);
+				utilityModule.setModuleType(utilityModuleType);
+
+				structuralModel.saveIfNecessary(this);
+			} finally {
+				if (structuralModel != null)
+					structuralModel.releaseAccess(this);
+			}
+		}
+		return ResourcesPlugin.getWorkspace().getRoot().getProject(aProjectName);
+	}
+	
+	public void addResource(WorkbenchModule aModule, IResource aSourceFile, String aDeployPath) {
+		WorkbenchModuleResource resource = ModuleCoreFactory.eINSTANCE.createWorkbenchModuleResource();
+		resource.setSourcePath(URI.createURI(aSourceFile.getFullPath().toString()));
+		resource.setDeployedPath(URI.createURI(aDeployPath));
+		aModule.getResources().add(resource);
+	}
+
+	public WorkbenchModule addWorkbenchModule(ProjectModules theModules, String aDeployedName, URI aHandle) {
+		WorkbenchModule module = ModuleCoreFactory.eINSTANCE.createWorkbenchModule();
+		module.setDeployedName(aDeployedName);
+		module.setHandle(aHandle);
+		theModules.getWorkbenchModules().add(module);
+		return module;
+	}
+
+	public void addDependentModule(WorkbenchModule aModule, URI aDeployedPath, URI aHandle) {
+		DependentModule aClasspathDependentModule = ModuleCoreFactory.eINSTANCE.createDependentModule();
+		aClasspathDependentModule.setDeployedPath(aDeployedPath);
+		aClasspathDependentModule.setHandle(aHandle);
+		aModule.getModules().add(aClasspathDependentModule);
+	}
+	
+	public void createLocalModules(ModuleCore moduleCore) throws Exception {
+
+		ProjectModules projectModules = moduleCore.getModuleModelRoot();
+
+		WorkbenchModule webLibraryModule = addWorkbenchModule(projectModules, getLocalWebLibraryDeployedName(), getLocalWebLibraryModuleURI());
+		IFolder localWebLibrary = getProjectForWebModuleAndLocalWebLib().getFolder(getLocalWebLibraryFolderName());
+		if (!localWebLibrary.exists())
+			localWebLibrary.create(true, true, null);
+		addResource(webLibraryModule, localWebLibrary, "/");
+
+		ModuleType webModuleType = ModuleCoreFactory.eINSTANCE.createModuleType();
+		webModuleType.setModuleTypeId(IModuleConstants.JST_UTILITY_MODULE);
+		webLibraryModule.setModuleType(webModuleType);
+	}
+
+	public URI getWebModuleURI() {
+		return URI.createURI(MODULE__RESOURCE_URI_PROTOCOL + getWebModuleAndLocalWebLibModuleProjectName() + IPath.SEPARATOR + getWebModuleDeployedName());
+	}
+
+	public URI getLocalWebLibraryModuleURI() {
+		return URI.createURI(MODULE__RESOURCE_URI_PROTOCOL + getWebModuleAndLocalWebLibModuleProjectName() + IPath.SEPARATOR + getLocalWebLibraryDeployedName());
+	}
+
+	public URI getRemoteWebLibraryModuleURI() {
+		return URI.createURI(MODULE__RESOURCE_URI_PROTOCOL + getRemoteWebLibModuleProjectName() + IPath.SEPARATOR + getRemoteWebLibraryDeployedName());
+	}
+
+	public String getWebModuleDeployedName() {
+		return getWebModuleAndLocalWebLibModuleProjectName() + ".war"; //$NON-NLS-1$
+	}
+
+	public String getLocalWebLibraryDeployedName() {
+		return "LocalWebLibrary.jar"; //$NON-NLS-1$
+	}
+
+	public String getRemoteWebLibraryDeployedName() {
+		return getRemoteWebLibModuleProjectName() + ".jar"; //$NON-NLS-1$
+	}
+
+	public String getModulesFolder() {
+		return "MyWebModule"; //$NON-NLS-1$
+	}
+
+	public String getTestResourcePath() {
+		return "WEB-INF/web.xml"; //$NON-NLS-1$
+	}
+
+	public String getLocalWebLibraryFolderName() {
+		return "WebLibraryContents";
+	}
+}
diff --git a/tests/org.eclipse.jst.j2ee.tests/j2ee-tests/org/eclipse/jst/j2ee/tests/modulecore/ModuleStructuralModelTest.java b/tests/org.eclipse.jst.j2ee.tests/j2ee-tests/org/eclipse/jst/j2ee/tests/modulecore/ModuleStructuralModelTest.java
index 7335150..762df35 100644
--- a/tests/org.eclipse.jst.j2ee.tests/j2ee-tests/org/eclipse/jst/j2ee/tests/modulecore/ModuleStructuralModelTest.java
+++ b/tests/org.eclipse.jst.j2ee.tests/j2ee-tests/org/eclipse/jst/j2ee/tests/modulecore/ModuleStructuralModelTest.java
@@ -14,7 +14,6 @@
 import java.util.List;
 import java.util.Map;
 
-import junit.framework.Assert;
 import junit.framework.Test;
 import junit.framework.TestCase;
 import junit.framework.TestSuite;
@@ -32,24 +31,25 @@
 import org.eclipse.emf.ecore.resource.Resource;
 import org.eclipse.jst.common.jdt.internal.integration.JavaProjectCreationDataModel;
 import org.eclipse.jst.j2ee.internal.web.archive.operations.WebModuleCreationDataModel;
-import org.eclipse.jst.j2ee.internal.web.util.WebEdit;
+import org.eclipse.jst.j2ee.internal.web.util.WebArtifactEdit;
 import org.eclipse.jst.j2ee.webapplication.WebApp;
 import org.eclipse.wst.common.internal.emfworkbench.EMFWorkbenchContext;
 import org.eclipse.wst.common.modulecore.ArtifactEditModel;
 import org.eclipse.wst.common.modulecore.DependentModule;
-import org.eclipse.wst.common.modulecore.IModuleConstants;
+import org.eclipse.wst.common.modulecore.ModuleCore;
 import org.eclipse.wst.common.modulecore.ModuleCoreFactory;
 import org.eclipse.wst.common.modulecore.ModuleCoreNature;
-import org.eclipse.wst.common.modulecore.ModuleEditModelFactory;
 import org.eclipse.wst.common.modulecore.ModuleStructuralModel;
 import org.eclipse.wst.common.modulecore.ModuleType;
 import org.eclipse.wst.common.modulecore.ProjectModules;
 import org.eclipse.wst.common.modulecore.WorkbenchModule;
 import org.eclipse.wst.common.modulecore.WorkbenchModuleResource;
-import org.eclipse.wst.common.modulecore.impl.PlatformURLModuleConnection;
-import org.eclipse.wst.common.modulecore.impl.ResourceTreeRoot;
-import org.eclipse.wst.common.modulecore.util.ModuleCore;
-import org.eclipse.wst.common.modulecore.util.SourcePathProvider;
+import org.eclipse.wst.common.modulecore.internal.impl.ArtifactEditModelFactory;
+import org.eclipse.wst.common.modulecore.internal.impl.PlatformURLModuleConnection;
+import org.eclipse.wst.common.modulecore.internal.impl.ResourceTreeRoot;
+import org.eclipse.wst.common.modulecore.internal.util.IModuleConstants;
+import org.eclipse.wst.common.modulecore.internal.util.SourcePathProvider;
+import org.eclipse.wtp.j2ee.headless.tests.plugin.AllPluginTests;
 
 /**
  * <p>
@@ -118,14 +118,24 @@
 			IProject containingProject = ModuleCore.getContainingProject(getWebModuleURI()); 
 			moduleCore = ModuleCore.getModuleCoreForRead(containingProject);
 			WorkbenchModule[] modules = moduleCore.getWorkbenchModules();
+			ProjectModules pm = moduleCore.getModuleModelRoot();
+			Class clazz = moduleCore.getClass();
+			String name = ModuleCore.getDeployedName(getWebModuleURI());
 			List dependentModules = null;
 			for(int i=0; i<modules.length; i++) {
 				System.out.println("Module: "+modules[i].getDeployedName());
+				List list = modules[i].getResources();
+				for (int j = 0; j < list.size(); j++) {
+					WorkbenchModuleResource wmr = (WorkbenchModuleResource)list.get(j);
+					IResource er = ModuleCore.getEclipseResource(wmr);
+				}
+				// test modulecore API
 				dependentModules = modules[i].getModules(); 			
 				for(int dependentIndex=0; dependentIndex<dependentModules.size(); dependentIndex++) {
 					DependentModule dependentModule = (DependentModule)dependentModules.get(dependentIndex);
 					WorkbenchModule resolvedModule = moduleCore.findWorkbenchModuleByModuleURI(dependentModule.getHandle());
 					System.out.println("\tDependentModule: "+resolvedModule.getDeployedName()+ " in " + resolvedModule.getHandle());
+					boolean b = moduleCore.isLocalDependency(dependentModule);
 				}
 			}
 		} finally {
@@ -139,8 +149,8 @@
 		ArtifactEditModel artifactModel = null;
 		try {
 			URI moduleURI = URI.createURI(MODULE__RESOURCE_URI_PROTOCOL + getWebModuleAndLocalWebLibModuleProjectName() + "/" + getWebModuleAndLocalWebLibModuleProjectName() + ".war");
-			artifactModel = getNature(getProjectForWebModuleAndLocalWebLib()).getModuleEditModelForRead(moduleURI, this);
-			WebEdit editUtility = (WebEdit) artifactModel.getAdapter(WebEdit.ADAPTER_TYPE);
+			artifactModel = getNature(getProjectForWebModuleAndLocalWebLib()).getArtifactEditModelForRead(moduleURI, this);
+			WebArtifactEdit editUtility = (WebArtifactEdit) artifactModel.getAdapter(WebArtifactEdit.ADAPTER_TYPE);
 
 			WebApp webApp = editUtility.getWebApplication();
 			if (webApp == null)
@@ -179,13 +189,13 @@
 	}
 
 	public void testLoadingDocument() throws Exception {
-		ModuleEditModelFactory factory = new ModuleEditModelFactory();
+		ArtifactEditModelFactory factory = new ArtifactEditModelFactory();
 
 		URI moduleURI = URI.createURI(PlatformURLModuleConnection.MODULE_PROTOCOL + IPath.SEPARATOR + getWebModuleAndLocalWebLibModuleProjectName() + IPath.SEPARATOR + getWebModuleDeployedName());
 		URI ddURI = URI.createURI(IPath.SEPARATOR + "WEB-INF" + IPath.SEPARATOR + "web.xml");
 
 		Map params = new HashMap();
-		params.put(ModuleEditModelFactory.PARAM_MODULE_URI, moduleURI);
+		params.put(ArtifactEditModelFactory.PARAM_MODULE_URI, moduleURI);
 		EMFWorkbenchContext context = createEMFWorkbenchContext();
 		ArtifactEditModel editModel = (ArtifactEditModel) factory.createEditModelForWrite(IModuleTypesConstants.MODULE_TYPE_WEB, context, params);
 		Resource ddResource = editModel.getResource(ddURI);
@@ -226,7 +236,7 @@
 
 	public void createLocalModules(ModuleCore moduleCore) throws Exception {
 
-		ProjectModules projectModules = moduleCore.getProjectModules();
+		ProjectModules projectModules = moduleCore.getModuleModelRoot();
 
 		WorkbenchModule webLibraryModule = addWorkbenchModule(projectModules, getLocalWebLibraryDeployedName(), getLocalWebLibraryModuleURI());
 		IFolder localWebLibrary = getProjectForWebModuleAndLocalWebLib().getFolder(getLocalWebLibraryFolderName());
@@ -301,6 +311,9 @@
 			WebModuleCreationDataModel dataModel = new WebModuleCreationDataModel();
 			dataModel.setProperty(WebModuleCreationDataModel.PROJECT_NAME, aProjectName);
 			dataModel.setProperty(WebModuleCreationDataModel.IS_FLEXIBLE_PROJECT, Boolean.TRUE);
+			dataModel.setProperty(WebModuleCreationDataModel.ADD_TO_EAR, Boolean.FALSE);
+			dataModel.setProperty(WebModuleCreationDataModel.ADD_SERVER_TARGET, Boolean.FALSE);
+//			dataModel.setProperty(WebModuleCreationDataModel.SERVER_TARGET_ID, AllPluginTests.JONAS_SERVER.getId());
 			dataModel.getDefaultOperation().run(null);
 		}
 		return ResourcesPlugin.getWorkspace().getRoot().getProject(aProjectName);
@@ -323,7 +336,7 @@
 				ModuleCore moduleCore = (ModuleCore) structuralModel.getAdapter(ModuleCore.ADAPTER_TYPE);
 				String deployedName = aProjectName + ".jar";
 				URI moduleURI = URI.createURI(MODULE__RESOURCE_URI_PROTOCOL + aProjectName + IPath.SEPARATOR + deployedName);
-				WorkbenchModule utilityModule = addWorkbenchModule(moduleCore.getProjectModules(), deployedName, moduleURI);
+				WorkbenchModule utilityModule = addWorkbenchModule(moduleCore.getModuleModelRoot(), deployedName, moduleURI);
 				IResource sourceFolder = project.getFolder("src");
 				addResource(utilityModule, sourceFolder, "/"); //$NON-NLS-1$
 
diff --git a/tests/org.eclipse.jst.j2ee.tests/j2ee-tests/org/eclipse/wtp/j2ee/headless/tests/appclient/operations/AllTests.java b/tests/org.eclipse.jst.j2ee.tests/j2ee-tests/org/eclipse/wtp/j2ee/headless/tests/appclient/operations/AllTests.java
new file mode 100644
index 0000000..a042c18
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.tests/j2ee-tests/org/eclipse/wtp/j2ee/headless/tests/appclient/operations/AllTests.java
@@ -0,0 +1,30 @@
+/*
+ * Created on Feb 2, 2004
+ *
+ * To change the template for this generated file go to
+ * Window - Preferences - Java - Code Generation - Code and Comments
+ */
+package org.eclipse.wtp.j2ee.headless.tests.appclient.operations;
+
+import junit.framework.Test;
+import junit.framework.TestSuite;
+
+/**
+ * @author jsholl
+ *
+ * To change the template for this generated type comment go to
+ * Window - Preferences - Java - Code Generation - Code and Comments
+ */
+public class AllTests extends TestSuite {
+    public static Test suite(){
+        return new AllTests();
+    }
+    
+    public AllTests(){
+        super("App Client Tests");
+        addTest(AppClientExportOperationTest.suite());
+        addTest(AppClientImportOperationTest.suite());
+        addTest(AppClientProjectCreationOperationTest.suite());
+        addTest(AppClientProjectTest.suite());
+    }
+}
diff --git a/tests/org.eclipse.jst.j2ee.tests/j2ee-tests/org/eclipse/wtp/j2ee/headless/tests/appclient/operations/AppClientExportOperationTest.java b/tests/org.eclipse.jst.j2ee.tests/j2ee-tests/org/eclipse/wtp/j2ee/headless/tests/appclient/operations/AppClientExportOperationTest.java
new file mode 100644
index 0000000..dbf6e6a
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.tests/j2ee-tests/org/eclipse/wtp/j2ee/headless/tests/appclient/operations/AppClientExportOperationTest.java
@@ -0,0 +1,49 @@
+/*
+ * Created on Jan 6, 2004
+ * 
+ * To change the template for this generated file go to Window - Preferences - Java - Code
+ * Generation - Code and Comments
+ */
+package org.eclipse.wtp.j2ee.headless.tests.appclient.operations;
+
+import junit.framework.Test;
+
+import org.eclipse.jst.j2ee.application.operations.AppClientModuleExportDataModel;
+import org.eclipse.jst.j2ee.application.operations.J2EEModuleExportDataModel;
+import org.eclipse.wst.common.tests.SimpleTestSuite;
+import org.eclipse.wtp.j2ee.headless.tests.j2ee.operations.ModuleExportOperationTestCase;
+import org.eclipse.wtp.j2ee.headless.tests.j2ee.operations.ModuleImportOperationTestCase;
+
+/**
+ * @author Administrator
+ * 
+ * To change the template for this generated type comment go to Window - Preferences - Java - Code
+ * Generation - Code and Comments
+ */
+public class AppClientExportOperationTest extends ModuleExportOperationTestCase {
+
+	public AppClientExportOperationTest(String name) {
+		super(name);
+	}
+	public static Test suite() {
+		return new SimpleTestSuite(AppClientExportOperationTest.class);
+	}
+	
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see org.eclipse.wtp.j2ee.headless.tests.j2ee.operations.ModuleExportOperationTestCase#getModelInstance()
+	 */
+	protected J2EEModuleExportDataModel getModelInstance() {
+		return new AppClientModuleExportDataModel();
+	}
+	
+	
+	/* (non-Javadoc)
+	 * @see org.eclipse.wtp.j2ee.headless.tests.j2ee.operations.ModuleExportOperationTestCase#getImportTestCase()
+	 */
+	protected ModuleImportOperationTestCase getImportTestCase() {
+		return new AppClientImportOperationTest("");
+	}
+
+}
diff --git a/tests/org.eclipse.jst.j2ee.tests/j2ee-tests/org/eclipse/wtp/j2ee/headless/tests/appclient/operations/AppClientImportOperationTest.java b/tests/org.eclipse.jst.j2ee.tests/j2ee-tests/org/eclipse/wtp/j2ee/headless/tests/appclient/operations/AppClientImportOperationTest.java
new file mode 100644
index 0000000..280d8c5
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.tests/j2ee-tests/org/eclipse/wtp/j2ee/headless/tests/appclient/operations/AppClientImportOperationTest.java
@@ -0,0 +1,47 @@
+/*
+ * Created on Jan 6, 2004
+ *
+ * To change the template for this generated file go to
+ * Window - Preferences - Java - Code Generation - Code and Comments
+ */
+package org.eclipse.wtp.j2ee.headless.tests.appclient.operations;
+
+import junit.framework.Test;
+
+import org.eclipse.jst.j2ee.application.operations.J2EEModuleImportDataModel;
+import org.eclipse.jst.j2ee.applicationclient.creation.AppClientModuleImportDataModel;
+import org.eclipse.wst.common.tests.SimpleTestSuite;
+import org.eclipse.wtp.j2ee.headless.tests.j2ee.operations.ModuleImportOperationTestCase;
+
+/**
+ * @author Administrator
+ *
+ * To change the template for this generated type comment go to
+ * Window - Preferences - Java - Code Generation - Code and Comments
+ */
+public class AppClientImportOperationTest extends ModuleImportOperationTestCase {
+	
+	public AppClientImportOperationTest(String name) {
+		super(name);
+	}
+	
+	public static Test suite() {
+		return new SimpleTestSuite(AppClientImportOperationTest.class);
+	}
+	/* (non-Javadoc)
+	 * @see org.eclipse.wtp.j2ee.headless.tests.j2ee.operations.ModuleImportOperationTestCase#getDirectory()
+	 */
+	protected String getDirectory() {
+		return "AppClientTests";
+	}
+	
+	/* (non-Javadoc)
+	 * @see org.eclipse.wtp.j2ee.headless.tests.j2ee.operations.ModuleImportOperationTestCase#getModelInstance()
+	 */
+	protected J2EEModuleImportDataModel getModelInstance() {
+		return new AppClientModuleImportDataModel();
+	}
+ 
+
+	
+}
diff --git a/tests/org.eclipse.jst.j2ee.tests/j2ee-tests/org/eclipse/wtp/j2ee/headless/tests/appclient/operations/AppClientProjectCreationOperationTest.java b/tests/org.eclipse.jst.j2ee.tests/j2ee-tests/org/eclipse/wtp/j2ee/headless/tests/appclient/operations/AppClientProjectCreationOperationTest.java
new file mode 100644
index 0000000..b4d47f4
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.tests/j2ee-tests/org/eclipse/wtp/j2ee/headless/tests/appclient/operations/AppClientProjectCreationOperationTest.java
@@ -0,0 +1,36 @@
+/*
+ * Created on Nov 6, 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.wtp.j2ee.headless.tests.appclient.operations;
+
+import junit.framework.Test;
+
+import org.eclipse.jst.j2ee.application.operations.J2EEModuleCreationDataModel;
+import org.eclipse.jst.j2ee.applicationclient.creation.AppClientModuleCreationDataModel;
+import org.eclipse.wst.common.tests.SimpleTestSuite;
+import org.eclipse.wtp.j2ee.headless.tests.j2ee.operations.ModuleProjectCreationOperationTest;
+
+/**
+ * @author jsholl
+ *
+ * To change the template for this generated type comment go to
+ * Window&gt;Preferences&gt;Java&gt;Code Generation&gt;Code and Comments
+ */
+public class AppClientProjectCreationOperationTest extends ModuleProjectCreationOperationTest {
+
+    public static String DEFAULT_PROJECT_NAME = "SimpleAppClient";
+    
+    public static Test suite() {
+        return new SimpleTestSuite(AppClientProjectCreationOperationTest.class);
+    }
+
+    public J2EEModuleCreationDataModel getProjectCreationDataModel() {
+        return new AppClientModuleCreationDataModel();
+    }
+
+
+
+}
diff --git a/tests/org.eclipse.jst.j2ee.tests/j2ee-tests/org/eclipse/wtp/j2ee/headless/tests/appclient/operations/AppClientProjectTest.java b/tests/org.eclipse.jst.j2ee.tests/j2ee-tests/org/eclipse/wtp/j2ee/headless/tests/appclient/operations/AppClientProjectTest.java
new file mode 100644
index 0000000..19fac16
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.tests/j2ee-tests/org/eclipse/wtp/j2ee/headless/tests/appclient/operations/AppClientProjectTest.java
@@ -0,0 +1,92 @@
+/*
+ * Created on Jan 6, 2004
+ * 
+ * To change the template for this generated file go to Window - Preferences -
+ * Java - Code Generation - Code and Comments
+ */
+package org.eclipse.wtp.j2ee.headless.tests.appclient.operations;
+
+import junit.framework.Test;
+
+import org.eclipse.core.resources.IProject;
+import org.eclipse.jst.j2ee.application.operations.J2EEModuleCreationDataModel;
+import org.eclipse.jst.j2ee.applicationclient.creation.AppClientModuleCreationDataModel;
+import org.eclipse.jst.j2ee.internal.J2EEVersionConstants;
+import org.eclipse.wst.common.tests.ProjectUtility;
+import org.eclipse.wst.common.tests.SimpleTestSuite;
+import org.eclipse.wtp.j2ee.headless.tests.j2ee.operations.AbstractProjectCreationTest;
+import org.eclipse.wtp.j2ee.headless.tests.j2ee.operations.RandomObjectGenerator;
+
+/**
+ * @author blancett
+ * 
+ * To change the template for this generated type comment go to Window -
+ * Preferences - Java - Code Generation - Code and Comments
+ */
+public class AppClientProjectTest extends AbstractProjectCreationTest {
+
+	public void testVaild12ApplicationClientProjectNameCreationWithAlphabetChars() throws Exception {
+		org.eclipse.wst.common.tests.ProjectUtility.deleteAllProjects();
+		for (int i = 0; i < RandomObjectGenerator.createRandomProjectNumber(); i++) {
+			createVaildProjectNameCreationWithAlphabetChars(APPLICATION_CLIENT_PROJECT, J2EEVersionConstants.J2EE_1_2_ID, false);
+			addJavaMainClassToApplicationModel(ProjectUtility.getProject(projectName));
+		}
+	}
+
+	public void testVaild12ApplicationClientCreationWithMixedChars() throws Exception {
+		ProjectUtility.deleteAllProjects();
+		for (int i = 0; i < RandomObjectGenerator.createRandomProjectNumber(); i++)
+			createVaildProjectNameCreationWithAlphabetChars(APPLICATION_CLIENT_PROJECT, J2EEVersionConstants.J2EE_1_2_ID, true);
+	}
+
+	public void testVaild13ApplicationClientNameCreationWithAlphabetChars() throws Exception {
+		ProjectUtility.deleteAllProjects();
+		for (int i = 0; i < RandomObjectGenerator.createRandomProjectNumber(); i++)
+			createVaildProjectNameCreationWithAlphabetChars(APPLICATION_CLIENT_PROJECT, J2EEVersionConstants.J2EE_1_3_ID, false);
+	}
+
+	public void testVaild13ApplicationClientNameCreationAllChars() throws Exception {
+		ProjectUtility.deleteAllProjects();
+		setupEARProject("test", J2EEVersionConstants.J2EE_1_3_ID);
+		for (int i = 0; i < RandomObjectGenerator.createRandomProjectNumber(); i++) {
+			IProject javaProject = ProjectUtility.getProject("testapp");
+			AppClientModuleCreationDataModel model = new AppClientModuleCreationDataModel();
+			model.setProperty(AppClientModuleCreationDataModel.PROJECT_NAME, javaProject.getName());
+			//model.setProperty(AppClientProjectCreationDataModel.PROJECT_LOCATION, javaProject.getLocation().toOSString());
+			model.setIntProperty(AppClientModuleCreationDataModel.J2EE_MODULE_VERSION, J2EEVersionConstants.J2EE_1_3_ID);
+			createAppClientProject(model, ProjectUtility.getProject("test"));
+		}
+	}
+
+	public void testVaildRandomVersionsApplicationProjectNameCreationAllChars() throws Exception {
+		ProjectUtility.deleteAllProjects();
+		for (int i = 0; i < RandomObjectGenerator.createRandomProjectNumber(); i++) {
+			if (RandomObjectGenerator.createRandomProjectNumber() % 2 == 0)
+				createVaildProjectNameCreationWithAlphabetChars(APPLICATION_CLIENT_PROJECT, J2EEVersionConstants.J2EE_1_3_ID, true);
+			else
+				createVaildProjectNameCreationWithAlphabetChars(APPLICATION_CLIENT_PROJECT, J2EEVersionConstants.J2EE_1_2_ID, true);
+		}
+	}
+
+	public void testInVaild12ApplicationClientNameCreation() throws Exception {
+		ProjectUtility.deleteAllProjects();
+		for (int i = 0; i < RandomObjectGenerator.createRandomProjectNumber(); i++) {
+			try {
+				J2EEModuleCreationDataModel model = setupApplicationClientProject(RandomObjectGenerator.createInvalidRandomProjectName(), J2EEVersionConstants.J2EE_1_2_ID);
+				ProjectUtility.verifyProject(model.getStringProperty(J2EEModuleCreationDataModel.PROJECT_NAME), true);
+			} catch (Exception e) {
+				if (e instanceof IllegalArgumentException) {
+					System.out.println(ILLEGAL_PROJECT_NAME_MESSAGE + projectName);
+				} else
+					new Exception(UNEXPECTED_ERROR_MESSAGE);
+			} finally {
+				new Exception(TEST_FAILED_MESSAGE);
+			}
+		}
+	}
+
+    public static Test suite() {
+        return new SimpleTestSuite(AppClientProjectTest.class);
+    }
+
+}
diff --git a/tests/org.eclipse.jst.j2ee.tests/j2ee-tests/org/eclipse/wtp/j2ee/headless/tests/ear/operations/AllTests.java b/tests/org.eclipse.jst.j2ee.tests/j2ee-tests/org/eclipse/wtp/j2ee/headless/tests/ear/operations/AllTests.java
new file mode 100644
index 0000000..81eacc4
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.tests/j2ee-tests/org/eclipse/wtp/j2ee/headless/tests/ear/operations/AllTests.java
@@ -0,0 +1,32 @@
+/*
+ * Created on Feb 2, 2004
+ *
+ * To change the template for this generated file go to
+ * Window - Preferences - Java - Code Generation - Code and Comments
+ */
+package org.eclipse.wtp.j2ee.headless.tests.ear.operations;
+
+import junit.framework.Test;
+import junit.framework.TestSuite;
+
+/**
+ * @author jsholl
+ *
+ * To change the template for this generated type comment go to
+ * Window - Preferences - Java - Code Generation - Code and Comments
+ */
+public class AllTests extends TestSuite {
+
+    public static Test suite(){
+        return new AllTests();
+    }
+    
+    public AllTests(){
+        super("EAR Tests");
+        addTest(EARExportOperationTest.suite());
+        addTest(EARImportOperationTest.suite());
+        addTest(EARProjectCreationOperationTest.suite());
+        addTest(EARProjectCreationTest.suite());
+    }
+    
+}
diff --git a/tests/org.eclipse.jst.j2ee.tests/j2ee-tests/org/eclipse/wtp/j2ee/headless/tests/ear/operations/EARExportOperationTest.java b/tests/org.eclipse.jst.j2ee.tests/j2ee-tests/org/eclipse/wtp/j2ee/headless/tests/ear/operations/EARExportOperationTest.java
new file mode 100644
index 0000000..0e8b800
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.tests/j2ee-tests/org/eclipse/wtp/j2ee/headless/tests/ear/operations/EARExportOperationTest.java
@@ -0,0 +1,74 @@
+/*
+ * Created on Jan 6, 2004
+ * 
+ * To change the template for this generated file go to Window - Preferences - Java - Code Generation - Code and
+ * Comments
+ */
+package org.eclipse.wtp.j2ee.headless.tests.ear.operations;
+
+import junit.framework.Test;
+
+import org.eclipse.core.runtime.IPath;
+import org.eclipse.jst.j2ee.application.operations.EnterpriseApplicationExportDataModel;
+import org.eclipse.jst.j2ee.internal.plugin.J2EEPlugin;
+import org.eclipse.wst.common.tests.SimpleTestSuite;
+import org.eclipse.wtp.j2ee.headless.tests.j2ee.operations.OperationTestCase;
+
+/**
+ * @author Changeme
+ * 
+ * To change the template for this generated type comment go to Window - Preferences - Java - Code Generation - Code
+ * and Comments
+ */
+public class EARExportOperationTest extends OperationTestCase {
+
+    public static String fileSep = System.getProperty("file.separator");
+
+    public EARExportOperationTest() {
+        super();
+    }
+    public EARExportOperationTest(String name) {
+        super(name);
+    }
+    public static Test suite() {
+        return new SimpleTestSuite(EARExportOperationTest.class);
+    }
+
+    public static void exportEARProject(String projectName, IPath exportPath, boolean exportSource) throws Exception {
+    	EnterpriseApplicationExportDataModel model = new EnterpriseApplicationExportDataModel();
+        model.setProperty(EnterpriseApplicationExportDataModel.PROJECT_NAME, projectName);
+        model.setProperty(EnterpriseApplicationExportDataModel.ARCHIVE_DESTINATION, exportPath.toOSString());
+        model.setBooleanProperty(EnterpriseApplicationExportDataModel.EXPORT_SOURCE_FILES, exportSource);
+        runAndVerify(model);
+    }
+
+    public static void exportEARProjectWithMetaData(String projectName, IPath exportPath, boolean exportSource) throws Exception {
+    	EnterpriseApplicationExportDataModel model = new EnterpriseApplicationExportDataModel();
+        model.setProperty(EnterpriseApplicationExportDataModel.PROJECT_NAME, projectName);
+        model.setProperty(EnterpriseApplicationExportDataModel.ARCHIVE_DESTINATION, exportPath.toOSString());
+        model.setBooleanProperty(EnterpriseApplicationExportDataModel.EXPORT_SOURCE_FILES, exportSource);
+        model.setBooleanProperty(EnterpriseApplicationExportDataModel.OVERWRITE_EXISTING, true);
+        model.setBooleanProperty(EnterpriseApplicationExportDataModel.INCLUDE_BUILD_PATH_AND_META_FILES, true);
+        runAndVerify(model);
+    }
+
+    public void testEAR12Export() throws Exception {
+        String projectName = "Test12WEBEJBEAR";
+        String earName = "TestData" + fileSep + "EARImportTests" + fileSep + "Test12WEBEJBEAR.ear";
+        EARImportOperationTest.load(projectName, earName);
+        exportEARProject("Test12WEBEJBEAR", J2EEPlugin.getWorkspace().getRoot().getLocation().append("Test12WEBEJBEAR.ear"), false);
+    }
+    public void testEARExportWithMetaData() throws Exception {
+        String projectName = "Test14WEBEJBEARWithMetaData";
+        String earName = "TestData" + fileSep + "EARImportTests" + fileSep + "Test14WEBEJBEARWithMetaData.ear";
+        EARImportOperationTest.load(projectName, earName);
+        exportEARProjectWithMetaData("Test14WEBEJBEARWithMetaData", J2EEPlugin.getWorkspace().getRoot().getLocation().append("Test14WEBEJBEARWithMetaData.ear"), true);
+    }
+    public void testEARExportWithSource() throws Exception {
+        String projectName = "Test14WEBEJBEAR";
+        String earName = "TestData" + fileSep + "EARImportTests" + fileSep + "Test14WEBEJBEAR.ear";
+        EARImportOperationTest.load(projectName, earName);
+        exportEARProject("Test14WEBEJBEAR", J2EEPlugin.getWorkspace().getRoot().getLocation().append("Test14WEBEJBEAR.ear"), true);
+    }
+
+}
diff --git a/tests/org.eclipse.jst.j2ee.tests/j2ee-tests/org/eclipse/wtp/j2ee/headless/tests/ear/operations/EARImportOperationTest.java b/tests/org.eclipse.jst.j2ee.tests/j2ee-tests/org/eclipse/wtp/j2ee/headless/tests/ear/operations/EARImportOperationTest.java
new file mode 100644
index 0000000..46b4817
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.tests/j2ee-tests/org/eclipse/wtp/j2ee/headless/tests/ear/operations/EARImportOperationTest.java
@@ -0,0 +1,294 @@
+package org.eclipse.wtp.j2ee.headless.tests.ear.operations;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import junit.framework.Test;
+
+import org.eclipse.jst.j2ee.application.operations.EnterpriseApplicationCreationDataModel;
+import org.eclipse.jst.j2ee.application.operations.EnterpriseApplicationImportDataModel;
+import org.eclipse.jst.j2ee.commonarchivecore.internal.Archive;
+import org.eclipse.jst.j2ee.commonarchivecore.internal.CommonarchiveFactory;
+import org.eclipse.jst.j2ee.commonarchivecore.internal.EARFile;
+import org.eclipse.jst.j2ee.commonarchivecore.internal.File;
+import org.eclipse.jst.j2ee.commonarchivecore.internal.exception.OpenFailureException;
+import org.eclipse.jst.j2ee.commonarchivecore.internal.impl.FileImpl;
+import org.eclipse.jst.j2ee.commonarchivecore.internal.impl.WARFileImpl;
+import org.eclipse.jst.j2ee.internal.J2EEVersionConstants;
+import org.eclipse.wst.common.tests.LogUtility;
+import org.eclipse.wst.common.tests.ProjectUtility;
+import org.eclipse.wst.common.tests.SimpleTestSuite;
+import org.eclipse.wtp.j2ee.headless.tests.j2ee.operations.OperationTestCase;
+import org.eclipse.wtp.j2ee.headless.tests.plugin.HeadlessTestsPlugin;
+
+/**
+ * @author vijayb
+ * 
+ * To change the template for this generated type comment go to Window - Preferences - Java - Code Generation - Code
+ * and Comments
+ */
+public class EARImportOperationTest extends OperationTestCase {
+
+    public static String fileSep = System.getProperty("file.separator");
+
+    /**
+     *  
+     */
+    public EARImportOperationTest() {
+        super();
+    }
+
+    public List getUtilityJarsInEAR(EARFile earFile) {
+        List utilJars = new ArrayList();
+        try {
+            List files = earFile.getArchiveFiles();
+            for (int i = 0; i < files.size(); i++) {
+                FileImpl file = (FileImpl) files.get(i);
+                if (file.isArchive() && !file.isModuleFile() && file.getURI().endsWith(".jar")) //$NON-NLS-1$
+                    utilJars.add(file);
+            }
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+        return utilJars;
+    }
+
+    public void testEARImportRootLocation() throws Exception {
+    	EnterpriseApplicationImportDataModel importModel = null;
+        String projectName = "Test13WEBEJBEAR";
+        String earName = getFullTestDataPath("TestData" + fileSep + "EARImportTests" + fileSep + "Test13WEBEJBEAR.ear");
+        try {
+            importModel = new EnterpriseApplicationImportDataModel();
+            importModel.setProperty(EnterpriseApplicationCreationDataModel.PROJECT_NAME, projectName);
+            importModel.setProperty(EnterpriseApplicationImportDataModel.FILE_NAME, earName);
+            importModel.setIntProperty(EnterpriseApplicationCreationDataModel.APPLICATION_VERSION, J2EEVersionConstants.J2EE_1_3_ID);
+            importModel.setProperty(EnterpriseApplicationCreationDataModel.PROJECT_LOCATION, "c:" + fileSep + "EARTestTemp");
+            importModel.setProperty(EnterpriseApplicationImportDataModel.NESTED_MODULE_ROOT, "c:" + fileSep + "EARTestModulesTemp");
+            runAndVerify(importModel);
+        } finally {
+            importModel.dispose();
+        }
+    }
+    
+    //TODO M4 Action Item - enable the util jar tests after the fixes for util jar import are available in M4
+
+    /*public void testImportSomeUtilityJarsExploded() throws Exception {
+        String projectName = "UtilityJarTestEAR";
+        String earName = getFullTestDataPath("TestData" + fileSep + "EARImportTests" + fileSep + "UtilityJarTestEAR.ear");
+        EnterpriseApplicationImportDataModel importModel = null;
+        try {
+            importModel = new EnterpriseApplicationImportDataModel();
+            importModel.setProperty(EnterpriseApplicationCreationDataModel.PROJECT_NAME, projectName);
+            importModel.setProperty(EnterpriseApplicationImportDataModel.FILE_NAME, earName);
+            importModel.setIntProperty(EnterpriseApplicationCreationDataModel.APPLICATION_VERSION, J2EEVersionConstants.J2EE_1_3_ID);
+            EARFile file = importModel.getEARFile();
+            List utilJars = getUtilityJarsInEAR(file);
+            if (!utilJars.isEmpty()) {
+                utilJars.remove(0);
+                utilJars.remove(2);
+                importModel.setProperty(EnterpriseApplicationImportDataModel.UTILITY_LIST, utilJars);
+            }
+            //TODO to be changed when the new property is available, EARImportDataModel.CREATE_BINARY_PROJECT is
+            // removed
+            //importModel.setBooleanProperty(EARImportDataModel.CREATE_BINARY_PROJECT, false);
+            runAndVerify(importModel);
+        } finally {
+            importModel.dispose();
+        }
+    }
+
+    public void testImportUtilityJarsExploded() throws Exception {
+        String projectName = "UtilityJarTestEAR";
+        String earName = getFullTestDataPath("TestData" + fileSep + "EARImportTests" + fileSep + "UtilityJarTestEAR.ear");
+        EnterpriseApplicationImportDataModel importModel = null;
+        try {
+            importModel = new EnterpriseApplicationImportDataModel();
+            importModel.setProperty(EnterpriseApplicationCreationDataModel.PROJECT_NAME, projectName);
+            importModel.setProperty(EnterpriseApplicationImportDataModel.FILE_NAME, earName);
+            importModel.setIntProperty(EnterpriseApplicationCreationDataModel.APPLICATION_VERSION, J2EEVersionConstants.J2EE_1_3_ID);
+            EARFile file = importModel.getEARFile();
+            List utilJars = getUtilityJarsInEAR(file);
+            if (!utilJars.isEmpty())
+                importModel.setProperty(EnterpriseApplicationImportDataModel.UTILITY_LIST, utilJars);
+            //TODO to be changed when the new property is available, EARImportDataModel.CREATE_BINARY_PROJECT is
+            // removed
+            //importModel.setBooleanProperty(EARImportDataModel.CREATE_BINARY_PROJECT, false);
+            runAndVerify(importModel);
+        } finally {
+            importModel.dispose();
+        }
+    }
+    
+    public void testImportWebLibWithMetaData() throws Exception {
+        String projectName = "YourCompanyExampleEAR";
+        String earName = getFullTestDataPath("TestData" + fileSep + "EARImportTests" + fileSep + "YourCompanyExampleEAR.ear");
+        EnterpriseApplicationImportDataModel importModel = null;
+        try {
+            importModel = new EnterpriseApplicationImportDataModel();
+            importModel.setProperty(EnterpriseApplicationCreationDataModel.PROJECT_NAME, projectName);
+            importModel.setProperty(EnterpriseApplicationImportDataModel.FILE_NAME, earName);
+            importModel.setIntProperty(EnterpriseApplicationCreationDataModel.APPLICATION_VERSION, J2EEVersionConstants.J2EE_1_3_ID);
+            EARFile file = importModel.getEARFile();
+            List webLibs = getWebLibs(file);
+            //TODO to be changed when the new property is available, EARImportDataModel.CREATE_BINARY_PROJECT is
+            // removed
+            //importModel.setBooleanProperty(EARImportDataModel.CREATE_BINARY_PROJECT, false);
+            List projectModels = importModel.getProjectModels();
+            for (int i = 0; i < projectModels.size(); i++) {
+                if (projectModels.get(i) instanceof J2EEModuleCreationDataModel) {
+                    J2EEModuleCreationDataModel projectDataModel = (J2EEModuleCreationDataModel) projectModels.get(i);
+                    if (projectDataModel.getJ2EENatureID().equals(J2EEWebNatureRuntime.J2EE_NATURE_ID)) {
+                        projectDataModel.setProperty(WebModuleCreationDataModel.JAR_LIST_TEXT_UI, webLibs);
+                    }
+                }
+            }
+            importModel.setBooleanProperty(EnterpriseApplicationImportDataModel.PRESERVE_PROJECT_METADATA, true);
+            runAndVerify(importModel);
+        } finally {
+            importModel.dispose();
+        }
+    }*/
+    //TODO M4 Action Item - enable the util jar tests after the fixes for util jar import are available in M4
+    /*public void testImportUtilityJarsAndWebLibWithMetaData() throws Exception {
+        String projectName = "UtilityJarWebLibWithMetaDataFilesEAR";
+        String earName = getFullTestDataPath("TestData" + fileSep + "EARImportTests" + fileSep + "UtilityJarWebLibWithMetaDataFilesEAR.ear");
+        EnterpriseApplicationImportDataModel importModel = null;
+        try {
+            importModel = new EnterpriseApplicationImportDataModel();
+            importModel.setProperty(EnterpriseApplicationCreationDataModel.PROJECT_NAME, projectName);
+            importModel.setProperty(EnterpriseApplicationImportDataModel.FILE_NAME, earName);
+            importModel.setIntProperty(EnterpriseApplicationCreationDataModel.APPLICATION_VERSION, J2EEVersionConstants.J2EE_1_3_ID);
+            EARFile file = importModel.getEARFile();
+            List utilJars = getUtilityJarsInEAR(file);
+            if (!utilJars.isEmpty())
+                importModel.setProperty(EnterpriseApplicationImportDataModel.UTILITY_LIST, utilJars);
+            List webLibs = getWebLibs(file);
+            //TODO to be changed when the new property is available, EARImportDataModel.CREATE_BINARY_PROJECT is
+            // removed
+            //importModel.setBooleanProperty(EARImportDataModel.CREATE_BINARY_PROJECT, false);
+            List projectModels = importModel.getProjectModels();
+            for (int i = 0; i < projectModels.size(); i++) {
+                if (projectModels.get(i) instanceof J2EEModuleCreationDataModel) {
+                    J2EEModuleCreationDataModel projectDataModel = (J2EEModuleCreationDataModel) projectModels.get(i);
+                    if (projectDataModel.getJ2EENatureID().equals(J2EEWebNatureRuntime.J2EE_NATURE_ID)) {
+                        projectDataModel.setProperty(WebModuleCreationDataModel.JAR_LIST_TEXT_UI, webLibs);
+                    }
+                }
+            }
+            importModel.setBooleanProperty(EnterpriseApplicationImportDataModel.PRESERVE_PROJECT_METADATA, false);
+            runAndVerify(importModel);
+        } finally {
+            importModel.dispose();
+        }
+    }*/
+
+    /**
+     * @param file
+     * @return
+     */
+    private List getWebLibs(EARFile earFile) {
+        List files = earFile.getArchiveFiles();
+        List webLibs = new ArrayList();
+        for (int i = 0; i < files.size(); i++) {
+            FileImpl file = (FileImpl) files.get(i);
+            if (file.isWARFile()) {
+                List webLib = ((WARFileImpl) file).getLibArchives();
+                if (!webLib.isEmpty())
+                    webLibs.addAll(webLib);
+            }
+        }
+        return webLibs;
+    }
+
+    protected static String getFullTestDataPath(String dataPath) {
+    	try {
+    	  return ProjectUtility.getFullFileName(HeadlessTestsPlugin.getDefault(),dataPath);
+    	} catch(Exception e) {
+    		e.printStackTrace();
+    	}
+    	return "";
+    }
+
+    public void testImportEAR14() throws Exception {
+        String projectName = "Test14WEBEJBEAR";
+        String earName = getFullTestDataPath("TestData" + fileSep + "EARImportTests" + fileSep + "Test14WEBEJBEAR.ear");
+        EnterpriseApplicationImportDataModel importModel = null;
+        try {
+            importModel = new EnterpriseApplicationImportDataModel();
+            importModel.setProperty(EnterpriseApplicationImportDataModel.PROJECT_NAME, projectName);
+            importModel.setProperty(EnterpriseApplicationImportDataModel.FILE_NAME, earName);
+            runAndVerify(importModel);
+        } finally {
+            importModel.dispose();
+        }
+    }
+
+    public static Test suite() {
+        return new SimpleTestSuite(EARImportOperationTest.class);
+    }
+
+    public void testImportProjectNameCollisionForEARImport() {
+        try {
+            String earName = "TestData" + fileSep + "EARImportTests" + fileSep + "Test13WEBEJBEAR.ear";
+            load(null, earName);
+            load(null, earName);
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+    }
+
+    public void testImportEAR12() throws Exception {
+        String projectName = "Test12WEBEJBEAR";
+        String earName = "TestData" + fileSep + "EARImportTests" + fileSep + "Test12WEBEJBEAR.ear";
+        load(projectName, earName);
+    }
+    public void testImportEAR13() throws Exception {
+        String projectName = "Test13WEBEJBEAR";
+        String earName = "TestData" + fileSep + "EARImportTests" + fileSep + "Test13WEBEJBEAR.ear";
+        load(projectName, earName);
+    }
+    public static void testAllEARImportProjects() throws Exception {
+        String projectName = "EARTest";
+        String earName = "TestData" + fileSep + "EARImportTests" + fileSep;
+        List projects = ProjectUtility.getEarsInDirectory(HeadlessTestsPlugin.getDefault(),getFullTestDataPath(earName));
+        for (int i = 0; i < projects.size(); i++) {
+            ProjectUtility.deleteAllProjects();
+            LogUtility.getInstance().resetLogging();
+            load(projectName, earName + projects.get(i));
+        }
+    }
+
+    public static void load(String projectName, String earName) throws Exception {
+    	EnterpriseApplicationImportDataModel importModel = null;
+        try {
+            importModel = new EnterpriseApplicationImportDataModel();
+            importModel.setProperty(EnterpriseApplicationImportDataModel.PROJECT_NAME, projectName);
+            importModel.setProperty(EnterpriseApplicationImportDataModel.FILE_NAME, getFullTestDataPath(earName));
+            runAndVerify(importModel);
+        } finally {
+            importModel.dispose();
+        }
+    }
+
+    public List getArchiveInEAR(String earFileURI) {
+        CommonarchiveFactory factory = CommonarchiveFactory.eINSTANCE;
+        List moduleArchives = new ArrayList();
+        try {
+            Archive archive = factory.openArchive(earFileURI);
+            List files = archive.getFiles();
+            if (!files.isEmpty()) {
+                for (int i = 0; i < files.size(); i++) {
+                    moduleArchives = new ArrayList();
+                    File file = (File) files.get(i);
+                    if (file.isArchive()) {
+                        moduleArchives.add(file);
+                    }
+                }
+            }
+        } catch (OpenFailureException oe) {
+            oe.printStackTrace();
+        }
+        return moduleArchives;
+    }
+
+}
diff --git a/tests/org.eclipse.jst.j2ee.tests/j2ee-tests/org/eclipse/wtp/j2ee/headless/tests/ear/operations/EARProjectCreationOperationTest.java b/tests/org.eclipse.jst.j2ee.tests/j2ee-tests/org/eclipse/wtp/j2ee/headless/tests/ear/operations/EARProjectCreationOperationTest.java
new file mode 100644
index 0000000..f25d2fc
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.tests/j2ee-tests/org/eclipse/wtp/j2ee/headless/tests/ear/operations/EARProjectCreationOperationTest.java
@@ -0,0 +1,64 @@
+/*
+ * Created on Oct 27, 2003
+ * 
+ * To change the template for this generated file go to Window&gt;Preferences&gt;Java&gt;Code Generation&gt;Code and
+ * Comments
+ */
+package org.eclipse.wtp.j2ee.headless.tests.ear.operations;
+
+import junit.framework.Test;
+
+import org.eclipse.jst.j2ee.application.operations.EnterpriseApplicationCreationDataModel;
+import org.eclipse.jst.j2ee.internal.J2EEVersionConstants;
+import org.eclipse.wst.common.tests.SimpleTestSuite;
+import org.eclipse.wtp.j2ee.headless.tests.j2ee.operations.OperationTestCase;
+
+/**
+ * @author jsholl
+ * 
+ * To change the template for this generated type comment go to Window&gt;Preferences&gt;Java&gt;Code
+ * Generation&gt;Code and Comments
+ */
+public class EARProjectCreationOperationTest extends OperationTestCase {
+    public static Test suite() {
+        return new SimpleTestSuite(EARProjectCreationOperationTest.class);
+    }
+
+    public void testDefaults() throws Exception {
+        createSimpleEAR("SimpleEAR");
+    }
+    public void testLocation() throws Exception {
+        EnterpriseApplicationCreationDataModel dataModel = new EnterpriseApplicationCreationDataModel();
+        dataModel.setProperty(EnterpriseApplicationCreationDataModel.PROJECT_NAME, "SimpleEAR");
+        dataModel.setProperty(EnterpriseApplicationCreationDataModel.PROJECT_LOCATION, "c:/temp/");
+        runAndVerify(dataModel);
+    }
+
+    public void testVersion12() throws Exception {
+    	EnterpriseApplicationCreationDataModel dataModel = new EnterpriseApplicationCreationDataModel();
+        dataModel.setProperty(EnterpriseApplicationCreationDataModel.PROJECT_NAME, "SimpleEAR");
+        dataModel.setIntProperty(EnterpriseApplicationCreationDataModel.APPLICATION_VERSION, J2EEVersionConstants.J2EE_1_2_ID);
+        runAndVerify(dataModel);
+    }
+
+    public void testVersion13() throws Exception {
+    	EnterpriseApplicationCreationDataModel dataModel = new EnterpriseApplicationCreationDataModel();
+        dataModel.setProperty(EnterpriseApplicationCreationDataModel.PROJECT_NAME, "SimpleEAR");
+        dataModel.setIntProperty(EnterpriseApplicationCreationDataModel.APPLICATION_VERSION, J2EEVersionConstants.J2EE_1_3_ID);
+        runAndVerify(dataModel);
+    }
+
+    public void testVersion14() throws Exception {
+    	EnterpriseApplicationCreationDataModel dataModel = new EnterpriseApplicationCreationDataModel();
+        dataModel.setProperty(EnterpriseApplicationCreationDataModel.PROJECT_NAME, "SimpleEAR");
+        dataModel.setIntProperty(EnterpriseApplicationCreationDataModel.APPLICATION_VERSION, J2EEVersionConstants.J2EE_1_4_ID);
+        runAndVerify(dataModel);
+    }
+
+    public static void createSimpleEAR(String earName) throws Exception {
+    	EnterpriseApplicationCreationDataModel dataModel = new EnterpriseApplicationCreationDataModel();
+        dataModel.setProperty(EnterpriseApplicationCreationDataModel.PROJECT_NAME, earName);
+        runAndVerify(dataModel);
+    }
+
+}
diff --git a/tests/org.eclipse.jst.j2ee.tests/j2ee-tests/org/eclipse/wtp/j2ee/headless/tests/ear/operations/EARProjectCreationTest.java b/tests/org.eclipse.jst.j2ee.tests/j2ee-tests/org/eclipse/wtp/j2ee/headless/tests/ear/operations/EARProjectCreationTest.java
new file mode 100644
index 0000000..9b46152
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.tests/j2ee-tests/org/eclipse/wtp/j2ee/headless/tests/ear/operations/EARProjectCreationTest.java
@@ -0,0 +1,92 @@
+/*
+ * Created on Jan 6, 2004
+ *
+ * To change the template for this generated file go to
+ * Window - Preferences - Java - Code Generation - Code and Comments
+ */
+package org.eclipse.wtp.j2ee.headless.tests.ear.operations;
+
+import junit.framework.Test;
+
+import org.eclipse.jst.j2ee.internal.J2EEVersionConstants;
+import org.eclipse.wst.common.tests.ProjectUtility;
+import org.eclipse.wst.common.tests.SimpleTestSuite;
+import org.eclipse.wtp.j2ee.headless.tests.j2ee.operations.AbstractProjectCreationTest;
+import org.eclipse.wtp.j2ee.headless.tests.j2ee.operations.RandomObjectGenerator;
+
+/**
+ * @author blancett
+ *
+ * To change the template for this generated type comment go to
+ * Window - Preferences - Java - Code Generation - Code and Comments
+ */
+public class EARProjectCreationTest extends AbstractProjectCreationTest{
+	
+	public void testVaild12EARProjectNameCreationWithAlphabetChars() throws Exception {
+		ProjectUtility.deleteAllProjects();
+		for (int i = 0; i < RandomObjectGenerator.createRandomProjectNumber(); i++)
+			createVaildProjectNameCreationWithAlphabetChars(EAR_PROJECT, J2EEVersionConstants.J2EE_1_2_ID, false);
+	}
+	
+	public void testVaild12EARProjectNameCreationWithMixedChars() throws Exception {
+		ProjectUtility.deleteAllProjects();
+		for (int i = 0; i < RandomObjectGenerator.createRandomProjectNumber(); i++)
+			createVaildProjectNameCreationWithAlphabetChars(EAR_PROJECT, J2EEVersionConstants.J2EE_1_3_ID, true);
+	}
+	
+	public void testVaild13EARProjectNameCreationWithAlphabetChars() throws Exception {
+		ProjectUtility.deleteAllProjects();
+		for (int i = 0; i < RandomObjectGenerator.createRandomProjectNumber(); i++)
+			createVaildProjectNameCreationWithAlphabetChars(EAR_PROJECT, J2EEVersionConstants.J2EE_1_3_ID, false);
+	}
+	
+	public void testVaild13EARProjectNameCreationAllChars() throws Exception {
+		ProjectUtility.deleteAllProjects();
+		for (int i = 0; i < RandomObjectGenerator.createRandomProjectNumber(); i++)
+			createVaildProjectNameCreationWithAlphabetChars(EAR_PROJECT, J2EEVersionConstants.J2EE_1_3_ID, true);
+	}
+	
+	public void testVaildRandomVersionsEARProjectNameCreationAllChars() throws Exception {
+		ProjectUtility.deleteAllProjects();
+		for (int i = 0; i < RandomObjectGenerator.createRandomProjectNumber(); i++) {
+			if (RandomObjectGenerator.createRandomProjectNumber() % 2 == 0)
+				createVaildProjectNameCreationWithAlphabetChars(EAR_PROJECT, J2EEVersionConstants.J2EE_1_3_ID, true);
+			else
+				createVaildProjectNameCreationWithAlphabetChars(EAR_PROJECT, J2EEVersionConstants.J2EE_1_2_ID, true);
+		}
+	}
+	
+	public void testVaildRandomVersionsEARProjectNameCreationAlphabet() throws Exception {
+		ProjectUtility.deleteAllProjects();
+		for (int i = 0; i < RandomObjectGenerator.createRandomProjectNumber(); i++) {
+			if (RandomObjectGenerator.createRandomProjectNumber() % 2 == 0)
+				createVaildProjectNameCreationWithAlphabetChars(EAR_PROJECT, J2EEVersionConstants.J2EE_1_3_ID, false);
+			else
+				createVaildProjectNameCreationWithAlphabetChars(EAR_PROJECT, J2EEVersionConstants.J2EE_1_2_ID, false);
+		}
+	}
+	
+	public void testInVaild12EARProjectNameCreation() throws Exception {
+		ProjectUtility.deleteAllProjects();
+		for (int i = 0; i < RandomObjectGenerator.createRandomProjectNumber(); i++) {
+			try {
+//				projectName = setupWebProject(RandomObjectGenerator.createInvalidRandomProjectName(), J2EEVersionConstants.EJB_1_1_ID);
+//				checkVaildProjectName(projectName);
+			} catch (Exception e) {
+				if (e instanceof IllegalArgumentException) {
+					System.out.println(ILLEGAL_PROJECT_NAME_MESSAGE + projectName);
+				} else
+					new Exception(UNEXPECTED_ERROR_MESSAGE);
+			} finally {
+				new Exception(TEST_FAILED_MESSAGE);
+			}
+		}
+	}
+
+    public static Test suite() {
+        return new SimpleTestSuite(EARProjectCreationTest.class);
+    }
+	
+	
+
+}
diff --git a/tests/org.eclipse.jst.j2ee.tests/j2ee-tests/org/eclipse/wtp/j2ee/headless/tests/j2ee/operations/AbstractProjectCreationTest.java b/tests/org.eclipse.jst.j2ee.tests/j2ee-tests/org/eclipse/wtp/j2ee/headless/tests/j2ee/operations/AbstractProjectCreationTest.java
new file mode 100644
index 0000000..f2e902b
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.tests/j2ee-tests/org/eclipse/wtp/j2ee/headless/tests/j2ee/operations/AbstractProjectCreationTest.java
@@ -0,0 +1,374 @@
+package org.eclipse.wtp.j2ee.headless.tests.j2ee.operations;
+import java.io.IOException;
+import java.io.InputStream;
+import java.util.ArrayList;
+
+import junit.framework.TestCase;
+
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.Path;
+import org.eclipse.jst.j2ee.application.operations.AddArchiveProjectsToEARDataModel;
+import org.eclipse.jst.j2ee.application.operations.EnterpriseApplicationCreationDataModel;
+import org.eclipse.jst.j2ee.application.operations.EnterpriseApplicationCreationOperation;
+import org.eclipse.jst.j2ee.application.operations.J2EEArtifactCreationDataModel;
+import org.eclipse.jst.j2ee.application.operations.J2EEModuleCreationDataModel;
+import org.eclipse.jst.j2ee.applicationclient.creation.AppClientModuleCreationDataModel;
+import org.eclipse.jst.j2ee.applicationclient.creation.AppClientModuleCreationOperation;
+import org.eclipse.jst.j2ee.applicationclient.creation.ApplicationClientNatureRuntime;
+import org.eclipse.jst.j2ee.commonarchivecore.internal.helpers.ArchiveConstants;
+import org.eclipse.jst.j2ee.commonarchivecore.internal.helpers.ArchiveManifestImpl;
+import org.eclipse.jst.j2ee.internal.J2EEVersionConstants;
+import org.eclipse.jst.j2ee.internal.ejb.project.operations.EJBModuleCreationDataModel;
+import org.eclipse.jst.j2ee.internal.ejb.project.operations.EJBModuleCreationOperation;
+import org.eclipse.jst.j2ee.internal.jca.operations.ConnectorModuleCreationDataModel;
+import org.eclipse.jst.j2ee.internal.jca.operations.ConnectorModuleCreationOperation;
+import org.eclipse.jst.j2ee.internal.web.archive.operations.WebModuleCreationDataModel;
+import org.eclipse.jst.j2ee.internal.web.archive.operations.WebModuleCreationOperation;
+import org.eclipse.wst.common.frameworks.internal.operations.ProjectCreationDataModel;
+import org.eclipse.wst.common.frameworks.operations.WTPOperationDataModel;
+import org.eclipse.wst.common.tests.LogUtility;
+import org.eclipse.wst.common.tests.ProjectUtility;
+import org.eclipse.wst.common.tests.TaskViewUtility;
+import org.eclipse.wtp.j2ee.headless.tests.j2ee.verifiers.DataModelVerifier;
+import org.eclipse.wtp.j2ee.headless.tests.j2ee.verifiers.DataModelVerifierFactory;
+
+public abstract class AbstractProjectCreationTest extends TestCase {
+	protected static final String ILLEGAL_PROJECT_NAME_MESSAGE = "Illegal project name: ";
+	protected static final String UNEXPECTED_ERROR_MESSAGE = "Unexpected exception";
+	protected static final String TEST_FAILED_MESSAGE = "Test fails Exception should of been trown";
+	protected static final String MANIFEST_CLASS_NAME = "Junit_Test_Dummy_Class";
+	protected static final String MANIFEST_WRITE_ERROR = "Could not write to manifest test failed";
+	protected static final String MANIFEST_LOCK_ERROR = "Manifest IO error - File could be locked";
+	protected static final String MANIFEST_CORE_ERROR = "Java core error";
+	protected String projectName = null;
+	public static final int APPLICATION_CLIENT_PROJECT = 0;
+	public static final int WEB_PROJECT = 1;
+	public static final int EJB_PROJECT = 2;
+	public static final int EAR_PROJECT = 3;
+	public IProject ejbproject;
+	public IProject earproject;
+
+	public AbstractProjectCreationTest(String name) {
+		super(name);
+	}
+
+	public void createVaildProjectNameCreationWithAlphabetChars(
+		int PROJECT_TYPE,
+		int j2eeVersion,
+		boolean isMixedChars)
+		throws Exception {
+
+		LogUtility.getInstance().resetLogging();
+		J2EEArtifactCreationDataModel model = null;
+		switch (PROJECT_TYPE) {
+			case WEB_PROJECT :
+				{
+					if (!isMixedChars)
+						model = setupWebProject(RandomObjectGenerator.createCorrectRandomProjectNames(), j2eeVersion);
+					else
+						model =
+							setupWebProject(
+								RandomObjectGenerator.createCorrectRandomProjectNamesAllChars(),
+								j2eeVersion);
+					break;
+				}
+			case EJB_PROJECT :
+				{
+					if (!isMixedChars)
+						model = setupEJBProject(RandomObjectGenerator.createCorrectRandomProjectNames(), j2eeVersion);
+					else
+						model =
+							setupEJBProject(
+								RandomObjectGenerator.createCorrectRandomProjectNamesAllChars(),
+								j2eeVersion);
+					break;
+				}
+			case APPLICATION_CLIENT_PROJECT :
+				{
+					if (!isMixedChars)
+						model =
+							setupApplicationClientProject(
+								RandomObjectGenerator.createCorrectRandomProjectNames(),
+								j2eeVersion);
+					else
+						model =
+							setupApplicationClientProject(
+								RandomObjectGenerator.createCorrectRandomProjectNamesAllChars(),
+								j2eeVersion);
+					break;
+				}
+			case EAR_PROJECT :
+				{
+					if (!isMixedChars)
+						model = setupEARProject(RandomObjectGenerator.createCorrectRandomProjectNames(), j2eeVersion);
+					else
+						model =
+							setupEARProject(
+								RandomObjectGenerator.createCorrectRandomProjectNamesAllChars(),
+								j2eeVersion);
+					break;
+				}
+		}
+
+		LogUtility.getInstance().verifyNoWarnings();
+		checkValidDataModel(model);
+	}
+
+	/**
+	 * @param model
+	 */
+	protected void checkValidDataModel(J2EEArtifactCreationDataModel model) {
+		DataModelVerifier verifier = DataModelVerifierFactory.getInstance().createVerifier(model);
+		try {
+			verifier.verify(model);
+		} catch (Exception e) {
+			// TODO Auto-generated catch block
+			e.printStackTrace();
+		}
+
+	}
+
+	protected static void checkVaildProjectName(String projectName) {
+		ProjectUtility.verifyProject(projectName, true);
+		//To do verify
+	}
+
+	public J2EEModuleCreationDataModel setupEJBProject(String aProjectName, int j2eeVersion) throws Exception {
+		projectName = aProjectName;
+		IProject javaProject = ProjectUtility.getProject(projectName);
+		EJBModuleCreationDataModel model = new EJBModuleCreationDataModel();
+		model.setProperty(EJBModuleCreationDataModel.PROJECT_NAME, javaProject.getName());
+		model.setProperty(EJBModuleCreationDataModel.PROJECT_LOCATION, javaProject.getLocation());
+		model.setIntProperty(EJBModuleCreationDataModel.J2EE_MODULE_VERSION, j2eeVersion);
+		createEJBProject(model, null);
+		return model;
+	}
+
+	public EnterpriseApplicationCreationDataModel setupEARProject(String aProjectName, int j2eeVersion) throws Exception {
+		projectName = aProjectName;
+		IProject earProject = ProjectUtility.getProject(aProjectName);
+		EnterpriseApplicationCreationDataModel earDataModel = new EnterpriseApplicationCreationDataModel();
+		earDataModel.setProperty(EnterpriseApplicationCreationDataModel.PROJECT_NAME, aProjectName);
+		earDataModel.setProperty(EnterpriseApplicationCreationDataModel.PROJECT_LOCATION, earProject.getLocation());
+		earDataModel.setIntProperty(EnterpriseApplicationCreationDataModel.APPLICATION_VERSION, j2eeVersion);
+		OperationTestCase.runAndVerify(earDataModel);
+		return earDataModel;
+	}
+
+	public J2EEModuleCreationDataModel setupWebProject(String aProjectName, int j2eeVersion) throws Exception {
+		projectName = aProjectName;
+		IProject javaProject = ProjectUtility.getProject(projectName);
+		WebModuleCreationDataModel model = new WebModuleCreationDataModel();
+		model.setProperty(WebModuleCreationDataModel.PROJECT_NAME, javaProject.getName());
+		model.setProperty(WebModuleCreationDataModel.PROJECT_LOCATION, javaProject.getLocation());
+		model.setIntProperty(WebModuleCreationDataModel.J2EE_MODULE_VERSION, j2eeVersion);
+		createWebProject(model, null);
+		return model;
+	}
+
+	public J2EEModuleCreationDataModel setupApplicationClientProject(String aProjectName, int j2eeVersion)
+		throws Exception {
+		projectName = aProjectName;
+		IProject javaProject = ProjectUtility.getProject(projectName);
+		AppClientModuleCreationDataModel model = new AppClientModuleCreationDataModel();
+		model.setProperty(AppClientModuleCreationDataModel.PROJECT_NAME, javaProject.getName());
+		model.setProperty(AppClientModuleCreationDataModel.PROJECT_LOCATION, javaProject.getLocation());
+		model.setIntProperty(AppClientModuleCreationDataModel.J2EE_MODULE_VERSION, j2eeVersion);
+		createAppClientProject(model, null);
+		return model;
+	}
+
+	public void testJavaCreation() throws Exception {
+		createEJBProject("testEAR", "testEJB", J2EEVersionConstants.J2EE_1_2_ID, J2EEVersionConstants.EJB_1_1_ID);
+	}
+
+	/**
+	 * Create a project and its containing EAR with default model settings
+	 * @param projectType
+	 * @param earProject
+	 * @param projectName
+	 * @return
+	 * @throws Exception
+	 */
+	public static IProject createProject(int projectType, String earProject, boolean createEAR, String projectName) throws Exception {
+		if (createEAR)
+			ProjectUtility.deleteProjectIfExists(earProject);
+		ProjectUtility.deleteProjectIfExists(projectName);
+
+		if (earProject != null && createEAR) {
+			WTPOperationDataModel earProjectCreationDataModel = new EnterpriseApplicationCreationDataModel();
+			earProjectCreationDataModel.setProperty(ProjectCreationDataModel.PROJECT_NAME, earProject);
+			earProjectCreationDataModel.getDefaultOperation().run(null);
+			ProjectUtility.verifyProject(earProject, true);
+		}
+
+		WTPOperationDataModel projectCreationDataModel = null;
+		switch (projectType) {
+			case EJB_PROJECT :
+				projectCreationDataModel = new EnterpriseApplicationCreationDataModel();
+				break;
+			case WEB_PROJECT :
+				projectCreationDataModel = new EnterpriseApplicationCreationDataModel();
+				break;
+			case APPLICATION_CLIENT_PROJECT :
+				projectCreationDataModel = new EnterpriseApplicationCreationDataModel();
+				break;
+		}
+		if (earProject != null) {
+			projectCreationDataModel.setBooleanProperty(J2EEModuleCreationDataModel.ADD_TO_EAR, true);
+			projectCreationDataModel.setProperty(J2EEModuleCreationDataModel.EAR_PROJECT_NAME, earProject);
+		}
+		projectCreationDataModel.setProperty(EJBModuleCreationDataModel.PROJECT_NAME, projectName);
+		projectCreationDataModel.getDefaultOperation().run(null);
+		ProjectUtility.verifyProject(projectName, true);
+
+		return (IProject) ProjectUtility.getProject(projectName);
+	}
+
+
+	public static IProject createEARProject(String earProject) throws Exception {
+		EnterpriseApplicationCreationDataModel projectCreationModel = new EnterpriseApplicationCreationDataModel();
+		projectCreationModel.setProperty(ProjectCreationDataModel.PROJECT_NAME, earProject);
+		return createEARProject(projectCreationModel);
+	}
+
+	public static IProject createEARProject(EnterpriseApplicationCreationDataModel model) throws Exception {
+		EnterpriseApplicationCreationOperation op = new EnterpriseApplicationCreationOperation(model);
+		op.run(null);
+		ProjectUtility.verifyProject(model.getStringProperty(EnterpriseApplicationCreationDataModel.PROJECT_NAME), true);
+		return model.getTargetProject();
+	}
+
+	public static IProject createEJBProject(EJBModuleCreationDataModel model, IProject earProject) throws Exception {
+		if (earProject != null) {
+			model.setBooleanProperty(EJBModuleCreationDataModel.ADD_TO_EAR, true);
+			model.setProperty(EJBModuleCreationDataModel.EAR_PROJECT_NAME, earProject.getName());
+		}
+		EJBModuleCreationOperation ejbOp = new EJBModuleCreationOperation(model);
+		ejbOp.run(null);
+		ProjectUtility.verifyProject(model.getStringProperty(EJBModuleCreationDataModel.PROJECT_NAME), true);
+		return model.getTargetProject();
+	}
+
+	public static void createEARProject(EnterpriseApplicationCreationDataModel model, boolean notImport) throws Exception {
+		model.setBooleanProperty(EnterpriseApplicationCreationDataModel.CREATE_DEFAULT_FILES, notImport);
+		EnterpriseApplicationCreationOperation op = new EnterpriseApplicationCreationOperation(model);
+		op.run(null);
+		ProjectUtility.verifyProject(model.getStringProperty(EnterpriseApplicationCreationDataModel.PROJECT_NAME), true);
+	}
+
+	public static void createWebProject(WebModuleCreationDataModel model, IProject earProject) throws Exception {
+		if (earProject != null) {
+			model.setBooleanProperty(WebModuleCreationDataModel.ADD_TO_EAR, true);
+			model.setProperty(WebModuleCreationDataModel.EAR_PROJECT_NAME, earProject.getName());
+		}
+		WebModuleCreationOperation webOp = new WebModuleCreationOperation(model);
+		webOp.run(null);
+		ProjectUtility.verifyProject(model.getTargetProject().getName(), true);
+		TaskViewUtility.verifyNoErrors();
+	}
+
+	public static void createAppClientProject(AppClientModuleCreationDataModel model, IProject earProject)
+		throws Exception {
+		if (earProject != null) {
+			model.setBooleanProperty(AppClientModuleCreationDataModel.ADD_TO_EAR, true);
+			model.setProperty(AppClientModuleCreationDataModel.EAR_PROJECT_NAME, earProject.getName());
+		}
+		AppClientModuleCreationOperation appOp = new AppClientModuleCreationOperation(model);
+		appOp.run(null);
+		ProjectUtility.verifyProject(model.getTargetProject().getName(), true);
+	}
+
+	public static void createRarProject(ConnectorModuleCreationDataModel model, IProject earProject)
+		throws Exception {
+		if (earProject != null) {
+			model.setBooleanProperty(ConnectorModuleCreationDataModel.ADD_TO_EAR, true);
+			model.setProperty(ConnectorModuleCreationDataModel.EAR_PROJECT_NAME, earProject.getName());
+		}
+		ConnectorModuleCreationOperation rarOp = new ConnectorModuleCreationOperation(model);
+		rarOp.run(null);
+		ProjectUtility.verifyProject(model.getTargetProject().getName(), true);
+	}
+
+	public static IProject createEJBProject(String earName, String ejbName, int j2eeEARVersion, int j2eeEJBVersion)
+		throws Exception {
+		ProjectUtility.deleteAllProjects();
+		EnterpriseApplicationCreationDataModel model = null;
+		EJBModuleCreationDataModel ejbDataModel = null;
+		if (earName != null) {
+			IProject earProject = ProjectUtility.getProject(earName);
+			model = new EnterpriseApplicationCreationDataModel();
+			model.setProperty(EnterpriseApplicationCreationDataModel.PROJECT_NAME, earName);
+			model.setProperty(EnterpriseApplicationCreationDataModel.PROJECT_LOCATION, earProject.getLocation());
+			model.setIntProperty(EnterpriseApplicationCreationDataModel.APPLICATION_VERSION, j2eeEARVersion);
+			EnterpriseApplicationCreationOperation op = new EnterpriseApplicationCreationOperation(model);
+
+			IProject ejbProject = ProjectUtility.getProject(ejbName);
+			ejbDataModel = new EJBModuleCreationDataModel();
+			ejbDataModel.setProperty(EJBModuleCreationDataModel.PROJECT_NAME, ejbName);
+			ejbDataModel.setProperty(EJBModuleCreationDataModel.PROJECT_LOCATION, ejbProject.getLocation());
+			ejbDataModel.setIntProperty(EJBModuleCreationDataModel.J2EE_MODULE_VERSION, j2eeEJBVersion);
+			IProject ejbp = createEJBProject(ejbDataModel, model.getTargetProject());
+
+		}
+		return ejbDataModel.getTargetProject();
+	}
+
+	public static void addJavaMainClassToApplicationModel(IProject appProject) {
+		ApplicationClientNatureRuntime runtime = ApplicationClientNatureRuntime.getRuntime(appProject);
+		IFile file = runtime.getEMFRoot().getFile(new Path(ArchiveConstants.MANIFEST_URI));
+		ArchiveManifestImpl manifest = null;
+		InputStream inputStream = null;
+		try {
+			inputStream = file.getContents();
+			manifest = new ArchiveManifestImpl(inputStream);
+		} catch (IOException e) {
+			new Exception(MANIFEST_LOCK_ERROR);
+		} catch (CoreException e) {
+			new Exception(MANIFEST_CORE_ERROR);
+		} finally {
+			if (null != inputStream) {
+				try {
+					inputStream.close();
+				} catch (IOException ex) {
+				}
+			}
+		}
+		manifest.setMainClass(MANIFEST_CLASS_NAME);
+		try {
+			//attempt with manifest dataObject -- J2EEProjectUtilities.writeManifest(appProject, manifest);
+		} catch (Exception e) {
+			new Exception(MANIFEST_WRITE_ERROR);
+		}
+	}
+
+	public void testAddingEJBtoEarModule() throws Exception {
+		ProjectUtility.deleteAllProjects();
+		setupEARDataObject(RandomObjectGenerator.createCorrectRandomProjectNames(), J2EEVersionConstants.J2EE_1_3_ID);
+
+	}
+
+	public String setupEARDataObject(String aProjectName, int j2eeVersion) throws Exception {
+		projectName = aProjectName;
+		IProject earProject = ProjectUtility.getProject(aProjectName);
+		EnterpriseApplicationCreationDataModel earDataModel = new EnterpriseApplicationCreationDataModel();
+		earDataModel.setProperty(EnterpriseApplicationCreationDataModel.PROJECT_NAME, aProjectName);
+		earDataModel.setProperty(EnterpriseApplicationCreationDataModel.PROJECT_LOCATION, earProject.getLocation());
+		//String projectName = setupEJBProject(RandomObjectGenerator.createCorrectRandomProjectNames(), j2eeVersion);
+		IProject ejbProject = ProjectUtility.getProject(projectName);
+		ArrayList list = new ArrayList();
+		list.add(ejbProject);
+		earDataModel.setProperty(AddArchiveProjectsToEARDataModel.MODULE_LIST, list);
+		earDataModel.setIntProperty(EnterpriseApplicationCreationDataModel.APPLICATION_VERSION, j2eeVersion);
+		earDataModel.getProperty(AddArchiveProjectsToEARDataModel.MODULE_MODELS);
+		AddArchiveProjectsToEARDataModel arcModel = earDataModel.getAddModulesToEARDataModel();
+		return (earDataModel.getStringProperty(EnterpriseApplicationCreationDataModel.PROJECT_NAME));
+	}
+
+	public AbstractProjectCreationTest() {
+		super();
+	}
+
+}
diff --git a/tests/org.eclipse.jst.j2ee.tests/j2ee-tests/org/eclipse/wtp/j2ee/headless/tests/j2ee/operations/ModuleExportOperationTestCase.java b/tests/org.eclipse.jst.j2ee.tests/j2ee-tests/org/eclipse/wtp/j2ee/headless/tests/j2ee/operations/ModuleExportOperationTestCase.java
new file mode 100644
index 0000000..2ba501d
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.tests/j2ee-tests/org/eclipse/wtp/j2ee/headless/tests/j2ee/operations/ModuleExportOperationTestCase.java
@@ -0,0 +1,180 @@
+/*
+ * Created on Jan 6, 2004
+ * 
+ * To change the template for this generated file go to Window - Preferences - Java - Code
+ * Generation - Code and Comments
+ */
+package org.eclipse.wtp.j2ee.headless.tests.j2ee.operations;
+
+import java.io.File;
+import java.io.IOException;
+import java.net.URL;
+
+import junit.framework.Test;
+import junit.framework.TestSuite;
+
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.runtime.Path;
+import org.eclipse.jst.j2ee.application.operations.J2EEModuleExportDataModel;
+import org.eclipse.wst.common.tests.ProjectUtility;
+import org.eclipse.wtp.j2ee.headless.tests.appclient.operations.AppClientExportOperationTest;
+import org.eclipse.wtp.j2ee.headless.tests.ejb.operations.EJBExportOperationTest;
+import org.eclipse.wtp.j2ee.headless.tests.jca.operations.RARExportOperationTest;
+import org.eclipse.wtp.j2ee.headless.tests.plugin.HeadlessTestsPlugin;
+import org.eclipse.wtp.j2ee.headless.tests.web.operations.WebExportOperationTest;
+
+/**
+ * @author Administrator
+ * 
+ * To change the template for this generated type comment go to Window - Preferences - Java - Code
+ * Generation - Code and Comments
+ */
+public abstract class ModuleExportOperationTestCase extends OperationTestCase {
+
+	protected boolean exportSourceFiles = false;
+	protected boolean overwriteExisting = false;
+	protected boolean dataModelShouldBeValid = true;
+
+	public final String TESTS_OUTPUT_PATH;
+
+	public static Test suite() {
+		TestSuite suite = new TestSuite();
+		suite.addTestSuite(RARExportOperationTest.class);
+		suite.addTestSuite(EJBExportOperationTest.class);
+		suite.addTestSuite(WebExportOperationTest.class);
+		suite.addTestSuite(AppClientExportOperationTest.class);
+		return suite;
+	}
+
+	public ModuleExportOperationTestCase(String name) {
+		super(name);
+
+		String relativeOutputTestsPath = "TestData" + File.separator + getOutputDirectory() + File.separator;
+		TESTS_OUTPUT_PATH = getOutputPath(relativeOutputTestsPath);
+	}
+	
+	public String getOutputPath(String relPath) {
+		try{
+			return ProjectUtility.getFullFileName(HeadlessTestsPlugin.getDefault(),relPath);
+			} catch(IOException e) {
+				e.printStackTrace();
+			}
+		return null;
+	}
+
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see org.eclipse.wtp.j2ee.headless.tests.j2ee.operations.OperationTestCase#setUp()
+	 */
+	protected void setUp() throws Exception {
+		super.setUp();
+		exportSourceFiles = false;
+		overwriteExisting = false;
+	}
+
+	private String getOutputDirectory(){
+	    return "testOutput";
+	}
+	protected abstract ModuleImportOperationTestCase getImportTestCase();
+	protected abstract J2EEModuleExportDataModel getModelInstance();
+
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see org.eclipse.wtp.j2ee.headless.tests.j2ee.operations.ModuleExportOperationTestCase#getExportableProjects()
+	 */
+	protected IProject[] getExportableProjects() throws Exception {
+		ProjectUtility.deleteAllProjects();
+		ModuleImportOperationTestCase importTestCase = getImportTestCase(); 
+		importTestCase.testAllImportTestCases();
+
+		// if the projects aren't created successfully, the previous
+		// line will fail so there's no need to verify
+		return ProjectUtility.getAllProjects();
+	}
+
+	public void testExport(String projectName, String filename) throws Exception {
+
+		J2EEModuleExportDataModel dataModel = getModelInstance();
+		dataModel.setProperty(J2EEModuleExportDataModel.ARCHIVE_DESTINATION, TESTS_OUTPUT_PATH + filename);
+		dataModel.setProperty(J2EEModuleExportDataModel.PROJECT_NAME, projectName);
+		dataModel.setBooleanProperty(J2EEModuleExportDataModel.EXPORT_SOURCE_FILES, exportSourceFiles);
+		dataModel.setBooleanProperty(J2EEModuleExportDataModel.OVERWRITE_EXISTING, overwriteExisting);
+
+		if (dataModelShouldBeValid)
+			runAndVerify(dataModel);
+		else
+			verifyInvalidDataModel(dataModel);
+	}
+
+	public void testAllWithExportSourceFilesWithOverwriteExisting() throws Exception {
+		exportSourceFiles = true;
+		overwriteExisting = true;
+
+		testAllExportTestCases();
+	}
+
+	public void testAllWithExportSourceFilesWithoutOverwriteExisting() throws Exception {
+		exportSourceFiles = true;
+		overwriteExisting = false;
+
+		testAllExportTestCases();
+	}
+
+	public void testAllWithoutExportSourceFilesWithoutOverwriteExisting() throws Exception {
+		exportSourceFiles = false;
+		overwriteExisting = false;
+
+		testAllExportTestCases();
+	}
+
+	public void testAllWithoutExportSourceFilesWithOverwriteExisting() throws Exception {
+		exportSourceFiles = false;
+		overwriteExisting = true;
+
+		testAllExportTestCases();
+	}
+
+//	public void testOverwriteProjectExportFail() throws Exception {
+//
+//		testAllWithoutExportSourceFilesWithoutOverwriteExisting();
+//		dataModelShouldBeValid = false;
+//		testAllWithoutExportSourceFilesWithoutOverwriteExisting();
+//	}
+
+	public void testOverwriteProjectExportSucceed() throws Exception {
+
+		testAllWithoutExportSourceFilesWithOverwriteExisting();
+		testAllWithoutExportSourceFilesWithOverwriteExisting();
+	}
+
+	public void testAllExportTestCases() throws Exception {
+
+		File exportDirectory = new File(TESTS_OUTPUT_PATH);
+		if (exportDirectory.isDirectory()) {
+			File[] contents = exportDirectory.listFiles();
+			for (int i = 0; i < contents.length; i++) {
+				if (!contents[i].isDirectory())
+					contents[i].delete();
+			}
+		}
+		IProject[] projects = getExportableProjects();
+		for (int i = 0; i < projects.length; i++) {
+			testExport(projects[i].getName(), getFileName(projects[i].getName()));
+		}
+	}
+
+	public String getFileName(String baseName) {
+		StringBuffer result = new StringBuffer(baseName);
+		result.append((exportSourceFiles) ? "_withSource" : "_withoutSource").append(getModuleExportFileExt());
+		return result.toString();
+	}
+
+	/**
+	 * @return
+	 */
+	public String getModuleExportFileExt() {
+		return ".jar";
+	}
+}
diff --git a/tests/org.eclipse.jst.j2ee.tests/j2ee-tests/org/eclipse/wtp/j2ee/headless/tests/j2ee/operations/ModuleImportOperationTestCase.java b/tests/org.eclipse.jst.j2ee.tests/j2ee-tests/org/eclipse/wtp/j2ee/headless/tests/j2ee/operations/ModuleImportOperationTestCase.java
new file mode 100644
index 0000000..f702f86
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.tests/j2ee-tests/org/eclipse/wtp/j2ee/headless/tests/j2ee/operations/ModuleImportOperationTestCase.java
@@ -0,0 +1,132 @@
+/*
+ * Created on Jan 6, 2004
+ * 
+ * To change the template for this generated file go to Window - Preferences - Java - Code
+ * Generation - Code and Comments
+ */
+package org.eclipse.wtp.j2ee.headless.tests.j2ee.operations;
+
+import java.io.File;
+import java.util.List;
+
+import junit.framework.Test;
+import junit.framework.TestSuite;
+
+import org.eclipse.jst.j2ee.application.operations.J2EEModuleImportDataModel;
+import org.eclipse.wst.common.tests.ProjectUtility;
+import org.eclipse.wtp.j2ee.headless.tests.appclient.operations.AppClientImportOperationTest;
+import org.eclipse.wtp.j2ee.headless.tests.ejb.operations.EJBImportOperationTest;
+import org.eclipse.wtp.j2ee.headless.tests.jca.operations.RARImportOperationTest;
+import org.eclipse.wtp.j2ee.headless.tests.plugin.AllPluginTests;
+import org.eclipse.wtp.j2ee.headless.tests.plugin.HeadlessTestsPlugin;
+import org.eclipse.wtp.j2ee.headless.tests.web.operations.WebImportOperationTest;
+
+/**
+ * @author Administrator
+ * 
+ * To change the template for this generated type comment go to Window - Preferences - Java - Code
+ * Generation - Code and Comments
+ */
+public abstract class ModuleImportOperationTestCase extends OperationTestCase {
+
+	protected boolean isBinary = false;
+	protected boolean overwriteProject = false;
+	protected boolean dataModelShouldBeValid = true;
+	public  String TESTS_PATH;
+
+
+	public static Test suite() {
+		TestSuite suite = new TestSuite();
+		suite.addTestSuite(RARImportOperationTest.class);
+		suite.addTestSuite(EJBImportOperationTest.class);
+		suite.addTestSuite(WebImportOperationTest.class);
+		suite.addTestSuite(AppClientImportOperationTest.class);
+		return suite;
+	}
+
+	public ModuleImportOperationTestCase(String name)  {
+		super(name);
+		TESTS_PATH = "TestData" + File.separator + getDirectory() + File.separator;
+	}
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see org.eclipse.wtp.j2ee.headless.tests.j2ee.operations.OperationTestCase#setUp()
+	 */
+	protected void setUp() throws Exception {
+		super.setUp();
+		isBinary = false;
+		overwriteProject = false;
+		dataModelShouldBeValid = true;
+	}
+
+	protected abstract String getDirectory(); 
+	protected abstract J2EEModuleImportDataModel getModelInstance();
+
+	public void testImport(String projectName, String filename) throws Exception {
+
+		J2EEModuleImportDataModel dataModel = getModelInstance();
+		dataModel.setProperty(J2EEModuleImportDataModel.FILE_NAME, filename);
+		dataModel.setProperty(J2EEModuleImportDataModel.PROJECT_NAME, projectName);
+		setServerTargetProperty(dataModel);
+		// TODO revisit once refactorings are completed
+		//dataModel.setBooleanProperty(J2EEImportDataModel.CREATE_BINARY_PROJECT, isBinary);
+		dataModel.setBooleanProperty(J2EEModuleImportDataModel.OVERWRITE_PROJECT, overwriteProject);
+
+		if (dataModelShouldBeValid)
+			runAndVerify(dataModel);
+		else 
+			verifyInvalidDataModel(dataModel);
+	}
+
+	/**
+	 * @param dataModel
+	 */
+	public void setServerTargetProperty(J2EEModuleImportDataModel dataModel) {
+		dataModel.setProperty(J2EEModuleImportDataModel.SERVER_TARGET_ID, AllPluginTests.JONAS_SERVER.getId());
+	}
+
+	public void testAllBinaryImportTestCases() throws Exception {
+		isBinary = true;
+		testAllImportTestCases();
+	}
+
+	public void testAllImportTestCases() throws Exception {
+ 
+		List projects = getImportableArchiveFileNames();
+		for (int i = 0; i < projects.size(); i++) {
+			String jarName =  projects.get(i).toString(); 
+			String projectName = jarName.substring(jarName.lastIndexOf('\\') + 1,jarName.length()-4);
+			testImport(projectName, jarName);
+		}
+	} 
+ 
+	/**
+	 * @return
+	 */
+	protected List getImportableArchiveFileNames() {
+		return ProjectUtility.getJarsInDirectory(HeadlessTestsPlugin.getDefault(),TESTS_PATH);
+	}
+
+	public void testBadFileName() throws Exception {
+ 
+		dataModelShouldBeValid = false;
+		testImport("BobTheProject", "BobTheFile");
+	}
+
+	public void testOverwriteProjectImportFail() throws Exception {
+
+		overwriteProject = false;
+		testAllImportTestCases();
+		dataModelShouldBeValid = false;
+		testAllImportTestCases();
+	}
+	
+	public void testOverwriteProjectImportSucceed() throws Exception {
+
+		overwriteProject = true; 
+		testAllImportTestCases();
+		testAllImportTestCases();
+	} 
+ 
+}
diff --git a/tests/org.eclipse.jst.j2ee.tests/j2ee-tests/org/eclipse/wtp/j2ee/headless/tests/j2ee/operations/ModuleProjectCreationOperationTest.java b/tests/org.eclipse.jst.j2ee.tests/j2ee-tests/org/eclipse/wtp/j2ee/headless/tests/j2ee/operations/ModuleProjectCreationOperationTest.java
new file mode 100644
index 0000000..87d76b5
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.tests/j2ee-tests/org/eclipse/wtp/j2ee/headless/tests/j2ee/operations/ModuleProjectCreationOperationTest.java
@@ -0,0 +1,66 @@
+package org.eclipse.wtp.j2ee.headless.tests.j2ee.operations;
+
+import junit.framework.Test;
+import junit.framework.TestSuite;
+
+import org.eclipse.jst.j2ee.application.operations.EnterpriseApplicationCreationDataModel;
+import org.eclipse.jst.j2ee.application.operations.J2EEModuleCreationDataModel;
+import org.eclipse.wtp.j2ee.headless.tests.appclient.operations.AppClientProjectCreationOperationTest;
+import org.eclipse.wtp.j2ee.headless.tests.ear.operations.EARProjectCreationOperationTest;
+import org.eclipse.wtp.j2ee.headless.tests.ejb.operations.EJBProjectCreationOperationTest;
+import org.eclipse.wtp.j2ee.headless.tests.jca.operations.ConnectorProjectCreationOperationTest;
+import org.eclipse.wtp.j2ee.headless.tests.web.operations.WebProjectCreationOperationTest;
+
+public abstract class ModuleProjectCreationOperationTest extends OperationTestCase {
+    
+    public static String DEFAULT_PROJECT_NAME = "SimpleProject";
+    
+    public static Test suite() {
+        TestSuite suite = new TestSuite();
+        suite.addTestSuite(AppClientProjectCreationOperationTest.class);
+        suite.addTestSuite(EJBProjectCreationOperationTest.class);
+        suite.addTestSuite(WebProjectCreationOperationTest.class); 
+        suite.addTestSuite(ConnectorProjectCreationOperationTest.class); 
+        return suite;
+    }
+    
+    public void testDefaults() throws Exception {
+        createSimpleModule(DEFAULT_PROJECT_NAME);
+    }
+    
+    public void testCreateEAR() throws Exception {
+        J2EEModuleCreationDataModel dataModel = getProjectCreationDataModel();
+        dataModel.setProperty(J2EEModuleCreationDataModel.PROJECT_NAME, "SimpleEJB");
+        dataModel.setProperty(J2EEModuleCreationDataModel.EAR_PROJECT_NAME, "SimpleEAR");
+        runAndVerify(dataModel);
+    }
+
+    public void testAddToEAR() throws Exception {
+        EnterpriseApplicationCreationDataModel dataModelEAR = new EnterpriseApplicationCreationDataModel();
+        dataModelEAR.setProperty(EnterpriseApplicationCreationDataModel.PROJECT_NAME, "SimpleEAR");
+        EARProjectCreationOperationTest.runAndVerify(dataModelEAR);
+
+        J2EEModuleCreationDataModel dataModel = getProjectCreationDataModel();
+        dataModel.setProperty(J2EEModuleCreationDataModel.PROJECT_NAME, "SimpleEJB");
+        dataModel.setBooleanProperty(J2EEModuleCreationDataModel.ADD_TO_EAR, true);
+        dataModel.setProperty(J2EEModuleCreationDataModel.EAR_PROJECT_NAME, "SimpleEAR");
+        runAndVerify(dataModel);
+    }
+    
+    public void testNoAddToEAR() throws Exception {
+        J2EEModuleCreationDataModel dataModel = getProjectCreationDataModel();
+        dataModel.setProperty(J2EEModuleCreationDataModel.PROJECT_NAME, "SimpleEJB");
+        dataModel.setBooleanProperty(J2EEModuleCreationDataModel.ADD_TO_EAR, false);
+        dataModel.setProperty(J2EEModuleCreationDataModel.EAR_PROJECT_NAME, "SimpleEAR");
+        runAndVerify(dataModel);
+    }
+
+    public void createSimpleModule(String projectName) throws Exception {
+        J2EEModuleCreationDataModel dataModel = getProjectCreationDataModel();
+        dataModel.setProperty(J2EEModuleCreationDataModel.PROJECT_NAME, projectName);
+        runAndVerify(dataModel);
+    }
+    
+    public abstract J2EEModuleCreationDataModel getProjectCreationDataModel();
+
+}
diff --git a/tests/org.eclipse.jst.j2ee.tests/j2ee-tests/org/eclipse/wtp/j2ee/headless/tests/j2ee/operations/OperationTestCase.java b/tests/org.eclipse.jst.j2ee.tests/j2ee-tests/org/eclipse/wtp/j2ee/headless/tests/j2ee/operations/OperationTestCase.java
new file mode 100644
index 0000000..bd014ee
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.tests/j2ee-tests/org/eclipse/wtp/j2ee/headless/tests/j2ee/operations/OperationTestCase.java
@@ -0,0 +1,97 @@
+/*
+ * Created on Nov 6, 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.wtp.j2ee.headless.tests.j2ee.operations;
+
+import junit.framework.Assert;
+import junit.framework.TestCase;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.jst.j2ee.internal.web.archive.operations.WebModuleCreationDataModel;
+import org.eclipse.jst.j2ee.internal.web.archive.operations.WebModuleExportDataModel;
+import org.eclipse.wst.common.frameworks.operations.WTPOperationDataModel;
+import org.eclipse.wst.common.tests.LogUtility;
+import org.eclipse.wst.common.tests.ProjectUtility;
+import org.eclipse.wst.common.tests.TaskViewUtility;
+import org.eclipse.wtp.j2ee.headless.tests.j2ee.verifiers.DataModelVerifier;
+import org.eclipse.wtp.j2ee.headless.tests.j2ee.verifiers.DataModelVerifierFactory;
+
+/**
+ * @author jsholl
+ * 
+ * To change the template for this generated type comment go to Window&gt;Preferences&gt;Java&gt;Code
+ * Generation&gt;Code and Comments
+ */
+public abstract class OperationTestCase extends TestCase {
+
+    public static IStatus OK_STATUS = new Status(IStatus.OK, "org.eclipse.wtp.common", 0, "OK", null); //$NON-NLS-1$
+
+    protected void setUp() throws Exception {
+        super.setUp();
+        ProjectUtility.deleteAllProjects();
+        LogUtility.getInstance().resetLogging();
+    }
+
+    public OperationTestCase() {
+        super("OperationsTestCase");
+    }
+
+    public OperationTestCase(String name) {
+        super(name);
+    }
+
+    public static void runAndVerify(WTPOperationDataModel dataModel) throws Exception {
+        OperationTestCase.runAndVerify(dataModel, true, true);
+    }
+
+    /**
+     * Guaranteed to close the dataModel
+     * 
+     * @param dataModel
+     * @throws Exception
+     */
+    public static void runAndVerify(WTPOperationDataModel dataModel, boolean checkTasks, boolean checkLog) throws Exception {
+        try {
+            verifyValidDataModel(dataModel);
+            dataModel.getDefaultOperation().run(null);
+            DataModelVerifier verifier = DataModelVerifierFactory.getInstance().createVerifier(dataModel);
+            verifier.verify(dataModel);
+            if (checkTasks) {
+                checkTasksList();
+            }
+            if (checkLog) {
+                checkLogUtility();
+            }
+        } finally {
+            dataModel.dispose();
+        }
+    }
+
+    protected static void checkLogUtility() {
+        LogUtility.getInstance().verifyNoWarnings();
+    }
+
+    protected static void checkTasksList() {
+        TaskViewUtility.verifyNoErrors();
+    }
+
+    public static void verifyValidDataModel(WTPOperationDataModel dataModel) {
+    	 if(dataModel instanceof WebModuleExportDataModel )
+        	System.out.print("");
+        IStatus status = dataModel.validateDataModel();
+        if (!status.isOK()) {
+            Assert.assertTrue("DataModel is invalid operation will not run:" + status.getMessage(), false);
+        }
+    }
+
+    public static void verifyInvalidDataModel(WTPOperationDataModel dataModel) {
+        IStatus status = dataModel.validateDataModel();
+        if (status.isOK()) {
+            Assert.assertTrue("DataModel should be invalid:" + status.getMessage(), false);
+        }
+    }
+}
diff --git a/tests/org.eclipse.jst.j2ee.tests/j2ee-tests/org/eclipse/wtp/j2ee/headless/tests/j2ee/operations/RandomObjectGenerator.java b/tests/org.eclipse.jst.j2ee.tests/j2ee-tests/org/eclipse/wtp/j2ee/headless/tests/j2ee/operations/RandomObjectGenerator.java
new file mode 100644
index 0000000..f825f35
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.tests/j2ee-tests/org/eclipse/wtp/j2ee/headless/tests/j2ee/operations/RandomObjectGenerator.java
@@ -0,0 +1,101 @@
+/*
+ * Created on Jan 6, 2004
+ * 
+ * To change the template for this generated file go to Window - Preferences - Java - Code Generation - Code and
+ * Comments
+ */
+package org.eclipse.wtp.j2ee.headless.tests.j2ee.operations;
+
+import java.util.Random;
+
+/**
+ * @author blancett
+ * 
+ * To change the template for this generated type comment go to Window - Preferences - Java - Code Generation - Code
+ * and Comments
+ */
+public class RandomObjectGenerator {
+    protected static RandomObjectGenerator randomObjectGenerator;
+    private static Random randomGenerator = new Random();
+    private static int maxNumOfLettersInWords = 15;
+    private static int maxNumberOfProjectsCreated = 5;
+    private static int upperCaseSeed = 65; //ASCII 'A'
+    private static int lowerCaseSeed = 97; //ASCII 'a'
+    private static int invalidCharSeed = 33;
+    private static int numberSeed = 48;
+    private static int alphabetRange = 25;
+    private static int symbolRange = 15;
+    private static int numberRange = 9;
+
+    public static String createCorrectRandomProjectNames() {
+        int numOfletterInWord = Math.max(randomGenerator.nextInt(maxNumOfLettersInWords + 1), 2);
+        String string = new String();
+        for (int i = 0; i < numOfletterInWord; i++) {
+            string = string + createRandomCharacterInAlphabetRange();
+        }
+        return string;
+    }
+
+    public static String createRandomNumbers() {
+        char randomChar;
+        int randomInt = randomGenerator.nextInt(numberRange + 1);
+        randomChar = (char) (randomInt + numberSeed);
+        return (new Character(randomChar)).toString();
+    }
+
+    public static String createRandomInvaildCharacters() {
+        char randomChar;
+        int randomInt = randomGenerator.nextInt(symbolRange + 1);
+        randomChar = (char) (randomInt + invalidCharSeed);
+        return (new Character(randomChar)).toString();
+    }
+    public static int createRandomProjectNumber() {
+        return randomGenerator.nextInt(maxNumberOfProjectsCreated + 1);
+    }
+
+    public static String createRandomCharacterInAlphabetRange() {
+        char randomChar;
+        int randomInt = randomGenerator.nextInt(alphabetRange + 1);
+        if ((randomInt % 2) == 0)
+            randomChar = (char) (randomInt + lowerCaseSeed);
+        else
+            randomChar = (char) (randomInt + upperCaseSeed);
+        return Character.toString(randomChar);
+    }
+
+    public static String createInvalidRandomProjectName() {
+        int numOfletterInWord = randomGenerator.nextInt(maxNumOfLettersInWords + 1);
+        String string = new String();
+        for (int i = 0; i < numOfletterInWord; i++) {
+            string.concat(createRandomInvaildCharacters());
+        }
+        return string;
+    }
+
+    public static String createCorrectRandomProjectNamesAllChars() {
+        int numOfletterInWord = Math.max(randomGenerator.nextInt(maxNumOfLettersInWords + 1), 2);
+        String string = new String();
+        for (int i = 0; i < numOfletterInWord; i++) {
+            if (randomGenerator.nextInt() % 5 == 0) {
+                Character c = new Character('$');
+                string = string + c.toString();
+            }
+
+            if (randomGenerator.nextInt() % 2 == 0) {
+                Character c = new Character('_');
+                string = string + c.toString();
+            }
+            string += createRandomCharacterInAlphabetRange();
+            if (randomGenerator.nextInt() % 3 == 0)
+                string = string + createRandomNumbers();
+        }
+        return string.substring(0, numOfletterInWord - 1);
+    }
+
+    public static RandomObjectGenerator getInstance() {
+        if (randomObjectGenerator == null)
+            randomObjectGenerator = new RandomObjectGenerator();
+        return randomObjectGenerator;
+    }
+
+}
diff --git a/tests/org.eclipse.jst.j2ee.tests/j2ee-tests/org/eclipse/wtp/j2ee/headless/tests/j2ee/verifiers/AppClientExportDataModelVerifier.java b/tests/org.eclipse.jst.j2ee.tests/j2ee-tests/org/eclipse/wtp/j2ee/headless/tests/j2ee/verifiers/AppClientExportDataModelVerifier.java
new file mode 100644
index 0000000..cafda98
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.tests/j2ee-tests/org/eclipse/wtp/j2ee/headless/tests/j2ee/verifiers/AppClientExportDataModelVerifier.java
@@ -0,0 +1,18 @@
+/*
+ * Created on Jan 5, 2004
+ *
+ * To change the template for this generated file go to
+ * Window - Preferences - Java - Code Generation - Code and Comments
+ */
+package org.eclipse.wtp.j2ee.headless.tests.j2ee.verifiers;
+
+/**
+ * @author Administrator
+ *
+ * To change the template for this generated type comment go to
+ * Window - Preferences - Java - Code Generation - Code and Comments
+ */
+public class AppClientExportDataModelVerifier extends ModuleExportDataModelVerifier {
+ 
+	
+}
diff --git a/tests/org.eclipse.jst.j2ee.tests/j2ee-tests/org/eclipse/wtp/j2ee/headless/tests/j2ee/verifiers/AppClientImportDataModelVerifier.java b/tests/org.eclipse.jst.j2ee.tests/j2ee-tests/org/eclipse/wtp/j2ee/headless/tests/j2ee/verifiers/AppClientImportDataModelVerifier.java
new file mode 100644
index 0000000..59845ce
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.tests/j2ee-tests/org/eclipse/wtp/j2ee/headless/tests/j2ee/verifiers/AppClientImportDataModelVerifier.java
@@ -0,0 +1,17 @@
+/*
+ * Created on Jan 5, 2004
+ *
+ * To change the template for this generated file go to
+ * Window - Preferences - Java - Code Generation - Code and Comments
+ */
+package org.eclipse.wtp.j2ee.headless.tests.j2ee.verifiers;
+
+/**
+ * @author Administrator
+ *
+ * To change the template for this generated type comment go to
+ * Window - Preferences - Java - Code Generation - Code and Comments
+ */
+public class AppClientImportDataModelVerifier extends ModuleImportDataModelVerifier {
+
+}
diff --git a/tests/org.eclipse.jst.j2ee.tests/j2ee-tests/org/eclipse/wtp/j2ee/headless/tests/j2ee/verifiers/AppClientProjectCreationDataModelVerifier.java b/tests/org.eclipse.jst.j2ee.tests/j2ee-tests/org/eclipse/wtp/j2ee/headless/tests/j2ee/verifiers/AppClientProjectCreationDataModelVerifier.java
new file mode 100644
index 0000000..21ac734
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.tests/j2ee-tests/org/eclipse/wtp/j2ee/headless/tests/j2ee/verifiers/AppClientProjectCreationDataModelVerifier.java
@@ -0,0 +1,62 @@
+/*
+ * Created on Jan 5, 2004
+ *
+ * To change the template for this generated file go to
+ * Window - Preferences - Java - Code Generation - Code and Comments
+ */
+package org.eclipse.wtp.j2ee.headless.tests.j2ee.verifiers;
+
+import junit.framework.Assert;
+
+import org.eclipse.core.resources.IProject;
+import org.eclipse.jst.j2ee.application.operations.J2EEModuleCreationDataModel;
+import org.eclipse.jst.j2ee.applicationclient.creation.AppClientEditModel;
+import org.eclipse.jst.j2ee.applicationclient.creation.AppClientModuleCreationDataModel;
+import org.eclipse.jst.j2ee.applicationclient.creation.ApplicationClientNatureRuntime;
+import org.eclipse.jst.j2ee.common.XMLResource;
+import org.eclipse.jst.j2ee.internal.earcreation.EAREditModel;
+import org.eclipse.jst.j2ee.internal.earcreation.EARNatureRuntime;
+import org.eclipse.jst.j2ee.internal.earcreation.IEARNatureConstants;
+import org.eclipse.wst.common.internal.emfworkbench.operation.EditModelOperationDataModel;
+import org.eclipse.wst.common.tests.ProjectUtility;
+
+/**
+ * @author Administrator
+ *
+ * To change the template for this generated type comment go to
+ * Window - Preferences - Java - Code Generation - Code and Comments
+ */
+public class AppClientProjectCreationDataModelVerifier extends ModuleProjectCreationDataModelVerifier {
+ /* (non-Javadoc)
+ * @see org.eclipse.wtp.j2ee.headless.tests.j2ee.verifiers.J2EEProjectCreationDataModelVerifier#verifyProjectCreationDataModel(com.ibm.etools.application.operations.J2EEProjectCreationDataModel)
+ */
+public void verifyProjectCreationDataModel(J2EEModuleCreationDataModel model) {
+    	AppClientModuleCreationDataModel dataModel = (AppClientModuleCreationDataModel)model;
+        ProjectUtility.verifyProject(dataModel.getTargetProject().getName(), true);
+        AppClientEditModel editModel = null;
+        Object key = new Object();
+        try {
+        	ApplicationClientNatureRuntime aRuntime = ApplicationClientNatureRuntime.getRuntime(dataModel.getTargetProject());
+            //EMFWorkbenchContext emfWorkbenchContext = WorkbenchResourceHelper.createEMFContext(dataModel.getTargetProject(), null);
+            editModel = (AppClientEditModel)aRuntime.getEditModelForRead(dataModel.getStringProperty(EditModelOperationDataModel.EDIT_MODEL_ID), key);
+            XMLResource dd = editModel.getDeploymentDescriptorResource();
+            Assert.assertNotNull("Deployment Descriptor Null", dd);
+        } finally {
+            editModel.releaseAccess(key);
+        }
+        if (dataModel.getBooleanProperty(AppClientModuleCreationDataModel.ADD_TO_EAR)) {
+            IProject earProject = dataModel.getApplicationCreationDataModel().getTargetProject();
+            EAREditModel ear = null;
+            try {
+                Assert.assertTrue("EAR doesn't exist:", earProject.exists());
+                EARNatureRuntime runtime = EARNatureRuntime.getRuntime(earProject);
+                //EMFWorkbenchContext emfWorkbenchContext = WorkbenchResourceHelper.createEMFContext(earProject, null);
+                ear = (EAREditModel)runtime.getEditModelForRead(IEARNatureConstants.EDIT_MODEL_ID, key);
+                ear.getModuleMapping(dataModel.getTargetProject());
+                //TODO
+            } finally {
+                ear.releaseAccess(key);
+            }
+        }
+	}
+}
diff --git a/tests/org.eclipse.jst.j2ee.tests/j2ee-tests/org/eclipse/wtp/j2ee/headless/tests/j2ee/verifiers/DataModelVerifier.java b/tests/org.eclipse.jst.j2ee.tests/j2ee-tests/org/eclipse/wtp/j2ee/headless/tests/j2ee/verifiers/DataModelVerifier.java
new file mode 100644
index 0000000..12bd540
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.tests/j2ee-tests/org/eclipse/wtp/j2ee/headless/tests/j2ee/verifiers/DataModelVerifier.java
@@ -0,0 +1,23 @@
+/*
+ * Created on Jan 5, 2004
+ *
+ * To change the template for this generated file go to
+ * Window - Preferences - Java - Code Generation - Code and Comments
+ */
+package org.eclipse.wtp.j2ee.headless.tests.j2ee.verifiers;
+
+import org.eclipse.wst.common.frameworks.operations.WTPOperationDataModel;
+
+/**
+ * @author Administrator
+ *
+ * To change the template for this generated type comment go to
+ * Window - Preferences - Java - Code Generation - Code and Comments
+ */
+public class DataModelVerifier {
+	
+	public void verify(WTPOperationDataModel model) throws Exception {
+		
+	}
+
+}
diff --git a/tests/org.eclipse.jst.j2ee.tests/j2ee-tests/org/eclipse/wtp/j2ee/headless/tests/j2ee/verifiers/DataModelVerifierFactory.java b/tests/org.eclipse.jst.j2ee.tests/j2ee-tests/org/eclipse/wtp/j2ee/headless/tests/j2ee/verifiers/DataModelVerifierFactory.java
new file mode 100644
index 0000000..d8c41fa
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.tests/j2ee-tests/org/eclipse/wtp/j2ee/headless/tests/j2ee/verifiers/DataModelVerifierFactory.java
@@ -0,0 +1,100 @@
+/*
+ * Created on Jan 5, 2004
+ * 
+ * To change the template for this generated file go to Window - Preferences - Java - Code
+ * Generation - Code and Comments
+ */
+package org.eclipse.wtp.j2ee.headless.tests.j2ee.verifiers;
+
+import java.util.HashMap;
+import java.util.Map;
+
+import org.eclipse.jst.j2ee.application.operations.AppClientModuleExportDataModel;
+import org.eclipse.jst.j2ee.application.operations.EnterpriseApplicationCreationDataModel;
+import org.eclipse.jst.j2ee.applicationclient.creation.AppClientModuleCreationDataModel;
+import org.eclipse.jst.j2ee.applicationclient.creation.AppClientModuleImportDataModel;
+import org.eclipse.jst.j2ee.internal.ejb.project.operations.EJBModuleCreationDataModel;
+import org.eclipse.jst.j2ee.internal.ejb.project.operations.EJBModuleExportDataModel;
+import org.eclipse.jst.j2ee.internal.ejb.project.operations.EJBModuleImportDataModel;
+import org.eclipse.jst.j2ee.internal.jca.operations.ConnectorModuleImportDataModel;
+import org.eclipse.jst.j2ee.internal.web.archive.operations.WebModuleCreationDataModel;
+import org.eclipse.jst.j2ee.internal.web.archive.operations.WebModuleExportDataModel;
+import org.eclipse.jst.j2ee.internal.web.archive.operations.WebModuleImportDataModel;
+import org.eclipse.wst.common.frameworks.operations.WTPOperationDataModel;
+import org.eclipse.wtp.j2ee.headless.tests.ejb.verifiers.EJBExportDataModelVerifier;
+import org.eclipse.wtp.j2ee.headless.tests.ejb.verifiers.EJBImportDataModelVerifier;
+import org.eclipse.wtp.j2ee.headless.tests.ejb.verifiers.EJBProjectCreationDataModelVerifier;
+import org.eclipse.wtp.j2ee.headless.tests.jca.verifiers.JCAExportDataModelVerifier;
+import org.eclipse.wtp.j2ee.headless.tests.jca.verifiers.JCAImportDataModelVerifier;
+import org.eclipse.wtp.j2ee.headless.tests.web.verifiers.WebExportDataModelVerifier;
+import org.eclipse.wtp.j2ee.headless.tests.web.verifiers.WebImportDataModelVerifier;
+import org.eclipse.wtp.j2ee.headless.tests.web.verifiers.WebProjectCreationDataModelVerifier;
+
+/**
+ * @author Administrator
+ * 
+ * To change the template for this generated type comment go to Window - Preferences - Java - Code
+ * Generation - Code and Comments
+ */
+public class DataModelVerifierFactory {
+
+	private Map dataModelVerifiersMap = null;
+	private DataModelVerifier defaultDataModelVerifier = new DataModelVerifier();
+	
+	private static final DataModelVerifierFactory instance = new DataModelVerifierFactory();
+
+	public static DataModelVerifierFactory getInstance() {
+		return instance;
+	}
+
+	public DataModelVerifier createVerifier(WTPOperationDataModel model)  {
+		DataModelVerifier verifier = getDefaultDataModelVerifier();
+		String verifierClassName = null;
+		if (model != null) {
+			verifierClassName = (String) getDataModelVerifiersMap().get(model.getClass().getName());
+			if (verifierClassName != null) {
+				try {
+					Class verifierClass = Class.forName(verifierClassName);
+					verifier = (DataModelVerifier) verifierClass.newInstance();
+				} catch (Exception e) { 
+					verifier = getDefaultDataModelVerifier();
+				}
+			}
+		}  
+		return verifier;
+	}
+
+	/**
+	 * @return Returns the dataModelVerifiersMap.
+	 */
+	protected Map getDataModelVerifiersMap() {
+		if (dataModelVerifiersMap == null) {
+			dataModelVerifiersMap = new HashMap();
+			dataModelVerifiersMap.put(EJBModuleImportDataModel.class.getName(), EJBImportDataModelVerifier.class.getName());
+			dataModelVerifiersMap.put(ConnectorModuleImportDataModel.class.getName(),JCAImportDataModelVerifier.class.getName());
+			dataModelVerifiersMap.put(WebModuleImportDataModel.class.getName(), WebImportDataModelVerifier.class.getName());
+			dataModelVerifiersMap.put(AppClientModuleImportDataModel.class.getName(), AppClientImportDataModelVerifier.class.getName());
+			
+			dataModelVerifiersMap.put(EJBModuleExportDataModel.class.getName(), EJBExportDataModelVerifier.class.getName());
+			dataModelVerifiersMap.put(JCAExportDataModelVerifier.class.getName(), JCAExportDataModelVerifier.class.getName());
+			dataModelVerifiersMap.put(WebModuleExportDataModel.class.getName(), WebExportDataModelVerifier.class.getName());
+			dataModelVerifiersMap.put(AppClientModuleExportDataModel.class.getName(), AppClientExportDataModelVerifier.class.getName());
+			
+			dataModelVerifiersMap.put(WebModuleCreationDataModel.class.getName(), WebProjectCreationDataModelVerifier.class.getName());
+			dataModelVerifiersMap.put(EnterpriseApplicationCreationDataModel.class.getName(), EARProjectCreationDataModelVerifier.class.getName());
+			dataModelVerifiersMap.put(EJBModuleCreationDataModel.class.getName(), EJBProjectCreationDataModelVerifier.class.getName());
+			dataModelVerifiersMap.put(AppClientModuleCreationDataModel.class.getName(),AppClientProjectCreationDataModelVerifier.class.getName());
+			
+		}
+		
+		return dataModelVerifiersMap;
+	}
+
+	/**
+	 * @return Returns the defaultDataModelVerifier.
+	 */
+	protected DataModelVerifier getDefaultDataModelVerifier() {
+		return defaultDataModelVerifier;
+	}
+
+}
diff --git a/tests/org.eclipse.jst.j2ee.tests/j2ee-tests/org/eclipse/wtp/j2ee/headless/tests/j2ee/verifiers/EARExportDataModelVerifier.java b/tests/org.eclipse.jst.j2ee.tests/j2ee-tests/org/eclipse/wtp/j2ee/headless/tests/j2ee/verifiers/EARExportDataModelVerifier.java
new file mode 100644
index 0000000..4796997
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.tests/j2ee-tests/org/eclipse/wtp/j2ee/headless/tests/j2ee/verifiers/EARExportDataModelVerifier.java
@@ -0,0 +1,17 @@
+/*
+ * Created on Jan 5, 2004
+ *
+ * To change the template for this generated file go to
+ * Window - Preferences - Java - Code Generation - Code and Comments
+ */
+package org.eclipse.wtp.j2ee.headless.tests.j2ee.verifiers;
+
+/**
+ * @author Administrator
+ *
+ * To change the template for this generated type comment go to
+ * Window - Preferences - Java - Code Generation - Code and Comments
+ */
+public class EARExportDataModelVerifier extends J2EEExportDataModelVerifier {
+
+}
diff --git a/tests/org.eclipse.jst.j2ee.tests/j2ee-tests/org/eclipse/wtp/j2ee/headless/tests/j2ee/verifiers/EARImportDataModelVerifier.java b/tests/org.eclipse.jst.j2ee.tests/j2ee-tests/org/eclipse/wtp/j2ee/headless/tests/j2ee/verifiers/EARImportDataModelVerifier.java
new file mode 100644
index 0000000..e4ca1d7
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.tests/j2ee-tests/org/eclipse/wtp/j2ee/headless/tests/j2ee/verifiers/EARImportDataModelVerifier.java
@@ -0,0 +1,36 @@
+/*
+ * Created on Jan 5, 2004
+ *
+ * To change the template for this generated file go to
+ * Window - Preferences - Java - Code Generation - Code and Comments
+ */
+package org.eclipse.wtp.j2ee.headless.tests.j2ee.verifiers;
+
+import java.util.Iterator;
+import java.util.List;
+
+import org.eclipse.jst.j2ee.application.operations.EnterpriseApplicationImportDataModel;
+import org.eclipse.jst.j2ee.commonarchivecore.internal.ModuleFile;
+import org.eclipse.wst.common.frameworks.operations.WTPOperationDataModel;
+import org.eclipse.wst.common.tests.ProjectUtility;
+
+/**
+ * @author Administrator
+ *
+ * To change the template for this generated type comment go to
+ * Window - Preferences - Java - Code Generation - Code and Comments
+ */
+public class EARImportDataModelVerifier extends J2EEImportDataModelVerifier {
+
+    public void verify(WTPOperationDataModel model) throws Exception {
+        super.verify(model);
+        EnterpriseApplicationImportDataModel importModel = (EnterpriseApplicationImportDataModel)model;
+        List list = importModel.getEARFile().getModuleFiles();
+        for (Iterator iter = list.iterator(); iter.hasNext();) {
+            ModuleFile element = (ModuleFile) iter.next();
+            String uri = element.getURI();
+            ProjectUtility.verifyProject(uri.substring(0, uri.indexOf(".")), true);
+        }
+    }
+    
+}
diff --git a/tests/org.eclipse.jst.j2ee.tests/j2ee-tests/org/eclipse/wtp/j2ee/headless/tests/j2ee/verifiers/EARProjectCreationDataModelVerifier.java b/tests/org.eclipse.jst.j2ee.tests/j2ee-tests/org/eclipse/wtp/j2ee/headless/tests/j2ee/verifiers/EARProjectCreationDataModelVerifier.java
new file mode 100644
index 0000000..bd7782a
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.tests/j2ee-tests/org/eclipse/wtp/j2ee/headless/tests/j2ee/verifiers/EARProjectCreationDataModelVerifier.java
@@ -0,0 +1,17 @@
+/*
+ * Created on Jan 5, 2004
+ *
+ * To change the template for this generated file go to
+ * Window - Preferences - Java - Code Generation - Code and Comments
+ */
+package org.eclipse.wtp.j2ee.headless.tests.j2ee.verifiers;
+
+/**
+ * @author Administrator
+ *
+ * To change the template for this generated type comment go to
+ * Window - Preferences - Java - Code Generation - Code and Comments
+ */
+public class EARProjectCreationDataModelVerifier extends J2EEProjectCreationDataModelVerifier {
+
+}
diff --git a/tests/org.eclipse.jst.j2ee.tests/j2ee-tests/org/eclipse/wtp/j2ee/headless/tests/j2ee/verifiers/J2EEExportDataModelVerifier.java b/tests/org.eclipse.jst.j2ee.tests/j2ee-tests/org/eclipse/wtp/j2ee/headless/tests/j2ee/verifiers/J2EEExportDataModelVerifier.java
new file mode 100644
index 0000000..493815c
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.tests/j2ee-tests/org/eclipse/wtp/j2ee/headless/tests/j2ee/verifiers/J2EEExportDataModelVerifier.java
@@ -0,0 +1,35 @@
+/*
+ * Created on Jan 5, 2004
+ *
+ * To change the template for this generated file go to
+ * Window - Preferences - Java - Code Generation - Code and Comments
+ */
+package org.eclipse.wtp.j2ee.headless.tests.j2ee.verifiers;
+
+import java.io.File;
+
+import junit.framework.Assert;
+
+import org.eclipse.jst.j2ee.application.operations.J2EEModuleExportDataModel;
+import org.eclipse.wst.common.frameworks.operations.WTPOperationDataModel;
+
+/**
+ * @author Administrator
+ *
+ * To change the template for this generated type comment go to
+ * Window - Preferences - Java - Code Generation - Code and Comments
+ */
+public class J2EEExportDataModelVerifier extends DataModelVerifier {
+	
+	/* (non-Javadoc)
+	 * @see org.eclipse.wtp.j2ee.headless.tests.j2ee.verifiers.DataModelVerifier#verify(org.eclipse.wtp.common.operation.WTPOperationDataModel)
+	 */
+	public void verify(WTPOperationDataModel model) throws Exception {
+		super.verify(model);
+		
+		String archiveDestination = model.getStringProperty(J2EEModuleExportDataModel.ARCHIVE_DESTINATION);
+		File archive = new File(archiveDestination);
+		Assert.assertTrue("The exported archive must exist.", archive.exists());
+	}
+
+}
diff --git a/tests/org.eclipse.jst.j2ee.tests/j2ee-tests/org/eclipse/wtp/j2ee/headless/tests/j2ee/verifiers/J2EEImportDataModelVerifier.java b/tests/org.eclipse.jst.j2ee.tests/j2ee-tests/org/eclipse/wtp/j2ee/headless/tests/j2ee/verifiers/J2EEImportDataModelVerifier.java
new file mode 100644
index 0000000..1267cab
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.tests/j2ee-tests/org/eclipse/wtp/j2ee/headless/tests/j2ee/verifiers/J2EEImportDataModelVerifier.java
@@ -0,0 +1,53 @@
+/*
+ * Created on Jan 5, 2004
+ * 
+ * To change the template for this generated file go to Window - Preferences - Java - Code
+ * Generation - Code and Comments
+ */
+package org.eclipse.wtp.j2ee.headless.tests.j2ee.verifiers;
+
+import junit.framework.Assert;
+
+import org.eclipse.core.resources.IProject;
+import org.eclipse.jst.j2ee.application.operations.J2EEModuleImportDataModel;
+import org.eclipse.wst.common.frameworks.operations.WTPOperationDataModel;
+import org.eclipse.wst.common.tests.ProjectUtility;
+import org.eclipse.wst.server.core.IRuntime;
+import org.eclipse.wst.server.core.ServerCore;
+
+/**
+ * @author Administrator
+ * 
+ * To change the template for this generated type comment go to Window - Preferences - Java - Code
+ * Generation - Code and Comments
+ */
+public class J2EEImportDataModelVerifier extends DataModelVerifier {
+
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see org.eclipse.wtp.j2ee.headless.tests.j2ee.verifiers.DataModelVerifier#verify(org.eclipse.wtp.common.operation.WTPOperationDataModel)
+	 */
+	public void verify(WTPOperationDataModel model) throws Exception {
+
+		super.verify(model);
+
+		IProject project = ProjectUtility.verifyAndReturnProject(model.getStringProperty(J2EEModuleImportDataModel.PROJECT_NAME), true);
+
+		String serverTargetId = model.getStringProperty(J2EEModuleImportDataModel.SERVER_TARGET_ID);
+		IRuntime stt = ServerCore.getProjectProperties(project).getRuntimeTarget();
+		/* fail because exactly one of the following is set */
+		if (serverTargetId != null) {
+			if (stt == null)
+				Assert.fail("The server target of the project (Not Set) does not match that of the model (" + serverTargetId + ")");
+			/*
+			 * we know that either stt == null && serverTargetId == null OR stt != null &&
+			 * serverTargetId != null
+			 */
+			else 
+				Assert.assertEquals("The actual server target should match the model's server target.",serverTargetId,stt.getName());
+		}
+
+	}
+
+}
diff --git a/tests/org.eclipse.jst.j2ee.tests/j2ee-tests/org/eclipse/wtp/j2ee/headless/tests/j2ee/verifiers/J2EEProjectCreationDataModelVerifier.java b/tests/org.eclipse.jst.j2ee.tests/j2ee-tests/org/eclipse/wtp/j2ee/headless/tests/j2ee/verifiers/J2EEProjectCreationDataModelVerifier.java
new file mode 100644
index 0000000..d9610dc
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.tests/j2ee-tests/org/eclipse/wtp/j2ee/headless/tests/j2ee/verifiers/J2EEProjectCreationDataModelVerifier.java
@@ -0,0 +1,27 @@
+/*
+ * Created on Jan 5, 2004
+ *
+ * To change the template for this generated file go to
+ * Window - Preferences - Java - Code Generation - Code and Comments
+ */
+package org.eclipse.wtp.j2ee.headless.tests.j2ee.verifiers;
+
+import org.eclipse.jst.j2ee.application.operations.J2EEModuleCreationDataModel;
+import org.eclipse.wst.common.frameworks.operations.WTPOperationDataModel;
+import org.eclipse.wst.common.tests.ProjectUtility;
+
+/**
+ * @author Administrator
+ *
+ * To change the template for this generated type comment go to
+ * Window - Preferences - Java - Code Generation - Code and Comments
+ */
+public class J2EEProjectCreationDataModelVerifier extends DataModelVerifier {
+
+	public void verify(WTPOperationDataModel model) throws Exception {
+		super.verify(model);		
+		ProjectUtility.verifyProject(model.getStringProperty(J2EEModuleCreationDataModel.PROJECT_NAME), true);
+
+	}
+
+}
diff --git a/tests/org.eclipse.jst.j2ee.tests/j2ee-tests/org/eclipse/wtp/j2ee/headless/tests/j2ee/verifiers/ModuleExportDataModelVerifier.java b/tests/org.eclipse.jst.j2ee.tests/j2ee-tests/org/eclipse/wtp/j2ee/headless/tests/j2ee/verifiers/ModuleExportDataModelVerifier.java
new file mode 100644
index 0000000..0119f0f
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.tests/j2ee-tests/org/eclipse/wtp/j2ee/headless/tests/j2ee/verifiers/ModuleExportDataModelVerifier.java
@@ -0,0 +1,30 @@
+/*
+ * Created on Jan 5, 2004
+ * 
+ * To change the template for this generated file go to Window - Preferences - Java - Code
+ * Generation - Code and Comments
+ */
+package org.eclipse.wtp.j2ee.headless.tests.j2ee.verifiers;
+
+import org.eclipse.wst.common.frameworks.operations.WTPOperationDataModel;
+
+/**
+ * @author mdelder
+ */
+public abstract class ModuleExportDataModelVerifier extends J2EEExportDataModelVerifier {
+
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see org.eclipse.wtp.j2ee.headless.tests.j2ee.verifiers.J2EEExportDataModelVerifier#verify(org.eclipse.wtp.common.operation.WTPOperationDataModel)
+	 */
+	public final void verify(WTPOperationDataModel model) throws Exception {
+		super.verify(model);
+
+		doModuleSpecificVerification(model);
+	}
+
+	public void doModuleSpecificVerification(WTPOperationDataModel model) throws Exception {
+		
+	}
+}
diff --git a/tests/org.eclipse.jst.j2ee.tests/j2ee-tests/org/eclipse/wtp/j2ee/headless/tests/j2ee/verifiers/ModuleImportDataModelVerifier.java b/tests/org.eclipse.jst.j2ee.tests/j2ee-tests/org/eclipse/wtp/j2ee/headless/tests/j2ee/verifiers/ModuleImportDataModelVerifier.java
new file mode 100644
index 0000000..7df9a8b
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.tests/j2ee-tests/org/eclipse/wtp/j2ee/headless/tests/j2ee/verifiers/ModuleImportDataModelVerifier.java
@@ -0,0 +1,31 @@
+/*
+ * Created on Jan 5, 2004
+ *
+ * To change the template for this generated file go to
+ * Window - Preferences - Java - Code Generation - Code and Comments
+ */
+package org.eclipse.wtp.j2ee.headless.tests.j2ee.verifiers;
+
+import org.eclipse.wst.common.frameworks.operations.WTPOperationDataModel;
+
+/**
+ * @author Administrator
+ *
+ * To change the template for this generated type comment go to
+ * Window - Preferences - Java - Code Generation - Code and Comments
+ */
+public abstract class ModuleImportDataModelVerifier extends J2EEImportDataModelVerifier {
+
+	/* (non-Javadoc)
+	 * @see org.eclipse.wtp.j2ee.headless.tests.j2ee.verifiers.DataModelVerifier#verify(org.eclipse.wtp.common.operation.WTPOperationDataModel)
+	 */
+	public final void verify(WTPOperationDataModel model) throws Exception { 
+		super.verify(model);
+		
+		doModuleSpecificVerification(model);
+	}
+	
+	public void doModuleSpecificVerification(WTPOperationDataModel model) throws Exception {
+		
+	}
+}
diff --git a/tests/org.eclipse.jst.j2ee.tests/j2ee-tests/org/eclipse/wtp/j2ee/headless/tests/j2ee/verifiers/ModuleProjectCreationDataModelVerifier.java b/tests/org.eclipse.jst.j2ee.tests/j2ee-tests/org/eclipse/wtp/j2ee/headless/tests/j2ee/verifiers/ModuleProjectCreationDataModelVerifier.java
new file mode 100644
index 0000000..b2e2008
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.tests/j2ee-tests/org/eclipse/wtp/j2ee/headless/tests/j2ee/verifiers/ModuleProjectCreationDataModelVerifier.java
@@ -0,0 +1,29 @@
+/*
+ * Created on Jan 5, 2004
+ *
+ * To change the template for this generated file go to
+ * Window - Preferences - Java - Code Generation - Code and Comments
+ */
+package org.eclipse.wtp.j2ee.headless.tests.j2ee.verifiers;
+
+import org.eclipse.jst.j2ee.application.operations.J2EEModuleCreationDataModel;
+import org.eclipse.wst.common.frameworks.operations.WTPOperationDataModel;
+
+/**
+ * @author Administrator
+ *
+ * To change the template for this generated type comment go to
+ * Window - Preferences - Java - Code Generation - Code and Comments
+ */
+public abstract class ModuleProjectCreationDataModelVerifier extends J2EEProjectCreationDataModelVerifier {
+    /* (non-Javadoc)
+     * @see org.eclipse.wtp.j2ee.headless.tests.j2ee.verifiers.J2EEProjectCreationDataModelVerifier#verify(org.eclipse.wtp.common.operation.WTPOperationDataModel)
+     */
+    public void verify(WTPOperationDataModel model) throws Exception {
+        super.verify(model);
+        verifyProjectCreationDataModel((J2EEModuleCreationDataModel)model);
+    }
+
+    public abstract void verifyProjectCreationDataModel(J2EEModuleCreationDataModel model); 
+
+}
diff --git a/tests/org.eclipse.jst.j2ee.tests/j2ee-tests/org/eclipse/wtp/j2ee/headless/tests/plugin/AllPluginTests.java b/tests/org.eclipse.jst.j2ee.tests/j2ee-tests/org/eclipse/wtp/j2ee/headless/tests/plugin/AllPluginTests.java
new file mode 100644
index 0000000..6e96487
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.tests/j2ee-tests/org/eclipse/wtp/j2ee/headless/tests/plugin/AllPluginTests.java
@@ -0,0 +1,57 @@
+/*
+ * Created on Feb 2, 2004
+ * 
+ * To change the template for this generated file go to Window - Preferences - Java - Code Generation - Code and
+ * Comments
+ */
+package org.eclipse.wtp.j2ee.headless.tests.plugin;
+
+import org.eclipse.core.runtime.Path;
+import org.eclipse.wst.server.core.IRuntime;
+import org.eclipse.wst.server.core.IRuntimeType;
+import org.eclipse.wst.server.core.IRuntimeWorkingCopy;
+import org.eclipse.wst.server.core.ServerCore;
+
+import junit.framework.Test;
+import junit.framework.TestSuite;
+
+/**
+ * @author jsholl
+ * 
+ * To change the template for this generated type comment go to Window - Preferences - Java - Code Generation - Code
+ * and Comments
+ */
+public class AllPluginTests extends TestSuite {
+	
+	public static IRuntime JONAS_SERVER = createJONASRuntime();
+
+    public static Test suite() {
+        return new AllPluginTests();
+    }
+
+    public AllPluginTests() {
+        super();
+	      addTest(org.eclipse.wtp.j2ee.headless.tests.ejb.operations.AllTests.suite());
+	      addTest(org.eclipse.wtp.j2ee.headless.tests.web.operations.AllTests.suite());
+	      addTest(org.eclipse.wtp.j2ee.headless.tests.jca.operations.AllTests.suite());
+	      addTest(org.eclipse.wtp.j2ee.headless.tests.ear.operations.AllTests.suite());
+	      addTest(org.eclipse.wtp.j2ee.headless.tests.appclient.operations.AllTests.suite());
+	      addTest(org.eclipse.jst.j2ee.tests.modulecore.AllTests.suite());
+    }
+    
+    public static IRuntime createJONASRuntime()  {
+    	String s = System.getProperty("org.eclipse.jst.server.jonas.432");
+    	if (s == null || s.length() == 0)
+    		return null;
+    	try {
+    		IRuntimeType rt = ServerCore.findRuntimeType("org.eclipse.jst.server.core.runtimeType");
+    		IRuntimeWorkingCopy wc = rt.createRuntime(null, null);
+    		wc.setLocation(new Path(s));
+    		return wc.save(true, null);
+    	} catch (Exception e) {
+    		e.printStackTrace();
+    		return null;
+    	}
+    }
+
+}
diff --git a/tests/org.eclipse.jst.j2ee.tests/j2ee-tests/org/eclipse/wtp/j2ee/headless/tests/plugin/HeadlessTestsPlugin.java b/tests/org.eclipse.jst.j2ee.tests/j2ee-tests/org/eclipse/wtp/j2ee/headless/tests/plugin/HeadlessTestsPlugin.java
new file mode 100644
index 0000000..910baad
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.tests/j2ee-tests/org/eclipse/wtp/j2ee/headless/tests/plugin/HeadlessTestsPlugin.java
@@ -0,0 +1,65 @@
+package org.eclipse.wtp.j2ee.headless.tests.plugin;
+
+import java.util.MissingResourceException;
+import java.util.ResourceBundle;
+
+import org.eclipse.core.resources.IWorkspace;
+import org.eclipse.core.resources.ResourcesPlugin;
+import org.eclipse.core.runtime.Plugin;
+
+/**
+ * The main plugin class to be used in the desktop.
+ */
+public class HeadlessTestsPlugin extends Plugin {
+	//The shared instance.
+	private static HeadlessTestsPlugin plugin;
+	//Resource bundle.
+	private ResourceBundle resourceBundle;
+	
+	/**
+	 * The constructor.
+	 */
+	public HeadlessTestsPlugin() {
+		super();
+		plugin = this;
+		try {
+			resourceBundle= ResourceBundle.getBundle("org.eclipse.wtp.j2ee.wb.tests.TestsPluginResources");
+		} catch (MissingResourceException x) {
+			resourceBundle = null;
+		}
+	}
+
+	/**
+	 * Returns the shared instance.
+	 */
+	public static HeadlessTestsPlugin getDefault() {
+		return plugin;
+	}
+
+	/**
+	 * Returns the workspace instance.
+	 */
+	public static IWorkspace getWorkspace() {
+		return ResourcesPlugin.getWorkspace();
+	}
+
+	/**
+	 * Returns the string from the plugin's resource bundle,
+	 * or 'key' if not found.
+	 */
+	public static String getResourceString(String key) {
+		ResourceBundle bundle= getDefault().getResourceBundle();
+		try {
+			return (bundle!=null ? bundle.getString(key) : key);
+		} catch (MissingResourceException e) {
+			return key;
+		}
+	}
+
+	/**
+	 * Returns the plugin's resource bundle,
+	 */
+	public ResourceBundle getResourceBundle() {
+		return resourceBundle;
+	}
+}
diff --git a/tests/org.eclipse.jst.j2ee.tests/jcamodule-tests/org/eclipse/wtp/j2ee/headless/tests/jca/operations/AllTests.java b/tests/org.eclipse.jst.j2ee.tests/jcamodule-tests/org/eclipse/wtp/j2ee/headless/tests/jca/operations/AllTests.java
new file mode 100644
index 0000000..2977375
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.tests/jcamodule-tests/org/eclipse/wtp/j2ee/headless/tests/jca/operations/AllTests.java
@@ -0,0 +1,31 @@
+/*
+ * Created on Feb 2, 2004
+ *
+ * To change the template for this generated file go to
+ * Window - Preferences - Java - Code Generation - Code and Comments
+ */
+package org.eclipse.wtp.j2ee.headless.tests.jca.operations;
+
+import junit.framework.Test;
+import junit.framework.TestSuite;
+
+/**
+ * @author jsholl
+ *
+ * To change the template for this generated type comment go to
+ * Window - Preferences - Java - Code Generation - Code and Comments
+ */
+public class AllTests extends TestSuite {
+
+    public static Test suite(){
+        return new AllTests();
+    }
+    
+    public AllTests(){
+        super("JCA Tests");
+        addTest(ConnectorProjectCreationOperationTest.suite());
+        addTest(RARExportOperationTest.suite());
+        addTest(RARImportOperationTest.suite());
+    }
+    
+}
diff --git a/tests/org.eclipse.jst.j2ee.tests/jcamodule-tests/org/eclipse/wtp/j2ee/headless/tests/jca/operations/ConnectorProjectCreationOperationTest.java b/tests/org.eclipse.jst.j2ee.tests/jcamodule-tests/org/eclipse/wtp/j2ee/headless/tests/jca/operations/ConnectorProjectCreationOperationTest.java
new file mode 100644
index 0000000..099fcf2
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.tests/jcamodule-tests/org/eclipse/wtp/j2ee/headless/tests/jca/operations/ConnectorProjectCreationOperationTest.java
@@ -0,0 +1,25 @@
+
+package org.eclipse.wtp.j2ee.headless.tests.jca.operations;
+
+import junit.framework.Test;
+import junit.framework.TestSuite;
+
+import org.eclipse.jst.j2ee.application.operations.J2EEModuleCreationDataModel;
+import org.eclipse.jst.j2ee.internal.jca.operations.ConnectorModuleCreationDataModel;
+import org.eclipse.wtp.j2ee.headless.tests.j2ee.operations.ModuleProjectCreationOperationTest;
+
+public class ConnectorProjectCreationOperationTest extends ModuleProjectCreationOperationTest {
+    
+    public static Test suite() {
+        return new TestSuite(ConnectorProjectCreationOperationTest.class);
+    }
+
+    /* (non-Javadoc)
+     * @see org.eclipse.wtp.j2ee.headless.tests.j2ee.operations.ModuleProjectCreationOperationTest#getProjectCreationDataModel()
+     */
+    public J2EEModuleCreationDataModel getProjectCreationDataModel() {
+        return new ConnectorModuleCreationDataModel();
+    }
+ 
+    
+}
diff --git a/tests/org.eclipse.jst.j2ee.tests/jcamodule-tests/org/eclipse/wtp/j2ee/headless/tests/jca/operations/RARExportOperationTest.java b/tests/org.eclipse.jst.j2ee.tests/jcamodule-tests/org/eclipse/wtp/j2ee/headless/tests/jca/operations/RARExportOperationTest.java
new file mode 100644
index 0000000..440346d
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.tests/jcamodule-tests/org/eclipse/wtp/j2ee/headless/tests/jca/operations/RARExportOperationTest.java
@@ -0,0 +1,57 @@
+/*
+ * Created on Jan 6, 2004
+ *
+ * To change the template for this generated file go to
+ * Window - Preferences - Java - Code Generation - Code and Comments
+ */
+package org.eclipse.wtp.j2ee.headless.tests.jca.operations;
+
+import junit.framework.Test;
+import junit.framework.TestSuite;
+
+import org.eclipse.jst.j2ee.application.operations.J2EEModuleExportDataModel;
+import org.eclipse.jst.j2ee.internal.jca.operations.ConnectorModuleExportDataModel;
+import org.eclipse.wtp.j2ee.headless.tests.j2ee.operations.ModuleExportOperationTestCase;
+import org.eclipse.wtp.j2ee.headless.tests.j2ee.operations.ModuleImportOperationTestCase;
+
+/**
+ * @author Administrator
+ *
+ * To change the template for this generated type comment go to
+ * Window - Preferences - Java - Code Generation - Code and Comments
+ */
+public class RARExportOperationTest extends ModuleExportOperationTestCase {
+	
+	public RARExportOperationTest(String name) {
+		super(name);
+	}
+	
+	/* (non-Javadoc)
+	 * @see org.eclipse.wtp.j2ee.headless.tests.j2ee.operations.ModuleExportOperationTestCase#suite()
+	 */
+	public static Test suite() {
+		return new TestSuite(RARExportOperationTest.class);
+	}
+
+	/* (non-Javadoc)
+	 * @see org.eclipse.wtp.j2ee.headless.tests.j2ee.operations.ModuleExportOperationTestCase#getModelInstance()
+	 */
+	protected J2EEModuleExportDataModel getModelInstance() {
+		return new ConnectorModuleExportDataModel();
+	}
+	
+	/* (non-Javadoc)
+	 * @see org.eclipse.wtp.j2ee.headless.tests.j2ee.operations.ModuleExportOperationTestCase#getImportTestCase()
+	 */
+	protected ModuleImportOperationTestCase getImportTestCase() { 
+		return new RARImportOperationTest("");
+	}
+	
+	/**
+	 * @return
+	 */
+	public String getModuleExportFileExt() {
+		return ".rar";
+	}
+
+}
diff --git a/tests/org.eclipse.jst.j2ee.tests/jcamodule-tests/org/eclipse/wtp/j2ee/headless/tests/jca/operations/RARImportOperationTest.java b/tests/org.eclipse.jst.j2ee.tests/jcamodule-tests/org/eclipse/wtp/j2ee/headless/tests/jca/operations/RARImportOperationTest.java
new file mode 100644
index 0000000..c16bc34
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.tests/jcamodule-tests/org/eclipse/wtp/j2ee/headless/tests/jca/operations/RARImportOperationTest.java
@@ -0,0 +1,60 @@
+/*
+ * Created on Jan 6, 2004
+ * 
+ * To change the template for this generated file go to Window - Preferences - Java - Code
+ * Generation - Code and Comments
+ */
+package org.eclipse.wtp.j2ee.headless.tests.jca.operations;
+
+import java.util.List;
+
+import junit.framework.Test;
+import junit.framework.TestSuite;
+
+import org.eclipse.jst.j2ee.application.operations.J2EEModuleImportDataModel;
+import org.eclipse.jst.j2ee.internal.jca.operations.ConnectorModuleImportDataModel;
+import org.eclipse.wst.common.tests.ProjectUtility;
+import org.eclipse.wtp.j2ee.headless.tests.j2ee.operations.ModuleImportOperationTestCase;
+import org.eclipse.wtp.j2ee.headless.tests.plugin.HeadlessTestsPlugin;
+
+/**
+ * @author Administrator
+ * 
+ * To change the template for this generated type comment go to Window - Preferences - Java - Code
+ * Generation - Code and Comments
+ */
+public class RARImportOperationTest extends ModuleImportOperationTestCase {
+
+	public static boolean isBinary = false;
+	public static boolean overwriteProject = false;
+
+	public static Test suite() {
+		return new TestSuite(RARImportOperationTest.class);
+	}
+ 
+	public RARImportOperationTest(String name) {
+		super(name);
+	}
+
+	/* (non-Javadoc)
+	 * @see org.eclipse.wtp.j2ee.headless.tests.j2ee.operations.ModuleImportOperationTestCase#getDirectory()
+	 */
+	protected String getDirectory() {
+		return "RARImportTests";
+	}
+	
+	/* (non-Javadoc)
+	 * @see org.eclipse.wtp.j2ee.headless.tests.j2ee.operations.ModuleImportOperationTestCase#getModelInstance()
+	 */
+	protected J2EEModuleImportDataModel getModelInstance() {
+		return new ConnectorModuleImportDataModel();
+	}
+	
+	/* (non-Javadoc)
+	 * @see org.eclipse.wtp.j2ee.headless.tests.j2ee.operations.ModuleImportOperationTestCase#getImportableArchiveFileNames()
+	 */
+	protected List getImportableArchiveFileNames() {
+		return ProjectUtility.getRarsInDirectory(HeadlessTestsPlugin.getDefault(),TESTS_PATH);
+	}
+ 
+}
diff --git a/tests/org.eclipse.jst.j2ee.tests/jcamodule-tests/org/eclipse/wtp/j2ee/headless/tests/jca/verifiers/JCAExportDataModelVerifier.java b/tests/org.eclipse.jst.j2ee.tests/jcamodule-tests/org/eclipse/wtp/j2ee/headless/tests/jca/verifiers/JCAExportDataModelVerifier.java
new file mode 100644
index 0000000..e0a9c25
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.tests/jcamodule-tests/org/eclipse/wtp/j2ee/headless/tests/jca/verifiers/JCAExportDataModelVerifier.java
@@ -0,0 +1,19 @@
+/*
+ * Created on Jan 5, 2004
+ *
+ * To change the template for this generated file go to
+ * Window - Preferences - Java - Code Generation - Code and Comments
+ */
+package org.eclipse.wtp.j2ee.headless.tests.jca.verifiers;
+
+import org.eclipse.wtp.j2ee.headless.tests.j2ee.verifiers.ModuleExportDataModelVerifier;
+
+/**
+ * @author Administrator
+ *
+ * To change the template for this generated type comment go to
+ * Window - Preferences - Java - Code Generation - Code and Comments
+ */
+public class JCAExportDataModelVerifier extends ModuleExportDataModelVerifier {
+
+}
diff --git a/tests/org.eclipse.jst.j2ee.tests/jcamodule-tests/org/eclipse/wtp/j2ee/headless/tests/jca/verifiers/JCAImportDataModelVerifier.java b/tests/org.eclipse.jst.j2ee.tests/jcamodule-tests/org/eclipse/wtp/j2ee/headless/tests/jca/verifiers/JCAImportDataModelVerifier.java
new file mode 100644
index 0000000..d8815ef
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.tests/jcamodule-tests/org/eclipse/wtp/j2ee/headless/tests/jca/verifiers/JCAImportDataModelVerifier.java
@@ -0,0 +1,19 @@
+/*
+ * Created on Jan 5, 2004
+ *
+ * To change the template for this generated file go to
+ * Window - Preferences - Java - Code Generation - Code and Comments
+ */
+package org.eclipse.wtp.j2ee.headless.tests.jca.verifiers;
+
+import org.eclipse.wtp.j2ee.headless.tests.j2ee.verifiers.ModuleImportDataModelVerifier;
+
+/**
+ * @author Administrator
+ *
+ * To change the template for this generated type comment go to
+ * Window - Preferences - Java - Code Generation - Code and Comments
+ */
+public class JCAImportDataModelVerifier extends ModuleImportDataModelVerifier {
+
+}
diff --git a/tests/org.eclipse.jst.j2ee.tests/jcamodule-tests/org/eclipse/wtp/j2ee/headless/tests/jca/verifiers/JCAProjectCreationDataModelVerifier.java b/tests/org.eclipse.jst.j2ee.tests/jcamodule-tests/org/eclipse/wtp/j2ee/headless/tests/jca/verifiers/JCAProjectCreationDataModelVerifier.java
new file mode 100644
index 0000000..32de6dc
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.tests/jcamodule-tests/org/eclipse/wtp/j2ee/headless/tests/jca/verifiers/JCAProjectCreationDataModelVerifier.java
@@ -0,0 +1,63 @@
+/*
+ * Created on Jan 5, 2004
+ *
+ * To change the template for this generated file go to
+ * Window - Preferences - Java - Code Generation - Code and Comments
+ */
+package org.eclipse.wtp.j2ee.headless.tests.jca.verifiers;
+
+import junit.framework.Assert;
+
+import org.eclipse.core.resources.IProject;
+import org.eclipse.jst.j2ee.application.operations.J2EEModuleCreationDataModel;
+import org.eclipse.jst.j2ee.common.XMLResource;
+import org.eclipse.jst.j2ee.internal.earcreation.EAREditModel;
+import org.eclipse.jst.j2ee.internal.earcreation.EARNatureRuntime;
+import org.eclipse.jst.j2ee.internal.earcreation.IEARNatureConstants;
+import org.eclipse.jst.j2ee.internal.jca.operations.ConnectorEditModel;
+import org.eclipse.jst.j2ee.internal.jca.operations.ConnectorModuleCreationDataModel;
+import org.eclipse.jst.j2ee.internal.jca.operations.ConnectorNatureRuntime;
+import org.eclipse.wst.common.internal.emfworkbench.operation.EditModelOperationDataModel;
+import org.eclipse.wst.common.tests.ProjectUtility;
+import org.eclipse.wtp.j2ee.headless.tests.j2ee.verifiers.ModuleProjectCreationDataModelVerifier;
+
+/**
+ * @author Administrator
+ *
+ * To change the template for this generated type comment go to
+ * Window - Preferences - Java - Code Generation - Code and Comments
+ */
+public class JCAProjectCreationDataModelVerifier extends ModuleProjectCreationDataModelVerifier {
+    /* (non-Javadoc)
+     * @see org.eclipse.wtp.j2ee.headless.tests.j2ee.verifiers.ModuleProjectCreationDataModelVerifier#verifyProjectCreationDataModel(com.ibm.etools.application.operations.J2EEProjectCreationDataModel)
+     */
+    public void verifyProjectCreationDataModel(J2EEModuleCreationDataModel model) {
+        ConnectorModuleCreationDataModel dataModel = (ConnectorModuleCreationDataModel) model;
+        ProjectUtility.verifyProject(dataModel.getTargetProject().getName(), true);
+        ConnectorEditModel editModel = null;
+        Object key = new Object();
+        try {
+        	ConnectorNatureRuntime cRuntime = ConnectorNatureRuntime.getRuntime(dataModel.getTargetProject());
+            //EMFWorkbenchContext emfWorkbenchContext = WorkbenchResourceHelper.createEMFContext(dataModel.getTargetProject(), null);
+            editModel = (ConnectorEditModel) cRuntime.getEditModelForRead(dataModel.getStringProperty(EditModelOperationDataModel.EDIT_MODEL_ID), key);
+            XMLResource dd = editModel.getDeploymentDescriptorResource();
+            Assert.assertNotNull("Deployment Descriptor Null", dd);
+        } finally {
+            editModel.releaseAccess(key);
+        }
+        if (dataModel.getBooleanProperty(ConnectorModuleCreationDataModel.ADD_TO_EAR)) {
+            IProject earProject = dataModel.getApplicationCreationDataModel().getTargetProject();
+            EAREditModel ear = null;
+            try {
+                Assert.assertTrue("EAR doesn't exist:", earProject.exists());
+                EARNatureRuntime runtime = EARNatureRuntime.getRuntime(earProject);
+                ear = (EAREditModel) runtime.getEditModelForRead(IEARNatureConstants.EDIT_MODEL_ID, key);
+                ear.getModuleMapping(dataModel.getTargetProject());
+                //TODO
+            } finally {
+                ear.releaseAccess(key);
+            }
+        }
+    }
+
+}
diff --git a/tests/org.eclipse.jst.j2ee.tests/plugin.xml b/tests/org.eclipse.jst.j2ee.tests/plugin.xml
index 3a60120..6d96788 100644
--- a/tests/org.eclipse.jst.j2ee.tests/plugin.xml
+++ b/tests/org.eclipse.jst.j2ee.tests/plugin.xml
@@ -4,7 +4,7 @@
    id="org.eclipse.jst.j2ee.tests"
    name="J2EE Tests Plug-in"
    version="1.0.0"
-   provider-name="">
+   class="org.eclipse.wtp.j2ee.headless.tests.plugin.HeadlessTestsPlugin">
 
    <runtime>
       <library name="j2ee-tests.jar">
@@ -25,6 +25,14 @@
       <import plugin="org.eclipse.emf.common"/>
       <import plugin="org.eclipse.emf.ecore"/>
       <import plugin="org.eclipse.jst.j2ee"/>
+      <import plugin="org.eclipse.wst.common.modulecore"/>
+      <import plugin="org.eclipse.jst.j2ee.ejb"/>
+      <import plugin="org.eclipse.jst.j2ee.jca"/>
+      <import plugin="org.eclipse.wst.web"/>
+      <import plugin="org.eclipse.wst.common.tests"/>
+      <import plugin="org.eclipse.wst.server.core"/>
+      
+      
    </requires>
 
 </plugin>
diff --git a/tests/org.eclipse.jem.tests/test.xml b/tests/org.eclipse.jst.j2ee.tests/test.xml
similarity index 71%
rename from tests/org.eclipse.jem.tests/test.xml
rename to tests/org.eclipse.jst.j2ee.tests/test.xml
index 57dc7f9..b878946 100644
--- a/tests/org.eclipse.jem.tests/test.xml
+++ b/tests/org.eclipse.jst.j2ee.tests/test.xml
@@ -5,9 +5,12 @@
   <!-- 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"/>
+  <!-- sets the properties eclipse-home, and library-file -->
+  <property name="plugin-name" value="org.eclipse.jst.j2ee.tests"/>
+  <property name="library-file" value="${eclipse-home}/plugins/org.eclipse.test_3.1.0/library.xml"/>
+  <property name="extraVMargs" value="-Dorg.eclipse.jst.server.jonas.432=${jonas432Dir}"/> 
+            
+  <property name="workspace" value="${basedir}/${plugin-name}"/>
 
   <!-- This target holds all initialization code that needs to be done for -->
   <!-- all tests that are to be run. Initialization for individual tests -->
@@ -21,19 +24,21 @@
 
   <!-- 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"/>
+    <delete dir="${workspace}" quiet="true"/>
+    
     <ant target="core-test" antfile="${library-file}" dir="${eclipse-home}">
-      <property name="data-dir" value="${jem-folder}"/>
+      <property name="data-dir" value="${workspace}"/>
       <property name="plugin-name" value="${plugin-name}"/>
-      <property name="classname" value="org.eclipse.jem.tests.AllSuites"/>
+      <property name="classname" value="org.eclipse.jst.j2ee.core.tests.bvt.AutomatedBVT"/>
+      <property name="extraVMargs" value="${extraVMargs}"/>
     </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">
+	<delete dir="${workspace}" quiet="true"/>
   </target>
 
   <!-- This target runs the test suite. Any actions that need to happen -->
@@ -45,4 +50,7 @@
     </ant>
   </target>
 
-</project>
\ No newline at end of file
+</project>
+
+
+
diff --git a/tests/org.eclipse.jst.j2ee.tests/webmodule-tests/org/eclipse/wtp/j2ee/headless/tests/web/operations/AllTests.java b/tests/org.eclipse.jst.j2ee.tests/webmodule-tests/org/eclipse/wtp/j2ee/headless/tests/web/operations/AllTests.java
new file mode 100644
index 0000000..6c3e671
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.tests/webmodule-tests/org/eclipse/wtp/j2ee/headless/tests/web/operations/AllTests.java
@@ -0,0 +1,72 @@
+/*
+ * Created on Feb 2, 2004
+ *
+ * To change the template for this generated file go to
+ * Window - Preferences - Java - Code Generation - Code and Comments
+ */
+package org.eclipse.wtp.j2ee.headless.tests.web.operations;
+
+import org.eclipse.core.runtime.Path;
+import org.eclipse.wst.server.core.IRuntime;
+import org.eclipse.wst.server.core.IRuntimeType;
+import org.eclipse.wst.server.core.IRuntimeWorkingCopy;
+import org.eclipse.wst.server.core.ServerCore;
+
+import junit.framework.Test;
+import junit.framework.TestSuite;
+
+/**
+ * @author jsholl
+ *
+ * To change the template for this generated type comment go to
+ * Window - Preferences - Java - Code Generation - Code and Comments
+ */
+public class AllTests extends TestSuite {
+	
+	public static IRuntime TOMCAT_RUNTIME = createRuntime();
+	public static IRuntime JONAS_TOMCAT_RUNTIME = createJONASRuntime();
+	
+	
+    public static Test suite(){
+        return new AllTests();
+    }
+    
+    public AllTests(){
+        super("WEB Tests");
+        addTest(WebExportOperationTest.suite());
+        addTest(WebImportOperationTest.suite());
+        addTest(WebProjectCreationOperationTest.suite());
+        addTest(WebProjectCreationTest.suite());
+    }
+    
+    public static IRuntime createRuntime()  {
+    	String s = "D:/Program Files/Apache Software Foundation/Tomcat 5.0";
+    	if (s == null || s.length() == 0)
+    		return null;
+    	try {
+    		IRuntimeType rt = ServerCore.findRuntimeType("org.eclipse.jst.server.tomcat.runtime.50");
+    		IRuntimeWorkingCopy wc = rt.createRuntime(null, null);
+    		wc.setLocation(new Path(s));
+    		return wc.save(true, null);
+    	} catch (Exception e) {
+    		e.printStackTrace();
+    		return null;
+    	}
+    }
+    
+    public static IRuntime createJONASRuntime()  {
+    	String s = "D:/JOnAS-4.3.2";
+    	if (s == null || s.length() == 0)
+    		return null;
+    	try {
+    		IRuntimeType rt = ServerCore.findRuntimeType("org.eclipse.jst.server.tomcat.runtime.50");
+    		IRuntimeWorkingCopy wc = rt.createRuntime(null, null);
+    		wc.setLocation(new Path(s));
+    		return wc.save(true, null);
+    	} catch (Exception e) {
+    		e.printStackTrace();
+    		return null;
+    	}
+    }
+    
+}
diff --git a/tests/org.eclipse.jst.j2ee.tests/webmodule-tests/org/eclipse/wtp/j2ee/headless/tests/web/operations/WebExportOperationTest.java b/tests/org.eclipse.jst.j2ee.tests/webmodule-tests/org/eclipse/wtp/j2ee/headless/tests/web/operations/WebExportOperationTest.java
new file mode 100644
index 0000000..3cd8171
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.tests/webmodule-tests/org/eclipse/wtp/j2ee/headless/tests/web/operations/WebExportOperationTest.java
@@ -0,0 +1,72 @@
+/*
+ * Created on Jan 6, 2004
+ *
+ * To change the template for this generated file go to
+ * Window - Preferences - Java - Code Generation - Code and Comments
+ */
+package org.eclipse.wtp.j2ee.headless.tests.web.operations;
+
+import junit.framework.Test;
+import junit.framework.TestSuite;
+
+import org.eclipse.jst.j2ee.application.operations.J2EEModuleExportDataModel;
+import org.eclipse.jst.j2ee.internal.web.archive.operations.WebModuleExportDataModel;
+import org.eclipse.wtp.j2ee.headless.tests.j2ee.operations.ModuleExportOperationTestCase;
+import org.eclipse.wtp.j2ee.headless.tests.j2ee.operations.ModuleImportOperationTestCase;
+
+/**
+ * @author Administrator
+ *
+ * To change the template for this generated type comment go to
+ * Window - Preferences - Java - Code Generation - Code and Comments
+ */
+public class WebExportOperationTest extends ModuleExportOperationTestCase {
+	 
+	protected boolean excludeCompileJsp = false;
+	
+	public WebExportOperationTest(String name) {
+		super(name);
+	}
+
+	public static Test suite() {
+		TestSuite suite = new TestSuite(); 
+		suite.addTestSuite(WebExportOperationTest.class); 
+		return suite;
+	}
+	/* (non-Javadoc)
+	 * @see org.eclipse.wtp.j2ee.headless.tests.j2ee.operations.OperationTestCase#setUp()
+	 */
+	protected void setUp() throws Exception { 
+		super.setUp(); 
+		excludeCompileJsp = false;
+	}
+
+	public void testExcludeCompileJspOn() throws Exception {  
+		excludeCompileJsp = true;
+		testAllExportTestCases();
+	}
+	/* (non-Javadoc)
+	 * @see org.eclipse.wtp.j2ee.headless.tests.j2ee.operations.ModuleExportOperationTestCase#getModelInstance()
+	 */
+	protected J2EEModuleExportDataModel getModelInstance() {
+		WebModuleExportDataModel dataModel = new WebModuleExportDataModel(); 
+		dataModel.setBooleanProperty(WebModuleExportDataModel.EXCLUDE_COMPILE_JSP, excludeCompileJsp);
+		return dataModel;		
+	}
+	
+
+	/* (non-Javadoc)
+	 * @see org.eclipse.wtp.j2ee.headless.tests.j2ee.operations.ModuleExportOperationTestCase#getImportTestCase()
+	 */
+	protected ModuleImportOperationTestCase getImportTestCase() {
+		return new WebImportOperationTest("");
+	}
+	
+	/**
+	 * @return
+	 */
+	public String getModuleExportFileExt() {
+		return ".war";
+	}
+
+}
diff --git a/tests/org.eclipse.jst.j2ee.tests/webmodule-tests/org/eclipse/wtp/j2ee/headless/tests/web/operations/WebImportOperationTest.java b/tests/org.eclipse.jst.j2ee.tests/webmodule-tests/org/eclipse/wtp/j2ee/headless/tests/web/operations/WebImportOperationTest.java
new file mode 100644
index 0000000..3ccb86f
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.tests/webmodule-tests/org/eclipse/wtp/j2ee/headless/tests/web/operations/WebImportOperationTest.java
@@ -0,0 +1,65 @@
+/*
+ * Created on Jan 6, 2004
+ *
+ * To change the template for this generated file go to
+ * Window - Preferences - Java - Code Generation - Code and Comments
+ */
+package org.eclipse.wtp.j2ee.headless.tests.web.operations;
+
+import java.io.File;
+import java.net.URL;
+import java.util.List;
+
+import junit.framework.Test;
+import junit.framework.TestSuite;
+
+import org.eclipse.core.runtime.Path;
+import org.eclipse.jst.j2ee.application.operations.J2EEModuleImportDataModel;
+import org.eclipse.jst.j2ee.internal.web.archive.operations.WebModuleImportDataModel;
+import org.eclipse.wst.common.tests.ProjectUtility;
+import org.eclipse.wtp.j2ee.headless.tests.j2ee.operations.ModuleImportOperationTestCase;
+import org.eclipse.wtp.j2ee.headless.tests.plugin.HeadlessTestsPlugin;
+
+/**
+ * @author Administrator
+ *
+ * To change the template for this generated type comment go to
+ * Window - Preferences - Java - Code Generation - Code and Comments
+ */
+public class WebImportOperationTest extends ModuleImportOperationTestCase {
+	
+	public final String WEB_TESTS_PATH;
+	
+	public WebImportOperationTest(String name) {
+		super(name);
+		String relativeImportTestsPath = "TestData" + File.separator + getDirectory() + File.separator;
+		URL fullImportTestsPath = HeadlessTestsPlugin.getDefault().find(new Path(relativeImportTestsPath));
+		WEB_TESTS_PATH = fullImportTestsPath.getPath();
+	}	
+	
+	public static Test suite() {
+		return new TestSuite(WebImportOperationTest.class);
+	}
+
+	/* (non-Javadoc)
+	 * @see org.eclipse.wtp.j2ee.headless.tests.j2ee.operations.ModuleImportOperationTestCase#getDirectory()
+	 */
+	protected String getDirectory() {
+		return "WARImportTests";
+	}
+ 
+	/* (non-Javadoc)
+	 * @see org.eclipse.wtp.j2ee.headless.tests.j2ee.operations.ModuleImportOperationTestCase#getModelInstance()
+	 */
+	protected J2EEModuleImportDataModel getModelInstance() {
+		return new WebModuleImportDataModel();
+	}
+	
+	/* (non-Javadoc)
+	 * @see org.eclipse.wtp.j2ee.headless.tests.j2ee.operations.ModuleImportOperationTestCase#getImportableArchiveFileNames()
+	 */
+	protected List getImportableArchiveFileNames() {
+		return ProjectUtility.getWarsInDirectory(HeadlessTestsPlugin.getDefault(),WEB_TESTS_PATH);
+	}
+
+}
diff --git a/tests/org.eclipse.jst.j2ee.tests/webmodule-tests/org/eclipse/wtp/j2ee/headless/tests/web/operations/WebProjectCreationOperationTest.java b/tests/org.eclipse.jst.j2ee.tests/webmodule-tests/org/eclipse/wtp/j2ee/headless/tests/web/operations/WebProjectCreationOperationTest.java
new file mode 100644
index 0000000..04926f7
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.tests/webmodule-tests/org/eclipse/wtp/j2ee/headless/tests/web/operations/WebProjectCreationOperationTest.java
@@ -0,0 +1,30 @@
+/*
+ * Created on Nov 7, 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.wtp.j2ee.headless.tests.web.operations;
+
+import junit.framework.Test;
+import junit.framework.TestSuite;
+
+import org.eclipse.jst.j2ee.application.operations.J2EEModuleCreationDataModel;
+import org.eclipse.jst.j2ee.internal.web.archive.operations.WebModuleCreationDataModel;
+import org.eclipse.wtp.j2ee.headless.tests.j2ee.operations.ModuleProjectCreationOperationTest;
+
+
+public class WebProjectCreationOperationTest extends ModuleProjectCreationOperationTest {
+    
+    public static Test suite() {
+        return new TestSuite(WebProjectCreationOperationTest.class);
+    }
+
+    /* (non-Javadoc)
+     * @see org.eclipse.wtp.j2ee.headless.tests.j2ee.operations.ModuleProjectCreationOperationTest#getProjectCreationDataModel()
+     */
+    public J2EEModuleCreationDataModel getProjectCreationDataModel() {
+        return new WebModuleCreationDataModel();
+    }
+    
+}
diff --git a/tests/org.eclipse.jst.j2ee.tests/webmodule-tests/org/eclipse/wtp/j2ee/headless/tests/web/operations/WebProjectCreationTest.java b/tests/org.eclipse.jst.j2ee.tests/webmodule-tests/org/eclipse/wtp/j2ee/headless/tests/web/operations/WebProjectCreationTest.java
new file mode 100644
index 0000000..5a0054a
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.tests/webmodule-tests/org/eclipse/wtp/j2ee/headless/tests/web/operations/WebProjectCreationTest.java
@@ -0,0 +1,97 @@
+/*
+ * Created on Jan 6, 2004
+ *
+ * To change the template for this generated file go to
+ * Window - Preferences - Java - Code Generation - Code and Comments
+ */
+package org.eclipse.wtp.j2ee.headless.tests.web.operations;
+
+import junit.framework.Test;
+
+import org.eclipse.jst.j2ee.application.operations.J2EEModuleCreationDataModel;
+import org.eclipse.jst.j2ee.internal.J2EEVersionConstants;
+import org.eclipse.wst.common.tests.ProjectUtility;
+import org.eclipse.wst.common.tests.SimpleTestSuite;
+import org.eclipse.wtp.j2ee.headless.tests.j2ee.operations.AbstractProjectCreationTest;
+import org.eclipse.wtp.j2ee.headless.tests.j2ee.operations.RandomObjectGenerator;
+
+/**
+ * @author blancett
+ *
+ * To change the template for this generated type comment go to
+ * Window - Preferences - Java - Code Generation - Code and Comments
+ */
+public class WebProjectCreationTest extends AbstractProjectCreationTest {
+	
+	
+	public void testVaild12WebProjectNameCreationWithAlphabetChars() throws Exception {
+		ProjectUtility.deleteAllProjects();
+		for (int i = 0; i < RandomObjectGenerator.createRandomProjectNumber(); i++)
+			createVaildProjectNameCreationWithAlphabetChars(WEB_PROJECT, J2EEVersionConstants.WEB_2_2_ID, false);
+	}
+	
+	public void testVaild12WebProjectNameCreationWithMixedChars() throws Exception {
+		ProjectUtility.deleteAllProjects();
+		for (int i = 0; i < RandomObjectGenerator.createRandomProjectNumber(); i++)
+			createVaildProjectNameCreationWithAlphabetChars(WEB_PROJECT, J2EEVersionConstants.WEB_2_2_ID, true);
+	}
+	
+	public void testVaild13WebProjectNameCreationWithAlphabetChars() throws Exception {
+		ProjectUtility.deleteAllProjects();
+		for (int i = 0; i < RandomObjectGenerator.createRandomProjectNumber(); i++)
+			createVaildProjectNameCreationWithAlphabetChars(WEB_PROJECT, J2EEVersionConstants.WEB_2_3_ID, false);
+	}
+	
+	public void testVaild13WebProjectNameCreationAllChars() throws Exception {
+		ProjectUtility.deleteAllProjects();
+		for (int i = 0; i < RandomObjectGenerator.createRandomProjectNumber(); i++)
+			createVaildProjectNameCreationWithAlphabetChars(WEB_PROJECT, J2EEVersionConstants.WEB_2_3_ID, true);
+	}
+	
+	public void testVaildRandomVersionsWebProjectNameCreationAllChars() throws Exception {
+		ProjectUtility.deleteAllProjects();
+		for (int i = 0; i < RandomObjectGenerator.createRandomProjectNumber(); i++) {
+			if (RandomObjectGenerator.createRandomProjectNumber() % 2 == 0)
+				createVaildProjectNameCreationWithAlphabetChars(WEB_PROJECT, J2EEVersionConstants.WEB_2_3_ID, true);
+			else
+				createVaildProjectNameCreationWithAlphabetChars(WEB_PROJECT, J2EEVersionConstants.WEB_2_2_ID, true);
+		}
+	}
+	
+	public void testVaildRandomVersionsWebProjectNameCreationAlphabet() throws Exception {
+		ProjectUtility.deleteAllProjects();
+		for (int i = 0; i < RandomObjectGenerator.createRandomProjectNumber(); i++) {
+			if (RandomObjectGenerator.createRandomProjectNumber() % 2 == 0)
+				createVaildProjectNameCreationWithAlphabetChars(WEB_PROJECT, J2EEVersionConstants.WEB_2_3_ID, false);
+			else
+				createVaildProjectNameCreationWithAlphabetChars(WEB_PROJECT, J2EEVersionConstants.WEB_2_2_ID, false);
+		}
+	}
+	
+	public void testInVaild12WebProjectNameCreation() throws Exception {
+		ProjectUtility.deleteAllProjects();
+		for (int i = 0; i < RandomObjectGenerator.createRandomProjectNumber(); i++) {
+			try {
+				 setupWebProject(RandomObjectGenerator.createInvalidRandomProjectName(), J2EEVersionConstants.WEB_2_2_ID);
+				 J2EEModuleCreationDataModel model = setupWebProject(RandomObjectGenerator.createInvalidRandomProjectName(), J2EEVersionConstants.WEB_2_2_ID);
+				 checkValidDataModel(model);
+			} catch (Exception e) {
+				if (e instanceof IllegalArgumentException) {
+					System.out.println(ILLEGAL_PROJECT_NAME_MESSAGE + projectName);
+				} else
+					new Exception(UNEXPECTED_ERROR_MESSAGE);
+			} finally {
+				new Exception(TEST_FAILED_MESSAGE);
+			}
+		}
+	}
+
+    public static Test suite() {
+        return new SimpleTestSuite(WebProjectCreationTest.class);
+    }
+    
+    public void testJavaCreation() throws Exception {
+	}
+	
+
+}
diff --git a/tests/org.eclipse.jst.j2ee.tests/webmodule-tests/org/eclipse/wtp/j2ee/headless/tests/web/verifiers/WebExportDataModelVerifier.java b/tests/org.eclipse.jst.j2ee.tests/webmodule-tests/org/eclipse/wtp/j2ee/headless/tests/web/verifiers/WebExportDataModelVerifier.java
new file mode 100644
index 0000000..cb4a34b
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.tests/webmodule-tests/org/eclipse/wtp/j2ee/headless/tests/web/verifiers/WebExportDataModelVerifier.java
@@ -0,0 +1,19 @@
+/*
+ * Created on Jan 5, 2004
+ *
+ * To change the template for this generated file go to
+ * Window - Preferences - Java - Code Generation - Code and Comments
+ */
+package org.eclipse.wtp.j2ee.headless.tests.web.verifiers;
+
+import org.eclipse.wtp.j2ee.headless.tests.j2ee.verifiers.ModuleExportDataModelVerifier;
+
+/**
+ * @author Administrator
+ *
+ * To change the template for this generated type comment go to
+ * Window - Preferences - Java - Code Generation - Code and Comments
+ */
+public class WebExportDataModelVerifier extends ModuleExportDataModelVerifier {
+
+}
diff --git a/tests/org.eclipse.jst.j2ee.tests/webmodule-tests/org/eclipse/wtp/j2ee/headless/tests/web/verifiers/WebImportDataModelVerifier.java b/tests/org.eclipse.jst.j2ee.tests/webmodule-tests/org/eclipse/wtp/j2ee/headless/tests/web/verifiers/WebImportDataModelVerifier.java
new file mode 100644
index 0000000..d897ea1
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.tests/webmodule-tests/org/eclipse/wtp/j2ee/headless/tests/web/verifiers/WebImportDataModelVerifier.java
@@ -0,0 +1,19 @@
+/*
+ * Created on Jan 5, 2004
+ *
+ * To change the template for this generated file go to
+ * Window - Preferences - Java - Code Generation - Code and Comments
+ */
+package org.eclipse.wtp.j2ee.headless.tests.web.verifiers;
+
+import org.eclipse.wtp.j2ee.headless.tests.j2ee.verifiers.ModuleImportDataModelVerifier;
+
+/**
+ * @author Administrator
+ *
+ * To change the template for this generated type comment go to
+ * Window - Preferences - Java - Code Generation - Code and Comments
+ */
+public class WebImportDataModelVerifier extends ModuleImportDataModelVerifier {
+
+}
diff --git a/tests/org.eclipse.jst.j2ee.tests/webmodule-tests/org/eclipse/wtp/j2ee/headless/tests/web/verifiers/WebProjectCreationDataModelVerifier.java b/tests/org.eclipse.jst.j2ee.tests/webmodule-tests/org/eclipse/wtp/j2ee/headless/tests/web/verifiers/WebProjectCreationDataModelVerifier.java
new file mode 100644
index 0000000..3b300c5
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.tests/webmodule-tests/org/eclipse/wtp/j2ee/headless/tests/web/verifiers/WebProjectCreationDataModelVerifier.java
@@ -0,0 +1,66 @@
+/*
+ * Created on Jan 5, 2004
+ *
+ * To change the template for this generated file go to
+ * Window - Preferences - Java - Code Generation - Code and Comments
+ */
+package org.eclipse.wtp.j2ee.headless.tests.web.verifiers;
+
+import junit.framework.Assert;
+
+import org.eclipse.core.resources.IProject;
+import org.eclipse.jst.j2ee.application.operations.J2EEModuleCreationDataModel;
+import org.eclipse.jst.j2ee.common.XMLResource;
+import org.eclipse.jst.j2ee.internal.earcreation.EAREditModel;
+import org.eclipse.jst.j2ee.internal.earcreation.EARNatureRuntime;
+import org.eclipse.jst.j2ee.internal.earcreation.IEARNatureConstants;
+import org.eclipse.jst.j2ee.internal.web.archive.operations.WebModuleCreationDataModel;
+import org.eclipse.jst.j2ee.internal.web.operations.J2EEWebNatureRuntime;
+import org.eclipse.jst.j2ee.internal.web.operations.WebEditModel;
+import org.eclipse.wst.common.internal.emfworkbench.operation.EditModelOperationDataModel;
+import org.eclipse.wst.common.tests.ProjectUtility;
+import org.eclipse.wtp.j2ee.headless.tests.j2ee.verifiers.ModuleProjectCreationDataModelVerifier;
+
+/**
+ * @author Administrator
+ *
+ * To change the template for this generated type comment go to
+ * Window - Preferences - Java - Code Generation - Code and Comments
+ */
+public class WebProjectCreationDataModelVerifier extends ModuleProjectCreationDataModelVerifier {
+    
+    /* (non-Javadoc)
+     * @see org.eclipse.wtp.j2ee.headless.tests.j2ee.verifiers.ModuleProjectCreationDataModelVerifier#verifyProjectCreationDataModel(com.ibm.etools.application.operations.J2EEProjectCreationDataModel)
+     */
+    public void verifyProjectCreationDataModel(J2EEModuleCreationDataModel model) {
+        WebModuleCreationDataModel dataModel = (WebModuleCreationDataModel) model;
+        ProjectUtility.verifyProject(dataModel.getTargetProject().getName(), true);
+        WebEditModel editModel = null;
+        Object key = new Object();
+        try {
+        	J2EEWebNatureRuntime wRuntime = J2EEWebNatureRuntime.getRuntime(dataModel.getTargetProject());
+            //EMFWorkbenchContext emfWorkbenchContext = WorkbenchResourceHelper.createEMFContext(dataModel.getTargetProject(), null);
+            editModel = (WebEditModel) wRuntime.getEditModelForRead(dataModel.getStringProperty(EditModelOperationDataModel.EDIT_MODEL_ID), key);
+            XMLResource dd = editModel.getDeploymentDescriptorResource();
+            Assert.assertNotNull("Deployment Descriptor Null", dd);
+        } finally {
+            editModel.releaseAccess(key);
+        }
+        if (dataModel.getBooleanProperty(WebModuleCreationDataModel.ADD_TO_EAR)) {
+            IProject earProject = dataModel.getApplicationCreationDataModel().getTargetProject();
+            EAREditModel ear = null;
+            try {
+                Assert.assertTrue("EAR doesn't exist:", earProject.exists());
+                EARNatureRuntime runtime = EARNatureRuntime.getRuntime(earProject);
+                //EMFWorkbenchContext emfWorkbenchContext = WorkbenchResourceHelper.createEMFContext(earProject, null);
+                ear = (EAREditModel) runtime.getEditModelForRead(IEARNatureConstants.EDIT_MODEL_ID, key);
+                ear.getModuleMapping(dataModel.getTargetProject());
+                //TODO
+            } finally {
+                ear.releaseAccess(key);
+            }
+
+        }
+    }
+
+}
diff --git a/tests/org.eclipse.jst.servlet.tests/.classpath b/tests/org.eclipse.jst.servlet.tests/.classpath
new file mode 100644
index 0000000..1160020
--- /dev/null
+++ b/tests/org.eclipse.jst.servlet.tests/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="src" path="webmodule-tomcat-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.jst.servlet.tests/.cvsignore b/tests/org.eclipse.jst.servlet.tests/.cvsignore
new file mode 100644
index 0000000..2521e52
--- /dev/null
+++ b/tests/org.eclipse.jst.servlet.tests/.cvsignore
@@ -0,0 +1,4 @@
+bin
+temp.folder
+build.xml
+ui.jar
diff --git a/tests/org.eclipse.jst.servlet.tests/.project b/tests/org.eclipse.jst.servlet.tests/.project
new file mode 100644
index 0000000..732c1cf
--- /dev/null
+++ b/tests/org.eclipse.jst.servlet.tests/.project
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>org.eclipse.jst.j2ee.servlet.tests</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.ManifestBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.SchemaBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.pde.PluginNature</nature>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+	</natures>
+</projectDescription>
diff --git a/tests/org.eclipse.jst.servlet.tests/WARImportTests/Example1.war b/tests/org.eclipse.jst.servlet.tests/WARImportTests/Example1.war
new file mode 100644
index 0000000..9c30a38
--- /dev/null
+++ b/tests/org.eclipse.jst.servlet.tests/WARImportTests/Example1.war
Binary files differ
diff --git a/tests/org.eclipse.jst.servlet.tests/WARImportTests/Test12Web.war b/tests/org.eclipse.jst.servlet.tests/WARImportTests/Test12Web.war
new file mode 100644
index 0000000..ba220b1
--- /dev/null
+++ b/tests/org.eclipse.jst.servlet.tests/WARImportTests/Test12Web.war
Binary files differ
diff --git a/tests/org.eclipse.jst.servlet.tests/WARImportTests/Test13Web.war b/tests/org.eclipse.jst.servlet.tests/WARImportTests/Test13Web.war
new file mode 100644
index 0000000..22aa926
--- /dev/null
+++ b/tests/org.eclipse.jst.servlet.tests/WARImportTests/Test13Web.war
Binary files differ
diff --git a/tests/org.eclipse.jst.servlet.tests/WARImportTests/Test14Web.war b/tests/org.eclipse.jst.servlet.tests/WARImportTests/Test14Web.war
new file mode 100644
index 0000000..1eb2a3f
--- /dev/null
+++ b/tests/org.eclipse.jst.servlet.tests/WARImportTests/Test14Web.war
Binary files differ
diff --git a/tests/org.eclipse.jst.servlet.tests/WARImportTests/YourCompanyExample.war b/tests/org.eclipse.jst.servlet.tests/WARImportTests/YourCompanyExample.war
new file mode 100644
index 0000000..1c9628c
--- /dev/null
+++ b/tests/org.eclipse.jst.servlet.tests/WARImportTests/YourCompanyExample.war
Binary files differ
diff --git a/tests/org.eclipse.jst.servlet.tests/build.properties b/tests/org.eclipse.jst.servlet.tests/build.properties
new file mode 100644
index 0000000..986c81c
--- /dev/null
+++ b/tests/org.eclipse.jst.servlet.tests/build.properties
@@ -0,0 +1,6 @@
+source.tests.jar = webmodule-tomcat-tests/
+output.tests.jar = bin/
+bin.includes = plugin.xml,\
+               tests.jar,\
+               WARImportTests/,\
+               test.xml
diff --git a/tests/org.eclipse.jst.servlet.tests/plugin.xml b/tests/org.eclipse.jst.servlet.tests/plugin.xml
new file mode 100644
index 0000000..f232f83
--- /dev/null
+++ b/tests/org.eclipse.jst.servlet.tests/plugin.xml
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.0"?>
+<plugin
+   id="org.eclipse.jst.servlet.tests"
+   name="org.eclipse.jst.servlet.tests"
+   version="1.0.0"
+   provider-name="IBM"
+   class="org.eclipse.jst.servlet.tests.ServletTestsPlugin">
+
+   <runtime>
+      <library name="tests.jar">
+         <export name="*"/>
+      </library>
+   </runtime>
+
+   <requires>
+      <import plugin="org.eclipse.core.runtime"/>
+      <import plugin="org.eclipse.jst.common.frameworks"/>
+      <import plugin="com.ibm.wtp.emf.workbench"/>
+      <import plugin="org.eclipse.wst.common.emfworkbench.integration"/>
+      <import plugin="org.eclipse.wst.common.frameworks"/>
+      <import plugin="org.eclipse.jst.j2ee.core"/>
+      <import plugin="org.eclipse.jst.j2ee.web"/>
+      <import plugin="org.eclipse.wst.common.tests"/>
+      <import plugin="org.junit"/>
+      <import plugin="org.junit"/>
+      <import plugin="org.eclipse.jst.j2ee.tests"/>
+      <import plugin="org.eclipse.jst.j2ee"/>
+      <import plugin="org.eclipse.wst.server.core"/>
+      <import plugin="org.eclipse.emf.common"/>
+      <import plugin="org.eclipse.emf.ecore"/>
+      <import plugin="org.eclipse.wst.common.modulecore"/>
+      
+   </requires>
+
+</plugin>
diff --git a/tests/org.eclipse.jem.tests/test.xml b/tests/org.eclipse.jst.servlet.tests/test.xml
similarity index 70%
copy from tests/org.eclipse.jem.tests/test.xml
copy to tests/org.eclipse.jst.servlet.tests/test.xml
index 57dc7f9..cbbb98f 100644
--- a/tests/org.eclipse.jem.tests/test.xml
+++ b/tests/org.eclipse.jst.servlet.tests/test.xml
@@ -3,11 +3,13 @@
 <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}\..\.."/>
-
+ <!-- <property name="eclipse-home" value="${basedir}\..\.."/> -->
+	<echo message="basedir ${basedir}" />
+	<echo message="eclipse place ${eclipse-home}" />
   <!-- 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"/>
+  <property name="plugin-name" value="org.eclipse.jst.servlet.tests"/>
+  <property name="library-file" value="${eclipse-home}/plugins/org.eclipse.test_3.1.0/library.xml"/>
+  <property name="extraVMargs" value="-Dorg.eclipse.jst.server.tomcat.50=${testDir}/${tomcat50Dir}"/>
 
   <!-- This target holds all initialization code that needs to be done for -->
   <!-- all tests that are to be run. Initialization for individual tests -->
@@ -21,12 +23,13 @@
 
   <!-- 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"/>
+    <property name="jst-folder" value="${eclipse-home}/jst_folder"/>
+    <delete dir="${jst-folder}" quiet="true"/>
     <ant target="core-test" antfile="${library-file}" dir="${eclipse-home}">
-      <property name="data-dir" value="${jem-folder}"/>
+      <property name="data-dir" value="${jst-folder}"/>
       <property name="plugin-name" value="${plugin-name}"/>
-      <property name="classname" value="org.eclipse.jem.tests.AllSuites"/>
+      <property name="classname" value="org.eclipse.jst.servlet.tests.bvt.AutomatedBVT" />
+   	  <property name="extraVMargs" value="${extraVMargs}"/>
     </ant>
   </target>
 
@@ -44,5 +47,4 @@
       <property name="output-file" value="${plugin-name}.xml"/>
     </ant>
   </target>
-
 </project>
\ No newline at end of file
diff --git a/tests/org.eclipse.jst.servlet.tests/webmodule-tomcat-tests/org/eclipse/jst/servlet/tests/ServletTestsPlugin.java b/tests/org.eclipse.jst.servlet.tests/webmodule-tomcat-tests/org/eclipse/jst/servlet/tests/ServletTestsPlugin.java
new file mode 100644
index 0000000..199e23a
--- /dev/null
+++ b/tests/org.eclipse.jst.servlet.tests/webmodule-tomcat-tests/org/eclipse/jst/servlet/tests/ServletTestsPlugin.java
@@ -0,0 +1,72 @@
+package org.eclipse.jst.servlet.tests;
+
+import org.eclipse.core.runtime.Plugin;
+import org.osgi.framework.BundleContext;
+import java.util.*;
+
+/**
+ * The main plugin class to be used in the desktop.
+ */
+public class ServletTestsPlugin extends Plugin {
+	//The shared instance.
+	private static ServletTestsPlugin plugin;
+	//Resource bundle.
+	private ResourceBundle resourceBundle;
+	
+	/**
+	 * The constructor.
+	 */
+	public ServletTestsPlugin() {
+		super();
+		plugin = this;
+	}
+
+	/**
+	 * This method is called upon plug-in activation
+	 */
+	public void start(BundleContext context) throws Exception {
+		super.start(context);
+	}
+
+	/**
+	 * This method is called when the plug-in is stopped
+	 */
+	public void stop(BundleContext context) throws Exception {
+		super.stop(context);
+		plugin = null;
+		resourceBundle = null;
+	}
+
+	/**
+	 * Returns the shared instance.
+	 */
+	public static ServletTestsPlugin getDefault() {
+		return plugin;
+	}
+
+	/**
+	 * Returns the string from the plugin's resource bundle,
+	 * or 'key' if not found.
+	 */
+	public static String getResourceString(String key) {
+		ResourceBundle bundle = ServletTestsPlugin.getDefault().getResourceBundle();
+		try {
+			return (bundle != null) ? bundle.getString(key) : key;
+		} catch (MissingResourceException e) {
+			return key;
+		}
+	}
+
+	/**
+	 * Returns the plugin's resource bundle,
+	 */
+	public ResourceBundle getResourceBundle() {
+		try {
+			if (resourceBundle == null)
+				resourceBundle = ResourceBundle.getBundle("org.eclipse.jst.servlet.tests.ServletTestsPluginResources");
+		} catch (MissingResourceException x) {
+			resourceBundle = null;
+		}
+		return resourceBundle;
+	}
+}
diff --git a/tests/org.eclipse.jst.servlet.tests/webmodule-tomcat-tests/org/eclipse/jst/servlet/tests/bvt/AutomatedBVT.java b/tests/org.eclipse.jst.servlet.tests/webmodule-tomcat-tests/org/eclipse/jst/servlet/tests/bvt/AutomatedBVT.java
new file mode 100644
index 0000000..e4a5911
--- /dev/null
+++ b/tests/org.eclipse.jst.servlet.tests/webmodule-tomcat-tests/org/eclipse/jst/servlet/tests/bvt/AutomatedBVT.java
@@ -0,0 +1,63 @@
+/*
+ * Created on Apr 1, 2003
+ *
+ * To change this generated comment go to 
+ * Window>Preferences>Java>Code Generation>Code and Comments
+ */
+package org.eclipse.jst.servlet.tests.bvt;
+
+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;
+import org.eclipse.jst.servlet.tomcat.tests.AllTomcatTests;
+
+
+/**
+ * @author jsholl
+ *
+ * To change this generated comment go to 
+ * Window>Preferences>Java>Code Generation>Code and Comments
+ */
+public class AutomatedBVT extends TestSuite {
+
+    public static String baseDirectory = System.getProperty("user.dir") + java.io.File.separatorChar + "WARImportTests" + java.io.File.separatorChar;
+    
+    static {
+        try {
+            IPluginDescriptor pluginDescriptor = Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.jst.servlet.tests");
+            URL url = pluginDescriptor.getInstallURL(); 
+        	AutomatedBVT.baseDirectory = Platform.asLocalURL(url).getFile() + "TestData"+ java.io.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 AutomatedBVT() {
+        super();
+        TestSuite suite = (TestSuite) AutomatedBVT.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.servlet.tests.bvt");
+        suite.addTest(AllTomcatTests.suite());
+        return suite;
+    }
+}
diff --git a/tests/org.eclipse.jst.servlet.tests/webmodule-tomcat-tests/org/eclipse/jst/servlet/tests/bvt/AutomatedBVTEclipse.java b/tests/org.eclipse.jst.servlet.tests/webmodule-tomcat-tests/org/eclipse/jst/servlet/tests/bvt/AutomatedBVTEclipse.java
new file mode 100644
index 0000000..18298d2
--- /dev/null
+++ b/tests/org.eclipse.jst.servlet.tests/webmodule-tomcat-tests/org/eclipse/jst/servlet/tests/bvt/AutomatedBVTEclipse.java
@@ -0,0 +1,34 @@
+/*
+ * Created on Mar 25, 2004
+ *
+ * To change the template for this generated file go to
+ * Window - Preferences - Java - Code Generation - Code and Comments
+ */
+package org.eclipse.jst.servlet.tests.bvt;
+
+import java.io.IOException;
+import java.net.URL;
+
+import org.eclipse.core.runtime.IPluginDescriptor;
+import org.eclipse.core.runtime.Platform;
+
+/**
+ * @author jsholl
+ *
+ * To change the template for this generated type comment go to
+ * Window - Preferences - Java - Code Generation - Code and Comments
+ */
+public class AutomatedBVTEclipse extends AutomatedBVT {
+	
+	public AutomatedBVTEclipse(){
+		super();
+		IPluginDescriptor pluginDescriptor = Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.jst.servlet.tests");
+        URL url = pluginDescriptor.getInstallURL();
+        try {
+        	AutomatedBVT.baseDirectory = Platform.asLocalURL(url).getFile() + "WARImportTests"+ java.io.File.separatorChar;
+		} catch (IOException e) {
+			// TODO Auto-generated catch block
+			e.printStackTrace();
+		}
+	}
+}
diff --git a/tests/org.eclipse.jst.servlet.tests/webmodule-tomcat-tests/org/eclipse/jst/servlet/tomcat/tests/AllTomcatTests.java b/tests/org.eclipse.jst.servlet.tests/webmodule-tomcat-tests/org/eclipse/jst/servlet/tomcat/tests/AllTomcatTests.java
new file mode 100644
index 0000000..7d7d4f3
--- /dev/null
+++ b/tests/org.eclipse.jst.servlet.tests/webmodule-tomcat-tests/org/eclipse/jst/servlet/tomcat/tests/AllTomcatTests.java
@@ -0,0 +1,54 @@
+/*
+ * Created on Feb 2, 2004
+ *
+ * To change the template for this generated file go to
+ * Window - Preferences - Java - Code Generation - Code and Comments
+ */
+package org.eclipse.jst.servlet.tomcat.tests;
+import org.eclipse.core.runtime.Path;
+import org.eclipse.wst.server.core.IRuntime;
+import org.eclipse.wst.server.core.IRuntimeType;
+import org.eclipse.wst.server.core.IRuntimeWorkingCopy;
+import org.eclipse.wst.server.core.ServerCore;
+
+import junit.framework.Test;
+import junit.framework.TestSuite;
+
+/**
+ * @author jsholl
+ *
+ * To change the template for this generated type comment go to
+ * Window - Preferences - Java - Code Generation - Code and Comments
+ */
+public class AllTomcatTests extends TestSuite {
+	
+	public static IRuntime TOMCAT_RUNTIME = createRuntime();
+	
+    public static Test suite(){
+        return new AllTomcatTests();
+    }
+    
+    public AllTomcatTests(){
+        super("WEB Tests");
+        addTest(WebProjectCreationTomcatTest.suite());
+        addTest(WebImportOperationTomcatTest.suite());
+        addTest(WebExportOperationTomcatTest.suite());
+        
+    }
+    
+    public static IRuntime createRuntime()  {
+    	String s = System.getProperty("org.eclipse.jst.server.tomcat.50");
+    	if (s == null || s.length() == 0)
+    		return null;
+    	try {
+    		IRuntimeType rt = ServerCore.findRuntimeType("org.eclipse.jst.server.tomcat.runtime.50");
+    		IRuntimeWorkingCopy wc = rt.createRuntime(null, null);
+    		wc.setLocation(new Path(s));
+    		return wc.save(true, null);
+    	} catch (Exception e) {
+    		e.printStackTrace();
+    		return null;
+    	}
+    }
+    
+}
diff --git a/tests/org.eclipse.jst.servlet.tests/webmodule-tomcat-tests/org/eclipse/jst/servlet/tomcat/tests/WebExportOperationTomcatTest.java b/tests/org.eclipse.jst.servlet.tests/webmodule-tomcat-tests/org/eclipse/jst/servlet/tomcat/tests/WebExportOperationTomcatTest.java
new file mode 100644
index 0000000..c21ac30
--- /dev/null
+++ b/tests/org.eclipse.jst.servlet.tests/webmodule-tomcat-tests/org/eclipse/jst/servlet/tomcat/tests/WebExportOperationTomcatTest.java
@@ -0,0 +1,69 @@
+/*
+ * Created on Jan 6, 2004
+ *
+ * To change the template for this generated file go to
+ * Window - Preferences - Java - Code Generation - Code and Comments
+ */
+package org.eclipse.jst.servlet.tomcat.tests;
+import junit.framework.Test;
+
+import org.eclipse.jst.j2ee.application.operations.J2EEModuleExportDataModel;
+import org.eclipse.jst.j2ee.internal.web.archive.operations.WebModuleExportDataModel;
+import org.eclipse.wst.common.tests.SimpleTestSuite;
+import org.eclipse.wtp.j2ee.headless.tests.j2ee.operations.ModuleExportOperationTestCase;
+import org.eclipse.wtp.j2ee.headless.tests.j2ee.operations.ModuleImportOperationTestCase;
+
+/**
+ * @author Administrator
+ *
+ * To change the template for this generated type comment go to
+ * Window - Preferences - Java - Code Generation - Code and Comments
+ */
+public class WebExportOperationTomcatTest extends ModuleExportOperationTestCase {
+	 
+	protected boolean excludeCompileJsp = false;
+	
+	public WebExportOperationTomcatTest(String name) {
+		super(name);
+	}
+
+	public static Test suite() {
+		return new SimpleTestSuite(WebExportOperationTomcatTest.class);
+	}
+	/* (non-Javadoc)
+	 * @see org.eclipse.wtp.j2ee.headless.tests.j2ee.operations.OperationTestCase#setUp()
+	 */
+	protected void setUp() throws Exception { 
+		super.setUp(); 
+		excludeCompileJsp = false;
+	}
+
+	public void testExcludeCompileJspOn() throws Exception {  
+		excludeCompileJsp = true;
+		testAllExportTestCases();
+	}
+	/* (non-Javadoc)
+	 * @see org.eclipse.wtp.j2ee.headless.tests.j2ee.operations.ModuleExportOperationTestCase#getModelInstance()
+	 */
+	protected J2EEModuleExportDataModel getModelInstance() {
+		WebModuleExportDataModel dataModel = new WebModuleExportDataModel(); 
+		dataModel.setBooleanProperty(WebModuleExportDataModel.EXCLUDE_COMPILE_JSP, excludeCompileJsp);
+		return dataModel;		
+	}
+	
+
+	/* (non-Javadoc)
+	 * @see org.eclipse.wtp.j2ee.headless.tests.j2ee.operations.ModuleExportOperationTestCase#getImportTestCase()
+	 */
+	protected ModuleImportOperationTestCase getImportTestCase() {
+		return new WebImportOperationTomcatTest("");
+	}
+	
+	/**
+	 * @return
+	 */
+	public String getModuleExportFileExt() {
+		return ".war";
+	}
+
+}
diff --git a/tests/org.eclipse.jst.servlet.tests/webmodule-tomcat-tests/org/eclipse/jst/servlet/tomcat/tests/WebImportOperationTomcatTest.java b/tests/org.eclipse.jst.servlet.tests/webmodule-tomcat-tests/org/eclipse/jst/servlet/tomcat/tests/WebImportOperationTomcatTest.java
new file mode 100644
index 0000000..3ebd344
--- /dev/null
+++ b/tests/org.eclipse.jst.servlet.tests/webmodule-tomcat-tests/org/eclipse/jst/servlet/tomcat/tests/WebImportOperationTomcatTest.java
@@ -0,0 +1,64 @@
+/*
+ * Created on Jan 6, 2004
+ *
+ * To change the template for this generated file go to
+ * Window - Preferences - Java - Code Generation - Code and Comments
+ */
+package org.eclipse.jst.servlet.tomcat.tests;
+import java.util.List;
+
+import junit.framework.Test;
+
+import org.eclipse.jst.j2ee.application.operations.J2EEModuleImportDataModel;
+import org.eclipse.jst.j2ee.internal.servertarget.ServerTargetDataModel;
+import org.eclipse.jst.j2ee.internal.web.archive.operations.WebModuleImportDataModel;
+import org.eclipse.wst.common.tests.ProjectUtility;
+import org.eclipse.wst.common.tests.SimpleTestSuite;
+import org.eclipse.wtp.j2ee.headless.tests.j2ee.operations.ModuleImportOperationTestCase;
+import org.eclipse.wtp.j2ee.headless.tests.plugin.HeadlessTestsPlugin;
+
+/**
+ * @author Administrator
+ *
+ * To change the template for this generated type comment go to
+ * Window - Preferences - Java - Code Generation - Code and Comments
+ */
+public class WebImportOperationTomcatTest extends ModuleImportOperationTestCase {
+	
+	public WebImportOperationTomcatTest(String name) {
+		super(name);
+	}	
+	
+	public static Test suite() {
+		return new SimpleTestSuite(WebImportOperationTomcatTest.class);
+	}
+
+	/* (non-Javadoc)
+	 * @see org.eclipse.wtp.j2ee.headless.tests.j2ee.operations.ModuleImportOperationTestCase#getDirectory()
+	 */
+	protected String getDirectory() {
+		return "WARImportTests";
+	}
+ 
+	/* (non-Javadoc)
+	 * @see org.eclipse.wtp.j2ee.headless.tests.j2ee.operations.ModuleImportOperationTestCase#getModelInstance()
+	 */
+	protected J2EEModuleImportDataModel getModelInstance() {
+		return new WebModuleImportDataModel();
+	}
+	
+	/* (non-Javadoc)
+	 * @see org.eclipse.wtp.j2ee.headless.tests.j2ee.operations.ModuleImportOperationTestCase#getImportableArchiveFileNames()
+	 */
+	protected List getImportableArchiveFileNames() {
+		return ProjectUtility.getWarsInDirectory(HeadlessTestsPlugin.getDefault(),TESTS_PATH);
+	}
+	
+	/* (non-Javadoc)
+	 * @see org.eclipse.wtp.j2ee.headless.tests.j2ee.operations.ModuleImportOperationTestCase#setServerTargetProperty(org.eclipse.jst.j2ee.application.operations.J2EEModuleImportDataModel)
+	 */
+	public void setServerTargetProperty(J2EEModuleImportDataModel dataModel) {
+		dataModel.setProperty(ServerTargetDataModel.RUNTIME_TARGET_ID,AllTomcatTests.TOMCAT_RUNTIME.getId());
+	}
+
+}
diff --git a/tests/org.eclipse.jst.servlet.tests/webmodule-tomcat-tests/org/eclipse/jst/servlet/tomcat/tests/WebProjectCreationTomcatTest.java b/tests/org.eclipse.jst.servlet.tests/webmodule-tomcat-tests/org/eclipse/jst/servlet/tomcat/tests/WebProjectCreationTomcatTest.java
new file mode 100644
index 0000000..073994d
--- /dev/null
+++ b/tests/org.eclipse.jst.servlet.tests/webmodule-tomcat-tests/org/eclipse/jst/servlet/tomcat/tests/WebProjectCreationTomcatTest.java
@@ -0,0 +1,188 @@
+/*
+ * Created on Jan 6, 2004
+ *
+ * To change the template for this generated file go to
+ * Window - Preferences - Java - Code Generation - Code and Comments
+ */
+package org.eclipse.jst.servlet.tomcat.tests;
+import junit.framework.Test;
+import junit.framework.TestCase;
+
+import org.eclipse.core.resources.IProject;
+import org.eclipse.jst.j2ee.application.operations.J2EEArtifactCreationDataModel;
+import org.eclipse.jst.j2ee.application.operations.J2EEModuleCreationDataModel;
+import org.eclipse.jst.j2ee.internal.J2EEVersionConstants;
+import org.eclipse.jst.j2ee.internal.web.archive.operations.WebModuleCreationDataModel;
+import org.eclipse.jst.j2ee.internal.web.archive.operations.WebModuleCreationOperation;
+import org.eclipse.jst.j2ee.web.operations.AddServletOperation;
+import org.eclipse.jst.j2ee.web.operations.NewServletClassDataModel;
+import org.eclipse.wst.common.tests.LogUtility;
+import org.eclipse.wst.common.tests.ProjectUtility;
+import org.eclipse.wst.common.tests.SimpleTestSuite;
+import org.eclipse.wst.common.tests.TaskViewUtility;
+import org.eclipse.wtp.j2ee.headless.tests.j2ee.verifiers.DataModelVerifier;
+import org.eclipse.wtp.j2ee.headless.tests.j2ee.verifiers.DataModelVerifierFactory;
+
+/**
+ * @author blancett
+ *
+ * To change the template for this generated type comment go to
+ * Window - Preferences - Java - Code Generation - Code and Comments
+ */
+public class WebProjectCreationTomcatTest extends TestCase {
+	protected String projectName = null;
+	
+	public static void createStandaloneWebProject(WebModuleCreationDataModel model) throws Exception {
+		WebModuleCreationOperation webOp = new WebModuleCreationOperation(model);
+		webOp.run(null);
+		ProjectUtility.verifyProject(model.getTargetProject().getName(), true);
+		TaskViewUtility.verifyNoErrors();
+	}
+	
+	public static void createServlet(NewServletClassDataModel model) throws Exception {
+		AddServletOperation op = new AddServletOperation(model);
+		op.run(null);
+		ProjectUtility.verifyProject(model.getTargetProject().getName(), true);
+		TaskViewUtility.verifyNoErrors();
+		
+	}
+	
+	public WebModuleCreationDataModel setupStandaloneWebProject(String aProjectName, int j2eeVersion) throws Exception {
+		projectName = aProjectName;
+		IProject javaProject = ProjectUtility.getProject(projectName);
+		WebModuleCreationDataModel model = new WebModuleCreationDataModel();
+		model.setProperty(WebModuleCreationDataModel.PROJECT_NAME, javaProject.getName());
+		model.setProperty(WebModuleCreationDataModel.PROJECT_LOCATION, javaProject.getLocation());
+		model.setIntProperty(WebModuleCreationDataModel.J2EE_MODULE_VERSION, j2eeVersion);
+		model.setProperty(WebModuleCreationDataModel.SERVER_TARGET_ID,AllTomcatTests.TOMCAT_RUNTIME.getId());
+		createStandaloneWebProject(model);
+		createServlet(projectName);
+		return model;
+	}
+	
+	public WebModuleCreationDataModel setupStandaloneAnnotatedWebProject(String aProjectName, int j2eeVersion) throws Exception {
+		projectName = aProjectName;
+		IProject javaProject = ProjectUtility.getProject(projectName);
+		WebModuleCreationDataModel model = new WebModuleCreationDataModel();
+		model.setProperty(WebModuleCreationDataModel.PROJECT_NAME, javaProject.getName());
+		model.setProperty(WebModuleCreationDataModel.PROJECT_LOCATION, javaProject.getLocation());
+		model.setIntProperty(WebModuleCreationDataModel.J2EE_MODULE_VERSION, j2eeVersion);
+		model.setProperty(WebModuleCreationDataModel.SERVER_TARGET_ID,AllTomcatTests.TOMCAT_RUNTIME.getId());
+		createStandaloneWebProject(model);
+		createAnnotatedServlet(projectName);
+		return model;
+	}
+
+	/**
+	 * @throws Exception
+	 */
+	private void createServlet(String projectName) throws Exception {
+		NewServletClassDataModel servletModel = setupServletCreationDataModel(projectName);
+		createServlet(servletModel);
+	}
+	
+	/**
+	 * @throws Exception
+	 */
+	private void createAnnotatedServlet(String projectName) throws Exception {
+		NewServletClassDataModel servletModel = setupAnnotatedServletCreationDataModel(projectName);
+		createServlet(servletModel);
+	}
+	
+	public NewServletClassDataModel setupAnnotatedServletCreationDataModel(String projectName) {
+		NewServletClassDataModel servletDataModel = new NewServletClassDataModel();
+		servletDataModel.setProperty(NewServletClassDataModel.PROJECT_NAME, projectName);
+		servletDataModel.setProperty(NewServletClassDataModel.CLASS_NAME, "FooServlet");
+		servletDataModel.setProperty(NewServletClassDataModel.DISPLAY_NAME,"FooServlet");
+		servletDataModel.setBooleanProperty(NewServletClassDataModel.USE_ANNOTATIONS,true);
+		return servletDataModel;
+	}
+	
+	public NewServletClassDataModel setupServletCreationDataModel(String projectName) {
+		NewServletClassDataModel servletDataModel = new NewServletClassDataModel();
+		servletDataModel.setProperty(NewServletClassDataModel.PROJECT_NAME, projectName);
+		servletDataModel.setProperty(NewServletClassDataModel.CLASS_NAME, "FooServlet");
+		servletDataModel.setProperty(NewServletClassDataModel.DISPLAY_NAME,"FooServlet");
+		servletDataModel.setBooleanProperty(NewServletClassDataModel.USE_ANNOTATIONS,false);
+		return servletDataModel;
+	}
+	
+	public void createVaildProjectAndServletCreation(String projectName,int j2eeVersion) throws Exception {
+				LogUtility.getInstance().resetLogging();
+				J2EEArtifactCreationDataModel model = null;
+				model = setupStandaloneWebProject(projectName, j2eeVersion);
+				LogUtility.getInstance().verifyNoWarnings();
+				checkValidDataModel(model);
+			}
+	
+	public void createVaildAnnotatedProjectAndServletCreation(String projectName,int j2eeVersion) throws Exception {
+		LogUtility.getInstance().resetLogging();
+		J2EEArtifactCreationDataModel model = null;
+		model = setupStandaloneAnnotatedWebProject(projectName, j2eeVersion);
+		LogUtility.getInstance().verifyNoWarnings();
+		checkValidDataModel(model);
+	}
+
+			/**
+			 * @param model
+			 */
+	protected void checkValidDataModel(J2EEArtifactCreationDataModel model) {
+			DataModelVerifier verifier = DataModelVerifierFactory.getInstance().createVerifier(model);
+			try {
+				verifier.verify(model);
+			} catch (Exception e) {
+				// TODO Auto-generated catch block
+				e.printStackTrace();
+			}
+
+		}
+	
+	public void testVaild12WebProjectNameCreation() throws Exception {
+		ProjectUtility.deleteAllProjects();
+		createVaildProjectAndServletCreation("FooTomcatWebProject12", J2EEVersionConstants.WEB_2_2_ID);
+	}
+	
+	/* TODO Uncomment this method when Annotation support for servlets is enabled
+	 * public void testVaild12AnnotatedWebProjectNameCreation() throws Exception {
+		ProjectUtility.deleteAllProjects();
+		createVaildAnnotatedProjectAndServletCreation("FooAnnotatedTomcatWebProject12", J2EEVersionConstants.WEB_2_2_ID);
+	}*/
+	
+	public void testVaild13WebProjectNameCreation() throws Exception {
+		ProjectUtility.deleteAllProjects();
+		createVaildProjectAndServletCreation("Foo1TomcatWebProject13", J2EEVersionConstants.WEB_2_3_ID);
+	}
+	
+	/* TODO Uncomment this method when Annotation support for servlets is enabled
+	 * public void testVaild13AnnotatedWebProjectNameCreation() throws Exception {
+		ProjectUtility.deleteAllProjects();
+		createVaildAnnotatedProjectAndServletCreation("Foo1TomcatWebProject13", J2EEVersionConstants.WEB_2_3_ID);
+	}*/
+	
+	public void testVaild14WebProjectNameCreation() throws Exception {
+		ProjectUtility.deleteAllProjects();
+		createVaildProjectAndServletCreation("Foo1TomcatWebProject14", J2EEVersionConstants.WEB_2_4_ID);
+	}
+	
+	/* TODO Uncomment this method when Annotation support for servlets is enabled
+	 * public void testVaild14AnnotatedWebProjectNameCreation() throws Exception {
+		ProjectUtility.deleteAllProjects();
+		createVaildAnnotatedProjectAndServletCreation("Foo1TomcatWebProject14", J2EEVersionConstants.WEB_2_4_ID);
+	}*/
+	
+	
+    public static Test suite() {
+        return new SimpleTestSuite(WebProjectCreationTomcatTest.class);
+    }
+
+	/* (non-Javadoc)
+	 * @see org.eclipse.wtp.j2ee.headless.tests.j2ee.operations.ModuleProjectCreationOperationTest#getProjectCreationDataModel()
+	 */
+	public J2EEModuleCreationDataModel getProjectCreationDataModel() {
+		// TODO Auto-generated method stub
+		return null;
+	}
+   
+	
+
+}
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
index 2b35223..03ca768 100644
--- 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
@@ -24,9 +24,9 @@
 import java.util.Iterator;
 import java.util.Set;
 
-import org.eclipse.wst.validation.core.FileDelta;
 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.
diff --git a/tests/org.eclipse.jst.validation.sample/plugin.xml b/tests/org.eclipse.jst.validation.sample/plugin.xml
index cdf698a..703127c 100644
--- a/tests/org.eclipse.jst.validation.sample/plugin.xml
+++ b/tests/org.eclipse.jst.validation.sample/plugin.xml
@@ -3,7 +3,7 @@
 <plugin
    id="org.eclipse.jst.validation.sample"
    name="Properties Validator"
-   version="5.1.1"
+   version="1.0.0"
    class="org.eclipse.jst.validation.sample.workbenchimpl.PropertiesValidatorPlugin">
 
    <runtime>
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
index d2d8e40..a3a68ae 100644
--- 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
@@ -31,10 +31,10 @@
 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.FileDelta;
 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,
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
index 425c72c..3f194c7 100644
--- 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
@@ -14,7 +14,6 @@
  * possibility of such damages.
  *  
  */
-import org.eclipse.core.runtime.IPluginDescriptor;
 import org.eclipse.wst.common.frameworks.internal.WTPPlugin;
 
 import com.ibm.wtp.common.logger.proxy.Logger;
@@ -27,8 +26,8 @@
 	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(IPluginDescriptor descriptor) {
-		super(descriptor);
+	public PropertiesValidatorPlugin() {
+		super();
 		if (_inst == null) {
 			_inst = this;
 		}
diff --git a/tests/org.eclipse.jst.validation.test/build.properties b/tests/org.eclipse.jst.validation.test/build.properties
index 8c6410f..89e6e00 100644
--- a/tests/org.eclipse.jst.validation.test/build.properties
+++ b/tests/org.eclipse.jst.validation.test/build.properties
@@ -1,2 +1,9 @@
-source.runtime/test.jar = test/
-source.runtime/jUnitWrapper.jar = jUnitWrapper/
+source.runtime/test.jar = test/,\
+                          jUnitWrapper/
+bin.includes = plugin.xml,\
+               testInput/,\
+               test.xml,\
+               runtime/test.jar
+output.runtime/test.jar = bin/
+jars.compile.order = tests.jar
+              
\ No newline at end of file
diff --git a/tests/org.eclipse.jst.validation.test/plugin.xml b/tests/org.eclipse.jst.validation.test/plugin.xml
index 0d7b245..54543c6 100644
--- a/tests/org.eclipse.jst.validation.test/plugin.xml
+++ b/tests/org.eclipse.jst.validation.test/plugin.xml
@@ -2,16 +2,13 @@
 <plugin
    id="org.eclipse.jst.validation.test"
    name="Validation Testing Component"
-   version="5.1.1"
+   version="1.0.0"
    class="org.eclipse.jst.validation.test.BVTValidationPlugin">
 
    <runtime>
       <library name="runtime/test.jar">
          <export name="*"/>
       </library>
-      <library name="runtime/jUnitWrapper.jar">
-         <export name="*"/>
-      </library>
    </runtime>
    <requires>
       <import plugin="org.eclipse.core.boot" export="true"/>
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
index 4a08a3c..6352f90 100644
--- 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
@@ -1,6 +1,5 @@
 package org.eclipse.jst.validation.test;
 
-import org.eclipse.core.runtime.IPluginDescriptor;
 
 /**
  * Plugin for TVT testing.
@@ -15,8 +14,8 @@
 	 * ValidationTVTPlugin constructor comment.
 	 * @param descriptor org.eclipse.core.runtime.IPluginDescriptor
 	 */
-	public BVTValidationPlugin(IPluginDescriptor descriptor) {
-		super(descriptor);
+	public BVTValidationPlugin() {
+		super();
 		if(_inst == null) {
 			_inst = this;
 		}
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
index eaa522f..eb60c1a 100644
--- 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
@@ -101,7 +101,8 @@
 				entry.setText("TestSetup for " + dir + " was unsuccessful."); //$NON-NLS-1$ //$NON-NLS-2$
 				logger.write(Level.SEVERE, entry);
 			}
-			return imported;
+			
 		}
+		return imported;
 	}
 }
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
index 3c0ec60..4327409 100644
--- 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
@@ -313,8 +313,9 @@
 			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;
+			
 		}
+		return passed;
 	}
 
 	/**
@@ -381,101 +382,100 @@
 
 	private boolean validateChangeAndCompare(IBuffer buffer, IProject project, int ifileDeltaType, String subTaskName) throws BVTValidationException, CoreException {
 		boolean passed = true;
-		try {
-			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);
+		
+		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;
 		}
-		finally {
-			return passed;
+
+		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
index 5d7d467..83313ca 100644
--- 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
@@ -301,9 +301,7 @@
 			}
 			passed = false;
 		}
-		finally {
-			return passed;
-		}
+		return passed;
 	}
 
 	public boolean setupTests(IBuffer buffer, boolean verbose) {
@@ -377,8 +375,8 @@
 				entry.setText("Test setup for " + tmdName + " was unsuccessful."); //$NON-NLS-1$ //$NON-NLS-2$
 				logger.write(Level.SEVERE, entry);
 			}
-			return imported;
 		}
+		return imported;
 	}
 
 	/**
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
index 566b64c..2253f54 100644
--- 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
@@ -101,8 +101,8 @@
 				entry.setText("AImportOperation for " + projectName + " was unsuccessful."); //$NON-NLS-1$ //$NON-NLS-2$
 				logger.write(Level.SEVERE, entry);
 			}
-			return imported;
 		}
+		return imported;
 	}
 	
 	protected abstract IProject createNewProject(IProgressMonitor monitor, String projectName, File inputFile);